diff --git a/docs/app/app.json b/docs/app/app.json new file mode 100644 index 0000000..d48eb6e --- /dev/null +++ b/docs/app/app.json @@ -0,0 +1 @@ +[{"name": "app.py", "content": "import seaborn as sns\nimport matplotlib.pyplot as plt\nfrom shiny import App, render, ui\n\nfaithful = sns.load_dataset(\"geyser\")\nx = faithful.waiting\n\napp_ui = ui.page_fixed(\n ui.panel_title(\"Old Faithful\"),\n ui.output_plot(id = \"histogram\"),\n ui.input_slider(\n id=\"n\", \n label=\"Number of bins:\", \n min=1, \n max=50, \n value=25,\n ticks=True\n ),\n)\n\ndef server(input, output, session):\n @render.plot(alt=\"Histogram of waiting times\")\n def histogram():\n plt.hist(\n x, \n bins = input.n(), \n density=False, \n color=\"#BB74DB\",\n edgecolor=\"white\")\n plt.title(\"Histogram of waiting times\")\n plt.xlabel(\"Waiting time to next eruption [mins]\")\n plt.ylabel(\"Frequency\")\n\napp = App(ui = app_ui, server = server)\n", "type": "text"}, {"name": "requirements.txt", "content": "shiny>=0.10.2\nmatplotlib\nseaborn\n", "type": "text"}] \ No newline at end of file diff --git a/docs/py-shinylive/edit/index.html b/docs/app/edit/index.html similarity index 100% rename from docs/py-shinylive/edit/index.html rename to docs/app/edit/index.html diff --git a/docs/py-shinylive/index.html b/docs/app/index.html similarity index 100% rename from docs/py-shinylive/index.html rename to docs/app/index.html diff --git a/docs/py-shinylive/shinylive-sw.js b/docs/app/shinylive-sw.js similarity index 100% rename from docs/py-shinylive/shinylive-sw.js rename to docs/app/shinylive-sw.js diff --git a/docs/py-shinylive/shinylive/Editor.css b/docs/app/shinylive/Editor.css similarity index 100% rename from docs/py-shinylive/shinylive/Editor.css rename to docs/app/shinylive/Editor.css diff --git a/docs/py-shinylive/shinylive/Editor.js b/docs/app/shinylive/Editor.js similarity index 100% rename from docs/py-shinylive/shinylive/Editor.js rename to docs/app/shinylive/Editor.js diff --git a/docs/r-shinylive/shinylive/chunk-GWAOPURX.js b/docs/app/shinylive/chunk-GWAOPURX.js similarity index 100% rename from docs/r-shinylive/shinylive/chunk-GWAOPURX.js rename to docs/app/shinylive/chunk-GWAOPURX.js diff --git a/docs/py-shinylive/shinylive/chunk-HW2MHHPP.js b/docs/app/shinylive/chunk-HW2MHHPP.js similarity index 100% rename from docs/py-shinylive/shinylive/chunk-HW2MHHPP.js rename to docs/app/shinylive/chunk-HW2MHHPP.js diff --git a/docs/py-shinylive/shinylive/load-shinylive-sw.js b/docs/app/shinylive/load-shinylive-sw.js similarity index 100% rename from docs/py-shinylive/shinylive/load-shinylive-sw.js rename to docs/app/shinylive/load-shinylive-sw.js diff --git a/docs/py-shinylive/shinylive/lzstring-worker.js b/docs/app/shinylive/lzstring-worker.js similarity index 100% rename from docs/py-shinylive/shinylive/lzstring-worker.js rename to docs/app/shinylive/lzstring-worker.js diff --git a/docs/py-shinylive/shinylive/pyodide-worker.js b/docs/app/shinylive/pyodide-worker.js similarity index 100% rename from docs/py-shinylive/shinylive/pyodide-worker.js rename to docs/app/shinylive/pyodide-worker.js diff --git a/docs/py-shinylive/shinylive/pyodide/Jinja2-3.1.2-py3-none-any.whl b/docs/app/shinylive/pyodide/Jinja2-3.1.2-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/Jinja2-3.1.2-py3-none-any.whl rename to docs/app/shinylive/pyodide/Jinja2-3.1.2-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/MarkupSafe-2.1.3-cp311-cp311-emscripten_3_1_46_wasm32.whl b/docs/app/shinylive/pyodide/MarkupSafe-2.1.3-cp311-cp311-emscripten_3_1_46_wasm32.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/MarkupSafe-2.1.3-cp311-cp311-emscripten_3_1_46_wasm32.whl rename to docs/app/shinylive/pyodide/MarkupSafe-2.1.3-cp311-cp311-emscripten_3_1_46_wasm32.whl diff --git a/docs/py-shinylive/shinylive/pyodide/Pillow-10.0.0-cp311-cp311-emscripten_3_1_46_wasm32.whl b/docs/app/shinylive/pyodide/Pillow-10.0.0-cp311-cp311-emscripten_3_1_46_wasm32.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/Pillow-10.0.0-cp311-cp311-emscripten_3_1_46_wasm32.whl rename to docs/app/shinylive/pyodide/Pillow-10.0.0-cp311-cp311-emscripten_3_1_46_wasm32.whl diff --git a/docs/py-shinylive/shinylive/pyodide/anyio-4.1.0-py3-none-any.whl b/docs/app/shinylive/pyodide/anyio-4.1.0-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/anyio-4.1.0-py3-none-any.whl rename to docs/app/shinylive/pyodide/anyio-4.1.0-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/appdirs-1.4.4-py2.py3-none-any.whl b/docs/app/shinylive/pyodide/appdirs-1.4.4-py2.py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/appdirs-1.4.4-py2.py3-none-any.whl rename to docs/app/shinylive/pyodide/appdirs-1.4.4-py2.py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/asgiref-3.7.2-py3-none-any.whl b/docs/app/shinylive/pyodide/asgiref-3.7.2-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/asgiref-3.7.2-py3-none-any.whl rename to docs/app/shinylive/pyodide/asgiref-3.7.2-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/cycler-0.11.0-py3-none-any.whl b/docs/app/shinylive/pyodide/cycler-0.11.0-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/cycler-0.11.0-py3-none-any.whl rename to docs/app/shinylive/pyodide/cycler-0.11.0-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/distutils-1.0.0.zip b/docs/app/shinylive/pyodide/distutils-1.0.0.zip similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/distutils-1.0.0.zip rename to docs/app/shinylive/pyodide/distutils-1.0.0.zip diff --git a/docs/py-shinylive/shinylive/pyodide/exceptiongroup-1.1.3-py3-none-any.whl b/docs/app/shinylive/pyodide/exceptiongroup-1.1.3-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/exceptiongroup-1.1.3-py3-none-any.whl rename to docs/app/shinylive/pyodide/exceptiongroup-1.1.3-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/fonttools-4.42.1-py3-none-any.whl b/docs/app/shinylive/pyodide/fonttools-4.42.1-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/fonttools-4.42.1-py3-none-any.whl rename to docs/app/shinylive/pyodide/fonttools-4.42.1-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/htmltools-0.5.2-py3-none-any.whl b/docs/app/shinylive/pyodide/htmltools-0.5.2-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/htmltools-0.5.2-py3-none-any.whl rename to docs/app/shinylive/pyodide/htmltools-0.5.2-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/idna-3.6-py3-none-any.whl b/docs/app/shinylive/pyodide/idna-3.6-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/idna-3.6-py3-none-any.whl rename to docs/app/shinylive/pyodide/idna-3.6-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/kiwisolver-1.4.4-cp311-cp311-emscripten_3_1_46_wasm32.whl b/docs/app/shinylive/pyodide/kiwisolver-1.4.4-cp311-cp311-emscripten_3_1_46_wasm32.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/kiwisolver-1.4.4-cp311-cp311-emscripten_3_1_46_wasm32.whl rename to docs/app/shinylive/pyodide/kiwisolver-1.4.4-cp311-cp311-emscripten_3_1_46_wasm32.whl diff --git a/docs/py-shinylive/shinylive/pyodide/linkify_it_py-2.0.2-py3-none-any.whl b/docs/app/shinylive/pyodide/linkify_it_py-2.0.2-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/linkify_it_py-2.0.2-py3-none-any.whl rename to docs/app/shinylive/pyodide/linkify_it_py-2.0.2-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/markdown_it_py-3.0.0-py3-none-any.whl b/docs/app/shinylive/pyodide/markdown_it_py-3.0.0-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/markdown_it_py-3.0.0-py3-none-any.whl rename to docs/app/shinylive/pyodide/markdown_it_py-3.0.0-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/matplotlib-3.5.2-cp311-cp311-emscripten_3_1_46_wasm32.whl b/docs/app/shinylive/pyodide/matplotlib-3.5.2-cp311-cp311-emscripten_3_1_46_wasm32.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/matplotlib-3.5.2-cp311-cp311-emscripten_3_1_46_wasm32.whl rename to docs/app/shinylive/pyodide/matplotlib-3.5.2-cp311-cp311-emscripten_3_1_46_wasm32.whl diff --git a/docs/py-shinylive/shinylive/pyodide/matplotlib_pyodide-0.2.0-py3-none-any.whl b/docs/app/shinylive/pyodide/matplotlib_pyodide-0.2.0-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/matplotlib_pyodide-0.2.0-py3-none-any.whl rename to docs/app/shinylive/pyodide/matplotlib_pyodide-0.2.0-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/mdit_py_plugins-0.4.0-py3-none-any.whl b/docs/app/shinylive/pyodide/mdit_py_plugins-0.4.0-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/mdit_py_plugins-0.4.0-py3-none-any.whl rename to docs/app/shinylive/pyodide/mdit_py_plugins-0.4.0-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/mdurl-0.1.2-py3-none-any.whl b/docs/app/shinylive/pyodide/mdurl-0.1.2-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/mdurl-0.1.2-py3-none-any.whl rename to docs/app/shinylive/pyodide/mdurl-0.1.2-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/micropip-0.5.0-py3-none-any.whl b/docs/app/shinylive/pyodide/micropip-0.5.0-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/micropip-0.5.0-py3-none-any.whl rename to docs/app/shinylive/pyodide/micropip-0.5.0-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/numpy-1.26.4-cp311-cp311-emscripten_3_1_46_wasm32.whl b/docs/app/shinylive/pyodide/numpy-1.26.4-cp311-cp311-emscripten_3_1_46_wasm32.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/numpy-1.26.4-cp311-cp311-emscripten_3_1_46_wasm32.whl rename to docs/app/shinylive/pyodide/numpy-1.26.4-cp311-cp311-emscripten_3_1_46_wasm32.whl diff --git a/docs/py-shinylive/shinylive/pyodide/openssl-1.1.1n.zip b/docs/app/shinylive/pyodide/openssl-1.1.1n.zip similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/openssl-1.1.1n.zip rename to docs/app/shinylive/pyodide/openssl-1.1.1n.zip diff --git a/docs/py-shinylive/shinylive/pyodide/packaging-23.1-py3-none-any.whl b/docs/app/shinylive/pyodide/packaging-23.1-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/packaging-23.1-py3-none-any.whl rename to docs/app/shinylive/pyodide/packaging-23.1-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/pandas-1.5.3-cp311-cp311-emscripten_3_1_46_wasm32.whl b/docs/app/shinylive/pyodide/pandas-1.5.3-cp311-cp311-emscripten_3_1_46_wasm32.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/pandas-1.5.3-cp311-cp311-emscripten_3_1_46_wasm32.whl rename to docs/app/shinylive/pyodide/pandas-1.5.3-cp311-cp311-emscripten_3_1_46_wasm32.whl diff --git a/docs/py-shinylive/shinylive/pyodide/pyodide-lock.json b/docs/app/shinylive/pyodide/pyodide-lock.json similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/pyodide-lock.json rename to docs/app/shinylive/pyodide/pyodide-lock.json diff --git a/docs/py-shinylive/shinylive/pyodide/pyodide.asm.js b/docs/app/shinylive/pyodide/pyodide.asm.js similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/pyodide.asm.js rename to docs/app/shinylive/pyodide/pyodide.asm.js diff --git a/docs/py-shinylive/shinylive/pyodide/pyodide.asm.wasm b/docs/app/shinylive/pyodide/pyodide.asm.wasm similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/pyodide.asm.wasm rename to docs/app/shinylive/pyodide/pyodide.asm.wasm diff --git a/docs/py-shinylive/shinylive/pyodide/pyparsing-3.1.1-py3-none-any.whl b/docs/app/shinylive/pyodide/pyparsing-3.1.1-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/pyparsing-3.1.1-py3-none-any.whl rename to docs/app/shinylive/pyodide/pyparsing-3.1.1-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/python_dateutil-2.8.2-py2.py3-none-any.whl b/docs/app/shinylive/pyodide/python_dateutil-2.8.2-py2.py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/python_dateutil-2.8.2-py2.py3-none-any.whl rename to docs/app/shinylive/pyodide/python_dateutil-2.8.2-py2.py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/python_multipart-0.0.6-py3-none-any.whl b/docs/app/shinylive/pyodide/python_multipart-0.0.6-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/python_multipart-0.0.6-py3-none-any.whl rename to docs/app/shinylive/pyodide/python_multipart-0.0.6-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/python_stdlib.zip b/docs/app/shinylive/pyodide/python_stdlib.zip similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/python_stdlib.zip rename to docs/app/shinylive/pyodide/python_stdlib.zip diff --git a/docs/py-shinylive/shinylive/pyodide/pytz-2023.3-py2.py3-none-any.whl b/docs/app/shinylive/pyodide/pytz-2023.3-py2.py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/pytz-2023.3-py2.py3-none-any.whl rename to docs/app/shinylive/pyodide/pytz-2023.3-py2.py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/seaborn-0.13.2-py3-none-any.whl b/docs/app/shinylive/pyodide/seaborn-0.13.2-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/seaborn-0.13.2-py3-none-any.whl rename to docs/app/shinylive/pyodide/seaborn-0.13.2-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/shiny-0.10.2-py3-none-any.whl b/docs/app/shinylive/pyodide/shiny-0.10.2-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/shiny-0.10.2-py3-none-any.whl rename to docs/app/shinylive/pyodide/shiny-0.10.2-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/six-1.16.0-py2.py3-none-any.whl b/docs/app/shinylive/pyodide/six-1.16.0-py2.py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/six-1.16.0-py2.py3-none-any.whl rename to docs/app/shinylive/pyodide/six-1.16.0-py2.py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/sniffio-1.3.0-py3-none-any.whl b/docs/app/shinylive/pyodide/sniffio-1.3.0-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/sniffio-1.3.0-py3-none-any.whl rename to docs/app/shinylive/pyodide/sniffio-1.3.0-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/ssl-1.0.0.zip b/docs/app/shinylive/pyodide/ssl-1.0.0.zip similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/ssl-1.0.0.zip rename to docs/app/shinylive/pyodide/ssl-1.0.0.zip diff --git a/docs/py-shinylive/shinylive/pyodide/starlette-0.32.0.post1-py3-none-any.whl b/docs/app/shinylive/pyodide/starlette-0.32.0.post1-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/starlette-0.32.0.post1-py3-none-any.whl rename to docs/app/shinylive/pyodide/starlette-0.32.0.post1-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/typing_extensions-4.7.1-py3-none-any.whl b/docs/app/shinylive/pyodide/typing_extensions-4.7.1-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/typing_extensions-4.7.1-py3-none-any.whl rename to docs/app/shinylive/pyodide/typing_extensions-4.7.1-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyodide/uc_micro_py-1.0.2-py3-none-any.whl b/docs/app/shinylive/pyodide/uc_micro_py-1.0.2-py3-none-any.whl similarity index 100% rename from docs/py-shinylive/shinylive/pyodide/uc_micro_py-1.0.2-py3-none-any.whl rename to docs/app/shinylive/pyodide/uc_micro_py-1.0.2-py3-none-any.whl diff --git a/docs/py-shinylive/shinylive/pyright/PYRIGHT_LICENSE.txt b/docs/app/shinylive/pyright/PYRIGHT_LICENSE.txt similarity index 100% rename from docs/py-shinylive/shinylive/pyright/PYRIGHT_LICENSE.txt rename to docs/app/shinylive/pyright/PYRIGHT_LICENSE.txt diff --git a/docs/py-shinylive/shinylive/pyright/PYRIGHT_README.txt b/docs/app/shinylive/pyright/PYRIGHT_README.txt similarity index 100% rename from docs/py-shinylive/shinylive/pyright/PYRIGHT_README.txt rename to docs/app/shinylive/pyright/PYRIGHT_README.txt diff --git a/docs/py-shinylive/shinylive/pyright/README.md b/docs/app/shinylive/pyright/README.md similarity index 100% rename from docs/py-shinylive/shinylive/pyright/README.md rename to docs/app/shinylive/pyright/README.md diff --git a/docs/py-shinylive/shinylive/pyright/pyright-locale-101-c121083e2a7a54d431db.worker.js b/docs/app/shinylive/pyright/pyright-locale-101-c121083e2a7a54d431db.worker.js similarity index 100% rename from docs/py-shinylive/shinylive/pyright/pyright-locale-101-c121083e2a7a54d431db.worker.js rename to docs/app/shinylive/pyright/pyright-locale-101-c121083e2a7a54d431db.worker.js diff --git a/docs/py-shinylive/shinylive/pyright/pyright-locale-131-ab4e388ba76ce41a9bbe.worker.js b/docs/app/shinylive/pyright/pyright-locale-131-ab4e388ba76ce41a9bbe.worker.js similarity index 100% rename from docs/py-shinylive/shinylive/pyright/pyright-locale-131-ab4e388ba76ce41a9bbe.worker.js rename to docs/app/shinylive/pyright/pyright-locale-131-ab4e388ba76ce41a9bbe.worker.js diff --git a/docs/py-shinylive/shinylive/pyright/pyright-locale-162-52858c93d4cbe348333a.worker.js b/docs/app/shinylive/pyright/pyright-locale-162-52858c93d4cbe348333a.worker.js similarity index 100% rename from docs/py-shinylive/shinylive/pyright/pyright-locale-162-52858c93d4cbe348333a.worker.js rename to docs/app/shinylive/pyright/pyright-locale-162-52858c93d4cbe348333a.worker.js diff --git a/docs/py-shinylive/shinylive/pyright/pyright-locale-244-93121a06520a592814db.worker.js b/docs/app/shinylive/pyright/pyright-locale-244-93121a06520a592814db.worker.js similarity index 100% rename from docs/py-shinylive/shinylive/pyright/pyright-locale-244-93121a06520a592814db.worker.js rename to docs/app/shinylive/pyright/pyright-locale-244-93121a06520a592814db.worker.js diff --git a/docs/py-shinylive/shinylive/pyright/pyright-locale-372-2f2f20ca0313ae5dd1d6.worker.js b/docs/app/shinylive/pyright/pyright-locale-372-2f2f20ca0313ae5dd1d6.worker.js similarity index 100% rename from docs/py-shinylive/shinylive/pyright/pyright-locale-372-2f2f20ca0313ae5dd1d6.worker.js rename to docs/app/shinylive/pyright/pyright-locale-372-2f2f20ca0313ae5dd1d6.worker.js diff --git a/docs/py-shinylive/shinylive/pyright/pyright-locale-416-213af665ac61b39bb90a.worker.js b/docs/app/shinylive/pyright/pyright-locale-416-213af665ac61b39bb90a.worker.js similarity index 100% rename from docs/py-shinylive/shinylive/pyright/pyright-locale-416-213af665ac61b39bb90a.worker.js rename to docs/app/shinylive/pyright/pyright-locale-416-213af665ac61b39bb90a.worker.js diff --git a/docs/py-shinylive/shinylive/pyright/pyright-locale-753-025cc0f8d4b408b3f912.worker.js b/docs/app/shinylive/pyright/pyright-locale-753-025cc0f8d4b408b3f912.worker.js similarity index 100% rename from docs/py-shinylive/shinylive/pyright/pyright-locale-753-025cc0f8d4b408b3f912.worker.js rename to docs/app/shinylive/pyright/pyright-locale-753-025cc0f8d4b408b3f912.worker.js diff --git a/docs/py-shinylive/shinylive/pyright/pyright-locale-846-49df54db2b702b64a1c6.worker.js b/docs/app/shinylive/pyright/pyright-locale-846-49df54db2b702b64a1c6.worker.js similarity index 100% rename from docs/py-shinylive/shinylive/pyright/pyright-locale-846-49df54db2b702b64a1c6.worker.js rename to docs/app/shinylive/pyright/pyright-locale-846-49df54db2b702b64a1c6.worker.js diff --git a/docs/py-shinylive/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js b/docs/app/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js similarity index 100% rename from docs/py-shinylive/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js rename to docs/app/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js diff --git a/docs/py-shinylive/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js.LICENSE.txt b/docs/app/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js.LICENSE.txt similarity index 100% rename from docs/py-shinylive/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js.LICENSE.txt rename to docs/app/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js.LICENSE.txt diff --git a/docs/py-shinylive/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js.map b/docs/app/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js.map similarity index 100% rename from docs/py-shinylive/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js.map rename to docs/app/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js.map diff --git a/docs/py-shinylive/shinylive/pyright/typeshed.en.json b/docs/app/shinylive/pyright/typeshed.en.json similarity index 100% rename from docs/py-shinylive/shinylive/pyright/typeshed.en.json rename to docs/app/shinylive/pyright/typeshed.en.json diff --git a/docs/py-shinylive/shinylive/run-python-blocks.js b/docs/app/shinylive/run-python-blocks.js similarity index 100% rename from docs/py-shinylive/shinylive/run-python-blocks.js rename to docs/app/shinylive/run-python-blocks.js diff --git a/docs/py-shinylive/shinylive/shinylive.css b/docs/app/shinylive/shinylive.css similarity index 100% rename from docs/py-shinylive/shinylive/shinylive.css rename to docs/app/shinylive/shinylive.css diff --git a/docs/py-shinylive/shinylive/shinylive.js b/docs/app/shinylive/shinylive.js similarity index 100% rename from docs/py-shinylive/shinylive/shinylive.js rename to docs/app/shinylive/shinylive.js diff --git a/docs/py-shinylive/shinylive/style-resets.css b/docs/app/shinylive/style-resets.css similarity index 100% rename from docs/py-shinylive/shinylive/style-resets.css rename to docs/app/shinylive/style-resets.css diff --git a/docs/r-shinylive/shinylive/webr/R.bin.data b/docs/app/shinylive/webr/R.bin.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/R.bin.data rename to docs/app/shinylive/webr/R.bin.data diff --git a/docs/r-shinylive/shinylive/webr/R.bin.js b/docs/app/shinylive/webr/R.bin.js similarity index 100% rename from docs/r-shinylive/shinylive/webr/R.bin.js rename to docs/app/shinylive/webr/R.bin.js diff --git a/docs/r-shinylive/shinylive/webr/R.bin.wasm b/docs/app/shinylive/webr/R.bin.wasm similarity index 100% rename from docs/r-shinylive/shinylive/webr/R.bin.wasm rename to docs/app/shinylive/webr/R.bin.wasm diff --git a/docs/r-shinylive/shinylive/webr/esbuild.d.ts b/docs/app/shinylive/webr/esbuild.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/esbuild.d.ts rename to docs/app/shinylive/webr/esbuild.d.ts diff --git a/docs/r-shinylive/shinylive/webr/libRblas.so b/docs/app/shinylive/webr/libRblas.so similarity index 100% rename from docs/r-shinylive/shinylive/webr/libRblas.so rename to docs/app/shinylive/webr/libRblas.so diff --git a/docs/r-shinylive/shinylive/webr/libRlapack.so b/docs/app/shinylive/webr/libRlapack.so similarity index 100% rename from docs/r-shinylive/shinylive/webr/libRlapack.so rename to docs/app/shinylive/webr/libRlapack.so diff --git a/docs/r-shinylive/shinylive/webr/repl/App.d.ts b/docs/app/shinylive/webr/repl/App.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/repl/App.d.ts rename to docs/app/shinylive/webr/repl/App.d.ts diff --git a/docs/r-shinylive/shinylive/webr/repl/components/Editor.d.ts b/docs/app/shinylive/webr/repl/components/Editor.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/repl/components/Editor.d.ts rename to docs/app/shinylive/webr/repl/components/Editor.d.ts diff --git a/docs/r-shinylive/shinylive/webr/repl/components/Files.d.ts b/docs/app/shinylive/webr/repl/components/Files.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/repl/components/Files.d.ts rename to docs/app/shinylive/webr/repl/components/Files.d.ts diff --git a/docs/r-shinylive/shinylive/webr/repl/components/Plot.d.ts b/docs/app/shinylive/webr/repl/components/Plot.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/repl/components/Plot.d.ts rename to docs/app/shinylive/webr/repl/components/Plot.d.ts diff --git a/docs/r-shinylive/shinylive/webr/repl/components/Terminal.d.ts b/docs/app/shinylive/webr/repl/components/Terminal.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/repl/components/Terminal.d.ts rename to docs/app/shinylive/webr/repl/components/Terminal.d.ts diff --git a/docs/r-shinylive/shinylive/webr/repl/components/utils.d.ts b/docs/app/shinylive/webr/repl/components/utils.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/repl/components/utils.d.ts rename to docs/app/shinylive/webr/repl/components/utils.d.ts diff --git a/docs/r-shinylive/shinylive/webr/tests/packages/webr.test.d.ts b/docs/app/shinylive/webr/tests/packages/webr.test.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/tests/packages/webr.test.d.ts rename to docs/app/shinylive/webr/tests/packages/webr.test.d.ts diff --git a/docs/r-shinylive/shinylive/webr/tests/webR/chan/channel-postmessage.test.d.ts b/docs/app/shinylive/webr/tests/webR/chan/channel-postmessage.test.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/tests/webR/chan/channel-postmessage.test.d.ts rename to docs/app/shinylive/webr/tests/webR/chan/channel-postmessage.test.d.ts diff --git a/docs/r-shinylive/shinylive/webr/tests/webR/console.test.d.ts b/docs/app/shinylive/webr/tests/webR/console.test.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/tests/webR/console.test.d.ts rename to docs/app/shinylive/webr/tests/webR/console.test.d.ts diff --git a/docs/r-shinylive/shinylive/webr/tests/webR/error.test.d.ts b/docs/app/shinylive/webr/tests/webR/error.test.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/tests/webR/error.test.d.ts rename to docs/app/shinylive/webr/tests/webR/error.test.d.ts diff --git a/docs/r-shinylive/shinylive/webr/tests/webR/proxy.test.d.ts b/docs/app/shinylive/webr/tests/webR/proxy.test.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/tests/webR/proxy.test.d.ts rename to docs/app/shinylive/webr/tests/webR/proxy.test.d.ts diff --git a/docs/r-shinylive/shinylive/webr/tests/webR/robj.test.d.ts b/docs/app/shinylive/webr/tests/webR/robj.test.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/tests/webR/robj.test.d.ts rename to docs/app/shinylive/webr/tests/webR/robj.test.d.ts diff --git a/docs/r-shinylive/shinylive/webr/tests/webR/utils.test.d.ts b/docs/app/shinylive/webr/tests/webR/utils.test.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/tests/webR/utils.test.d.ts rename to docs/app/shinylive/webr/tests/webR/utils.test.d.ts diff --git a/docs/r-shinylive/shinylive/webr/tests/webR/webr-main.test.d.ts b/docs/app/shinylive/webr/tests/webR/webr-main.test.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/tests/webR/webr-main.test.d.ts rename to docs/app/shinylive/webr/tests/webR/webr-main.test.d.ts diff --git a/docs/r-shinylive/shinylive/webr/tests/webR/webr-r.test.d.ts b/docs/app/shinylive/webr/tests/webR/webr-r.test.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/tests/webR/webr-r.test.d.ts rename to docs/app/shinylive/webr/tests/webR/webr-r.test.d.ts diff --git a/docs/r-shinylive/shinylive/webr/tests/webR/webr-worker.test.d.ts b/docs/app/shinylive/webr/tests/webR/webr-worker.test.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/tests/webR/webr-worker.test.d.ts rename to docs/app/shinylive/webr/tests/webR/webr-worker.test.d.ts diff --git a/docs/r-shinylive/shinylive/webr/vfs/etc/fonts/fonts.conf b/docs/app/shinylive/webr/vfs/etc/fonts/fonts.conf similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/etc/fonts/fonts.conf rename to docs/app/shinylive/webr/vfs/etc/fonts/fonts.conf diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/doc.data b/docs/app/shinylive/webr/vfs/usr/lib/R/doc.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/doc.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/doc.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/doc.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/doc.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/doc.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/doc.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/base/demo.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/base/demo.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/base/demo.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/base/demo.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/base/demo.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/base/demo.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/base/demo.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/base/demo.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/base/help.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/base/help.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/base/help.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/base/help.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/base/help.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/base/help.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/base/help.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/base/help.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/base/html.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/base/html.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/base/html.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/base/html.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/base/html.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/base/html.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/base/html.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/base/html.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/compiler/help.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/compiler/help.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/compiler/help.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/compiler/help.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/compiler/help.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/compiler/help.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/compiler/help.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/compiler/help.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/compiler/html.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/compiler/html.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/compiler/html.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/compiler/html.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/compiler/html.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/compiler/html.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/compiler/html.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/compiler/html.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/compiler/tests.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/compiler/tests.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/compiler/tests.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/compiler/tests.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/compiler/tests.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/compiler/tests.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/compiler/tests.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/compiler/tests.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/datasets/help.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/datasets/help.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/datasets/help.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/datasets/help.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/datasets/help.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/datasets/help.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/datasets/help.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/datasets/help.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/datasets/html.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/datasets/html.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/datasets/html.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/datasets/html.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/datasets/html.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/datasets/html.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/datasets/html.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/datasets/html.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/afm.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/afm.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/afm.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/afm.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/afm.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/afm.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/afm.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/afm.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/demo.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/demo.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/demo.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/demo.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/demo.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/demo.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/demo.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/demo.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/enc.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/enc.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/enc.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/enc.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/enc.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/enc.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/enc.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/enc.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/fonts.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/fonts.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/fonts.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/fonts.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/fonts.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/fonts.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/fonts.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/fonts.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/help.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/help.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/help.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/help.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/help.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/help.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/help.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/help.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/html.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/html.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/html.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/html.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/html.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/html.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/html.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/html.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/libs/cairo.so b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/libs/cairo.so similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/libs/cairo.so rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/libs/cairo.so diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/tests.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/tests.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/tests.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/tests.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/tests.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/tests.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grDevices/tests.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grDevices/tests.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/graphics/demo.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/graphics/demo.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/graphics/demo.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/graphics/demo.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/graphics/demo.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/graphics/demo.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/graphics/demo.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/graphics/demo.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/graphics/help.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/graphics/help.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/graphics/help.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/graphics/help.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/graphics/help.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/graphics/help.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/graphics/help.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/graphics/help.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/graphics/html.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/graphics/html.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/graphics/html.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/graphics/html.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/graphics/html.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/graphics/html.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/graphics/html.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/graphics/html.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/doc.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/doc.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/doc.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/doc.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/doc.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/doc.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/doc.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/doc.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/help.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/help.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/help.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/help.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/help.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/help.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/help.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/help.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/html.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/html.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/html.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/html.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/html.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/html.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/html.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/html.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/tests.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/tests.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/tests.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/tests.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/tests.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/tests.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/grid/tests.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/grid/tests.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/methods/help.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/methods/help.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/methods/help.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/methods/help.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/methods/help.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/methods/help.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/methods/help.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/methods/help.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/methods/html.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/methods/html.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/methods/html.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/methods/html.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/methods/html.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/methods/html.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/methods/html.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/methods/html.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/methods/tests.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/methods/tests.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/methods/tests.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/methods/tests.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/methods/tests.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/methods/tests.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/methods/tests.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/methods/tests.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/parallel.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/parallel.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/parallel.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/parallel.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/parallel.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/parallel.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/parallel.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/parallel.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/splines/help.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/splines/help.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/splines/help.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/splines/help.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/splines/help.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/splines/help.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/splines/help.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/splines/help.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/splines/html.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/splines/html.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/splines/html.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/splines/html.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/splines/html.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/splines/html.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/splines/html.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/splines/html.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/splines/tests.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/splines/tests.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/splines/tests.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/splines/tests.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/splines/tests.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/splines/tests.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/splines/tests.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/splines/tests.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/demo.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/demo.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/demo.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/demo.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/demo.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/demo.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/demo.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/demo.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/help.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/help.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/help.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/help.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/help.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/help.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/help.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/help.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/html.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/html.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/html.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/html.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/html.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/html.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/html.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/html.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/tests.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/tests.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/tests.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/tests.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/tests.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/tests.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats/tests.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/stats/tests.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats4/help.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/stats4/help.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats4/help.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/stats4/help.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats4/help.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/stats4/help.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats4/help.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/stats4/help.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats4/html.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/stats4/html.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats4/html.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/stats4/html.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats4/html.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/stats4/html.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats4/html.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/stats4/html.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats4/tests.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/stats4/tests.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats4/tests.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/stats4/tests.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats4/tests.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/stats4/tests.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/stats4/tests.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/stats4/tests.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tcltk.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/tcltk.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tcltk.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/tcltk.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tcltk.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/tcltk.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tcltk.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/tcltk.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tools/help.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/tools/help.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tools/help.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/tools/help.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tools/help.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/tools/help.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tools/help.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/tools/help.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tools/html.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/tools/html.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tools/html.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/tools/html.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tools/html.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/tools/html.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tools/html.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/tools/html.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tools/tests.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/tools/tests.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tools/tests.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/tools/tests.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tools/tests.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/tools/tests.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/tools/tests.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/tools/tests.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/translations.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/translations.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/translations.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/translations.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/translations.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/translations.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/translations.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/translations.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/translations/DESCRIPTION b/docs/app/shinylive/webr/vfs/usr/lib/R/library/translations/DESCRIPTION similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/translations/DESCRIPTION rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/translations/DESCRIPTION diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/doc.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/doc.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/doc.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/doc.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/doc.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/doc.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/doc.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/doc.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/help.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/help.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/help.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/help.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/help.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/help.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/help.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/help.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/html.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/html.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/html.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/html.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/html.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/html.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/html.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/html.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/misc.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/misc.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/misc.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/misc.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/misc.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/misc.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/misc.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/misc.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/tests.data b/docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/tests.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/tests.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/tests.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/tests.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/tests.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/library/utils/tests.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/library/utils/tests.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/share.data b/docs/app/shinylive/webr/vfs/usr/lib/R/share.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/share.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/share.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/share.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/share.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/share.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/share.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/tests.data b/docs/app/shinylive/webr/vfs/usr/lib/R/tests.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/tests.data rename to docs/app/shinylive/webr/vfs/usr/lib/R/tests.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/tests.js.metadata b/docs/app/shinylive/webr/vfs/usr/lib/R/tests.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/lib/R/tests.js.metadata rename to docs/app/shinylive/webr/vfs/usr/lib/R/tests.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSans-Bold.ttf b/docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSans-Bold.ttf similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSans-Bold.ttf rename to docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSans-Bold.ttf diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSans-BoldItalic.ttf b/docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSans-BoldItalic.ttf similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSans-BoldItalic.ttf rename to docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSans-BoldItalic.ttf diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSans-Italic.ttf b/docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSans-Italic.ttf similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSans-Italic.ttf rename to docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSans-Italic.ttf diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSans-Regular.ttf b/docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSans-Regular.ttf similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSans-Regular.ttf rename to docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSans-Regular.ttf diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSansMono-Bold.ttf b/docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSansMono-Bold.ttf similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSansMono-Bold.ttf rename to docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSansMono-Bold.ttf diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSansMono-Regular.ttf b/docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSansMono-Regular.ttf similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSansMono-Regular.ttf rename to docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSansMono-Regular.ttf diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSerif-Bold.ttf b/docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSerif-Bold.ttf similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSerif-Bold.ttf rename to docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSerif-Bold.ttf diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSerif-BoldItalic.ttf b/docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSerif-BoldItalic.ttf similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSerif-BoldItalic.ttf rename to docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSerif-BoldItalic.ttf diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSerif-Italic.ttf b/docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSerif-Italic.ttf similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSerif-Italic.ttf rename to docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSerif-Italic.ttf diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSerif-Regular.ttf b/docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSerif-Regular.ttf similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/fonts/NotoSerif-Regular.ttf rename to docs/app/shinylive/webr/vfs/usr/share/fonts/NotoSerif-Regular.ttf diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/gdal.data b/docs/app/shinylive/webr/vfs/usr/share/gdal.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/gdal.data rename to docs/app/shinylive/webr/vfs/usr/share/gdal.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/gdal.js.metadata b/docs/app/shinylive/webr/vfs/usr/share/gdal.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/gdal.js.metadata rename to docs/app/shinylive/webr/vfs/usr/share/gdal.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/proj.data b/docs/app/shinylive/webr/vfs/usr/share/proj.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/proj.data rename to docs/app/shinylive/webr/vfs/usr/share/proj.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/proj.js.metadata b/docs/app/shinylive/webr/vfs/usr/share/proj.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/proj.js.metadata rename to docs/app/shinylive/webr/vfs/usr/share/proj.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/udunits.data b/docs/app/shinylive/webr/vfs/usr/share/udunits.data similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/udunits.data rename to docs/app/shinylive/webr/vfs/usr/share/udunits.data diff --git a/docs/r-shinylive/shinylive/webr/vfs/usr/share/udunits.js.metadata b/docs/app/shinylive/webr/vfs/usr/share/udunits.js.metadata similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/usr/share/udunits.js.metadata rename to docs/app/shinylive/webr/vfs/usr/share/udunits.js.metadata diff --git a/docs/r-shinylive/shinylive/webr/vfs/var/cache/fontconfig/3830d5c3ddfd5cd38a049b759396e72e-le32d8.cache-7 b/docs/app/shinylive/webr/vfs/var/cache/fontconfig/3830d5c3ddfd5cd38a049b759396e72e-le32d8.cache-7 similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/var/cache/fontconfig/3830d5c3ddfd5cd38a049b759396e72e-le32d8.cache-7 rename to docs/app/shinylive/webr/vfs/var/cache/fontconfig/3830d5c3ddfd5cd38a049b759396e72e-le32d8.cache-7 diff --git a/docs/r-shinylive/shinylive/webr/vfs/var/cache/fontconfig/CACHEDIR.TAG b/docs/app/shinylive/webr/vfs/var/cache/fontconfig/CACHEDIR.TAG similarity index 100% rename from docs/r-shinylive/shinylive/webr/vfs/var/cache/fontconfig/CACHEDIR.TAG rename to docs/app/shinylive/webr/vfs/var/cache/fontconfig/CACHEDIR.TAG diff --git a/docs/r-shinylive/shinylive/webr/webR/chan/channel-common.d.ts b/docs/app/shinylive/webr/webR/chan/channel-common.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/chan/channel-common.d.ts rename to docs/app/shinylive/webr/webR/chan/channel-common.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/chan/channel-postmessage.d.ts b/docs/app/shinylive/webr/webR/chan/channel-postmessage.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/chan/channel-postmessage.d.ts rename to docs/app/shinylive/webr/webR/chan/channel-postmessage.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/chan/channel-service.d.ts b/docs/app/shinylive/webr/webR/chan/channel-service.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/chan/channel-service.d.ts rename to docs/app/shinylive/webr/webR/chan/channel-service.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/chan/channel-shared.d.ts b/docs/app/shinylive/webr/webR/chan/channel-shared.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/chan/channel-shared.d.ts rename to docs/app/shinylive/webr/webR/chan/channel-shared.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/chan/channel.d.ts b/docs/app/shinylive/webr/webR/chan/channel.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/chan/channel.d.ts rename to docs/app/shinylive/webr/webR/chan/channel.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/chan/message.d.ts b/docs/app/shinylive/webr/webR/chan/message.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/chan/message.d.ts rename to docs/app/shinylive/webr/webR/chan/message.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/chan/queue.d.ts b/docs/app/shinylive/webr/webR/chan/queue.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/chan/queue.d.ts rename to docs/app/shinylive/webr/webR/chan/queue.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/chan/serviceworker.d.ts b/docs/app/shinylive/webr/webR/chan/serviceworker.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/chan/serviceworker.d.ts rename to docs/app/shinylive/webr/webR/chan/serviceworker.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/chan/task-common.d.ts b/docs/app/shinylive/webr/webR/chan/task-common.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/chan/task-common.d.ts rename to docs/app/shinylive/webr/webR/chan/task-common.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/chan/task-main.d.ts b/docs/app/shinylive/webr/webR/chan/task-main.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/chan/task-main.d.ts rename to docs/app/shinylive/webr/webR/chan/task-main.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/chan/task-worker.d.ts b/docs/app/shinylive/webr/webR/chan/task-worker.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/chan/task-worker.d.ts rename to docs/app/shinylive/webr/webR/chan/task-worker.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/compat.d.ts b/docs/app/shinylive/webr/webR/compat.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/compat.d.ts rename to docs/app/shinylive/webr/webR/compat.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/config.d.ts b/docs/app/shinylive/webr/webR/config.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/config.d.ts rename to docs/app/shinylive/webr/webR/config.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/console.d.ts b/docs/app/shinylive/webr/webR/console.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/console.d.ts rename to docs/app/shinylive/webr/webR/console.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/emscripten.d.ts b/docs/app/shinylive/webr/webR/emscripten.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/emscripten.d.ts rename to docs/app/shinylive/webr/webR/emscripten.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/error.d.ts b/docs/app/shinylive/webr/webR/error.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/error.d.ts rename to docs/app/shinylive/webr/webR/error.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/payload.d.ts b/docs/app/shinylive/webr/webR/payload.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/payload.d.ts rename to docs/app/shinylive/webr/webR/payload.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/proxy.d.ts b/docs/app/shinylive/webr/webR/proxy.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/proxy.d.ts rename to docs/app/shinylive/webr/webR/proxy.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/robj-main.d.ts b/docs/app/shinylive/webr/webR/robj-main.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/robj-main.d.ts rename to docs/app/shinylive/webr/webR/robj-main.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/robj-worker.d.ts b/docs/app/shinylive/webr/webR/robj-worker.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/robj-worker.d.ts rename to docs/app/shinylive/webr/webR/robj-worker.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/robj.d.ts b/docs/app/shinylive/webr/webR/robj.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/robj.d.ts rename to docs/app/shinylive/webr/webR/robj.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/utils-r.d.ts b/docs/app/shinylive/webr/webR/utils-r.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/utils-r.d.ts rename to docs/app/shinylive/webr/webR/utils-r.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/utils.d.ts b/docs/app/shinylive/webr/webR/utils.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/utils.d.ts rename to docs/app/shinylive/webr/webR/utils.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/webr-chan.d.ts b/docs/app/shinylive/webr/webR/webr-chan.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/webr-chan.d.ts rename to docs/app/shinylive/webr/webR/webr-chan.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/webr-main.d.ts b/docs/app/shinylive/webr/webR/webr-main.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/webr-main.d.ts rename to docs/app/shinylive/webr/webR/webr-main.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webR/webr-worker.d.ts b/docs/app/shinylive/webr/webR/webr-worker.d.ts similarity index 100% rename from docs/r-shinylive/shinylive/webr/webR/webr-worker.d.ts rename to docs/app/shinylive/webr/webR/webr-worker.d.ts diff --git a/docs/r-shinylive/shinylive/webr/webr-serviceworker.js b/docs/app/shinylive/webr/webr-serviceworker.js similarity index 100% rename from docs/r-shinylive/shinylive/webr/webr-serviceworker.js rename to docs/app/shinylive/webr/webr-serviceworker.js diff --git a/docs/r-shinylive/shinylive/webr/webr-serviceworker.js.map b/docs/app/shinylive/webr/webr-serviceworker.js.map similarity index 100% rename from docs/r-shinylive/shinylive/webr/webr-serviceworker.js.map rename to docs/app/shinylive/webr/webr-serviceworker.js.map diff --git a/docs/r-shinylive/shinylive/webr/webr-serviceworker.mjs b/docs/app/shinylive/webr/webr-serviceworker.mjs similarity index 100% rename from docs/r-shinylive/shinylive/webr/webr-serviceworker.mjs rename to docs/app/shinylive/webr/webr-serviceworker.mjs diff --git a/docs/r-shinylive/shinylive/webr/webr-serviceworker.mjs.map b/docs/app/shinylive/webr/webr-serviceworker.mjs.map similarity index 100% rename from docs/r-shinylive/shinylive/webr/webr-serviceworker.mjs.map rename to docs/app/shinylive/webr/webr-serviceworker.mjs.map diff --git a/docs/r-shinylive/shinylive/webr/webr-worker.js b/docs/app/shinylive/webr/webr-worker.js similarity index 100% rename from docs/r-shinylive/shinylive/webr/webr-worker.js rename to docs/app/shinylive/webr/webr-worker.js diff --git a/docs/r-shinylive/shinylive/webr/webr-worker.js.map b/docs/app/shinylive/webr/webr-worker.js.map similarity index 100% rename from docs/r-shinylive/shinylive/webr/webr-worker.js.map rename to docs/app/shinylive/webr/webr-worker.js.map diff --git a/docs/r-shinylive/shinylive/webr/webr.cjs b/docs/app/shinylive/webr/webr.cjs similarity index 100% rename from docs/r-shinylive/shinylive/webr/webr.cjs rename to docs/app/shinylive/webr/webr.cjs diff --git a/docs/r-shinylive/shinylive/webr/webr.cjs.map b/docs/app/shinylive/webr/webr.cjs.map similarity index 100% rename from docs/r-shinylive/shinylive/webr/webr.cjs.map rename to docs/app/shinylive/webr/webr.cjs.map diff --git a/docs/r-shinylive/shinylive/webr/webr.mjs b/docs/app/shinylive/webr/webr.mjs similarity index 100% rename from docs/r-shinylive/shinylive/webr/webr.mjs rename to docs/app/shinylive/webr/webr.mjs diff --git a/docs/r-shinylive/shinylive/webr/webr.mjs.map b/docs/app/shinylive/webr/webr.mjs.map similarity index 100% rename from docs/r-shinylive/shinylive/webr/webr.mjs.map rename to docs/app/shinylive/webr/webr.mjs.map diff --git a/docs/py-shinylive/app.json b/docs/py-shinylive/app.json deleted file mode 100644 index dd82c98..0000000 --- a/docs/py-shinylive/app.json +++ /dev/null @@ -1 +0,0 @@ -[{"name": "app.py", "content": "import seaborn as sns\nimport matplotlib.pyplot as plt\nfrom shiny import App, render, ui\n\nfaithful = sns.load_dataset(\"geyser\")\nx = faithful.waiting\n\n\napp_ui = ui.page_fixed(\n ui.panel_title(\"Old Faithful\"),\n ui.output_plot(id = \"histogram\"),\n ui.input_slider(\n id=\"n\", \n label=\"Number of bins:\", \n min=1, \n max=50, \n value=25,\n ticks=True\n ),\n)\n\ndef server(input, output, session):\n @output\n @render.plot(alt=\"Histogram of waiting times\")\n def histogram():\n plt.hist(\n x, \n bins = input.n(), \n density=False, \n color=\"#BB74DB\",\n edgecolor=\"white\")\n plt.title(\"Histogram of waiting times\")\n plt.xlabel(\"Waiting time to next eruption [mins]\")\n plt.ylabel(\"Frequency\")\n\napp = App(ui = app_ui, server = server)\n", "type": "text"}, {"name": "requirements.txt", "content": "shiny>=0.10.2\nmatplotlib\nseaborn\n", "type": "text"}] \ No newline at end of file diff --git a/docs/quarto-py-shinylive/index.html b/docs/quarto-py-shinylive/index.html index a0d1379..3408f61 100644 --- a/docs/quarto-py-shinylive/index.html +++ b/docs/quarto-py-shinylive/index.html @@ -96,7 +96,6 @@

Old Faithful

) def server(input, output, session): - @output @render.plot(alt="Histogram of waiting times") def histogram(): plt.hist( diff --git a/docs/r-shinylive/app.json b/docs/r-shinylive/app.json deleted file mode 100644 index d023315..0000000 --- a/docs/r-shinylive/app.json +++ /dev/null @@ -1 +0,0 @@ -[{"name":"app.R","content":"library(shiny)\n\nx <- faithful$waiting\n\napp_ui <- fixedPage(\n title = \"Old Faithful\",\n h2(\"Old Faithful\"),\n plotOutput(outputId = \"histogram\"),\n sliderInput(\n inputId = \"n\",\n label = \"Number of bins:\",\n min = 1,\n max = 50,\n value = 25,\n ticks = TRUE\n )\n)\n\nserver <- function(input, output, session) {\n output$histogram <- renderPlot(\n alt = \"Histogram of waiting times\",\n {\n hist(\n x,\n breaks = seq(min(x), max(x),\n length.out = input$n + 1),\n freq = TRUE,\n col = \"#BB74DB\",\n border = \"white\",\n main = \"Histogram of waiting times\",\n xlab = \"Waiting time to next eruption [mins]\",\n ylab = \"Frequency\")\n box()\n }\n )\n}\n\nshinyApp(ui = app_ui, server = server)\n","type":"text"}] diff --git a/docs/r-shinylive/edit/index.html b/docs/r-shinylive/edit/index.html deleted file mode 100644 index 12788eb..0000000 --- a/docs/r-shinylive/edit/index.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - Shiny examples browser - - - - - - - - - -
- - diff --git a/docs/r-shinylive/index.html b/docs/r-shinylive/index.html deleted file mode 100644 index 3a3e765..0000000 --- a/docs/r-shinylive/index.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - Shiny App - - - - - - -
- - diff --git a/docs/r-shinylive/shinylive/pyodide-worker.js b/docs/r-shinylive/shinylive/pyodide-worker.js deleted file mode 100644 index 2191351..0000000 --- a/docs/r-shinylive/shinylive/pyodide-worker.js +++ /dev/null @@ -1,2875 +0,0 @@ -// Shinylive 0.2.3 -// Copyright 2023 RStudio, PBC -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __require = /* @__PURE__ */ ((x2) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x2, { - get: (a, b2) => (typeof require !== "undefined" ? require : a)[b2] -}) : x2)(function(x2) { - if (typeof require !== "undefined") - return require.apply(this, arguments); - throw Error('Dynamic require of "' + x2 + '" is not supported'); -}); -var __commonJS = (cb, mod) => function __require2() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}; -var __copyProps = (to2, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to2, key) && key !== except) - __defProp(to2, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to2; -}; -var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - // If the importer is in node compatibility mode or this is not an ESM - // file that has been converted to a CommonJS file using a Babel- - // compatible transform (i.e. "__esModule" has not been set), then set - // "default" to the CommonJS "module.exports" for node compatibility. - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod -)); - -// node_modules/ws/browser.js -var require_browser = __commonJS({ - "node_modules/ws/browser.js"(exports, module) { - "use strict"; - module.exports = function() { - throw new Error( - "ws does not work in the browser. Browser clients must use the native WebSocket object" - ); - }; - } -}); - -// src/awaitable-queue.ts -var AwaitableQueue = class { - constructor() { - this._buffer = []; - this._resolve = null; - this._promise = null; - this._notifyAll(); - } - async _wait() { - await this._promise; - } - _notifyAll() { - if (this._resolve) { - this._resolve(); - } - this._promise = new Promise((resolve) => this._resolve = resolve); - } - async dequeue() { - while (this._buffer.length === 0) { - await this._wait(); - } - return this._buffer.shift(); - } - enqueue(x2) { - this._buffer.push(x2); - this._notifyAll(); - } -}; - -// src/utils.ts -function uint8ArrayToString(buf) { - let result = ""; - for (let i2 = 0; i2 < buf.length; i2++) { - result += String.fromCharCode(buf[i2]); - } - return result; -} - -// node_modules/webr/dist/webr.mjs -var $s = Object.create; -var Xr = Object.defineProperty; -var Gs = Object.getOwnPropertyDescriptor; -var Ks = Object.getOwnPropertyNames; -var Qs = Object.getPrototypeOf; -var Zs = Object.prototype.hasOwnProperty; -var U = ((r) => typeof __require < "u" ? __require : typeof Proxy < "u" ? new Proxy(r, { get: (e, t) => (typeof __require < "u" ? __require : e)[t] }) : r)(function(r) { - if (typeof __require < "u") - return __require.apply(this, arguments); - throw new Error('Dynamic require of "' + r + '" is not supported'); -}); -var _ = (r, e) => () => (e || r((e = { exports: {} }).exports, e), e.exports); -var Ys = (r, e, t, s) => { - if (e && typeof e == "object" || typeof e == "function") - for (let n of Ks(e)) - !Zs.call(r, n) && n !== t && Xr(r, n, { get: () => e[n], enumerable: !(s = Gs(e, n)) || s.enumerable }); - return r; -}; -var te = (r, e, t) => (t = r != null ? $s(Qs(r)) : {}, Ys(e || !r || !r.__esModule ? Xr(t, "default", { value: r, enumerable: true }) : t, r)); -var ur = (r, e, t) => { - if (!e.has(r)) - throw TypeError("Cannot " + t); -}; -var i = (r, e, t) => (ur(r, e, "read from private field"), t ? t.call(r) : e.get(r)); -var u = (r, e, t) => { - if (e.has(r)) - throw TypeError("Cannot add the same private member more than once"); - e instanceof WeakSet ? e.add(r) : e.set(r, t); -}; -var d = (r, e, t, s) => (ur(r, e, "write to private field"), s ? s.call(r, t) : e.set(r, t), t); -var x = (r, e, t) => (ur(r, e, "access private method"), t); -var Oe = _((I) => { - "use strict"; - Object.defineProperty(I, "__esModule", { value: true }); - I.getUint64 = I.getInt64 = I.setInt64 = I.setUint64 = I.UINT32_MAX = void 0; - I.UINT32_MAX = 4294967295; - function rn(r, e, t) { - let s = t / 4294967296, n = t; - r.setUint32(e, s), r.setUint32(e + 4, n); - } - I.setUint64 = rn; - function sn(r, e, t) { - let s = Math.floor(t / 4294967296), n = t; - r.setUint32(e, s), r.setUint32(e + 4, n); - } - I.setInt64 = sn; - function nn(r, e) { - let t = r.getInt32(e), s = r.getUint32(e + 4); - return t * 4294967296 + s; - } - I.getInt64 = nn; - function on(r, e) { - let t = r.getUint32(e), s = r.getUint32(e + 4); - return t * 4294967296 + s; - } - I.getUint64 = on; -}); -var mt = _((S) => { - "use strict"; - var dr, hr, yr; - Object.defineProperty(S, "__esModule", { value: true }); - S.utf8DecodeTD = S.TEXT_DECODER_THRESHOLD = S.utf8DecodeJs = S.utf8EncodeTE = S.TEXT_ENCODER_THRESHOLD = S.utf8EncodeJs = S.utf8Count = void 0; - var Qr = Oe(), Rt = (typeof process > "u" || ((dr = process == null ? void 0 : process.env) === null || dr === void 0 ? void 0 : dr.TEXT_ENCODING) !== "never") && typeof TextEncoder < "u" && typeof TextDecoder < "u"; - function an(r) { - let e = r.length, t = 0, s = 0; - for (; s < e; ) { - let n = r.charCodeAt(s++); - if (n & 4294967168) - if (!(n & 4294965248)) - t += 2; - else { - if (n >= 55296 && n <= 56319 && s < e) { - let o = r.charCodeAt(s); - (o & 64512) === 56320 && (++s, n = ((n & 1023) << 10) + (o & 1023) + 65536); - } - n & 4294901760 ? t += 4 : t += 3; - } - else { - t++; - continue; - } - } - return t; - } - S.utf8Count = an; - function ln(r, e, t) { - let s = r.length, n = t, o = 0; - for (; o < s; ) { - let a = r.charCodeAt(o++); - if (a & 4294967168) - if (!(a & 4294965248)) - e[n++] = a >> 6 & 31 | 192; - else { - if (a >= 55296 && a <= 56319 && o < s) { - let c = r.charCodeAt(o); - (c & 64512) === 56320 && (++o, a = ((a & 1023) << 10) + (c & 1023) + 65536); - } - a & 4294901760 ? (e[n++] = a >> 18 & 7 | 240, e[n++] = a >> 12 & 63 | 128, e[n++] = a >> 6 & 63 | 128) : (e[n++] = a >> 12 & 15 | 224, e[n++] = a >> 6 & 63 | 128); - } - else { - e[n++] = a; - continue; - } - e[n++] = a & 63 | 128; - } - } - S.utf8EncodeJs = ln; - var Ae = Rt ? new TextEncoder() : void 0; - S.TEXT_ENCODER_THRESHOLD = Rt ? typeof process < "u" && ((hr = process == null ? void 0 : process.env) === null || hr === void 0 ? void 0 : hr.TEXT_ENCODING) !== "force" ? 200 : 0 : Qr.UINT32_MAX; - function cn(r, e, t) { - e.set(Ae.encode(r), t); - } - function un(r, e, t) { - Ae.encodeInto(r, e.subarray(t)); - } - S.utf8EncodeTE = Ae != null && Ae.encodeInto ? un : cn; - var pn = 4096; - function dn(r, e, t) { - let s = e, n = s + t, o = [], a = ""; - for (; s < n; ) { - let c = r[s++]; - if (!(c & 128)) - o.push(c); - else if ((c & 224) === 192) { - let p = r[s++] & 63; - o.push((c & 31) << 6 | p); - } else if ((c & 240) === 224) { - let p = r[s++] & 63, v = r[s++] & 63; - o.push((c & 31) << 12 | p << 6 | v); - } else if ((c & 248) === 240) { - let p = r[s++] & 63, v = r[s++] & 63, ee = r[s++] & 63, z = (c & 7) << 18 | p << 12 | v << 6 | ee; - z > 65535 && (z -= 65536, o.push(z >>> 10 & 1023 | 55296), z = 56320 | z & 1023), o.push(z); - } else - o.push(c); - o.length >= pn && (a += String.fromCharCode(...o), o.length = 0); - } - return o.length > 0 && (a += String.fromCharCode(...o)), a; - } - S.utf8DecodeJs = dn; - var hn = Rt ? new TextDecoder() : null; - S.TEXT_DECODER_THRESHOLD = Rt ? typeof process < "u" && ((yr = process == null ? void 0 : process.env) === null || yr === void 0 ? void 0 : yr.TEXT_DECODER) !== "force" ? 200 : 0 : Qr.UINT32_MAX; - function yn(r, e, t) { - let s = r.subarray(e, e + t); - return hn.decode(s); - } - S.utf8DecodeTD = yn; -}); -var Rr = _((gt) => { - "use strict"; - Object.defineProperty(gt, "__esModule", { value: true }); - gt.ExtData = void 0; - var fr = class { - constructor(e, t) { - this.type = e, this.data = t; - } - }; - gt.ExtData = fr; -}); -var wt = _((bt) => { - "use strict"; - Object.defineProperty(bt, "__esModule", { value: true }); - bt.DecodeError = void 0; - var he = class extends Error { - constructor(e) { - super(e); - let t = Object.create(he.prototype); - Object.setPrototypeOf(this, t), Object.defineProperty(this, "name", { configurable: true, enumerable: false, value: he.name }); - } - }; - bt.DecodeError = he; -}); -var mr = _((T) => { - "use strict"; - Object.defineProperty(T, "__esModule", { value: true }); - T.timestampExtension = T.decodeTimestampExtension = T.decodeTimestampToTimeSpec = T.encodeTimestampExtension = T.encodeDateToTimeSpec = T.encodeTimeSpecToTimestamp = T.EXT_TIMESTAMP = void 0; - var fn = wt(), Zr = Oe(); - T.EXT_TIMESTAMP = -1; - var Rn = 4294967296 - 1, mn = 17179869184 - 1; - function Yr({ sec: r, nsec: e }) { - if (r >= 0 && e >= 0 && r <= mn) - if (e === 0 && r <= Rn) { - let t = new Uint8Array(4); - return new DataView(t.buffer).setUint32(0, r), t; - } else { - let t = r / 4294967296, s = r & 4294967295, n = new Uint8Array(8), o = new DataView(n.buffer); - return o.setUint32(0, e << 2 | t & 3), o.setUint32(4, s), n; - } - else { - let t = new Uint8Array(12), s = new DataView(t.buffer); - return s.setUint32(0, e), (0, Zr.setInt64)(s, 4, r), t; - } - } - T.encodeTimeSpecToTimestamp = Yr; - function es(r) { - let e = r.getTime(), t = Math.floor(e / 1e3), s = (e - t * 1e3) * 1e6, n = Math.floor(s / 1e9); - return { sec: t + n, nsec: s - n * 1e9 }; - } - T.encodeDateToTimeSpec = es; - function ts(r) { - if (r instanceof Date) { - let e = es(r); - return Yr(e); - } else - return null; - } - T.encodeTimestampExtension = ts; - function rs(r) { - let e = new DataView(r.buffer, r.byteOffset, r.byteLength); - switch (r.byteLength) { - case 4: - return { sec: e.getUint32(0), nsec: 0 }; - case 8: { - let t = e.getUint32(0), s = e.getUint32(4), n = (t & 3) * 4294967296 + s, o = t >>> 2; - return { sec: n, nsec: o }; - } - case 12: { - let t = (0, Zr.getInt64)(e, 4), s = e.getUint32(0); - return { sec: t, nsec: s }; - } - default: - throw new fn.DecodeError(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${r.length}`); - } - } - T.decodeTimestampToTimeSpec = rs; - function ss(r) { - let e = rs(r); - return new Date(e.sec * 1e3 + e.nsec / 1e6); - } - T.decodeTimestampExtension = ss; - T.timestampExtension = { type: T.EXT_TIMESTAMP, encode: ts, decode: ss }; -}); -var Et = _((vt) => { - "use strict"; - Object.defineProperty(vt, "__esModule", { value: true }); - vt.ExtensionCodec = void 0; - var xt = Rr(), gn = mr(), Ie = class { - constructor() { - this.builtInEncoders = [], this.builtInDecoders = [], this.encoders = [], this.decoders = [], this.register(gn.timestampExtension); - } - register({ type: e, encode: t, decode: s }) { - if (e >= 0) - this.encoders[e] = t, this.decoders[e] = s; - else { - let n = 1 + e; - this.builtInEncoders[n] = t, this.builtInDecoders[n] = s; - } - } - tryToEncode(e, t) { - for (let s = 0; s < this.builtInEncoders.length; s++) { - let n = this.builtInEncoders[s]; - if (n != null) { - let o = n(e, t); - if (o != null) { - let a = -1 - s; - return new xt.ExtData(a, o); - } - } - } - for (let s = 0; s < this.encoders.length; s++) { - let n = this.encoders[s]; - if (n != null) { - let o = n(e, t); - if (o != null) { - let a = s; - return new xt.ExtData(a, o); - } - } - } - return e instanceof xt.ExtData ? e : null; - } - decode(e, t, s) { - let n = t < 0 ? this.builtInDecoders[-1 - t] : this.decoders[t]; - return n ? n(e, t, s) : new xt.ExtData(t, e); - } - }; - vt.ExtensionCodec = Ie; - Ie.defaultCodec = new Ie(); -}); -var gr = _((ye) => { - "use strict"; - Object.defineProperty(ye, "__esModule", { value: true }); - ye.createDataView = ye.ensureUint8Array = void 0; - function ns(r) { - return r instanceof Uint8Array ? r : ArrayBuffer.isView(r) ? new Uint8Array(r.buffer, r.byteOffset, r.byteLength) : r instanceof ArrayBuffer ? new Uint8Array(r) : Uint8Array.from(r); - } - ye.ensureUint8Array = ns; - function bn(r) { - if (r instanceof ArrayBuffer) - return new DataView(r); - let e = ns(r); - return new DataView(e.buffer, e.byteOffset, e.byteLength); - } - ye.createDataView = bn; -}); -var wr = _((N) => { - "use strict"; - Object.defineProperty(N, "__esModule", { value: true }); - N.Encoder = N.DEFAULT_INITIAL_BUFFER_SIZE = N.DEFAULT_MAX_DEPTH = void 0; - var Ue = mt(), wn = Et(), os = Oe(), xn = gr(); - N.DEFAULT_MAX_DEPTH = 100; - N.DEFAULT_INITIAL_BUFFER_SIZE = 2048; - var br = class { - constructor(e = wn.ExtensionCodec.defaultCodec, t = void 0, s = N.DEFAULT_MAX_DEPTH, n = N.DEFAULT_INITIAL_BUFFER_SIZE, o = false, a = false, c = false, p = false) { - this.extensionCodec = e, this.context = t, this.maxDepth = s, this.initialBufferSize = n, this.sortKeys = o, this.forceFloat32 = a, this.ignoreUndefined = c, this.forceIntegerToFloat = p, this.pos = 0, this.view = new DataView(new ArrayBuffer(this.initialBufferSize)), this.bytes = new Uint8Array(this.view.buffer); - } - reinitializeState() { - this.pos = 0; - } - encodeSharedRef(e) { - return this.reinitializeState(), this.doEncode(e, 1), this.bytes.subarray(0, this.pos); - } - encode(e) { - return this.reinitializeState(), this.doEncode(e, 1), this.bytes.slice(0, this.pos); - } - doEncode(e, t) { - if (t > this.maxDepth) - throw new Error(`Too deep objects in depth ${t}`); - e == null ? this.encodeNil() : typeof e == "boolean" ? this.encodeBoolean(e) : typeof e == "number" ? this.encodeNumber(e) : typeof e == "string" ? this.encodeString(e) : this.encodeObject(e, t); - } - ensureBufferSizeToWrite(e) { - let t = this.pos + e; - this.view.byteLength < t && this.resizeBuffer(t * 2); - } - resizeBuffer(e) { - let t = new ArrayBuffer(e), s = new Uint8Array(t), n = new DataView(t); - s.set(this.bytes), this.view = n, this.bytes = s; - } - encodeNil() { - this.writeU8(192); - } - encodeBoolean(e) { - e === false ? this.writeU8(194) : this.writeU8(195); - } - encodeNumber(e) { - Number.isSafeInteger(e) && !this.forceIntegerToFloat ? e >= 0 ? e < 128 ? this.writeU8(e) : e < 256 ? (this.writeU8(204), this.writeU8(e)) : e < 65536 ? (this.writeU8(205), this.writeU16(e)) : e < 4294967296 ? (this.writeU8(206), this.writeU32(e)) : (this.writeU8(207), this.writeU64(e)) : e >= -32 ? this.writeU8(224 | e + 32) : e >= -128 ? (this.writeU8(208), this.writeI8(e)) : e >= -32768 ? (this.writeU8(209), this.writeI16(e)) : e >= -2147483648 ? (this.writeU8(210), this.writeI32(e)) : (this.writeU8(211), this.writeI64(e)) : this.forceFloat32 ? (this.writeU8(202), this.writeF32(e)) : (this.writeU8(203), this.writeF64(e)); - } - writeStringHeader(e) { - if (e < 32) - this.writeU8(160 + e); - else if (e < 256) - this.writeU8(217), this.writeU8(e); - else if (e < 65536) - this.writeU8(218), this.writeU16(e); - else if (e < 4294967296) - this.writeU8(219), this.writeU32(e); - else - throw new Error(`Too long string: ${e} bytes in UTF-8`); - } - encodeString(e) { - if (e.length > Ue.TEXT_ENCODER_THRESHOLD) { - let n = (0, Ue.utf8Count)(e); - this.ensureBufferSizeToWrite(5 + n), this.writeStringHeader(n), (0, Ue.utf8EncodeTE)(e, this.bytes, this.pos), this.pos += n; - } else { - let n = (0, Ue.utf8Count)(e); - this.ensureBufferSizeToWrite(5 + n), this.writeStringHeader(n), (0, Ue.utf8EncodeJs)(e, this.bytes, this.pos), this.pos += n; - } - } - encodeObject(e, t) { - let s = this.extensionCodec.tryToEncode(e, this.context); - if (s != null) - this.encodeExtension(s); - else if (Array.isArray(e)) - this.encodeArray(e, t); - else if (ArrayBuffer.isView(e)) - this.encodeBinary(e); - else if (typeof e == "object") - this.encodeMap(e, t); - else - throw new Error(`Unrecognized object: ${Object.prototype.toString.apply(e)}`); - } - encodeBinary(e) { - let t = e.byteLength; - if (t < 256) - this.writeU8(196), this.writeU8(t); - else if (t < 65536) - this.writeU8(197), this.writeU16(t); - else if (t < 4294967296) - this.writeU8(198), this.writeU32(t); - else - throw new Error(`Too large binary: ${t}`); - let s = (0, xn.ensureUint8Array)(e); - this.writeU8a(s); - } - encodeArray(e, t) { - let s = e.length; - if (s < 16) - this.writeU8(144 + s); - else if (s < 65536) - this.writeU8(220), this.writeU16(s); - else if (s < 4294967296) - this.writeU8(221), this.writeU32(s); - else - throw new Error(`Too large array: ${s}`); - for (let n of e) - this.doEncode(n, t + 1); - } - countWithoutUndefined(e, t) { - let s = 0; - for (let n of t) - e[n] !== void 0 && s++; - return s; - } - encodeMap(e, t) { - let s = Object.keys(e); - this.sortKeys && s.sort(); - let n = this.ignoreUndefined ? this.countWithoutUndefined(e, s) : s.length; - if (n < 16) - this.writeU8(128 + n); - else if (n < 65536) - this.writeU8(222), this.writeU16(n); - else if (n < 4294967296) - this.writeU8(223), this.writeU32(n); - else - throw new Error(`Too large map object: ${n}`); - for (let o of s) { - let a = e[o]; - this.ignoreUndefined && a === void 0 || (this.encodeString(o), this.doEncode(a, t + 1)); - } - } - encodeExtension(e) { - let t = e.data.length; - if (t === 1) - this.writeU8(212); - else if (t === 2) - this.writeU8(213); - else if (t === 4) - this.writeU8(214); - else if (t === 8) - this.writeU8(215); - else if (t === 16) - this.writeU8(216); - else if (t < 256) - this.writeU8(199), this.writeU8(t); - else if (t < 65536) - this.writeU8(200), this.writeU16(t); - else if (t < 4294967296) - this.writeU8(201), this.writeU32(t); - else - throw new Error(`Too large extension object: ${t}`); - this.writeI8(e.type), this.writeU8a(e.data); - } - writeU8(e) { - this.ensureBufferSizeToWrite(1), this.view.setUint8(this.pos, e), this.pos++; - } - writeU8a(e) { - let t = e.length; - this.ensureBufferSizeToWrite(t), this.bytes.set(e, this.pos), this.pos += t; - } - writeI8(e) { - this.ensureBufferSizeToWrite(1), this.view.setInt8(this.pos, e), this.pos++; - } - writeU16(e) { - this.ensureBufferSizeToWrite(2), this.view.setUint16(this.pos, e), this.pos += 2; - } - writeI16(e) { - this.ensureBufferSizeToWrite(2), this.view.setInt16(this.pos, e), this.pos += 2; - } - writeU32(e) { - this.ensureBufferSizeToWrite(4), this.view.setUint32(this.pos, e), this.pos += 4; - } - writeI32(e) { - this.ensureBufferSizeToWrite(4), this.view.setInt32(this.pos, e), this.pos += 4; - } - writeF32(e) { - this.ensureBufferSizeToWrite(4), this.view.setFloat32(this.pos, e), this.pos += 4; - } - writeF64(e) { - this.ensureBufferSizeToWrite(8), this.view.setFloat64(this.pos, e), this.pos += 8; - } - writeU64(e) { - this.ensureBufferSizeToWrite(8), (0, os.setUint64)(this.view, this.pos, e), this.pos += 8; - } - writeI64(e) { - this.ensureBufferSizeToWrite(8), (0, os.setInt64)(this.view, this.pos, e), this.pos += 8; - } - }; - N.Encoder = br; -}); -var is = _((Pt) => { - "use strict"; - Object.defineProperty(Pt, "__esModule", { value: true }); - Pt.encode = void 0; - var vn = wr(), En = {}; - function Pn(r, e = En) { - return new vn.Encoder(e.extensionCodec, e.context, e.maxDepth, e.initialBufferSize, e.sortKeys, e.forceFloat32, e.ignoreUndefined, e.forceIntegerToFloat).encodeSharedRef(r); - } - Pt.encode = Pn; -}); -var as = _((Tt) => { - "use strict"; - Object.defineProperty(Tt, "__esModule", { value: true }); - Tt.prettyByte = void 0; - function Tn(r) { - return `${r < 0 ? "-" : ""}0x${Math.abs(r).toString(16).padStart(2, "0")}`; - } - Tt.prettyByte = Tn; -}); -var ls = _((_t) => { - "use strict"; - Object.defineProperty(_t, "__esModule", { value: true }); - _t.CachedKeyDecoder = void 0; - var _n = mt(), Sn = 16, Mn = 16, xr = class { - constructor(e = Sn, t = Mn) { - this.maxKeyLength = e, this.maxLengthPerKey = t, this.hit = 0, this.miss = 0, this.caches = []; - for (let s = 0; s < this.maxKeyLength; s++) - this.caches.push([]); - } - canBeCached(e) { - return e > 0 && e <= this.maxKeyLength; - } - find(e, t, s) { - let n = this.caches[s - 1]; - e: - for (let o of n) { - let a = o.bytes; - for (let c = 0; c < s; c++) - if (a[c] !== e[t + c]) - continue e; - return o.str; - } - return null; - } - store(e, t) { - let s = this.caches[e.length - 1], n = { bytes: e, str: t }; - s.length >= this.maxLengthPerKey ? s[Math.random() * s.length | 0] = n : s.push(n); - } - decode(e, t, s) { - let n = this.find(e, t, s); - if (n != null) - return this.hit++, n; - this.miss++; - let o = (0, _n.utf8DecodeJs)(e, t, s), a = Uint8Array.prototype.slice.call(e, t, t + s); - return this.store(a, o), o; - } - }; - _t.CachedKeyDecoder = xr; -}); -var St = _((J) => { - "use strict"; - Object.defineProperty(J, "__esModule", { value: true }); - J.Decoder = J.DataViewIndexOutOfBoundsError = void 0; - var vr = as(), kn = Et(), re = Oe(), Er = mt(), Pr = gr(), Dn = ls(), H = wt(), Wn = (r) => { - let e = typeof r; - return e === "string" || e === "number"; - }, Ce = -1, _r = new DataView(new ArrayBuffer(0)), On = new Uint8Array(_r.buffer); - J.DataViewIndexOutOfBoundsError = (() => { - try { - _r.getInt8(0); - } catch (r) { - return r.constructor; - } - throw new Error("never reached"); - })(); - var cs = new J.DataViewIndexOutOfBoundsError("Insufficient data"), An = new Dn.CachedKeyDecoder(), Tr = class { - constructor(e = kn.ExtensionCodec.defaultCodec, t = void 0, s = re.UINT32_MAX, n = re.UINT32_MAX, o = re.UINT32_MAX, a = re.UINT32_MAX, c = re.UINT32_MAX, p = An) { - this.extensionCodec = e, this.context = t, this.maxStrLength = s, this.maxBinLength = n, this.maxArrayLength = o, this.maxMapLength = a, this.maxExtLength = c, this.keyDecoder = p, this.totalPos = 0, this.pos = 0, this.view = _r, this.bytes = On, this.headByte = Ce, this.stack = []; - } - reinitializeState() { - this.totalPos = 0, this.headByte = Ce, this.stack.length = 0; - } - setBuffer(e) { - this.bytes = (0, Pr.ensureUint8Array)(e), this.view = (0, Pr.createDataView)(this.bytes), this.pos = 0; - } - appendBuffer(e) { - if (this.headByte === Ce && !this.hasRemaining(1)) - this.setBuffer(e); - else { - let t = this.bytes.subarray(this.pos), s = (0, Pr.ensureUint8Array)(e), n = new Uint8Array(t.length + s.length); - n.set(t), n.set(s, t.length), this.setBuffer(n); - } - } - hasRemaining(e) { - return this.view.byteLength - this.pos >= e; - } - createExtraByteError(e) { - let { view: t, pos: s } = this; - return new RangeError(`Extra ${t.byteLength - s} of ${t.byteLength} byte(s) found at buffer[${e}]`); - } - decode(e) { - this.reinitializeState(), this.setBuffer(e); - let t = this.doDecodeSync(); - if (this.hasRemaining(1)) - throw this.createExtraByteError(this.pos); - return t; - } - *decodeMulti(e) { - for (this.reinitializeState(), this.setBuffer(e); this.hasRemaining(1); ) - yield this.doDecodeSync(); - } - async decodeAsync(e) { - let t = false, s; - for await (let c of e) { - if (t) - throw this.createExtraByteError(this.totalPos); - this.appendBuffer(c); - try { - s = this.doDecodeSync(), t = true; - } catch (p) { - if (!(p instanceof J.DataViewIndexOutOfBoundsError)) - throw p; - } - this.totalPos += this.pos; - } - if (t) { - if (this.hasRemaining(1)) - throw this.createExtraByteError(this.totalPos); - return s; - } - let { headByte: n, pos: o, totalPos: a } = this; - throw new RangeError(`Insufficient data in parsing ${(0, vr.prettyByte)(n)} at ${a} (${o} in the current buffer)`); - } - decodeArrayStream(e) { - return this.decodeMultiAsync(e, true); - } - decodeStream(e) { - return this.decodeMultiAsync(e, false); - } - async *decodeMultiAsync(e, t) { - let s = t, n = -1; - for await (let o of e) { - if (t && n === 0) - throw this.createExtraByteError(this.totalPos); - this.appendBuffer(o), s && (n = this.readArraySize(), s = false, this.complete()); - try { - for (; yield this.doDecodeSync(), --n !== 0; ) - ; - } catch (a) { - if (!(a instanceof J.DataViewIndexOutOfBoundsError)) - throw a; - } - this.totalPos += this.pos; - } - } - doDecodeSync() { - e: - for (; ; ) { - let e = this.readHeadByte(), t; - if (e >= 224) - t = e - 256; - else if (e < 192) - if (e < 128) - t = e; - else if (e < 144) { - let n = e - 128; - if (n !== 0) { - this.pushMapState(n), this.complete(); - continue e; - } else - t = {}; - } else if (e < 160) { - let n = e - 144; - if (n !== 0) { - this.pushArrayState(n), this.complete(); - continue e; - } else - t = []; - } else { - let n = e - 160; - t = this.decodeUtf8String(n, 0); - } - else if (e === 192) - t = null; - else if (e === 194) - t = false; - else if (e === 195) - t = true; - else if (e === 202) - t = this.readF32(); - else if (e === 203) - t = this.readF64(); - else if (e === 204) - t = this.readU8(); - else if (e === 205) - t = this.readU16(); - else if (e === 206) - t = this.readU32(); - else if (e === 207) - t = this.readU64(); - else if (e === 208) - t = this.readI8(); - else if (e === 209) - t = this.readI16(); - else if (e === 210) - t = this.readI32(); - else if (e === 211) - t = this.readI64(); - else if (e === 217) { - let n = this.lookU8(); - t = this.decodeUtf8String(n, 1); - } else if (e === 218) { - let n = this.lookU16(); - t = this.decodeUtf8String(n, 2); - } else if (e === 219) { - let n = this.lookU32(); - t = this.decodeUtf8String(n, 4); - } else if (e === 220) { - let n = this.readU16(); - if (n !== 0) { - this.pushArrayState(n), this.complete(); - continue e; - } else - t = []; - } else if (e === 221) { - let n = this.readU32(); - if (n !== 0) { - this.pushArrayState(n), this.complete(); - continue e; - } else - t = []; - } else if (e === 222) { - let n = this.readU16(); - if (n !== 0) { - this.pushMapState(n), this.complete(); - continue e; - } else - t = {}; - } else if (e === 223) { - let n = this.readU32(); - if (n !== 0) { - this.pushMapState(n), this.complete(); - continue e; - } else - t = {}; - } else if (e === 196) { - let n = this.lookU8(); - t = this.decodeBinary(n, 1); - } else if (e === 197) { - let n = this.lookU16(); - t = this.decodeBinary(n, 2); - } else if (e === 198) { - let n = this.lookU32(); - t = this.decodeBinary(n, 4); - } else if (e === 212) - t = this.decodeExtension(1, 0); - else if (e === 213) - t = this.decodeExtension(2, 0); - else if (e === 214) - t = this.decodeExtension(4, 0); - else if (e === 215) - t = this.decodeExtension(8, 0); - else if (e === 216) - t = this.decodeExtension(16, 0); - else if (e === 199) { - let n = this.lookU8(); - t = this.decodeExtension(n, 1); - } else if (e === 200) { - let n = this.lookU16(); - t = this.decodeExtension(n, 2); - } else if (e === 201) { - let n = this.lookU32(); - t = this.decodeExtension(n, 4); - } else - throw new H.DecodeError(`Unrecognized type byte: ${(0, vr.prettyByte)(e)}`); - this.complete(); - let s = this.stack; - for (; s.length > 0; ) { - let n = s[s.length - 1]; - if (n.type === 0) - if (n.array[n.position] = t, n.position++, n.position === n.size) - s.pop(), t = n.array; - else - continue e; - else if (n.type === 1) { - if (!Wn(t)) - throw new H.DecodeError("The type of key must be string or number but " + typeof t); - if (t === "__proto__") - throw new H.DecodeError("The key __proto__ is not allowed"); - n.key = t, n.type = 2; - continue e; - } else if (n.map[n.key] = t, n.readCount++, n.readCount === n.size) - s.pop(), t = n.map; - else { - n.key = null, n.type = 1; - continue e; - } - } - return t; - } - } - readHeadByte() { - return this.headByte === Ce && (this.headByte = this.readU8()), this.headByte; - } - complete() { - this.headByte = Ce; - } - readArraySize() { - let e = this.readHeadByte(); - switch (e) { - case 220: - return this.readU16(); - case 221: - return this.readU32(); - default: { - if (e < 160) - return e - 144; - throw new H.DecodeError(`Unrecognized array type byte: ${(0, vr.prettyByte)(e)}`); - } - } - } - pushMapState(e) { - if (e > this.maxMapLength) - throw new H.DecodeError(`Max length exceeded: map length (${e}) > maxMapLengthLength (${this.maxMapLength})`); - this.stack.push({ type: 1, size: e, key: null, readCount: 0, map: {} }); - } - pushArrayState(e) { - if (e > this.maxArrayLength) - throw new H.DecodeError(`Max length exceeded: array length (${e}) > maxArrayLength (${this.maxArrayLength})`); - this.stack.push({ type: 0, size: e, array: new Array(e), position: 0 }); - } - decodeUtf8String(e, t) { - var s; - if (e > this.maxStrLength) - throw new H.DecodeError(`Max length exceeded: UTF-8 byte length (${e}) > maxStrLength (${this.maxStrLength})`); - if (this.bytes.byteLength < this.pos + t + e) - throw cs; - let n = this.pos + t, o; - return this.stateIsMapKey() && (!((s = this.keyDecoder) === null || s === void 0) && s.canBeCached(e)) ? o = this.keyDecoder.decode(this.bytes, n, e) : e > Er.TEXT_DECODER_THRESHOLD ? o = (0, Er.utf8DecodeTD)(this.bytes, n, e) : o = (0, Er.utf8DecodeJs)(this.bytes, n, e), this.pos += t + e, o; - } - stateIsMapKey() { - return this.stack.length > 0 ? this.stack[this.stack.length - 1].type === 1 : false; - } - decodeBinary(e, t) { - if (e > this.maxBinLength) - throw new H.DecodeError(`Max length exceeded: bin length (${e}) > maxBinLength (${this.maxBinLength})`); - if (!this.hasRemaining(e + t)) - throw cs; - let s = this.pos + t, n = this.bytes.subarray(s, s + e); - return this.pos += t + e, n; - } - decodeExtension(e, t) { - if (e > this.maxExtLength) - throw new H.DecodeError(`Max length exceeded: ext length (${e}) > maxExtLength (${this.maxExtLength})`); - let s = this.view.getInt8(this.pos + t), n = this.decodeBinary(e, t + 1); - return this.extensionCodec.decode(n, s, this.context); - } - lookU8() { - return this.view.getUint8(this.pos); - } - lookU16() { - return this.view.getUint16(this.pos); - } - lookU32() { - return this.view.getUint32(this.pos); - } - readU8() { - let e = this.view.getUint8(this.pos); - return this.pos++, e; - } - readI8() { - let e = this.view.getInt8(this.pos); - return this.pos++, e; - } - readU16() { - let e = this.view.getUint16(this.pos); - return this.pos += 2, e; - } - readI16() { - let e = this.view.getInt16(this.pos); - return this.pos += 2, e; - } - readU32() { - let e = this.view.getUint32(this.pos); - return this.pos += 4, e; - } - readI32() { - let e = this.view.getInt32(this.pos); - return this.pos += 4, e; - } - readU64() { - let e = (0, re.getUint64)(this.view, this.pos); - return this.pos += 8, e; - } - readI64() { - let e = (0, re.getInt64)(this.view, this.pos); - return this.pos += 8, e; - } - readF32() { - let e = this.view.getFloat32(this.pos); - return this.pos += 4, e; - } - readF64() { - let e = this.view.getFloat64(this.pos); - return this.pos += 8, e; - } - }; - J.Decoder = Tr; -}); -var Sr = _((L) => { - "use strict"; - Object.defineProperty(L, "__esModule", { value: true }); - L.decodeMulti = L.decode = L.defaultDecodeOptions = void 0; - var us = St(); - L.defaultDecodeOptions = {}; - function In(r, e = L.defaultDecodeOptions) { - return new us.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decode(r); - } - L.decode = In; - function Un(r, e = L.defaultDecodeOptions) { - return new us.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeMulti(r); - } - L.decodeMulti = Un; -}); -var hs = _(($) => { - "use strict"; - Object.defineProperty($, "__esModule", { value: true }); - $.ensureAsyncIterable = $.asyncIterableFromStream = $.isAsyncIterable = void 0; - function ps(r) { - return r[Symbol.asyncIterator] != null; - } - $.isAsyncIterable = ps; - function Cn(r) { - if (r == null) - throw new Error("Assertion Failure: value must not be null nor undefined"); - } - async function* ds(r) { - let e = r.getReader(); - try { - for (; ; ) { - let { done: t, value: s } = await e.read(); - if (t) - return; - Cn(s), yield s; - } - } finally { - e.releaseLock(); - } - } - $.asyncIterableFromStream = ds; - function Nn(r) { - return ps(r) ? r : ds(r); - } - $.ensureAsyncIterable = Nn; -}); -var fs = _((j) => { - "use strict"; - Object.defineProperty(j, "__esModule", { value: true }); - j.decodeStream = j.decodeMultiStream = j.decodeArrayStream = j.decodeAsync = void 0; - var Mr = St(), kr = hs(), Mt = Sr(); - async function Ln(r, e = Mt.defaultDecodeOptions) { - let t = (0, kr.ensureAsyncIterable)(r); - return new Mr.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeAsync(t); - } - j.decodeAsync = Ln; - function jn(r, e = Mt.defaultDecodeOptions) { - let t = (0, kr.ensureAsyncIterable)(r); - return new Mr.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeArrayStream(t); - } - j.decodeArrayStream = jn; - function ys(r, e = Mt.defaultDecodeOptions) { - let t = (0, kr.ensureAsyncIterable)(r); - return new Mr.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeStream(t); - } - j.decodeMultiStream = ys; - function Fn(r, e = Mt.defaultDecodeOptions) { - return ys(r, e); - } - j.decodeStream = Fn; -}); -var Dt = _((h) => { - "use strict"; - Object.defineProperty(h, "__esModule", { value: true }); - h.decodeTimestampExtension = h.encodeTimestampExtension = h.decodeTimestampToTimeSpec = h.encodeTimeSpecToTimestamp = h.encodeDateToTimeSpec = h.EXT_TIMESTAMP = h.ExtData = h.ExtensionCodec = h.Encoder = h.DataViewIndexOutOfBoundsError = h.DecodeError = h.Decoder = h.decodeStream = h.decodeMultiStream = h.decodeArrayStream = h.decodeAsync = h.decodeMulti = h.decode = h.encode = void 0; - var Bn = is(); - Object.defineProperty(h, "encode", { enumerable: true, get: function() { - return Bn.encode; - } }); - var Rs = Sr(); - Object.defineProperty(h, "decode", { enumerable: true, get: function() { - return Rs.decode; - } }); - Object.defineProperty(h, "decodeMulti", { enumerable: true, get: function() { - return Rs.decodeMulti; - } }); - var kt = fs(); - Object.defineProperty(h, "decodeAsync", { enumerable: true, get: function() { - return kt.decodeAsync; - } }); - Object.defineProperty(h, "decodeArrayStream", { enumerable: true, get: function() { - return kt.decodeArrayStream; - } }); - Object.defineProperty(h, "decodeMultiStream", { enumerable: true, get: function() { - return kt.decodeMultiStream; - } }); - Object.defineProperty(h, "decodeStream", { enumerable: true, get: function() { - return kt.decodeStream; - } }); - var ms = St(); - Object.defineProperty(h, "Decoder", { enumerable: true, get: function() { - return ms.Decoder; - } }); - Object.defineProperty(h, "DataViewIndexOutOfBoundsError", { enumerable: true, get: function() { - return ms.DataViewIndexOutOfBoundsError; - } }); - var qn = wt(); - Object.defineProperty(h, "DecodeError", { enumerable: true, get: function() { - return qn.DecodeError; - } }); - var Vn = wr(); - Object.defineProperty(h, "Encoder", { enumerable: true, get: function() { - return Vn.Encoder; - } }); - var Hn = Et(); - Object.defineProperty(h, "ExtensionCodec", { enumerable: true, get: function() { - return Hn.ExtensionCodec; - } }); - var Jn = Rr(); - Object.defineProperty(h, "ExtData", { enumerable: true, get: function() { - return Jn.ExtData; - } }); - var fe = mr(); - Object.defineProperty(h, "EXT_TIMESTAMP", { enumerable: true, get: function() { - return fe.EXT_TIMESTAMP; - } }); - Object.defineProperty(h, "encodeDateToTimeSpec", { enumerable: true, get: function() { - return fe.encodeDateToTimeSpec; - } }); - Object.defineProperty(h, "encodeTimeSpecToTimestamp", { enumerable: true, get: function() { - return fe.encodeTimeSpecToTimestamp; - } }); - Object.defineProperty(h, "decodeTimestampToTimeSpec", { enumerable: true, get: function() { - return fe.decodeTimestampToTimeSpec; - } }); - Object.defineProperty(h, "encodeTimestampExtension", { enumerable: true, get: function() { - return fe.encodeTimestampExtension; - } }); - Object.defineProperty(h, "decodeTimestampExtension", { enumerable: true, get: function() { - return fe.decodeTimestampExtension; - } }); -}); -var A = class extends Error { - constructor(e) { - super(e), this.name = this.constructor.name, Object.setPrototypeOf(this, new.target.prototype); - } -}; -var P = class extends A { -}; -var m = typeof process < "u" && process.release && process.release.name === "node"; -var pr; -if (globalThis.document) - pr = (r) => new Promise((e, t) => { - let s = document.createElement("script"); - s.src = r, s.onload = () => e(), s.onerror = t, document.head.appendChild(s); - }); -else if (globalThis.importScripts) - pr = async (r) => { - try { - globalThis.importScripts(r); - } catch (e) { - if (e instanceof TypeError) - await Promise.resolve().then(() => te(U(r))); - else - throw e; - } - }; -else if (m) - pr = async (r) => { - let e = (await Promise.resolve().then(() => te(U("path")))).default; - await Promise.resolve().then(() => te(U(e.resolve(r)))); - }; -else - throw new A("Cannot determine runtime environment"); -var en = /* @__PURE__ */ new WeakMap(); -function Kr(r, e) { - return en.set(r, e), r; -} -var bs = te(Dt()); -var zn = new TextEncoder(); -var F; -var B; -var Ne; -var Dr; -F = /* @__PURE__ */ new WeakMap(), B = /* @__PURE__ */ new WeakMap(), Ne = /* @__PURE__ */ new WeakSet(), Dr = function() { - i(this, F).push(new Promise((e) => { - i(this, B).push(e); - })); -}; -function Le(r, e, t) { - return xs({ type: "response", data: { uuid: r, resp: e } }, t); -} -function xs(r, e) { - return e && Kr(r, e), r; -} -var ge; -ge = /* @__PURE__ */ new WeakMap(); -var Ts = te(Dt()); -var Kn = new TextDecoder("utf-8"); -var be; -var we; -var je; -var Fe; -var xe; -be = /* @__PURE__ */ new WeakMap(), we = /* @__PURE__ */ new WeakMap(), je = /* @__PURE__ */ new WeakMap(), Fe = /* @__PURE__ */ new WeakMap(), xe = /* @__PURE__ */ new WeakMap(); -var Or = new Int32Array(new ArrayBuffer(4)); -var l = {}; -function ks(r) { - Object.keys(r).forEach((e) => l._free(r[e])); -} -m && (globalThis.Worker = U("worker_threads").Worker); -var ve; -var Ct; -var Ds; -var qe; -ve = /* @__PURE__ */ new WeakMap(), Ct = /* @__PURE__ */ new WeakSet(), Ds = function(t) { - m ? t.on("message", (s) => { - i(this, qe).call(this, t, s); - }) : t.onmessage = (s) => i(this, qe).call(this, t, s.data); -}, qe = /* @__PURE__ */ new WeakMap(); -var se; -var Ve; -var ne; -var He; -se = /* @__PURE__ */ new WeakMap(), Ve = /* @__PURE__ */ new WeakMap(), ne = /* @__PURE__ */ new WeakMap(), He = /* @__PURE__ */ new WeakMap(); -var Bt = te(Dt()); -m && (globalThis.Worker = U("worker_threads").Worker); -var Ee; -var oe; -var Pe; -var Lt; -var Ws; -var jt; -var Os; -var Ft; -var As; -var Je; -Ee = /* @__PURE__ */ new WeakMap(), oe = /* @__PURE__ */ new WeakMap(), Pe = /* @__PURE__ */ new WeakMap(), Lt = /* @__PURE__ */ new WeakSet(), Ws = async function(t) { - d(this, oe, await navigator.serviceWorker.register(t)), await navigator.serviceWorker.ready, window.addEventListener("beforeunload", () => { - var n; - (n = i(this, oe)) == null || n.unregister(); - }); - let s = await new Promise((n) => { - navigator.serviceWorker.addEventListener("message", function o(a) { - a.data.type === "registration-successful" && (navigator.serviceWorker.removeEventListener("message", o), n(a.data.clientId)); - }), this.activeRegistration().postMessage({ type: "register-client-main" }); - }); - return navigator.serviceWorker.addEventListener("message", (n) => { - x(this, jt, Os).call(this, n); - }), s; -}, jt = /* @__PURE__ */ new WeakSet(), Os = async function(t) { - if (t.data.type === "request") { - let s = t.data.data, n = i(this, Ee).get(s); - if (!n) - throw new P("Request not found during service worker XHR request"); - switch (i(this, Ee).delete(s), n.type) { - case "read": { - let o = await this.inputQueue.get(); - this.activeRegistration().postMessage({ type: "wasm-webr-fetch-response", uuid: s, response: Le(s, o) }); - break; - } - case "interrupt": { - let o = i(this, Pe); - this.activeRegistration().postMessage({ type: "wasm-webr-fetch-response", uuid: s, response: Le(s, o) }), this.inputQueue.reset(), d(this, Pe, false); - break; - } - default: - throw new P(`Unsupported request type '${n.type}'.`); - } - return; - } -}, Ft = /* @__PURE__ */ new WeakSet(), As = function(t) { - m ? t.on("message", (s) => { - i(this, Je).call(this, t, s); - }) : t.onmessage = (s) => i(this, Je).call(this, t, s.data); -}, Je = /* @__PURE__ */ new WeakMap(); -var Te; -var ze; -var Xe; -var $e; -var Ge; -var Ke; -Te = /* @__PURE__ */ new WeakMap(), ze = /* @__PURE__ */ new WeakMap(), Xe = /* @__PURE__ */ new WeakMap(), $e = /* @__PURE__ */ new WeakMap(), Ge = /* @__PURE__ */ new WeakMap(), Ke = /* @__PURE__ */ new WeakMap(); -m && (globalThis.Worker = U("worker_threads").Worker); -var _e; -var qt; -var Is; -var Ze; -_e = /* @__PURE__ */ new WeakMap(), qt = /* @__PURE__ */ new WeakSet(), Is = function(t) { - m ? t.on("message", (s) => { - i(this, Ze).call(this, t, s); - }) : t.onmessage = (s) => i(this, Ze).call(this, t, s.data); -}, Ze = /* @__PURE__ */ new WeakMap(); -var Se; -var Me; -var Ye; -var ie; -var Vt; -Se = /* @__PURE__ */ new WeakMap(), Me = /* @__PURE__ */ new WeakMap(), Ye = /* @__PURE__ */ new WeakMap(), ie = /* @__PURE__ */ new WeakMap(), Vt = /* @__PURE__ */ new WeakMap(); -var O = { Automatic: 0, SharedArrayBuffer: 1, ServiceWorker: 2, PostMessage: 3 }; -var Cs = m ? __dirname + "/" : "https://webr.r-wasm.org/v0.2.2/"; -var Ns = "https://repo.r-wasm.org"; -var f = { null: 0, symbol: 1, pairlist: 2, closure: 3, environment: 4, promise: 5, call: 6, special: 7, builtin: 8, string: 9, logical: 10, integer: 13, double: 14, complex: 15, character: 16, dots: 17, any: 18, list: 19, expression: 20, bytecode: 21, pointer: 22, weakref: 23, raw: 24, s4: 25, new: 30, free: 31, function: 99 }; -function Cr(r) { - return r && typeof r == "object" && Object.keys(f).includes(r.type); -} -function Nr(r) { - return r && typeof r == "object" && "re" in r && "im" in r; -} -function Ht(r) { - return l._Rf_protect(q(r)), r; -} -function M(r, e) { - return l._Rf_protect(q(r)), ++e.n, r; -} -function js(r) { - let e = l._malloc(4); - return l._R_ProtectWithIndex(q(r), e), { loc: l.getValue(e, "i32"), ptr: e }; -} -function Fs(r) { - l._Rf_unprotect(1), l._free(r.ptr); -} -function Bs(r, e) { - return l._R_Reprotect(q(r), e.loc), r; -} -function D(r) { - l._Rf_unprotect(r); -} -function Lr(r, e, t) { - l._Rf_defineVar(q(e), q(t), q(r)); -} -function qs(r, e) { - let t = {}, s = { n: 0 }; - try { - let n = new tt(e); - M(n, s), t.code = l.allocateUTF8(r); - let o = l._R_ParseEvalString(t.code, n.ptr); - return y.wrap(o); - } finally { - ks(t), D(s.n); - } -} -function et(r, e) { - return l.getWasmTableEntry(l.GOT.ffi_safe_eval.value)(q(r), q(e)); -} -function q(r) { - return to(r) ? r.ptr : r; -} -function ue(r, e) { - if (l._TYPEOF(r.ptr) !== f[e]) - throw new Error(`Unexpected object type "${r.type()}" when expecting type "${e}"`); -} -function Yn(r) { - if (Cr(r)) - return new (Vs(f[r.type]))(r); - if (r && typeof r == "object" && "type" in r && r.type === "null") - return new $t(); - if (r === null) - return new le({ type: "logical", names: null, values: [null] }); - if (typeof r == "boolean") - return new le(r); - if (typeof r == "number") - return new rt(r); - if (typeof r == "string") - return new K(r); - if (Nr(r)) - return new st(r); - if (Array.isArray(r)) - return eo(r); - throw new Error("Robj construction for this JS object is not yet supported"); -} -function eo(r) { - let e = { n: 0 }; - try { - let t = new ce([new Q("c"), ...r]); - return M(t, e), t.eval(); - } finally { - D(e.n); - } -} -var E = class { - constructor(e) { - this.ptr = e; - } - type() { - let e = l._TYPEOF(this.ptr); - return Object.keys(f).find((s) => f[s] === e); - } -}; -var De; -var Jt; -var ae = class extends E { - constructor(t) { - if (!(t instanceof E)) - return Yn(t); - super(t.ptr); - u(this, De); - } - static wrap(t) { - let s = l._TYPEOF(t); - return new (Vs(s))(new E(t)); - } - get [Symbol.toStringTag]() { - return `RObject:${this.type()}`; - } - static getPersistentObject(t) { - return k[t]; - } - getPropertyValue(t) { - return this[t]; - } - inspect() { - qs(".Internal(inspect(x))", { x: this }); - } - isNull() { - return l._TYPEOF(this.ptr) === f.null; - } - isUnbound() { - return this.ptr === k.unboundValue.ptr; - } - attrs() { - return We.wrap(l._ATTRIB(this.ptr)); - } - setNames(t) { - let s; - if (t === null) - s = k.null; - else if (Array.isArray(t) && t.every((n) => typeof n == "string" || n === null)) - s = new K(t); - else - throw new Error("Argument to setNames must be null or an Array of strings or null"); - return l._Rf_setAttrib(this.ptr, k.namesSymbol.ptr, s.ptr), this; - } - names() { - let t = K.wrap(l._Rf_getAttrib(this.ptr, k.namesSymbol.ptr)); - return t.isNull() ? null : t.toArray(); - } - includes(t) { - let s = this.names(); - return s && s.includes(t); - } - toJs(t = { depth: 0 }, s = 1) { - throw new Error("This R object cannot be converted to JS"); - } - subset(t) { - return x(this, De, Jt).call(this, t, k.bracketSymbol.ptr); - } - get(t) { - return x(this, De, Jt).call(this, t, k.bracket2Symbol.ptr); - } - getDollar(t) { - return x(this, De, Jt).call(this, t, k.dollarSymbol.ptr); - } - pluck(...t) { - let s = js(k.null); - try { - let n = (a, c) => { - let p = a.get(c); - return Bs(p, s); - }, o = t.reduce(n, this); - return o.isNull() ? void 0 : o; - } finally { - Fs(s); - } - } - set(t, s) { - let n = { n: 0 }; - try { - let o = new ae(t); - M(o, n); - let a = new ae(s); - M(a, n); - let c = new Q("[[<-"), p = l._Rf_lang4(c.ptr, this.ptr, o.ptr, a.ptr); - return M(p, n), ae.wrap(et(p, k.baseEnv)); - } finally { - D(n.n); - } - } - static getMethods(t) { - let s = /* @__PURE__ */ new Set(), n = t; - do - Object.getOwnPropertyNames(n).map((o) => s.add(o)); - while (n = Object.getPrototypeOf(n)); - return [...s.keys()].filter((o) => typeof t[o] == "function"); - } -}; -var y = ae; -De = /* @__PURE__ */ new WeakSet(), Jt = function(t, s) { - let n = { n: 0 }; - try { - let o = new ae(t); - M(o, n); - let a = l._Rf_lang3(s, this.ptr, o.ptr); - return M(a, n), ae.wrap(et(a, k.baseEnv)); - } finally { - D(n.n); - } -}; -var $t = class extends y { - constructor() { - return super(new E(l.getValue(l._R_NilValue, "*"))), this; - } - toJs() { - return { type: "null" }; - } -}; -var Q = class extends y { - constructor(e) { - if (e instanceof E) { - ue(e, "symbol"), super(e); - return; - } - let t = l.allocateUTF8(e); - try { - super(new E(l._Rf_install(t))); - } finally { - l._free(t); - } - } - toJs() { - let e = this.toObject(); - return { type: "symbol", printname: e.printname, symvalue: e.symvalue, internal: e.internal }; - } - toObject() { - return { printname: this.printname().isUnbound() ? null : this.printname().toString(), symvalue: this.symvalue().isUnbound() ? null : this.symvalue().ptr, internal: this.internal().isNull() ? null : this.internal().ptr }; - } - toString() { - return this.printname().toString(); - } - printname() { - return nt.wrap(l._PRINTNAME(this.ptr)); - } - symvalue() { - return y.wrap(l._SYMVALUE(this.ptr)); - } - internal() { - return y.wrap(l._INTERNAL(this.ptr)); - } -}; -var We = class extends y { - constructor(e) { - if (e instanceof E) - return ue(e, "pairlist"), super(e), this; - let t = { n: 0 }; - try { - let { names: s, values: n } = ot(e), o = We.wrap(l._Rf_allocList(n.length)); - M(o, t); - for (let [a, c] = [0, o]; !c.isNull(); [a, c] = [a + 1, c.cdr()]) - c.setcar(new y(n[a])); - o.setNames(s), super(o); - } finally { - D(t.n); - } - } - get length() { - return this.toArray().length; - } - toArray(e = { depth: 1 }) { - return this.toJs(e).values; - } - toObject({ allowDuplicateKey: e = true, allowEmptyKey: t = false, depth: s = 1 } = {}) { - let n = this.entries({ depth: s }), o = n.map(([a, c]) => a); - if (!e && new Set(o).size !== o.length) - throw new Error("Duplicate key when converting pairlist without allowDuplicateKey enabled"); - if (!t && o.some((a) => !a)) - throw new Error("Empty or null key when converting pairlist without allowEmptyKey enabled"); - return Object.fromEntries(n.filter((a, c) => n.findIndex((p) => p[0] === a[0]) === c)); - } - entries(e = { depth: 1 }) { - let t = this.toJs(e); - return t.values.map((s, n) => [t.names ? t.names[n] : null, s]); - } - toJs(e = { depth: 0 }, t = 1) { - let s = [], n = false, o = []; - for (let c = this; !c.isNull(); c = c.cdr()) { - let p = c.tag(); - p.isNull() ? s.push("") : (n = true, s.push(p.toString())), e.depth && t >= e.depth ? o.push(c.car()) : o.push(c.car().toJs(e, t + 1)); - } - return { type: "pairlist", names: n ? s : null, values: o }; - } - includes(e) { - return e in this.toObject(); - } - setcar(e) { - l._SETCAR(this.ptr, e.ptr); - } - car() { - return y.wrap(l._CAR(this.ptr)); - } - cdr() { - return y.wrap(l._CDR(this.ptr)); - } - tag() { - return y.wrap(l._TAG(this.ptr)); - } -}; -var ce = class extends y { - constructor(e) { - if (e instanceof E) - return ue(e, "call"), super(e), this; - let t = { n: 0 }; - try { - let { values: s } = ot(e), n = s.map((a) => M(new y(a), t)), o = ce.wrap(l._Rf_allocVector(f.call, s.length)); - M(o, t); - for (let [a, c] = [0, o]; !c.isNull(); [a, c] = [a + 1, c.cdr()]) - c.setcar(n[a]); - super(o); - } finally { - D(t.n); - } - } - setcar(e) { - l._SETCAR(this.ptr, e.ptr); - } - car() { - return y.wrap(l._CAR(this.ptr)); - } - cdr() { - return y.wrap(l._CDR(this.ptr)); - } - eval() { - return y.wrap(et(this.ptr, k.baseEnv)); - } -}; -var jr = class extends y { - constructor(e) { - if (e instanceof E) - return ue(e, "list"), super(e), this; - let t = { n: 0 }; - try { - let { names: s, values: n } = ot(e), o = l._Rf_allocVector(f.list, n.length); - M(o, t), n.forEach((a, c) => { - l._SET_VECTOR_ELT(o, c, new y(a).ptr); - }), y.wrap(o).setNames(s), super(new E(o)); - } finally { - D(t.n); - } - } - get length() { - return l._LENGTH(this.ptr); - } - toArray(e = { depth: 1 }) { - return this.toJs(e).values; - } - toObject({ allowDuplicateKey: e = true, allowEmptyKey: t = false, depth: s = 1 } = {}) { - let n = this.entries({ depth: s }), o = n.map(([a, c]) => a); - if (!e && new Set(o).size !== o.length) - throw new Error("Duplicate key when converting list without allowDuplicateKey enabled"); - if (!t && o.some((a) => !a)) - throw new Error("Empty or null key when converting list without allowEmptyKey enabled"); - return Object.fromEntries(n.filter((a, c) => n.findIndex((p) => p[0] === a[0]) === c)); - } - entries(e = { depth: 1 }) { - let t = this.toJs(e); - return t.values.map((s, n) => [t.names ? t.names[n] : null, s]); - } - toJs(e = { depth: 0 }, t = 1) { - return { type: "list", names: this.names(), values: [...Array(this.length).keys()].map((s) => e.depth && t >= e.depth ? this.get(s + 1) : this.get(s + 1).toJs(e, t + 1)) }; - } -}; -var ke = class extends y { - exec(...e) { - let t = { n: 0 }; - try { - let s = new ce([this, ...e]); - return M(s, t), s.eval(); - } finally { - D(t.n); - } - } -}; -var nt = class extends y { - constructor(e) { - if (e instanceof E) { - ue(e, "string"), super(e); - return; - } - let t = l.allocateUTF8(e); - try { - super(new E(l._Rf_mkChar(t))); - } finally { - l._free(t); - } - } - toString() { - return l.UTF8ToString(l._R_CHAR(this.ptr)); - } - toJs() { - return { type: "string", value: this.toString() }; - } -}; -var tt = class extends y { - constructor(e = {}) { - if (e instanceof E) - return ue(e, "environment"), super(e), this; - let t = 0; - try { - let { names: s, values: n } = ot(e), o = Ht(l._R_NewEnv(k.globalEnv.ptr, 0, 0)); - ++t, n.forEach((a, c) => { - let p = s ? s[c] : null; - if (!p) - throw new Error("Can't create object in new environment with empty symbol name"); - let v = new Q(p), ee = Ht(new y(a)); - try { - Lr(o, v, ee); - } finally { - D(1); - } - }), super(new E(o)); - } finally { - D(t); - } - } - ls(e = false, t = true) { - return K.wrap(l._R_lsInternal3(this.ptr, Number(e), Number(t))).toArray(); - } - bind(e, t) { - let s = new Q(e), n = Ht(new y(t)); - try { - Lr(this, s, n); - } finally { - D(1); - } - } - names() { - return this.ls(true, true); - } - frame() { - return y.wrap(l._FRAME(this.ptr)); - } - subset(e) { - if (typeof e == "number") - throw new Error("Object of type environment is not subsettable"); - return this.getDollar(e); - } - toObject({ depth: e = 0 } = {}) { - let t = this.names(); - return Object.fromEntries([...Array(t.length).keys()].map((s) => [t[s], this.getDollar(t[s]).toJs({ depth: e })])); - } - toJs(e = { depth: 0 }, t = 1) { - let s = this.names(), n = [...Array(s.length).keys()].map((o) => e.depth && t >= e.depth ? this.getDollar(s[o]) : this.getDollar(s[o]).toJs(e, t + 1)); - return { type: "environment", names: s, values: n }; - } -}; -var Z = class extends y { - constructor(e, t, s) { - if (e instanceof E) - return ue(e, t), super(e), this; - let n = { n: 0 }; - try { - let { names: o, values: a } = ot(e), c = l._Rf_allocVector(f[t], a.length); - M(c, n), a.forEach(s(c)), y.wrap(c).setNames(o), super(new E(c)); - } finally { - D(n.n); - } - } - get length() { - return l._LENGTH(this.ptr); - } - get(e) { - return super.get(e); - } - subset(e) { - return super.subset(e); - } - getDollar(e) { - throw new Error("$ operator is invalid for atomic vectors"); - } - detectMissing() { - let e = { n: 0 }; - try { - let t = l._Rf_lang2(new Q("is.na").ptr, this.ptr); - M(t, e); - let s = le.wrap(et(t, k.baseEnv)); - M(s, e); - let n = s.toTypedArray(); - return Array.from(n).map((o) => !!o); - } finally { - D(e.n); - } - } - toArray() { - let e = this.toTypedArray(); - return this.detectMissing().map((t, s) => t ? null : e[s]); - } - toObject({ allowDuplicateKey: e = true, allowEmptyKey: t = false } = {}) { - let s = this.entries(), n = s.map(([o, a]) => o); - if (!e && new Set(n).size !== n.length) - throw new Error("Duplicate key when converting atomic vector without allowDuplicateKey enabled"); - if (!t && n.some((o) => !o)) - throw new Error("Empty or null key when converting atomic vector without allowEmptyKey enabled"); - return Object.fromEntries(s.filter((o, a) => s.findIndex((c) => c[0] === o[0]) === a)); - } - entries() { - let e = this.toArray(), t = this.names(); - return e.map((s, n) => [t ? t[n] : null, s]); - } - toJs() { - return { type: this.type(), names: this.names(), values: this.toArray() }; - } -}; -var Gt; -var Fr = class extends Z { - constructor(e) { - super(e, "logical", i(Fr, Gt)); - } - getBoolean(e) { - return this.get(e).toArray()[0]; - } - toBoolean() { - if (this.length !== 1) - throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value"); - let e = this.getBoolean(1); - if (e === null) - throw new Error("Can't convert missing value `NA` to a JS boolean"); - return e; - } - toTypedArray() { - return new Int32Array(l.HEAP32.subarray(l._LOGICAL(this.ptr) / 4, l._LOGICAL(this.ptr) / 4 + this.length)); - } - toArray() { - let e = this.toTypedArray(); - return this.detectMissing().map((t, s) => t ? null : !!e[s]); - } -}; -var le = Fr; -Gt = /* @__PURE__ */ new WeakMap(), u(le, Gt, (e) => { - let t = l._LOGICAL(e), s = l.getValue(l._R_NaInt, "i32"); - return (n, o) => { - l.setValue(t + 4 * o, n === null ? s : !!n, "i32"); - }; -}); -var Kt; -var Br = class extends Z { - constructor(e) { - super(e, "integer", i(Br, Kt)); - } - getNumber(e) { - return this.get(e).toArray()[0]; - } - toNumber() { - if (this.length !== 1) - throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value"); - let e = this.getNumber(1); - if (e === null) - throw new Error("Can't convert missing value `NA` to a JS number"); - return e; - } - toTypedArray() { - return new Int32Array(l.HEAP32.subarray(l._INTEGER(this.ptr) / 4, l._INTEGER(this.ptr) / 4 + this.length)); - } -}; -var zt = Br; -Kt = /* @__PURE__ */ new WeakMap(), u(zt, Kt, (e) => { - let t = l._INTEGER(e), s = l.getValue(l._R_NaInt, "i32"); - return (n, o) => { - l.setValue(t + 4 * o, n === null ? s : Math.round(Number(n)), "i32"); - }; -}); -var Qt; -var qr = class extends Z { - constructor(e) { - super(e, "double", i(qr, Qt)); - } - getNumber(e) { - return this.get(e).toArray()[0]; - } - toNumber() { - if (this.length !== 1) - throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value"); - let e = this.getNumber(1); - if (e === null) - throw new Error("Can't convert missing value `NA` to a JS number"); - return e; - } - toTypedArray() { - return new Float64Array(l.HEAPF64.subarray(l._REAL(this.ptr) / 8, l._REAL(this.ptr) / 8 + this.length)); - } -}; -var rt = qr; -Qt = /* @__PURE__ */ new WeakMap(), u(rt, Qt, (e) => { - let t = l._REAL(e), s = l.getValue(l._R_NaReal, "double"); - return (n, o) => { - l.setValue(t + 8 * o, n === null ? s : n, "double"); - }; -}); -var Zt; -var Vr = class extends Z { - constructor(e) { - super(e, "complex", i(Vr, Zt)); - } - getComplex(e) { - return this.get(e).toArray()[0]; - } - toComplex() { - if (this.length !== 1) - throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value"); - let e = this.getComplex(1); - if (e === null) - throw new Error("Can't convert missing value `NA` to a JS object"); - return e; - } - toTypedArray() { - return new Float64Array(l.HEAPF64.subarray(l._COMPLEX(this.ptr) / 8, l._COMPLEX(this.ptr) / 8 + 2 * this.length)); - } - toArray() { - let e = this.toTypedArray(); - return this.detectMissing().map((t, s) => t ? null : { re: e[2 * s], im: e[2 * s + 1] }); - } -}; -var st = Vr; -Zt = /* @__PURE__ */ new WeakMap(), u(st, Zt, (e) => { - let t = l._COMPLEX(e), s = l.getValue(l._R_NaReal, "double"); - return (n, o) => { - l.setValue(t + 8 * (2 * o), n === null ? s : n.re, "double"), l.setValue(t + 8 * (2 * o + 1), n === null ? s : n.im, "double"); - }; -}); -var Yt; -var Hr = class extends Z { - constructor(e) { - super(e, "character", i(Hr, Yt)); - } - getString(e) { - return this.get(e).toArray()[0]; - } - toString() { - if (this.length !== 1) - throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value"); - let e = this.getString(1); - if (e === null) - throw new Error("Can't convert missing value `NA` to a JS string"); - return e; - } - toTypedArray() { - return new Uint32Array(l.HEAPU32.subarray(l._STRING_PTR(this.ptr) / 4, l._STRING_PTR(this.ptr) / 4 + this.length)); - } - toArray() { - return this.detectMissing().map((e, t) => e ? null : l.UTF8ToString(l._R_CHAR(l._STRING_ELT(this.ptr, t)))); - } -}; -var K = Hr; -Yt = /* @__PURE__ */ new WeakMap(), u(K, Yt, (e) => (t, s) => { - t === null ? l._SET_STRING_ELT(e, s, k.naString.ptr) : l._SET_STRING_ELT(e, s, new nt(t).ptr); -}); -var er; -var Jr = class extends Z { - constructor(e) { - super(e, "raw", i(Jr, er)); - } - getNumber(e) { - return this.get(e).toArray()[0]; - } - toNumber() { - if (this.length !== 1) - throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value"); - let e = this.getNumber(1); - if (e === null) - throw new Error("Can't convert missing value `NA` to a JS number"); - return e; - } - toTypedArray() { - return new Uint8Array(l.HEAPU8.subarray(l._RAW(this.ptr), l._RAW(this.ptr) + this.length)); - } -}; -var Xt = Jr; -er = /* @__PURE__ */ new WeakMap(), u(Xt, er, (e) => { - let t = l._RAW(e); - return (s, n) => { - l.setValue(t + n, Number(s), "i8"); - }; -}); -function ot(r) { - return Cr(r) ? r : Array.isArray(r) || ArrayBuffer.isView(r) ? { names: null, values: r } : r && typeof r == "object" && !Nr(r) ? { names: Object.keys(r), values: Object.values(r) } : { names: null, values: [r] }; -} -function Vs(r) { - let e = { [f.null]: $t, [f.symbol]: Q, [f.pairlist]: We, [f.closure]: ke, [f.environment]: tt, [f.call]: ce, [f.special]: ke, [f.builtin]: ke, [f.string]: nt, [f.logical]: le, [f.integer]: zt, [f.double]: rt, [f.complex]: st, [f.character]: K, [f.list]: jr, [f.raw]: Xt, [f.function]: ke }; - return r in e ? e[r] : y; -} -function to(r) { - return r instanceof y; -} -var k; -var it; -var at; -var lt; -var ct; -var ut; -var tr; -var rr; -var sr; -var nr; -var or; -var ir; -var Js; -it = /* @__PURE__ */ new WeakMap(), at = /* @__PURE__ */ new WeakMap(), lt = /* @__PURE__ */ new WeakMap(), ct = /* @__PURE__ */ new WeakMap(), ut = /* @__PURE__ */ new WeakMap(), tr = /* @__PURE__ */ new WeakMap(), rr = /* @__PURE__ */ new WeakMap(), sr = /* @__PURE__ */ new WeakMap(), nr = /* @__PURE__ */ new WeakMap(), or = /* @__PURE__ */ new WeakMap(), ir = /* @__PURE__ */ new WeakSet(), Js = async function() { - for (; ; ) { - let e = await this.webR.read(); - switch (e.type) { - case "stdout": - i(this, it).call(this, e.data); - break; - case "stderr": - i(this, at).call(this, e.data); - break; - case "prompt": - i(this, lt).call(this, e.data); - break; - case "canvas": - e.data.event === "canvasImage" ? i(this, ct).call(this, e.data.image) : e.data.event === "canvasNewPage" && i(this, ut).call(this); - break; - case "closed": - return; - default: - console.warn(`Unhandled output type for webR Console: ${e.type}.`); - } - } -}; -var io = { FONTCONFIG_PATH: "/etc/fonts", R_HOME: "/usr/lib/R", R_ENABLE_JIT: "0" }; -var zs = { RArgs: [], REnv: io, baseUrl: Cs, serviceWorkerUrl: "", repoUrl: Ns, homedir: "/home/web_user", interactive: true, channelType: O.Automatic, createLazyFilesystem: true }; -var g; -var pt; -var cr; -var Xs; -g = /* @__PURE__ */ new WeakMap(), pt = /* @__PURE__ */ new WeakMap(), cr = /* @__PURE__ */ new WeakSet(), Xs = async function() { - for (; ; ) { - let e = await i(this, g).readSystem(); - switch (e.type) { - case "setTimeoutWasm": - setTimeout((t, s) => { - this.invokeWasmFunction(t, ...s); - }, e.data.delay, e.data.ptr, e.data.args); - break; - case "console.log": - console.log(e.data); - break; - case "console.warn": - console.warn(e.data); - break; - case "console.error": - console.error(e.data); - break; - default: - throw new A("Unknown system message type `" + e.type + "`"); - } - } -}; -var b; -var R; -var dt; -b = /* @__PURE__ */ new WeakMap(), R = /* @__PURE__ */ new WeakMap(), dt = /* @__PURE__ */ new WeakMap(); - -// src/messageporthttp.ts -async function makeRequest(scope, appName, clientPort, pyodide2) { - const asgiFunc = pyodide2.runPython( - `_shiny_app_registry["${appName}"].app.call_pyodide` - ); - await connect(scope, clientPort, asgiFunc); -} -async function connect(scope, clientPort, asgiFunc) { - const fromClientQueue = new AwaitableQueue(); - clientPort.addEventListener("message", (event) => { - if (event.data.type === "http.request") { - fromClientQueue.enqueue({ - type: "http.request", - body: event.data.body, - more_body: event.data.more_body - }); - } - }); - clientPort.start(); - async function fromClient() { - return fromClientQueue.dequeue(); - } - async function toClient(event) { - event = Object.fromEntries(event.toJs()); - if (event.type === "http.response.start") { - clientPort.postMessage({ - type: event.type, - status: event.status, - headers: asgiHeadersToRecord(event.headers) - }); - } else if (event.type === "http.response.body") { - clientPort.postMessage({ - type: event.type, - body: asgiBodyToArray(event.body), - more_body: event.more_body - }); - } else { - throw new Error(`Unhandled ASGI event: ${event.type}`); - } - } - await asgiFunc(scope, fromClient, toClient); -} -function asgiHeadersToRecord(headers) { - headers = headers.map(([key, val]) => { - return [uint8ArrayToString(key), uint8ArrayToString(val)]; - }); - return Object.fromEntries(headers); -} -function asgiBodyToArray(body) { - return body; -} - -// src/messageportwebsocket.ts -var MessagePortWebSocket = class extends EventTarget { - constructor(port) { - super(); - this.readyState = 0; - this.addEventListener("open", (e) => { - if (this.onopen) { - this.onopen(e); - } - }); - this.addEventListener("message", (e) => { - if (this.onmessage) { - this.onmessage(e); - } - }); - this.addEventListener("error", (e) => { - if (this.onerror) { - this.onerror(e); - } - }); - this.addEventListener("close", (e) => { - if (this.onclose) { - this.onclose(e); - } - }); - this._port = port; - port.addEventListener("message", this._onMessage.bind(this)); - port.start(); - } - // Call on the server side of the connection, to tell the client that - // the connection has been established. - accept() { - if (this.readyState !== 0) { - return; - } - this.readyState = 1; - this._port.postMessage({ type: "open" }); - } - send(data) { - if (this.readyState === 0) { - throw new DOMException( - "Can't send messages while WebSocket is in CONNECTING state", - "InvalidStateError" - ); - } - if (this.readyState > 1) { - return; - } - this._port.postMessage({ type: "message", value: { data } }); - } - close(code, reason) { - if (this.readyState > 1) { - return; - } - this.readyState = 2; - this._port.postMessage({ type: "close", value: { code, reason } }); - this.readyState = 3; - this.dispatchEvent(new CloseEvent("close", { code, reason })); - } - _onMessage(e) { - const event = e.data; - switch (event.type) { - case "open": - if (this.readyState === 0) { - this.readyState = 1; - this.dispatchEvent(new Event("open")); - return; - } - break; - case "message": - if (this.readyState === 1) { - this.dispatchEvent(new MessageEvent("message", { ...event.value })); - return; - } - break; - case "close": - if (this.readyState < 3) { - this.readyState = 3; - this.dispatchEvent(new CloseEvent("close", { ...event.value })); - return; - } - break; - } - this._reportError( - `Unexpected event '${event.type}' while in readyState ${this.readyState}`, - 1002 - ); - } - _reportError(message, code) { - this.dispatchEvent(new ErrorEvent("error", { message })); - if (typeof code === "number") { - this.close(code, message); - } - } -}; - -// src/messageportwebsocket-channel.ts -async function openChannel(path, appName, clientPort, pyodide2) { - const conn = new MessagePortWebSocket(clientPort); - const asgiFunc = pyodide2.runPython( - `_shiny_app_registry["${appName}"].app.call_pyodide` - ); - await connect2(path, conn, asgiFunc); -} -async function connect2(path, conn, asgiFunc) { - const scope = { - type: "websocket", - asgi: { - version: "3.0", - spec_version: "2.1" - }, - path, - headers: [] - }; - const fromClientQueue = new AwaitableQueue(); - fromClientQueue.enqueue({ type: "websocket.connect" }); - async function fromClient() { - return await fromClientQueue.dequeue(); - } - async function toClient(event) { - event = Object.fromEntries(event.toJs()); - if (event.type === "websocket.accept") { - conn.accept(); - } else if (event.type === "websocket.send") { - conn.send(event.text ?? event.bytes); - } else if (event.type === "websocket.close") { - conn.close(event.code, event.reason); - fromClientQueue.enqueue({ type: "websocket.disconnect" }); - } else { - conn.close(1002, "ASGI protocol error"); - throw new Error(`Unhandled ASGI event: ${event.type}`); - } - } - conn.addEventListener("message", (e) => { - const me = e; - const event = { type: "websocket.receive" }; - if (typeof me.data === "string") { - event.text = me.data; - } else { - event.bytes = me.data; - } - fromClientQueue.enqueue(event); - }); - conn.addEventListener("close", (e) => { - const ce2 = e; - fromClientQueue.enqueue({ type: "websocket.disconnect", code: ce2.code }); - }); - conn.addEventListener("error", (e) => { - console.error(e); - }); - await asgiFunc(scope, fromClient, toClient); -} - -// src/postable-error.ts -function errorToPostableErrorObject(e) { - const errObj = { - message: "An unknown error occured", - name: e.name - }; - if (!(e instanceof Error)) { - return errObj; - } - errObj.message = e.message; - if (e.stack) { - errObj.stack = e.stack; - } - return errObj; -} - -// src/pyodide/pyodide.js -var StackFrame; -var FIREFOX_SAFARI_STACK_REGEXP; -var CHROME_IE_STACK_REGEXP; -var SAFARI_NATIVE_CODE_REGEXP; -var errorStackParser = { exports: {} }; -var stackframe = { exports: {} }; -stackframe.exports = function() { - function _isNumber(n) { - return !isNaN(parseFloat(n)) && isFinite(n); - } - function _capitalize(str) { - return str.charAt(0).toUpperCase() + str.substring(1); - } - function _getter(p) { - return function() { - return this[p]; - }; - } - var booleanProps = ["isConstructor", "isEval", "isNative", "isToplevel"], numericProps = ["columnNumber", "lineNumber"], stringProps = ["fileName", "functionName", "source"], arrayProps = ["args"], objectProps = ["evalOrigin"], props = booleanProps.concat(numericProps, stringProps, arrayProps, objectProps); - function StackFrame2(obj) { - if (obj) - for (var i3 = 0; i3 < props.length; i3++) - void 0 !== obj[props[i3]] && this["set" + _capitalize(props[i3])](obj[props[i3]]); - } - StackFrame2.prototype = { getArgs: function() { - return this.args; - }, setArgs: function(v) { - if ("[object Array]" !== Object.prototype.toString.call(v)) - throw new TypeError("Args must be an Array"); - this.args = v; - }, getEvalOrigin: function() { - return this.evalOrigin; - }, setEvalOrigin: function(v) { - if (v instanceof StackFrame2) - this.evalOrigin = v; - else { - if (!(v instanceof Object)) - throw new TypeError("Eval Origin must be an Object or StackFrame"); - this.evalOrigin = new StackFrame2(v); - } - }, toString: function() { - var fileName = this.getFileName() || "", lineNumber = this.getLineNumber() || "", columnNumber = this.getColumnNumber() || "", functionName = this.getFunctionName() || ""; - return this.getIsEval() ? fileName ? "[eval] (" + fileName + ":" + lineNumber + ":" + columnNumber + ")" : "[eval]:" + lineNumber + ":" + columnNumber : functionName ? functionName + " (" + fileName + ":" + lineNumber + ":" + columnNumber + ")" : fileName + ":" + lineNumber + ":" + columnNumber; - } }, StackFrame2.fromString = function(str) { - var argsStartIndex = str.indexOf("("), argsEndIndex = str.lastIndexOf(")"), functionName = str.substring(0, argsStartIndex), args = str.substring(argsStartIndex + 1, argsEndIndex).split(","), locationString = str.substring(argsEndIndex + 1); - if (0 === locationString.indexOf("@")) - var parts = /@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(locationString, ""), fileName = parts[1], lineNumber = parts[2], columnNumber = parts[3]; - return new StackFrame2({ functionName, args: args || void 0, fileName, lineNumber: lineNumber || void 0, columnNumber: columnNumber || void 0 }); - }; - for (var i2 = 0; i2 < booleanProps.length; i2++) - StackFrame2.prototype["get" + _capitalize(booleanProps[i2])] = _getter(booleanProps[i2]), StackFrame2.prototype["set" + _capitalize(booleanProps[i2])] = function(p) { - return function(v) { - this[p] = Boolean(v); - }; - }(booleanProps[i2]); - for (var j = 0; j < numericProps.length; j++) - StackFrame2.prototype["get" + _capitalize(numericProps[j])] = _getter(numericProps[j]), StackFrame2.prototype["set" + _capitalize(numericProps[j])] = function(p) { - return function(v) { - if (!_isNumber(v)) - throw new TypeError(p + " must be a Number"); - this[p] = Number(v); - }; - }(numericProps[j]); - for (var k2 = 0; k2 < stringProps.length; k2++) - StackFrame2.prototype["get" + _capitalize(stringProps[k2])] = _getter(stringProps[k2]), StackFrame2.prototype["set" + _capitalize(stringProps[k2])] = function(p) { - return function(v) { - this[p] = String(v); - }; - }(stringProps[k2]); - return StackFrame2; -}(); -var ErrorStackParser = errorStackParser.exports = (StackFrame = stackframe.exports, FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\S+:\d+/, CHROME_IE_STACK_REGEXP = /^\s*at .*(\S+:\d+|\(native\))/m, SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\[native code])?$/, { parse: function(error) { - if (void 0 !== error.stacktrace || void 0 !== error["opera#sourceloc"]) - return this.parseOpera(error); - if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) - return this.parseV8OrIE(error); - if (error.stack) - return this.parseFFOrSafari(error); - throw new Error("Cannot parse given Error object"); -}, extractLocation: function(urlLike) { - if (-1 === urlLike.indexOf(":")) - return [urlLike]; - var parts = /(.+?)(?::(\d+))?(?::(\d+))?$/.exec(urlLike.replace(/[()]/g, "")); - return [parts[1], parts[2] || void 0, parts[3] || void 0]; -}, parseV8OrIE: function(error) { - return error.stack.split("\n").filter(function(line) { - return !!line.match(CHROME_IE_STACK_REGEXP); - }, this).map(function(line) { - line.indexOf("(eval ") > -1 && (line = line.replace(/eval code/g, "eval").replace(/(\(eval at [^()]*)|(,.*$)/g, "")); - var sanitizedLine = line.replace(/^\s+/, "").replace(/\(eval code/g, "(").replace(/^.*?\s+/, ""), location2 = sanitizedLine.match(/ (\(.+\)$)/); - sanitizedLine = location2 ? sanitizedLine.replace(location2[0], "") : sanitizedLine; - var locationParts = this.extractLocation(location2 ? location2[1] : sanitizedLine), functionName = location2 && sanitizedLine || void 0, fileName = ["eval", ""].indexOf(locationParts[0]) > -1 ? void 0 : locationParts[0]; - return new StackFrame({ functionName, fileName, lineNumber: locationParts[1], columnNumber: locationParts[2], source: line }); - }, this); -}, parseFFOrSafari: function(error) { - return error.stack.split("\n").filter(function(line) { - return !line.match(SAFARI_NATIVE_CODE_REGEXP); - }, this).map(function(line) { - if (line.indexOf(" > eval") > -1 && (line = line.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g, ":$1")), -1 === line.indexOf("@") && -1 === line.indexOf(":")) - return new StackFrame({ functionName: line }); - var functionNameRegex = /((.*".+"[^@]*)?[^@]*)(?:@)/, matches = line.match(functionNameRegex), functionName = matches && matches[1] ? matches[1] : void 0, locationParts = this.extractLocation(line.replace(functionNameRegex, "")); - return new StackFrame({ functionName, fileName: locationParts[0], lineNumber: locationParts[1], columnNumber: locationParts[2], source: line }); - }, this); -}, parseOpera: function(e) { - return !e.stacktrace || e.message.indexOf("\n") > -1 && e.message.split("\n").length > e.stacktrace.split("\n").length ? this.parseOpera9(e) : e.stack ? this.parseOpera11(e) : this.parseOpera10(e); -}, parseOpera9: function(e) { - for (var lineRE = /Line (\d+).*script (?:in )?(\S+)/i, lines = e.message.split("\n"), result = [], i2 = 2, len = lines.length; i2 < len; i2 += 2) { - var match = lineRE.exec(lines[i2]); - match && result.push(new StackFrame({ fileName: match[2], lineNumber: match[1], source: lines[i2] })); - } - return result; -}, parseOpera10: function(e) { - for (var lineRE = /Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i, lines = e.stacktrace.split("\n"), result = [], i2 = 0, len = lines.length; i2 < len; i2 += 2) { - var match = lineRE.exec(lines[i2]); - match && result.push(new StackFrame({ functionName: match[3] || void 0, fileName: match[2], lineNumber: match[1], source: lines[i2] })); - } - return result; -}, parseOpera11: function(error) { - return error.stack.split("\n").filter(function(line) { - return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/); - }, this).map(function(line) { - var argsRaw, tokens = line.split("@"), locationParts = this.extractLocation(tokens.pop()), functionCall = tokens.shift() || "", functionName = functionCall.replace(//, "$2").replace(/\([^)]*\)/g, "") || void 0; - functionCall.match(/\(([^)]*)\)/) && (argsRaw = functionCall.replace(/^[^(]+\(([^)]*)\)$/, "$1")); - var args = void 0 === argsRaw || "[arguments not available]" === argsRaw ? void 0 : argsRaw.split(","); - return new StackFrame({ functionName, args, fileName: locationParts[0], lineNumber: locationParts[1], columnNumber: locationParts[2], source: line }); - }, this); -} }); -var IN_NODE = "undefined" != typeof process && process.release && "node" === process.release.name && void 0 === process.browser; -var nodeUrlMod; -var nodeFetch; -var nodePath; -var nodeVmMod; -var nodeFsPromisesMod; -var resolvePath; -var pathSep; -var loadBinaryFile; -var loadScript; -if (resolvePath = IN_NODE ? function(path, base) { - return nodePath.resolve(base || ".", path); -} : function(path, base) { - return void 0 === base && (base = location), new URL(path, base).toString(); -}, IN_NODE || (pathSep = "/"), loadBinaryFile = IN_NODE ? async function(path, _file_sub_resource_hash) { - if (path.startsWith("file://") && (path = path.slice("file://".length)), path.includes("://")) { - let response = await nodeFetch(path); - if (!response.ok) - throw new Error(`Failed to load '${path}': request failed.`); - return new Uint8Array(await response.arrayBuffer()); - } - { - const data = await nodeFsPromisesMod.readFile(path); - return new Uint8Array(data.buffer, data.byteOffset, data.byteLength); - } -} : async function(path, subResourceHash) { - const url = new URL(path, location); - let options = subResourceHash ? { integrity: subResourceHash } : {}, response = await fetch(url, options); - if (!response.ok) - throw new Error(`Failed to load '${url}': request failed.`); - return new Uint8Array(await response.arrayBuffer()); -}, globalThis.document) - loadScript = async (url) => await import( - /* webpackIgnore: true */ - url - ); -else if (globalThis.importScripts) - loadScript = async (url) => { - try { - globalThis.importScripts(url); - } catch (e) { - if (!(e instanceof TypeError)) - throw e; - await import( - /* webpackIgnore: true */ - url - ); - } - }; -else { - if (!IN_NODE) - throw new Error("Cannot determine runtime environment"); - loadScript = async function(url) { - url.startsWith("file://") && (url = url.slice("file://".length)); - url.includes("://") ? nodeVmMod.runInThisContext(await (await nodeFetch(url)).text()) : await import( - /* webpackIgnore: true */ - nodeUrlMod.pathToFileURL(url).href - ); - }; -} -function __values(o) { - var s = "function" == typeof Symbol && Symbol.iterator, m2 = s && o[s], i2 = 0; - if (m2) - return m2.call(o); - if (o && "number" == typeof o.length) - return { next: function() { - return o && i2 >= o.length && (o = void 0), { value: o && o[i2++], done: !o }; - } }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} -function __asyncValues(o) { - if (!Symbol.asyncIterator) - throw new TypeError("Symbol.asyncIterator is not defined."); - var i2, m2 = o[Symbol.asyncIterator]; - return m2 ? m2.call(o) : (o = __values(o), i2 = {}, verb("next"), verb("throw"), verb("return"), i2[Symbol.asyncIterator] = function() { - return this; - }, i2); - function verb(n) { - i2[n] = o[n] && function(v) { - return new Promise(function(resolve, reject) { - (function(resolve2, reject2, d2, v2) { - Promise.resolve(v2).then(function(v3) { - resolve2({ value: v3, done: d2 }); - }, reject2); - })(resolve, reject, (v = o[n](v)).done, v.value); - }); - }; - } -} -var getFsHandles = async (dirHandle) => { - const handles = []; - await async function collect(curDirHandle) { - var e_1, _a; - try { - for (var _c, _b = __asyncValues(curDirHandle.values()); !(_c = await _b.next()).done; ) { - const entry = _c.value; - handles.push(entry), "directory" === entry.kind && await collect(entry); - } - } catch (e_1_1) { - e_1 = { error: e_1_1 }; - } finally { - try { - _c && !_c.done && (_a = _b.return) && await _a.call(_b); - } finally { - if (e_1) - throw e_1.error; - } - } - }(dirHandle); - const result = /* @__PURE__ */ new Map(); - result.set(".", dirHandle); - for (const handle of handles) { - const relativePath = (await dirHandle.resolve(handle)).join("/"); - result.set(relativePath, handle); - } - return result; -}; -function finalizeBootstrap(API, config) { - API.runPythonInternal_dict = API._pyodide._base.eval_code("{}"), API.importlib = API.runPythonInternal("import importlib; importlib"); - let import_module = API.importlib.import_module; - API.sys = import_module("sys"), API.sys.path.insert(0, config.homedir), API.os = import_module("os"); - let globals = API.runPythonInternal("import __main__; __main__.__dict__"), builtins = API.runPythonInternal("import builtins; builtins.__dict__"); - var builtins_dict; - API.globals = (builtins_dict = builtins, new Proxy(globals, { get: (target, symbol) => "get" === symbol ? (key) => { - let result = target.get(key); - return void 0 === result && (result = builtins_dict.get(key)), result; - } : "has" === symbol ? (key) => target.has(key) || builtins_dict.has(key) : Reflect.get(target, symbol) })); - let importhook = API._pyodide._importhook; - importhook.register_js_finder(), importhook.register_js_module("js", config.jsglobals); - let pyodide2 = API.makePublicAPI(); - return importhook.register_js_module("pyodide_js", pyodide2), API.pyodide_py = import_module("pyodide"), API.pyodide_code = import_module("pyodide.code"), API.pyodide_ffi = import_module("pyodide.ffi"), API.package_loader = import_module("pyodide._package_loader"), API.sitepackages = API.package_loader.SITE_PACKAGES.__str__(), API.dsodir = API.package_loader.DSO_DIR.__str__(), API.defaultLdLibraryPath = [API.dsodir, API.sitepackages], API.os.environ.__setitem__("LD_LIBRARY_PATH", API.defaultLdLibraryPath.join(":")), pyodide2.pyodide_py = API.pyodide_py, pyodide2.globals = API.globals, pyodide2; -} -async function loadPyodide(options = {}) { - await async function() { - if (!IN_NODE) - return; - if (nodeUrlMod = (await import("url")).default, nodeFsPromisesMod = await import("fs/promises"), nodeFetch = globalThis.fetch ? fetch : (await import("node-fetch")).default, nodeVmMod = (await import("vm")).default, nodePath = await import("path"), pathSep = nodePath.sep, "undefined" != typeof __require) - return; - const node_modules = { fs: await import("fs"), crypto: await import("crypto"), ws: await Promise.resolve().then(() => __toESM(require_browser())), child_process: await import("child_process") }; - globalThis.require = function(mod) { - return node_modules[mod]; - }; - }(); - let indexURL = options.indexURL || function() { - if ("string" == typeof __dirname) - return __dirname; - let err2; - try { - throw new Error(); - } catch (e) { - err2 = e; - } - let fileName = ErrorStackParser.parse(err2)[0].fileName; - const indexOfLastSlash = fileName.lastIndexOf(pathSep); - if (-1 === indexOfLastSlash) - throw new Error("Could not extract indexURL path from pyodide module location"); - return fileName.slice(0, indexOfLastSlash); - }(); - indexURL = resolvePath(indexURL), indexURL.endsWith("/") || (indexURL += "/"), options.indexURL = indexURL; - const default_config = { fullStdLib: false, jsglobals: globalThis, stdin: globalThis.prompt ? globalThis.prompt : void 0, homedir: "/home/pyodide", lockFileURL: indexURL + "repodata.json", args: [], _node_mounts: [] }, config = Object.assign(default_config, options), pyodide_py_tar_promise = loadBinaryFile(config.indexURL + "pyodide_py.tar"), Module2 = function() { - let Module3 = { noImageDecoding: true, noAudioDecoding: true, noWasmDecoding: false, preRun: [], quit: (status, toThrow) => { - throw Module3.exited = { status, toThrow }, toThrow; - } }; - return Module3; - }(); - Module2.print = config.stdout, Module2.printErr = config.stderr, Module2.preRun.push(() => { - for (const mount of config._node_mounts) - Module2.FS.mkdirTree(mount), Module2.FS.mount(Module2.NODEFS, { root: mount }, mount); - }), Module2.arguments = config.args; - const API = { config }; - Module2.API = API, function(Module3, path) { - Module3.preRun.push(function() { - try { - Module3.FS.mkdirTree(path); - } catch (e) { - console.error(`Error occurred while making a home directory '${path}':`), console.error(e), console.error("Using '/' for a home directory instead"), path = "/"; - } - Module3.ENV.HOME = path, Module3.FS.chdir(path); - }); - }(Module2, config.homedir); - const moduleLoaded = new Promise((r) => Module2.postRun = r); - if (Module2.locateFile = (path) => config.indexURL + path, "function" != typeof _createPyodideModule) { - const scriptSrc = `${config.indexURL}pyodide.asm.js`; - await loadScript(scriptSrc); - } - if (await _createPyodideModule(Module2), await moduleLoaded, Module2.exited) - throw Module2.exited.toThrow; - if ("0.22.1" !== API.version) - throw new Error(`Pyodide version does not match: '0.22.1' <==> '${API.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`); - Module2.locateFile = (path) => { - throw new Error("Didn't expect to load any more file_packager files!"); - }, function(module) { - const FS = module.FS, MEMFS = module.FS.filesystems.MEMFS, PATH = module.PATH, nativeFSAsync = { DIR_MODE: 16895, FILE_MODE: 33279, mount: function(mount) { - if (!mount.opts.fileSystemHandle) - throw new Error("opts.fileSystemHandle is required"); - return MEMFS.mount.apply(null, arguments); - }, syncfs: async (mount, populate, callback) => { - try { - const local = nativeFSAsync.getLocalSet(mount), remote = await nativeFSAsync.getRemoteSet(mount), src = populate ? remote : local, dst = populate ? local : remote; - await nativeFSAsync.reconcile(mount, src, dst), callback(null); - } catch (e) { - callback(e); - } - }, getLocalSet: (mount) => { - let entries = /* @__PURE__ */ Object.create(null); - function isRealDir(p) { - return "." !== p && ".." !== p; - } - function toAbsolute(root) { - return (p) => PATH.join2(root, p); - } - let check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); - for (; check.length; ) { - let path = check.pop(), stat = FS.stat(path); - FS.isDir(stat.mode) && check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))), entries[path] = { timestamp: stat.mtime, mode: stat.mode }; - } - return { type: "local", entries }; - }, getRemoteSet: async (mount) => { - const entries = /* @__PURE__ */ Object.create(null), handles = await getFsHandles(mount.opts.fileSystemHandle); - for (const [path, handle] of handles) - "." !== path && (entries[PATH.join2(mount.mountpoint, path)] = { timestamp: "file" === handle.kind ? (await handle.getFile()).lastModifiedDate : /* @__PURE__ */ new Date(), mode: "file" === handle.kind ? nativeFSAsync.FILE_MODE : nativeFSAsync.DIR_MODE }); - return { type: "remote", entries, handles }; - }, loadLocalEntry: (path) => { - const node = FS.lookupPath(path).node, stat = FS.stat(path); - if (FS.isDir(stat.mode)) - return { timestamp: stat.mtime, mode: stat.mode }; - if (FS.isFile(stat.mode)) - return node.contents = MEMFS.getFileDataAsTypedArray(node), { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }; - throw new Error("node type not supported"); - }, storeLocalEntry: (path, entry) => { - if (FS.isDir(entry.mode)) - FS.mkdirTree(path, entry.mode); - else { - if (!FS.isFile(entry.mode)) - throw new Error("node type not supported"); - FS.writeFile(path, entry.contents, { canOwn: true }); - } - FS.chmod(path, entry.mode), FS.utime(path, entry.timestamp, entry.timestamp); - }, removeLocalEntry: (path) => { - var stat = FS.stat(path); - FS.isDir(stat.mode) ? FS.rmdir(path) : FS.isFile(stat.mode) && FS.unlink(path); - }, loadRemoteEntry: async (handle) => { - if ("file" === handle.kind) { - const file = await handle.getFile(); - return { contents: new Uint8Array(await file.arrayBuffer()), mode: nativeFSAsync.FILE_MODE, timestamp: file.lastModifiedDate }; - } - if ("directory" === handle.kind) - return { mode: nativeFSAsync.DIR_MODE, timestamp: /* @__PURE__ */ new Date() }; - throw new Error("unknown kind: " + handle.kind); - }, storeRemoteEntry: async (handles, path, entry) => { - const parentDirHandle = handles.get(PATH.dirname(path)), handle = FS.isFile(entry.mode) ? await parentDirHandle.getFileHandle(PATH.basename(path), { create: true }) : await parentDirHandle.getDirectoryHandle(PATH.basename(path), { create: true }); - if ("file" === handle.kind) { - const writable = await handle.createWritable(); - await writable.write(entry.contents), await writable.close(); - } - handles.set(path, handle); - }, removeRemoteEntry: async (handles, path) => { - const parentDirHandle = handles.get(PATH.dirname(path)); - await parentDirHandle.removeEntry(PATH.basename(path)), handles.delete(path); - }, reconcile: async (mount, src, dst) => { - let total = 0; - const create = []; - Object.keys(src.entries).forEach(function(key) { - const e = src.entries[key], e2 = dst.entries[key]; - (!e2 || FS.isFile(e.mode) && e.timestamp.getTime() > e2.timestamp.getTime()) && (create.push(key), total++); - }), create.sort(); - const remove = []; - if (Object.keys(dst.entries).forEach(function(key) { - src.entries[key] || (remove.push(key), total++); - }), remove.sort().reverse(), !total) - return; - const handles = "remote" === src.type ? src.handles : dst.handles; - for (const path of create) { - const relPath = PATH.normalize(path.replace(mount.mountpoint, "/")).substring(1); - if ("local" === dst.type) { - const handle = handles.get(relPath), entry = await nativeFSAsync.loadRemoteEntry(handle); - nativeFSAsync.storeLocalEntry(path, entry); - } else { - const entry = nativeFSAsync.loadLocalEntry(path); - await nativeFSAsync.storeRemoteEntry(handles, relPath, entry); - } - } - for (const path of remove) - if ("local" === dst.type) - nativeFSAsync.removeLocalEntry(path); - else { - const relPath = PATH.normalize(path.replace(mount.mountpoint, "/")).substring(1); - await nativeFSAsync.removeRemoteEntry(handles, relPath); - } - } }; - module.FS.filesystems.NATIVEFS_ASYNC = nativeFSAsync; - }(Module2); - const pyodide_py_tar = await pyodide_py_tar_promise; - !function(Module3, pyodide_py_tar2) { - let stream = Module3.FS.open("/pyodide_py.tar", "w"); - Module3.FS.write(stream, pyodide_py_tar2, 0, pyodide_py_tar2.byteLength, void 0, true), Module3.FS.close(stream); - let [errcode, captured_stderr2] = Module3.API.rawRun('\nfrom sys import version_info\npyversion = f"python{version_info.major}.{version_info.minor}"\nimport shutil\nshutil.unpack_archive("/pyodide_py.tar", f"/lib/{pyversion}/")\ndel shutil\nimport importlib\nimportlib.invalidate_caches()\ndel importlib\n'); - errcode && Module3.API.fatal_loading_error("Failed to unpack standard library.\n", captured_stderr2), Module3.FS.unlink("/pyodide_py.tar"); - }(Module2, pyodide_py_tar); - let [err, captured_stderr] = API.rawRun("import _pyodide_core"); - err && Module2.API.fatal_loading_error("Failed to import _pyodide_core\n", captured_stderr); - const pyodide2 = finalizeBootstrap(API, config); - if (pyodide2.version.includes("dev") || API.setCdnUrl(`https://cdn.jsdelivr.net/pyodide/v${pyodide2.version}/full/`), await API.packageIndexReady, API._pyodide._importhook.register_module_not_found_hook(API._import_name_to_package_name), "0.22.1" !== API.repodata_info.version) - throw new Error("Lock file version doesn't match Pyodide version"); - return API.package_loader.init_loaded_packages(), config.fullStdLib && await pyodide2.loadPackage(API._pyodide._importhook.UNVENDORED_STDLIBS), API.initializeStreams(config.stdin, config.stdout, config.stderr), pyodide2; -} - -// src/pyodide-proxy.ts -async function setupPythonEnv(pyodide2, callJS2) { - const repr = pyodide2.globals.get("repr"); - pyodide2.globals.set("js_pyodide", pyodide2); - const pyconsole = await pyodide2.runPythonAsync(` - import pyodide.console - import __main__ - pyodide.console.PyodideConsole(__main__.__dict__) - `); - const tabComplete = pyconsole.complete.copy(); - pyconsole.destroy(); - if (callJS2) { - pyodide2.globals.set("callJS", callJS2); - } - const shortFormatLastTraceback = await pyodide2.runPythonAsync(` - def _short_format_last_traceback() -> str: - import sys - import traceback - e = sys.last_value - found_marker = False - nframes = 0 - for (frame, _) in traceback.walk_tb(e.__traceback__): - if frame.f_code.co_filename in ("", ""): - found_marker = True - if found_marker: - nframes += 1 - return "".join(traceback.format_exception(type(e), e, e.__traceback__, -nframes)) - - _short_format_last_traceback - `); - await pyodide2.runPythonAsync(`del _short_format_last_traceback`); - return { - repr, - tabComplete, - shortFormatLastTraceback - }; -} -function processReturnValue(value, returnResult = "none", pyodide2, repr) { - const possibleReturnValues = { - get value() { - if (pyodide2.isPyProxy(value)) { - return value.toJs(); - } else { - return value; - } - }, - get printed_value() { - return repr(value); - }, - get to_html() { - let toHtml; - try { - toHtml = pyodide2.globals.get("_to_html"); - } catch (e) { - console.error("Couldn't find _to_html function: ", e); - toHtml = (x2) => ({ - type: "text", - value: "Couldn't finding _to_html function." - }); - } - const val = toHtml(value).toJs({ - dict_converter: Object.fromEntries - }); - return val; - }, - get none() { - return void 0; - } - }; - return possibleReturnValues[returnResult]; -} - -// src/pyodide-worker.ts -var pyodideStatus = "none"; -var pyodide; -self.stdout_callback = function(s) { - self.postMessage({ type: "nonreply", subtype: "output", stdout: s }); -}; -self.stderr_callback = function(s) { - self.postMessage({ type: "nonreply", subtype: "output", stderr: s }); -}; -async function callJS(fnName, args) { - self.postMessage({ - type: "nonreply", - subtype: "callJS", - fnName: fnName.toJs(), - args: args.toJs() - }); -} -var pyUtils; -self.onmessage = async function(e) { - const msg = e.data; - if (msg.type === "openChannel") { - const clientPort = e.ports[0]; - await openChannel(msg.path, msg.appName, clientPort, pyodide); - return; - } else if (msg.type === "makeRequest") { - const clientPort = e.ports[0]; - await makeRequest(msg.scope, msg.appName, clientPort, pyodide); - return; - } - const messagePort = e.ports[0]; - try { - if (msg.type === "init") { - if (pyodideStatus === "none") { - pyodideStatus = "loading"; - pyodide = await loadPyodide({ - ...msg.config, - stdout: self.stdout_callback, - stderr: self.stderr_callback - }); - pyUtils = await setupPythonEnv(pyodide, callJS); - pyodideStatus = "loaded"; - } - messagePort.postMessage({ type: "reply", subtype: "done" }); - } else if (msg.type === "loadPackagesFromImports") { - await pyodide.loadPackagesFromImports(msg.code); - } else if (msg.type === "runPythonAsync") { - await pyodide.loadPackagesFromImports(msg.code); - const result = await pyodide.runPythonAsync( - msg.code - ); - if (msg.printResult && result !== void 0) { - self.stdout_callback(pyUtils.repr(result)); - } - try { - const processedResult = processReturnValue( - result, - msg.returnResult, - pyodide, - pyUtils.repr - ); - messagePort.postMessage({ - type: "reply", - subtype: "done", - value: processedResult - }); - } finally { - if (pyodide.isPyProxy(result)) { - result.destroy(); - } - } - } else if (msg.type === "tabComplete") { - const completions = pyUtils.tabComplete(msg.code).toJs()[0]; - messagePort.postMessage({ - type: "reply", - subtype: "tabCompletions", - completions - }); - } else if (msg.type === "callPyAsync") { - const { fnName, args, kwargs } = msg; - let fn = pyodide.globals.get(fnName[0]); - for (const el of fnName.slice(1)) { - fn = fn[el]; - } - const resultMaybePromise = fn.callKwargs(...args, kwargs); - const result = await Promise.resolve(resultMaybePromise); - if (msg.printResult && result !== void 0) { - self.stdout_callback(pyUtils.repr(result)); - } - try { - const processedResult = processReturnValue( - result, - msg.returnResult, - pyodide, - pyUtils.repr - ); - messagePort.postMessage({ - type: "reply", - subtype: "done", - value: processedResult - }); - } finally { - if (pyodide.isPyProxy(result)) { - result.destroy(); - } - } - } else { - messagePort.postMessage({ - type: "reply", - subtype: "done", - error: new Error(`Unknown message type: ${msg.toString()}`) - }); - } - } catch (e2) { - if (e2 instanceof pyodide.PythonError) { - e2.message = pyUtils.shortFormatLastTraceback(); - } - messagePort.postMessage({ - type: "reply", - subtype: "done", - error: errorToPostableErrorObject(e2) - }); - } -}; diff --git a/py-shiny/app/app.py b/py-shiny/app/app.py index 161dc7a..810322c 100644 --- a/py-shiny/app/app.py +++ b/py-shiny/app/app.py @@ -19,7 +19,6 @@ ) def server(input, output, session): - @output @render.plot(alt="Histogram of waiting times") def histogram(): plt.hist( diff --git a/py-shinylive/app/app.json b/py-shinylive/app/app.json index dd82c98..d48eb6e 100644 --- a/py-shinylive/app/app.json +++ b/py-shinylive/app/app.json @@ -1 +1 @@ -[{"name": "app.py", "content": "import seaborn as sns\nimport matplotlib.pyplot as plt\nfrom shiny import App, render, ui\n\nfaithful = sns.load_dataset(\"geyser\")\nx = faithful.waiting\n\n\napp_ui = ui.page_fixed(\n ui.panel_title(\"Old Faithful\"),\n ui.output_plot(id = \"histogram\"),\n ui.input_slider(\n id=\"n\", \n label=\"Number of bins:\", \n min=1, \n max=50, \n value=25,\n ticks=True\n ),\n)\n\ndef server(input, output, session):\n @output\n @render.plot(alt=\"Histogram of waiting times\")\n def histogram():\n plt.hist(\n x, \n bins = input.n(), \n density=False, \n color=\"#BB74DB\",\n edgecolor=\"white\")\n plt.title(\"Histogram of waiting times\")\n plt.xlabel(\"Waiting time to next eruption [mins]\")\n plt.ylabel(\"Frequency\")\n\napp = App(ui = app_ui, server = server)\n", "type": "text"}, {"name": "requirements.txt", "content": "shiny>=0.10.2\nmatplotlib\nseaborn\n", "type": "text"}] \ No newline at end of file +[{"name": "app.py", "content": "import seaborn as sns\nimport matplotlib.pyplot as plt\nfrom shiny import App, render, ui\n\nfaithful = sns.load_dataset(\"geyser\")\nx = faithful.waiting\n\napp_ui = ui.page_fixed(\n ui.panel_title(\"Old Faithful\"),\n ui.output_plot(id = \"histogram\"),\n ui.input_slider(\n id=\"n\", \n label=\"Number of bins:\", \n min=1, \n max=50, \n value=25,\n ticks=True\n ),\n)\n\ndef server(input, output, session):\n @render.plot(alt=\"Histogram of waiting times\")\n def histogram():\n plt.hist(\n x, \n bins = input.n(), \n density=False, \n color=\"#BB74DB\",\n edgecolor=\"white\")\n plt.title(\"Histogram of waiting times\")\n plt.xlabel(\"Waiting time to next eruption [mins]\")\n plt.ylabel(\"Frequency\")\n\napp = App(ui = app_ui, server = server)\n", "type": "text"}, {"name": "requirements.txt", "content": "shiny>=0.10.2\nmatplotlib\nseaborn\n", "type": "text"}] \ No newline at end of file diff --git a/quarto-py-shinylive/app/index.html b/quarto-py-shinylive/app/index.html index a0d1379..3408f61 100644 --- a/quarto-py-shinylive/app/index.html +++ b/quarto-py-shinylive/app/index.html @@ -96,7 +96,6 @@

Old Faithful

) def server(input, output, session): - @output @render.plot(alt="Histogram of waiting times") def histogram(): plt.hist( diff --git a/quarto-py-shinylive/index.html b/quarto-py-shinylive/index.html new file mode 100644 index 0000000..3408f61 --- /dev/null +++ b/quarto-py-shinylive/index.html @@ -0,0 +1,540 @@ + + + + + + + + + +Old Faithful + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+

Old Faithful

+
+ + + +
+ + + + +
+ + + +
+ + +

This is a dynamic document with:

+
    +
  • Quarto, and
  • +
  • Runtime: shinylive with Python.
  • +
+
#| standalone: true
+#| viewerHeight: 500
+
+import seaborn as sns
+import matplotlib.pyplot as plt
+from shiny import App, render, ui
+
+faithful = sns.load_dataset("geyser")
+x = faithful.waiting
+
+app_ui = ui.page_fixed(
+    ui.panel_title("Old Faithful"),
+    ui.output_plot(id = "histogram"),
+    ui.input_slider(
+            id="n", 
+            label="Number of bins:", 
+            min=1, 
+            max=50, 
+            value=25,
+            ticks=True
+    ),
+)
+
+def server(input, output, session):
+    @render.plot(alt="Histogram of waiting times")
+    def histogram():
+        plt.hist(
+            x, 
+            bins = input.n(), 
+            density=False, 
+            color="#BB74DB",
+            edgecolor="white")
+        plt.title("Histogram of waiting times")
+        plt.xlabel("Waiting time to next eruption [mins]")
+        plt.ylabel("Frequency")
+
+app = App(ui = app_ui, server = server)
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/quarto-py-shinylive/index.qmd b/quarto-py-shinylive/index.qmd index 81e7fbe..55da55c 100644 --- a/quarto-py-shinylive/index.qmd +++ b/quarto-py-shinylive/index.qmd @@ -35,7 +35,6 @@ app_ui = ui.page_fixed( ) def server(input, output, session): - @output @render.plot(alt="Histogram of waiting times") def histogram(): plt.hist( diff --git a/quarto-py-shinylive/index_files/libs/bootstrap/bootstrap-icons.css b/quarto-py-shinylive/index_files/libs/bootstrap/bootstrap-icons.css new file mode 100644 index 0000000..285e444 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/bootstrap/bootstrap-icons.css @@ -0,0 +1,2078 @@ +/*! + * Bootstrap Icons v1.11.1 (https://icons.getbootstrap.com/) + * Copyright 2019-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE) + */ + +@font-face { + font-display: block; + font-family: "bootstrap-icons"; + src: +url("./bootstrap-icons.woff?2820a3852bdb9a5832199cc61cec4e65") format("woff"); +} + +.bi::before, +[class^="bi-"]::before, +[class*=" bi-"]::before { + display: inline-block; + font-family: bootstrap-icons !important; + font-style: normal; + font-weight: normal !important; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: -.125em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.bi-123::before { content: "\f67f"; } +.bi-alarm-fill::before { content: "\f101"; } +.bi-alarm::before { content: "\f102"; } +.bi-align-bottom::before { content: "\f103"; } +.bi-align-center::before { content: "\f104"; } +.bi-align-end::before { content: "\f105"; } +.bi-align-middle::before { content: "\f106"; } +.bi-align-start::before { content: "\f107"; } +.bi-align-top::before { content: "\f108"; } +.bi-alt::before { content: "\f109"; } +.bi-app-indicator::before { content: "\f10a"; } +.bi-app::before { content: "\f10b"; } +.bi-archive-fill::before { content: "\f10c"; } +.bi-archive::before { content: "\f10d"; } +.bi-arrow-90deg-down::before { content: "\f10e"; } +.bi-arrow-90deg-left::before { content: "\f10f"; } +.bi-arrow-90deg-right::before { content: "\f110"; } +.bi-arrow-90deg-up::before { content: "\f111"; } +.bi-arrow-bar-down::before { content: "\f112"; } +.bi-arrow-bar-left::before { content: "\f113"; } +.bi-arrow-bar-right::before { content: "\f114"; } +.bi-arrow-bar-up::before { content: "\f115"; } +.bi-arrow-clockwise::before { content: "\f116"; } +.bi-arrow-counterclockwise::before { content: "\f117"; } +.bi-arrow-down-circle-fill::before { content: "\f118"; } +.bi-arrow-down-circle::before { content: "\f119"; } +.bi-arrow-down-left-circle-fill::before { content: "\f11a"; } +.bi-arrow-down-left-circle::before { content: "\f11b"; } +.bi-arrow-down-left-square-fill::before { content: "\f11c"; } +.bi-arrow-down-left-square::before { content: "\f11d"; } +.bi-arrow-down-left::before { content: "\f11e"; } +.bi-arrow-down-right-circle-fill::before { content: "\f11f"; } +.bi-arrow-down-right-circle::before { content: "\f120"; } +.bi-arrow-down-right-square-fill::before { content: "\f121"; } +.bi-arrow-down-right-square::before { content: "\f122"; } +.bi-arrow-down-right::before { content: "\f123"; } +.bi-arrow-down-short::before { content: "\f124"; } +.bi-arrow-down-square-fill::before { content: "\f125"; } +.bi-arrow-down-square::before { content: "\f126"; } +.bi-arrow-down-up::before { content: "\f127"; } +.bi-arrow-down::before { content: "\f128"; } +.bi-arrow-left-circle-fill::before { content: "\f129"; } +.bi-arrow-left-circle::before { content: "\f12a"; } +.bi-arrow-left-right::before { content: "\f12b"; } +.bi-arrow-left-short::before { content: "\f12c"; } +.bi-arrow-left-square-fill::before { content: "\f12d"; } +.bi-arrow-left-square::before { content: "\f12e"; } +.bi-arrow-left::before { content: "\f12f"; } +.bi-arrow-repeat::before { content: "\f130"; } +.bi-arrow-return-left::before { content: "\f131"; } +.bi-arrow-return-right::before { content: "\f132"; } +.bi-arrow-right-circle-fill::before { content: "\f133"; } +.bi-arrow-right-circle::before { content: "\f134"; } +.bi-arrow-right-short::before { content: "\f135"; } +.bi-arrow-right-square-fill::before { content: "\f136"; } +.bi-arrow-right-square::before { content: "\f137"; } +.bi-arrow-right::before { content: "\f138"; } +.bi-arrow-up-circle-fill::before { content: "\f139"; } +.bi-arrow-up-circle::before { content: "\f13a"; } +.bi-arrow-up-left-circle-fill::before { content: "\f13b"; } +.bi-arrow-up-left-circle::before { content: "\f13c"; } +.bi-arrow-up-left-square-fill::before { content: "\f13d"; } +.bi-arrow-up-left-square::before { content: "\f13e"; } +.bi-arrow-up-left::before { content: "\f13f"; } +.bi-arrow-up-right-circle-fill::before { content: "\f140"; } +.bi-arrow-up-right-circle::before { content: "\f141"; } +.bi-arrow-up-right-square-fill::before { content: "\f142"; } +.bi-arrow-up-right-square::before { content: "\f143"; } +.bi-arrow-up-right::before { content: "\f144"; } +.bi-arrow-up-short::before { content: "\f145"; } +.bi-arrow-up-square-fill::before { content: "\f146"; } +.bi-arrow-up-square::before { content: "\f147"; } +.bi-arrow-up::before { content: "\f148"; } +.bi-arrows-angle-contract::before { content: "\f149"; } +.bi-arrows-angle-expand::before { content: "\f14a"; } +.bi-arrows-collapse::before { content: "\f14b"; } +.bi-arrows-expand::before { content: "\f14c"; } +.bi-arrows-fullscreen::before { content: "\f14d"; } +.bi-arrows-move::before { content: "\f14e"; } +.bi-aspect-ratio-fill::before { content: "\f14f"; } +.bi-aspect-ratio::before { content: "\f150"; } +.bi-asterisk::before { content: "\f151"; } +.bi-at::before { content: "\f152"; } +.bi-award-fill::before { content: "\f153"; } +.bi-award::before { content: "\f154"; } +.bi-back::before { content: "\f155"; } +.bi-backspace-fill::before { content: "\f156"; } +.bi-backspace-reverse-fill::before { content: "\f157"; } +.bi-backspace-reverse::before { content: "\f158"; } +.bi-backspace::before { content: "\f159"; } +.bi-badge-3d-fill::before { content: "\f15a"; } +.bi-badge-3d::before { content: "\f15b"; } +.bi-badge-4k-fill::before { content: "\f15c"; } +.bi-badge-4k::before { content: "\f15d"; } +.bi-badge-8k-fill::before { content: "\f15e"; } +.bi-badge-8k::before { content: "\f15f"; } +.bi-badge-ad-fill::before { content: "\f160"; } +.bi-badge-ad::before { content: "\f161"; } +.bi-badge-ar-fill::before { content: "\f162"; } +.bi-badge-ar::before { content: "\f163"; } +.bi-badge-cc-fill::before { content: "\f164"; } +.bi-badge-cc::before { content: "\f165"; } +.bi-badge-hd-fill::before { content: "\f166"; } +.bi-badge-hd::before { content: "\f167"; } +.bi-badge-tm-fill::before { content: "\f168"; } +.bi-badge-tm::before { content: "\f169"; } +.bi-badge-vo-fill::before { content: "\f16a"; } +.bi-badge-vo::before { content: "\f16b"; } +.bi-badge-vr-fill::before { content: "\f16c"; } +.bi-badge-vr::before { content: "\f16d"; } +.bi-badge-wc-fill::before { content: "\f16e"; } +.bi-badge-wc::before { content: "\f16f"; } +.bi-bag-check-fill::before { content: "\f170"; } +.bi-bag-check::before { content: "\f171"; } +.bi-bag-dash-fill::before { content: "\f172"; } +.bi-bag-dash::before { content: "\f173"; } +.bi-bag-fill::before { content: "\f174"; } +.bi-bag-plus-fill::before { content: "\f175"; } +.bi-bag-plus::before { content: "\f176"; } +.bi-bag-x-fill::before { content: "\f177"; } +.bi-bag-x::before { content: "\f178"; } +.bi-bag::before { content: "\f179"; } +.bi-bar-chart-fill::before { content: "\f17a"; } +.bi-bar-chart-line-fill::before { content: "\f17b"; } +.bi-bar-chart-line::before { content: "\f17c"; } +.bi-bar-chart-steps::before { content: "\f17d"; } +.bi-bar-chart::before { content: "\f17e"; } +.bi-basket-fill::before { content: "\f17f"; } +.bi-basket::before { content: "\f180"; } +.bi-basket2-fill::before { content: "\f181"; } +.bi-basket2::before { content: "\f182"; } +.bi-basket3-fill::before { content: "\f183"; } +.bi-basket3::before { content: "\f184"; } +.bi-battery-charging::before { content: "\f185"; } +.bi-battery-full::before { content: "\f186"; } +.bi-battery-half::before { content: "\f187"; } +.bi-battery::before { content: "\f188"; } +.bi-bell-fill::before { content: "\f189"; } +.bi-bell::before { content: "\f18a"; } +.bi-bezier::before { content: "\f18b"; } +.bi-bezier2::before { content: "\f18c"; } +.bi-bicycle::before { content: "\f18d"; } +.bi-binoculars-fill::before { content: "\f18e"; } +.bi-binoculars::before { content: "\f18f"; } +.bi-blockquote-left::before { content: "\f190"; } +.bi-blockquote-right::before { content: "\f191"; } +.bi-book-fill::before { content: "\f192"; } +.bi-book-half::before { content: "\f193"; } +.bi-book::before { content: "\f194"; } +.bi-bookmark-check-fill::before { content: "\f195"; } +.bi-bookmark-check::before { content: "\f196"; } +.bi-bookmark-dash-fill::before { content: "\f197"; } +.bi-bookmark-dash::before { content: "\f198"; } +.bi-bookmark-fill::before { content: "\f199"; } +.bi-bookmark-heart-fill::before { content: "\f19a"; } +.bi-bookmark-heart::before { content: "\f19b"; } +.bi-bookmark-plus-fill::before { content: "\f19c"; } +.bi-bookmark-plus::before { content: "\f19d"; } +.bi-bookmark-star-fill::before { content: "\f19e"; } +.bi-bookmark-star::before { content: "\f19f"; } +.bi-bookmark-x-fill::before { content: "\f1a0"; } +.bi-bookmark-x::before { content: "\f1a1"; } +.bi-bookmark::before { content: "\f1a2"; } +.bi-bookmarks-fill::before { content: "\f1a3"; } +.bi-bookmarks::before { content: "\f1a4"; } +.bi-bookshelf::before { content: "\f1a5"; } +.bi-bootstrap-fill::before { content: "\f1a6"; } +.bi-bootstrap-reboot::before { content: "\f1a7"; } +.bi-bootstrap::before { content: "\f1a8"; } +.bi-border-all::before { content: "\f1a9"; } +.bi-border-bottom::before { content: "\f1aa"; } +.bi-border-center::before { content: "\f1ab"; } +.bi-border-inner::before { content: "\f1ac"; } +.bi-border-left::before { content: "\f1ad"; } +.bi-border-middle::before { content: "\f1ae"; } +.bi-border-outer::before { content: "\f1af"; } +.bi-border-right::before { content: "\f1b0"; } +.bi-border-style::before { content: "\f1b1"; } +.bi-border-top::before { content: "\f1b2"; } +.bi-border-width::before { content: "\f1b3"; } +.bi-border::before { content: "\f1b4"; } +.bi-bounding-box-circles::before { content: "\f1b5"; } +.bi-bounding-box::before { content: "\f1b6"; } +.bi-box-arrow-down-left::before { content: "\f1b7"; } +.bi-box-arrow-down-right::before { content: "\f1b8"; } +.bi-box-arrow-down::before { content: "\f1b9"; } +.bi-box-arrow-in-down-left::before { content: "\f1ba"; } +.bi-box-arrow-in-down-right::before { content: "\f1bb"; } +.bi-box-arrow-in-down::before { content: "\f1bc"; } +.bi-box-arrow-in-left::before { content: "\f1bd"; } +.bi-box-arrow-in-right::before { content: "\f1be"; } +.bi-box-arrow-in-up-left::before { content: "\f1bf"; } +.bi-box-arrow-in-up-right::before { content: "\f1c0"; } +.bi-box-arrow-in-up::before { content: "\f1c1"; } +.bi-box-arrow-left::before { content: "\f1c2"; } +.bi-box-arrow-right::before { content: "\f1c3"; } +.bi-box-arrow-up-left::before { content: "\f1c4"; } +.bi-box-arrow-up-right::before { content: "\f1c5"; } +.bi-box-arrow-up::before { content: "\f1c6"; } +.bi-box-seam::before { content: "\f1c7"; } +.bi-box::before { content: "\f1c8"; } +.bi-braces::before { content: "\f1c9"; } +.bi-bricks::before { content: "\f1ca"; } +.bi-briefcase-fill::before { content: "\f1cb"; } +.bi-briefcase::before { content: "\f1cc"; } +.bi-brightness-alt-high-fill::before { content: "\f1cd"; } +.bi-brightness-alt-high::before { content: "\f1ce"; } +.bi-brightness-alt-low-fill::before { content: "\f1cf"; } +.bi-brightness-alt-low::before { content: "\f1d0"; } +.bi-brightness-high-fill::before { content: "\f1d1"; } +.bi-brightness-high::before { content: "\f1d2"; } +.bi-brightness-low-fill::before { content: "\f1d3"; } +.bi-brightness-low::before { content: "\f1d4"; } +.bi-broadcast-pin::before { content: "\f1d5"; } +.bi-broadcast::before { content: "\f1d6"; } +.bi-brush-fill::before { content: "\f1d7"; } +.bi-brush::before { content: "\f1d8"; } +.bi-bucket-fill::before { content: "\f1d9"; } +.bi-bucket::before { content: "\f1da"; } +.bi-bug-fill::before { content: "\f1db"; } +.bi-bug::before { content: "\f1dc"; } +.bi-building::before { content: "\f1dd"; } +.bi-bullseye::before { content: "\f1de"; } +.bi-calculator-fill::before { content: "\f1df"; } +.bi-calculator::before { content: "\f1e0"; } +.bi-calendar-check-fill::before { content: "\f1e1"; } +.bi-calendar-check::before { content: "\f1e2"; } +.bi-calendar-date-fill::before { content: "\f1e3"; } +.bi-calendar-date::before { content: "\f1e4"; } +.bi-calendar-day-fill::before { content: "\f1e5"; } +.bi-calendar-day::before { content: "\f1e6"; } +.bi-calendar-event-fill::before { content: "\f1e7"; } +.bi-calendar-event::before { content: "\f1e8"; } +.bi-calendar-fill::before { content: "\f1e9"; } +.bi-calendar-minus-fill::before { content: "\f1ea"; } +.bi-calendar-minus::before { content: "\f1eb"; } +.bi-calendar-month-fill::before { content: "\f1ec"; } +.bi-calendar-month::before { content: "\f1ed"; } +.bi-calendar-plus-fill::before { content: "\f1ee"; } +.bi-calendar-plus::before { content: "\f1ef"; } +.bi-calendar-range-fill::before { content: "\f1f0"; } +.bi-calendar-range::before { content: "\f1f1"; } +.bi-calendar-week-fill::before { content: "\f1f2"; } +.bi-calendar-week::before { content: "\f1f3"; } +.bi-calendar-x-fill::before { content: "\f1f4"; } +.bi-calendar-x::before { content: "\f1f5"; } +.bi-calendar::before { content: "\f1f6"; } +.bi-calendar2-check-fill::before { content: "\f1f7"; } +.bi-calendar2-check::before { content: "\f1f8"; } +.bi-calendar2-date-fill::before { content: "\f1f9"; } +.bi-calendar2-date::before { content: "\f1fa"; } +.bi-calendar2-day-fill::before { content: "\f1fb"; } +.bi-calendar2-day::before { content: "\f1fc"; } +.bi-calendar2-event-fill::before { content: "\f1fd"; } +.bi-calendar2-event::before { content: "\f1fe"; } +.bi-calendar2-fill::before { content: "\f1ff"; } +.bi-calendar2-minus-fill::before { content: "\f200"; } +.bi-calendar2-minus::before { content: "\f201"; } +.bi-calendar2-month-fill::before { content: "\f202"; } +.bi-calendar2-month::before { content: "\f203"; } +.bi-calendar2-plus-fill::before { content: "\f204"; } +.bi-calendar2-plus::before { content: "\f205"; } +.bi-calendar2-range-fill::before { content: "\f206"; } +.bi-calendar2-range::before { content: "\f207"; } +.bi-calendar2-week-fill::before { content: "\f208"; } +.bi-calendar2-week::before { content: "\f209"; } +.bi-calendar2-x-fill::before { content: "\f20a"; } +.bi-calendar2-x::before { content: "\f20b"; } +.bi-calendar2::before { content: "\f20c"; } +.bi-calendar3-event-fill::before { content: "\f20d"; } +.bi-calendar3-event::before { content: "\f20e"; } +.bi-calendar3-fill::before { content: "\f20f"; } +.bi-calendar3-range-fill::before { content: "\f210"; } +.bi-calendar3-range::before { content: "\f211"; } +.bi-calendar3-week-fill::before { content: "\f212"; } +.bi-calendar3-week::before { content: "\f213"; } +.bi-calendar3::before { content: "\f214"; } +.bi-calendar4-event::before { content: "\f215"; } +.bi-calendar4-range::before { content: "\f216"; } +.bi-calendar4-week::before { content: "\f217"; } +.bi-calendar4::before { content: "\f218"; } +.bi-camera-fill::before { content: "\f219"; } +.bi-camera-reels-fill::before { content: "\f21a"; } +.bi-camera-reels::before { content: "\f21b"; } +.bi-camera-video-fill::before { content: "\f21c"; } +.bi-camera-video-off-fill::before { content: "\f21d"; } +.bi-camera-video-off::before { content: "\f21e"; } +.bi-camera-video::before { content: "\f21f"; } +.bi-camera::before { content: "\f220"; } +.bi-camera2::before { content: "\f221"; } +.bi-capslock-fill::before { content: "\f222"; } +.bi-capslock::before { content: "\f223"; } +.bi-card-checklist::before { content: "\f224"; } +.bi-card-heading::before { content: "\f225"; } +.bi-card-image::before { content: "\f226"; } +.bi-card-list::before { content: "\f227"; } +.bi-card-text::before { content: "\f228"; } +.bi-caret-down-fill::before { content: "\f229"; } +.bi-caret-down-square-fill::before { content: "\f22a"; } +.bi-caret-down-square::before { content: "\f22b"; } +.bi-caret-down::before { content: "\f22c"; } +.bi-caret-left-fill::before { content: "\f22d"; } +.bi-caret-left-square-fill::before { content: "\f22e"; } +.bi-caret-left-square::before { content: "\f22f"; } +.bi-caret-left::before { content: "\f230"; } +.bi-caret-right-fill::before { content: "\f231"; } +.bi-caret-right-square-fill::before { content: "\f232"; } +.bi-caret-right-square::before { content: "\f233"; } +.bi-caret-right::before { content: "\f234"; } +.bi-caret-up-fill::before { content: "\f235"; } +.bi-caret-up-square-fill::before { content: "\f236"; } +.bi-caret-up-square::before { content: "\f237"; } +.bi-caret-up::before { content: "\f238"; } +.bi-cart-check-fill::before { content: "\f239"; } +.bi-cart-check::before { content: "\f23a"; } +.bi-cart-dash-fill::before { content: "\f23b"; } +.bi-cart-dash::before { content: "\f23c"; } +.bi-cart-fill::before { content: "\f23d"; } +.bi-cart-plus-fill::before { content: "\f23e"; } +.bi-cart-plus::before { content: "\f23f"; } +.bi-cart-x-fill::before { content: "\f240"; } +.bi-cart-x::before { content: "\f241"; } +.bi-cart::before { content: "\f242"; } +.bi-cart2::before { content: "\f243"; } +.bi-cart3::before { content: "\f244"; } +.bi-cart4::before { content: "\f245"; } +.bi-cash-stack::before { content: "\f246"; } +.bi-cash::before { content: "\f247"; } +.bi-cast::before { content: "\f248"; } +.bi-chat-dots-fill::before { content: "\f249"; } +.bi-chat-dots::before { content: "\f24a"; } +.bi-chat-fill::before { content: "\f24b"; } +.bi-chat-left-dots-fill::before { content: "\f24c"; } +.bi-chat-left-dots::before { content: "\f24d"; } +.bi-chat-left-fill::before { content: "\f24e"; } +.bi-chat-left-quote-fill::before { content: "\f24f"; } +.bi-chat-left-quote::before { content: "\f250"; } +.bi-chat-left-text-fill::before { content: "\f251"; } +.bi-chat-left-text::before { content: "\f252"; } +.bi-chat-left::before { content: "\f253"; } +.bi-chat-quote-fill::before { content: "\f254"; } +.bi-chat-quote::before { content: "\f255"; } +.bi-chat-right-dots-fill::before { content: "\f256"; } +.bi-chat-right-dots::before { content: "\f257"; } +.bi-chat-right-fill::before { content: "\f258"; } +.bi-chat-right-quote-fill::before { content: "\f259"; } +.bi-chat-right-quote::before { content: "\f25a"; } +.bi-chat-right-text-fill::before { content: "\f25b"; } +.bi-chat-right-text::before { content: "\f25c"; } +.bi-chat-right::before { content: "\f25d"; } +.bi-chat-square-dots-fill::before { content: "\f25e"; } +.bi-chat-square-dots::before { content: "\f25f"; } +.bi-chat-square-fill::before { content: "\f260"; } +.bi-chat-square-quote-fill::before { content: "\f261"; } +.bi-chat-square-quote::before { content: "\f262"; } +.bi-chat-square-text-fill::before { content: "\f263"; } +.bi-chat-square-text::before { content: "\f264"; } +.bi-chat-square::before { content: "\f265"; } +.bi-chat-text-fill::before { content: "\f266"; } +.bi-chat-text::before { content: "\f267"; } +.bi-chat::before { content: "\f268"; } +.bi-check-all::before { content: "\f269"; } +.bi-check-circle-fill::before { content: "\f26a"; } +.bi-check-circle::before { content: "\f26b"; } +.bi-check-square-fill::before { content: "\f26c"; } +.bi-check-square::before { content: "\f26d"; } +.bi-check::before { content: "\f26e"; } +.bi-check2-all::before { content: "\f26f"; } +.bi-check2-circle::before { content: "\f270"; } +.bi-check2-square::before { content: "\f271"; } +.bi-check2::before { content: "\f272"; } +.bi-chevron-bar-contract::before { content: "\f273"; } +.bi-chevron-bar-down::before { content: "\f274"; } +.bi-chevron-bar-expand::before { content: "\f275"; } +.bi-chevron-bar-left::before { content: "\f276"; } +.bi-chevron-bar-right::before { content: "\f277"; } +.bi-chevron-bar-up::before { content: "\f278"; } +.bi-chevron-compact-down::before { content: "\f279"; } +.bi-chevron-compact-left::before { content: "\f27a"; } +.bi-chevron-compact-right::before { content: "\f27b"; } +.bi-chevron-compact-up::before { content: "\f27c"; } +.bi-chevron-contract::before { content: "\f27d"; } +.bi-chevron-double-down::before { content: "\f27e"; } +.bi-chevron-double-left::before { content: "\f27f"; } +.bi-chevron-double-right::before { content: "\f280"; } +.bi-chevron-double-up::before { content: "\f281"; } +.bi-chevron-down::before { content: "\f282"; } +.bi-chevron-expand::before { content: "\f283"; } +.bi-chevron-left::before { content: "\f284"; } +.bi-chevron-right::before { content: "\f285"; } +.bi-chevron-up::before { content: "\f286"; } +.bi-circle-fill::before { content: "\f287"; } +.bi-circle-half::before { content: "\f288"; } +.bi-circle-square::before { content: "\f289"; } +.bi-circle::before { content: "\f28a"; } +.bi-clipboard-check::before { content: "\f28b"; } +.bi-clipboard-data::before { content: "\f28c"; } +.bi-clipboard-minus::before { content: "\f28d"; } +.bi-clipboard-plus::before { content: "\f28e"; } +.bi-clipboard-x::before { content: "\f28f"; } +.bi-clipboard::before { content: "\f290"; } +.bi-clock-fill::before { content: "\f291"; } +.bi-clock-history::before { content: "\f292"; } +.bi-clock::before { content: "\f293"; } +.bi-cloud-arrow-down-fill::before { content: "\f294"; } +.bi-cloud-arrow-down::before { content: "\f295"; } +.bi-cloud-arrow-up-fill::before { content: "\f296"; } +.bi-cloud-arrow-up::before { content: "\f297"; } +.bi-cloud-check-fill::before { content: "\f298"; } +.bi-cloud-check::before { content: "\f299"; } +.bi-cloud-download-fill::before { content: "\f29a"; } +.bi-cloud-download::before { content: "\f29b"; } +.bi-cloud-drizzle-fill::before { content: "\f29c"; } +.bi-cloud-drizzle::before { content: "\f29d"; } +.bi-cloud-fill::before { content: "\f29e"; } +.bi-cloud-fog-fill::before { content: "\f29f"; } +.bi-cloud-fog::before { content: "\f2a0"; } +.bi-cloud-fog2-fill::before { content: "\f2a1"; } +.bi-cloud-fog2::before { content: "\f2a2"; } +.bi-cloud-hail-fill::before { content: "\f2a3"; } +.bi-cloud-hail::before { content: "\f2a4"; } +.bi-cloud-haze-fill::before { content: "\f2a6"; } +.bi-cloud-haze::before { content: "\f2a7"; } +.bi-cloud-haze2-fill::before { content: "\f2a8"; } +.bi-cloud-lightning-fill::before { content: "\f2a9"; } +.bi-cloud-lightning-rain-fill::before { content: "\f2aa"; } +.bi-cloud-lightning-rain::before { content: "\f2ab"; } +.bi-cloud-lightning::before { content: "\f2ac"; } +.bi-cloud-minus-fill::before { content: "\f2ad"; } +.bi-cloud-minus::before { content: "\f2ae"; } +.bi-cloud-moon-fill::before { content: "\f2af"; } +.bi-cloud-moon::before { content: "\f2b0"; } +.bi-cloud-plus-fill::before { content: "\f2b1"; } +.bi-cloud-plus::before { content: "\f2b2"; } +.bi-cloud-rain-fill::before { content: "\f2b3"; } +.bi-cloud-rain-heavy-fill::before { content: "\f2b4"; } +.bi-cloud-rain-heavy::before { content: "\f2b5"; } +.bi-cloud-rain::before { content: "\f2b6"; } +.bi-cloud-slash-fill::before { content: "\f2b7"; } +.bi-cloud-slash::before { content: "\f2b8"; } +.bi-cloud-sleet-fill::before { content: "\f2b9"; } +.bi-cloud-sleet::before { content: "\f2ba"; } +.bi-cloud-snow-fill::before { content: "\f2bb"; } +.bi-cloud-snow::before { content: "\f2bc"; } +.bi-cloud-sun-fill::before { content: "\f2bd"; } +.bi-cloud-sun::before { content: "\f2be"; } +.bi-cloud-upload-fill::before { content: "\f2bf"; } +.bi-cloud-upload::before { content: "\f2c0"; } +.bi-cloud::before { content: "\f2c1"; } +.bi-clouds-fill::before { content: "\f2c2"; } +.bi-clouds::before { content: "\f2c3"; } +.bi-cloudy-fill::before { content: "\f2c4"; } +.bi-cloudy::before { content: "\f2c5"; } +.bi-code-slash::before { content: "\f2c6"; } +.bi-code-square::before { content: "\f2c7"; } +.bi-code::before { content: "\f2c8"; } +.bi-collection-fill::before { content: "\f2c9"; } +.bi-collection-play-fill::before { content: "\f2ca"; } +.bi-collection-play::before { content: "\f2cb"; } +.bi-collection::before { content: "\f2cc"; } +.bi-columns-gap::before { content: "\f2cd"; } +.bi-columns::before { content: "\f2ce"; } +.bi-command::before { content: "\f2cf"; } +.bi-compass-fill::before { content: "\f2d0"; } +.bi-compass::before { content: "\f2d1"; } +.bi-cone-striped::before { content: "\f2d2"; } +.bi-cone::before { content: "\f2d3"; } +.bi-controller::before { content: "\f2d4"; } +.bi-cpu-fill::before { content: "\f2d5"; } +.bi-cpu::before { content: "\f2d6"; } +.bi-credit-card-2-back-fill::before { content: "\f2d7"; } +.bi-credit-card-2-back::before { content: "\f2d8"; } +.bi-credit-card-2-front-fill::before { content: "\f2d9"; } +.bi-credit-card-2-front::before { content: "\f2da"; } +.bi-credit-card-fill::before { content: "\f2db"; } +.bi-credit-card::before { content: "\f2dc"; } +.bi-crop::before { content: "\f2dd"; } +.bi-cup-fill::before { content: "\f2de"; } +.bi-cup-straw::before { content: "\f2df"; } +.bi-cup::before { content: "\f2e0"; } +.bi-cursor-fill::before { content: "\f2e1"; } +.bi-cursor-text::before { content: "\f2e2"; } +.bi-cursor::before { content: "\f2e3"; } +.bi-dash-circle-dotted::before { content: "\f2e4"; } +.bi-dash-circle-fill::before { content: "\f2e5"; } +.bi-dash-circle::before { content: "\f2e6"; } +.bi-dash-square-dotted::before { content: "\f2e7"; } +.bi-dash-square-fill::before { content: "\f2e8"; } +.bi-dash-square::before { content: "\f2e9"; } +.bi-dash::before { content: "\f2ea"; } +.bi-diagram-2-fill::before { content: "\f2eb"; } +.bi-diagram-2::before { content: "\f2ec"; } +.bi-diagram-3-fill::before { content: "\f2ed"; } +.bi-diagram-3::before { content: "\f2ee"; } +.bi-diamond-fill::before { content: "\f2ef"; } +.bi-diamond-half::before { content: "\f2f0"; } +.bi-diamond::before { content: "\f2f1"; } +.bi-dice-1-fill::before { content: "\f2f2"; } +.bi-dice-1::before { content: "\f2f3"; } +.bi-dice-2-fill::before { content: "\f2f4"; } +.bi-dice-2::before { content: "\f2f5"; } +.bi-dice-3-fill::before { content: "\f2f6"; } +.bi-dice-3::before { content: "\f2f7"; } +.bi-dice-4-fill::before { content: "\f2f8"; } +.bi-dice-4::before { content: "\f2f9"; } +.bi-dice-5-fill::before { content: "\f2fa"; } +.bi-dice-5::before { content: "\f2fb"; } +.bi-dice-6-fill::before { content: "\f2fc"; } +.bi-dice-6::before { content: "\f2fd"; } +.bi-disc-fill::before { content: "\f2fe"; } +.bi-disc::before { content: "\f2ff"; } +.bi-discord::before { content: "\f300"; } +.bi-display-fill::before { content: "\f301"; } +.bi-display::before { content: "\f302"; } +.bi-distribute-horizontal::before { content: "\f303"; } +.bi-distribute-vertical::before { content: "\f304"; } +.bi-door-closed-fill::before { content: "\f305"; } +.bi-door-closed::before { content: "\f306"; } +.bi-door-open-fill::before { content: "\f307"; } +.bi-door-open::before { content: "\f308"; } +.bi-dot::before { content: "\f309"; } +.bi-download::before { content: "\f30a"; } +.bi-droplet-fill::before { content: "\f30b"; } +.bi-droplet-half::before { content: "\f30c"; } +.bi-droplet::before { content: "\f30d"; } +.bi-earbuds::before { content: "\f30e"; } +.bi-easel-fill::before { content: "\f30f"; } +.bi-easel::before { content: "\f310"; } +.bi-egg-fill::before { content: "\f311"; } +.bi-egg-fried::before { content: "\f312"; } +.bi-egg::before { content: "\f313"; } +.bi-eject-fill::before { content: "\f314"; } +.bi-eject::before { content: "\f315"; } +.bi-emoji-angry-fill::before { content: "\f316"; } +.bi-emoji-angry::before { content: "\f317"; } +.bi-emoji-dizzy-fill::before { content: "\f318"; } +.bi-emoji-dizzy::before { content: "\f319"; } +.bi-emoji-expressionless-fill::before { content: "\f31a"; } +.bi-emoji-expressionless::before { content: "\f31b"; } +.bi-emoji-frown-fill::before { content: "\f31c"; } +.bi-emoji-frown::before { content: "\f31d"; } +.bi-emoji-heart-eyes-fill::before { content: "\f31e"; } +.bi-emoji-heart-eyes::before { content: "\f31f"; } +.bi-emoji-laughing-fill::before { content: "\f320"; } +.bi-emoji-laughing::before { content: "\f321"; } +.bi-emoji-neutral-fill::before { content: "\f322"; } +.bi-emoji-neutral::before { content: "\f323"; } +.bi-emoji-smile-fill::before { content: "\f324"; } +.bi-emoji-smile-upside-down-fill::before { content: "\f325"; } +.bi-emoji-smile-upside-down::before { content: "\f326"; } +.bi-emoji-smile::before { content: "\f327"; } +.bi-emoji-sunglasses-fill::before { content: "\f328"; } +.bi-emoji-sunglasses::before { content: "\f329"; } +.bi-emoji-wink-fill::before { content: "\f32a"; } +.bi-emoji-wink::before { content: "\f32b"; } +.bi-envelope-fill::before { content: "\f32c"; } +.bi-envelope-open-fill::before { content: "\f32d"; } +.bi-envelope-open::before { content: "\f32e"; } +.bi-envelope::before { content: "\f32f"; } +.bi-eraser-fill::before { content: "\f330"; } +.bi-eraser::before { content: "\f331"; } +.bi-exclamation-circle-fill::before { content: "\f332"; } +.bi-exclamation-circle::before { content: "\f333"; } +.bi-exclamation-diamond-fill::before { content: "\f334"; } +.bi-exclamation-diamond::before { content: "\f335"; } +.bi-exclamation-octagon-fill::before { content: "\f336"; } +.bi-exclamation-octagon::before { content: "\f337"; } +.bi-exclamation-square-fill::before { content: "\f338"; } +.bi-exclamation-square::before { content: "\f339"; } +.bi-exclamation-triangle-fill::before { content: "\f33a"; } +.bi-exclamation-triangle::before { content: "\f33b"; } +.bi-exclamation::before { content: "\f33c"; } +.bi-exclude::before { content: "\f33d"; } +.bi-eye-fill::before { content: "\f33e"; } +.bi-eye-slash-fill::before { content: "\f33f"; } +.bi-eye-slash::before { content: "\f340"; } +.bi-eye::before { content: "\f341"; } +.bi-eyedropper::before { content: "\f342"; } +.bi-eyeglasses::before { content: "\f343"; } +.bi-facebook::before { content: "\f344"; } +.bi-file-arrow-down-fill::before { content: "\f345"; } +.bi-file-arrow-down::before { content: "\f346"; } +.bi-file-arrow-up-fill::before { content: "\f347"; } +.bi-file-arrow-up::before { content: "\f348"; } +.bi-file-bar-graph-fill::before { content: "\f349"; } +.bi-file-bar-graph::before { content: "\f34a"; } +.bi-file-binary-fill::before { content: "\f34b"; } +.bi-file-binary::before { content: "\f34c"; } +.bi-file-break-fill::before { content: "\f34d"; } +.bi-file-break::before { content: "\f34e"; } +.bi-file-check-fill::before { content: "\f34f"; } +.bi-file-check::before { content: "\f350"; } +.bi-file-code-fill::before { content: "\f351"; } +.bi-file-code::before { content: "\f352"; } +.bi-file-diff-fill::before { content: "\f353"; } +.bi-file-diff::before { content: "\f354"; } +.bi-file-earmark-arrow-down-fill::before { content: "\f355"; } +.bi-file-earmark-arrow-down::before { content: "\f356"; } +.bi-file-earmark-arrow-up-fill::before { content: "\f357"; } +.bi-file-earmark-arrow-up::before { content: "\f358"; } +.bi-file-earmark-bar-graph-fill::before { content: "\f359"; } +.bi-file-earmark-bar-graph::before { content: "\f35a"; } +.bi-file-earmark-binary-fill::before { content: "\f35b"; } +.bi-file-earmark-binary::before { content: "\f35c"; } +.bi-file-earmark-break-fill::before { content: "\f35d"; } +.bi-file-earmark-break::before { content: "\f35e"; } +.bi-file-earmark-check-fill::before { content: "\f35f"; } +.bi-file-earmark-check::before { content: "\f360"; } +.bi-file-earmark-code-fill::before { content: "\f361"; } +.bi-file-earmark-code::before { content: "\f362"; } +.bi-file-earmark-diff-fill::before { content: "\f363"; } +.bi-file-earmark-diff::before { content: "\f364"; } +.bi-file-earmark-easel-fill::before { content: "\f365"; } +.bi-file-earmark-easel::before { content: "\f366"; } +.bi-file-earmark-excel-fill::before { content: "\f367"; } +.bi-file-earmark-excel::before { content: "\f368"; } +.bi-file-earmark-fill::before { content: "\f369"; } +.bi-file-earmark-font-fill::before { content: "\f36a"; } +.bi-file-earmark-font::before { content: "\f36b"; } +.bi-file-earmark-image-fill::before { content: "\f36c"; } +.bi-file-earmark-image::before { content: "\f36d"; } +.bi-file-earmark-lock-fill::before { content: "\f36e"; } +.bi-file-earmark-lock::before { content: "\f36f"; } +.bi-file-earmark-lock2-fill::before { content: "\f370"; } +.bi-file-earmark-lock2::before { content: "\f371"; } +.bi-file-earmark-medical-fill::before { content: "\f372"; } +.bi-file-earmark-medical::before { content: "\f373"; } +.bi-file-earmark-minus-fill::before { content: "\f374"; } +.bi-file-earmark-minus::before { content: "\f375"; } +.bi-file-earmark-music-fill::before { content: "\f376"; } +.bi-file-earmark-music::before { content: "\f377"; } +.bi-file-earmark-person-fill::before { content: "\f378"; } +.bi-file-earmark-person::before { content: "\f379"; } +.bi-file-earmark-play-fill::before { content: "\f37a"; } +.bi-file-earmark-play::before { content: "\f37b"; } +.bi-file-earmark-plus-fill::before { content: "\f37c"; } +.bi-file-earmark-plus::before { content: "\f37d"; } +.bi-file-earmark-post-fill::before { content: "\f37e"; } +.bi-file-earmark-post::before { content: "\f37f"; } +.bi-file-earmark-ppt-fill::before { content: "\f380"; } +.bi-file-earmark-ppt::before { content: "\f381"; } +.bi-file-earmark-richtext-fill::before { content: "\f382"; } +.bi-file-earmark-richtext::before { content: "\f383"; } +.bi-file-earmark-ruled-fill::before { content: "\f384"; } +.bi-file-earmark-ruled::before { content: "\f385"; } +.bi-file-earmark-slides-fill::before { content: "\f386"; } +.bi-file-earmark-slides::before { content: "\f387"; } +.bi-file-earmark-spreadsheet-fill::before { content: "\f388"; } +.bi-file-earmark-spreadsheet::before { content: "\f389"; } +.bi-file-earmark-text-fill::before { content: "\f38a"; } +.bi-file-earmark-text::before { content: "\f38b"; } +.bi-file-earmark-word-fill::before { content: "\f38c"; } +.bi-file-earmark-word::before { content: "\f38d"; } +.bi-file-earmark-x-fill::before { content: "\f38e"; } +.bi-file-earmark-x::before { content: "\f38f"; } +.bi-file-earmark-zip-fill::before { content: "\f390"; } +.bi-file-earmark-zip::before { content: "\f391"; } +.bi-file-earmark::before { content: "\f392"; } +.bi-file-easel-fill::before { content: "\f393"; } +.bi-file-easel::before { content: "\f394"; } +.bi-file-excel-fill::before { content: "\f395"; } +.bi-file-excel::before { content: "\f396"; } +.bi-file-fill::before { content: "\f397"; } +.bi-file-font-fill::before { content: "\f398"; } +.bi-file-font::before { content: "\f399"; } +.bi-file-image-fill::before { content: "\f39a"; } +.bi-file-image::before { content: "\f39b"; } +.bi-file-lock-fill::before { content: "\f39c"; } +.bi-file-lock::before { content: "\f39d"; } +.bi-file-lock2-fill::before { content: "\f39e"; } +.bi-file-lock2::before { content: "\f39f"; } +.bi-file-medical-fill::before { content: "\f3a0"; } +.bi-file-medical::before { content: "\f3a1"; } +.bi-file-minus-fill::before { content: "\f3a2"; } +.bi-file-minus::before { content: "\f3a3"; } +.bi-file-music-fill::before { content: "\f3a4"; } +.bi-file-music::before { content: "\f3a5"; } +.bi-file-person-fill::before { content: "\f3a6"; } +.bi-file-person::before { content: "\f3a7"; } +.bi-file-play-fill::before { content: "\f3a8"; } +.bi-file-play::before { content: "\f3a9"; } +.bi-file-plus-fill::before { content: "\f3aa"; } +.bi-file-plus::before { content: "\f3ab"; } +.bi-file-post-fill::before { content: "\f3ac"; } +.bi-file-post::before { content: "\f3ad"; } +.bi-file-ppt-fill::before { content: "\f3ae"; } +.bi-file-ppt::before { content: "\f3af"; } +.bi-file-richtext-fill::before { content: "\f3b0"; } +.bi-file-richtext::before { content: "\f3b1"; } +.bi-file-ruled-fill::before { content: "\f3b2"; } +.bi-file-ruled::before { content: "\f3b3"; } +.bi-file-slides-fill::before { content: "\f3b4"; } +.bi-file-slides::before { content: "\f3b5"; } +.bi-file-spreadsheet-fill::before { content: "\f3b6"; } +.bi-file-spreadsheet::before { content: "\f3b7"; } +.bi-file-text-fill::before { content: "\f3b8"; } +.bi-file-text::before { content: "\f3b9"; } +.bi-file-word-fill::before { content: "\f3ba"; } +.bi-file-word::before { content: "\f3bb"; } +.bi-file-x-fill::before { content: "\f3bc"; } +.bi-file-x::before { content: "\f3bd"; } +.bi-file-zip-fill::before { content: "\f3be"; } +.bi-file-zip::before { content: "\f3bf"; } +.bi-file::before { content: "\f3c0"; } +.bi-files-alt::before { content: "\f3c1"; } +.bi-files::before { content: "\f3c2"; } +.bi-film::before { content: "\f3c3"; } +.bi-filter-circle-fill::before { content: "\f3c4"; } +.bi-filter-circle::before { content: "\f3c5"; } +.bi-filter-left::before { content: "\f3c6"; } +.bi-filter-right::before { content: "\f3c7"; } +.bi-filter-square-fill::before { content: "\f3c8"; } +.bi-filter-square::before { content: "\f3c9"; } +.bi-filter::before { content: "\f3ca"; } +.bi-flag-fill::before { content: "\f3cb"; } +.bi-flag::before { content: "\f3cc"; } +.bi-flower1::before { content: "\f3cd"; } +.bi-flower2::before { content: "\f3ce"; } +.bi-flower3::before { content: "\f3cf"; } +.bi-folder-check::before { content: "\f3d0"; } +.bi-folder-fill::before { content: "\f3d1"; } +.bi-folder-minus::before { content: "\f3d2"; } +.bi-folder-plus::before { content: "\f3d3"; } +.bi-folder-symlink-fill::before { content: "\f3d4"; } +.bi-folder-symlink::before { content: "\f3d5"; } +.bi-folder-x::before { content: "\f3d6"; } +.bi-folder::before { content: "\f3d7"; } +.bi-folder2-open::before { content: "\f3d8"; } +.bi-folder2::before { content: "\f3d9"; } +.bi-fonts::before { content: "\f3da"; } +.bi-forward-fill::before { content: "\f3db"; } +.bi-forward::before { content: "\f3dc"; } +.bi-front::before { content: "\f3dd"; } +.bi-fullscreen-exit::before { content: "\f3de"; } +.bi-fullscreen::before { content: "\f3df"; } +.bi-funnel-fill::before { content: "\f3e0"; } +.bi-funnel::before { content: "\f3e1"; } +.bi-gear-fill::before { content: "\f3e2"; } +.bi-gear-wide-connected::before { content: "\f3e3"; } +.bi-gear-wide::before { content: "\f3e4"; } +.bi-gear::before { content: "\f3e5"; } +.bi-gem::before { content: "\f3e6"; } +.bi-geo-alt-fill::before { content: "\f3e7"; } +.bi-geo-alt::before { content: "\f3e8"; } +.bi-geo-fill::before { content: "\f3e9"; } +.bi-geo::before { content: "\f3ea"; } +.bi-gift-fill::before { content: "\f3eb"; } +.bi-gift::before { content: "\f3ec"; } +.bi-github::before { content: "\f3ed"; } +.bi-globe::before { content: "\f3ee"; } +.bi-globe2::before { content: "\f3ef"; } +.bi-google::before { content: "\f3f0"; } +.bi-graph-down::before { content: "\f3f1"; } +.bi-graph-up::before { content: "\f3f2"; } +.bi-grid-1x2-fill::before { content: "\f3f3"; } +.bi-grid-1x2::before { content: "\f3f4"; } +.bi-grid-3x2-gap-fill::before { content: "\f3f5"; } +.bi-grid-3x2-gap::before { content: "\f3f6"; } +.bi-grid-3x2::before { content: "\f3f7"; } +.bi-grid-3x3-gap-fill::before { content: "\f3f8"; } +.bi-grid-3x3-gap::before { content: "\f3f9"; } +.bi-grid-3x3::before { content: "\f3fa"; } +.bi-grid-fill::before { content: "\f3fb"; } +.bi-grid::before { content: "\f3fc"; } +.bi-grip-horizontal::before { content: "\f3fd"; } +.bi-grip-vertical::before { content: "\f3fe"; } +.bi-hammer::before { content: "\f3ff"; } +.bi-hand-index-fill::before { content: "\f400"; } +.bi-hand-index-thumb-fill::before { content: "\f401"; } +.bi-hand-index-thumb::before { content: "\f402"; } +.bi-hand-index::before { content: "\f403"; } +.bi-hand-thumbs-down-fill::before { content: "\f404"; } +.bi-hand-thumbs-down::before { content: "\f405"; } +.bi-hand-thumbs-up-fill::before { content: "\f406"; } +.bi-hand-thumbs-up::before { content: "\f407"; } +.bi-handbag-fill::before { content: "\f408"; } +.bi-handbag::before { content: "\f409"; } +.bi-hash::before { content: "\f40a"; } +.bi-hdd-fill::before { content: "\f40b"; } +.bi-hdd-network-fill::before { content: "\f40c"; } +.bi-hdd-network::before { content: "\f40d"; } +.bi-hdd-rack-fill::before { content: "\f40e"; } +.bi-hdd-rack::before { content: "\f40f"; } +.bi-hdd-stack-fill::before { content: "\f410"; } +.bi-hdd-stack::before { content: "\f411"; } +.bi-hdd::before { content: "\f412"; } +.bi-headphones::before { content: "\f413"; } +.bi-headset::before { content: "\f414"; } +.bi-heart-fill::before { content: "\f415"; } +.bi-heart-half::before { content: "\f416"; } +.bi-heart::before { content: "\f417"; } +.bi-heptagon-fill::before { content: "\f418"; } +.bi-heptagon-half::before { content: "\f419"; } +.bi-heptagon::before { content: "\f41a"; } +.bi-hexagon-fill::before { content: "\f41b"; } +.bi-hexagon-half::before { content: "\f41c"; } +.bi-hexagon::before { content: "\f41d"; } +.bi-hourglass-bottom::before { content: "\f41e"; } +.bi-hourglass-split::before { content: "\f41f"; } +.bi-hourglass-top::before { content: "\f420"; } +.bi-hourglass::before { content: "\f421"; } +.bi-house-door-fill::before { content: "\f422"; } +.bi-house-door::before { content: "\f423"; } +.bi-house-fill::before { content: "\f424"; } +.bi-house::before { content: "\f425"; } +.bi-hr::before { content: "\f426"; } +.bi-hurricane::before { content: "\f427"; } +.bi-image-alt::before { content: "\f428"; } +.bi-image-fill::before { content: "\f429"; } +.bi-image::before { content: "\f42a"; } +.bi-images::before { content: "\f42b"; } +.bi-inbox-fill::before { content: "\f42c"; } +.bi-inbox::before { content: "\f42d"; } +.bi-inboxes-fill::before { content: "\f42e"; } +.bi-inboxes::before { content: "\f42f"; } +.bi-info-circle-fill::before { content: "\f430"; } +.bi-info-circle::before { content: "\f431"; } +.bi-info-square-fill::before { content: "\f432"; } +.bi-info-square::before { content: "\f433"; } +.bi-info::before { content: "\f434"; } +.bi-input-cursor-text::before { content: "\f435"; } +.bi-input-cursor::before { content: "\f436"; } +.bi-instagram::before { content: "\f437"; } +.bi-intersect::before { content: "\f438"; } +.bi-journal-album::before { content: "\f439"; } +.bi-journal-arrow-down::before { content: "\f43a"; } +.bi-journal-arrow-up::before { content: "\f43b"; } +.bi-journal-bookmark-fill::before { content: "\f43c"; } +.bi-journal-bookmark::before { content: "\f43d"; } +.bi-journal-check::before { content: "\f43e"; } +.bi-journal-code::before { content: "\f43f"; } +.bi-journal-medical::before { content: "\f440"; } +.bi-journal-minus::before { content: "\f441"; } +.bi-journal-plus::before { content: "\f442"; } +.bi-journal-richtext::before { content: "\f443"; } +.bi-journal-text::before { content: "\f444"; } +.bi-journal-x::before { content: "\f445"; } +.bi-journal::before { content: "\f446"; } +.bi-journals::before { content: "\f447"; } +.bi-joystick::before { content: "\f448"; } +.bi-justify-left::before { content: "\f449"; } +.bi-justify-right::before { content: "\f44a"; } +.bi-justify::before { content: "\f44b"; } +.bi-kanban-fill::before { content: "\f44c"; } +.bi-kanban::before { content: "\f44d"; } +.bi-key-fill::before { content: "\f44e"; } +.bi-key::before { content: "\f44f"; } +.bi-keyboard-fill::before { content: "\f450"; } +.bi-keyboard::before { content: "\f451"; } +.bi-ladder::before { content: "\f452"; } +.bi-lamp-fill::before { content: "\f453"; } +.bi-lamp::before { content: "\f454"; } +.bi-laptop-fill::before { content: "\f455"; } +.bi-laptop::before { content: "\f456"; } +.bi-layer-backward::before { content: "\f457"; } +.bi-layer-forward::before { content: "\f458"; } +.bi-layers-fill::before { content: "\f459"; } +.bi-layers-half::before { content: "\f45a"; } +.bi-layers::before { content: "\f45b"; } +.bi-layout-sidebar-inset-reverse::before { content: "\f45c"; } +.bi-layout-sidebar-inset::before { content: "\f45d"; } +.bi-layout-sidebar-reverse::before { content: "\f45e"; } +.bi-layout-sidebar::before { content: "\f45f"; } +.bi-layout-split::before { content: "\f460"; } +.bi-layout-text-sidebar-reverse::before { content: "\f461"; } +.bi-layout-text-sidebar::before { content: "\f462"; } +.bi-layout-text-window-reverse::before { content: "\f463"; } +.bi-layout-text-window::before { content: "\f464"; } +.bi-layout-three-columns::before { content: "\f465"; } +.bi-layout-wtf::before { content: "\f466"; } +.bi-life-preserver::before { content: "\f467"; } +.bi-lightbulb-fill::before { content: "\f468"; } +.bi-lightbulb-off-fill::before { content: "\f469"; } +.bi-lightbulb-off::before { content: "\f46a"; } +.bi-lightbulb::before { content: "\f46b"; } +.bi-lightning-charge-fill::before { content: "\f46c"; } +.bi-lightning-charge::before { content: "\f46d"; } +.bi-lightning-fill::before { content: "\f46e"; } +.bi-lightning::before { content: "\f46f"; } +.bi-link-45deg::before { content: "\f470"; } +.bi-link::before { content: "\f471"; } +.bi-linkedin::before { content: "\f472"; } +.bi-list-check::before { content: "\f473"; } +.bi-list-nested::before { content: "\f474"; } +.bi-list-ol::before { content: "\f475"; } +.bi-list-stars::before { content: "\f476"; } +.bi-list-task::before { content: "\f477"; } +.bi-list-ul::before { content: "\f478"; } +.bi-list::before { content: "\f479"; } +.bi-lock-fill::before { content: "\f47a"; } +.bi-lock::before { content: "\f47b"; } +.bi-mailbox::before { content: "\f47c"; } +.bi-mailbox2::before { content: "\f47d"; } +.bi-map-fill::before { content: "\f47e"; } +.bi-map::before { content: "\f47f"; } +.bi-markdown-fill::before { content: "\f480"; } +.bi-markdown::before { content: "\f481"; } +.bi-mask::before { content: "\f482"; } +.bi-megaphone-fill::before { content: "\f483"; } +.bi-megaphone::before { content: "\f484"; } +.bi-menu-app-fill::before { content: "\f485"; } +.bi-menu-app::before { content: "\f486"; } +.bi-menu-button-fill::before { content: "\f487"; } +.bi-menu-button-wide-fill::before { content: "\f488"; } +.bi-menu-button-wide::before { content: "\f489"; } +.bi-menu-button::before { content: "\f48a"; } +.bi-menu-down::before { content: "\f48b"; } +.bi-menu-up::before { content: "\f48c"; } +.bi-mic-fill::before { content: "\f48d"; } +.bi-mic-mute-fill::before { content: "\f48e"; } +.bi-mic-mute::before { content: "\f48f"; } +.bi-mic::before { content: "\f490"; } +.bi-minecart-loaded::before { content: "\f491"; } +.bi-minecart::before { content: "\f492"; } +.bi-moisture::before { content: "\f493"; } +.bi-moon-fill::before { content: "\f494"; } +.bi-moon-stars-fill::before { content: "\f495"; } +.bi-moon-stars::before { content: "\f496"; } +.bi-moon::before { content: "\f497"; } +.bi-mouse-fill::before { content: "\f498"; } +.bi-mouse::before { content: "\f499"; } +.bi-mouse2-fill::before { content: "\f49a"; } +.bi-mouse2::before { content: "\f49b"; } +.bi-mouse3-fill::before { content: "\f49c"; } +.bi-mouse3::before { content: "\f49d"; } +.bi-music-note-beamed::before { content: "\f49e"; } +.bi-music-note-list::before { content: "\f49f"; } +.bi-music-note::before { content: "\f4a0"; } +.bi-music-player-fill::before { content: "\f4a1"; } +.bi-music-player::before { content: "\f4a2"; } +.bi-newspaper::before { content: "\f4a3"; } +.bi-node-minus-fill::before { content: "\f4a4"; } +.bi-node-minus::before { content: "\f4a5"; } +.bi-node-plus-fill::before { content: "\f4a6"; } +.bi-node-plus::before { content: "\f4a7"; } +.bi-nut-fill::before { content: "\f4a8"; } +.bi-nut::before { content: "\f4a9"; } +.bi-octagon-fill::before { content: "\f4aa"; } +.bi-octagon-half::before { content: "\f4ab"; } +.bi-octagon::before { content: "\f4ac"; } +.bi-option::before { content: "\f4ad"; } +.bi-outlet::before { content: "\f4ae"; } +.bi-paint-bucket::before { content: "\f4af"; } +.bi-palette-fill::before { content: "\f4b0"; } +.bi-palette::before { content: "\f4b1"; } +.bi-palette2::before { content: "\f4b2"; } +.bi-paperclip::before { content: "\f4b3"; } +.bi-paragraph::before { content: "\f4b4"; } +.bi-patch-check-fill::before { content: "\f4b5"; } +.bi-patch-check::before { content: "\f4b6"; } +.bi-patch-exclamation-fill::before { content: "\f4b7"; } +.bi-patch-exclamation::before { content: "\f4b8"; } +.bi-patch-minus-fill::before { content: "\f4b9"; } +.bi-patch-minus::before { content: "\f4ba"; } +.bi-patch-plus-fill::before { content: "\f4bb"; } +.bi-patch-plus::before { content: "\f4bc"; } +.bi-patch-question-fill::before { content: "\f4bd"; } +.bi-patch-question::before { content: "\f4be"; } +.bi-pause-btn-fill::before { content: "\f4bf"; } +.bi-pause-btn::before { content: "\f4c0"; } +.bi-pause-circle-fill::before { content: "\f4c1"; } +.bi-pause-circle::before { content: "\f4c2"; } +.bi-pause-fill::before { content: "\f4c3"; } +.bi-pause::before { content: "\f4c4"; } +.bi-peace-fill::before { content: "\f4c5"; } +.bi-peace::before { content: "\f4c6"; } +.bi-pen-fill::before { content: "\f4c7"; } +.bi-pen::before { content: "\f4c8"; } +.bi-pencil-fill::before { content: "\f4c9"; } +.bi-pencil-square::before { content: "\f4ca"; } +.bi-pencil::before { content: "\f4cb"; } +.bi-pentagon-fill::before { content: "\f4cc"; } +.bi-pentagon-half::before { content: "\f4cd"; } +.bi-pentagon::before { content: "\f4ce"; } +.bi-people-fill::before { content: "\f4cf"; } +.bi-people::before { content: "\f4d0"; } +.bi-percent::before { content: "\f4d1"; } +.bi-person-badge-fill::before { content: "\f4d2"; } +.bi-person-badge::before { content: "\f4d3"; } +.bi-person-bounding-box::before { content: "\f4d4"; } +.bi-person-check-fill::before { content: "\f4d5"; } +.bi-person-check::before { content: "\f4d6"; } +.bi-person-circle::before { content: "\f4d7"; } +.bi-person-dash-fill::before { content: "\f4d8"; } +.bi-person-dash::before { content: "\f4d9"; } +.bi-person-fill::before { content: "\f4da"; } +.bi-person-lines-fill::before { content: "\f4db"; } +.bi-person-plus-fill::before { content: "\f4dc"; } +.bi-person-plus::before { content: "\f4dd"; } +.bi-person-square::before { content: "\f4de"; } +.bi-person-x-fill::before { content: "\f4df"; } +.bi-person-x::before { content: "\f4e0"; } +.bi-person::before { content: "\f4e1"; } +.bi-phone-fill::before { content: "\f4e2"; } +.bi-phone-landscape-fill::before { content: "\f4e3"; } +.bi-phone-landscape::before { content: "\f4e4"; } +.bi-phone-vibrate-fill::before { content: "\f4e5"; } +.bi-phone-vibrate::before { content: "\f4e6"; } +.bi-phone::before { content: "\f4e7"; } +.bi-pie-chart-fill::before { content: "\f4e8"; } +.bi-pie-chart::before { content: "\f4e9"; } +.bi-pin-angle-fill::before { content: "\f4ea"; } +.bi-pin-angle::before { content: "\f4eb"; } +.bi-pin-fill::before { content: "\f4ec"; } +.bi-pin::before { content: "\f4ed"; } +.bi-pip-fill::before { content: "\f4ee"; } +.bi-pip::before { content: "\f4ef"; } +.bi-play-btn-fill::before { content: "\f4f0"; } +.bi-play-btn::before { content: "\f4f1"; } +.bi-play-circle-fill::before { content: "\f4f2"; } +.bi-play-circle::before { content: "\f4f3"; } +.bi-play-fill::before { content: "\f4f4"; } +.bi-play::before { content: "\f4f5"; } +.bi-plug-fill::before { content: "\f4f6"; } +.bi-plug::before { content: "\f4f7"; } +.bi-plus-circle-dotted::before { content: "\f4f8"; } +.bi-plus-circle-fill::before { content: "\f4f9"; } +.bi-plus-circle::before { content: "\f4fa"; } +.bi-plus-square-dotted::before { content: "\f4fb"; } +.bi-plus-square-fill::before { content: "\f4fc"; } +.bi-plus-square::before { content: "\f4fd"; } +.bi-plus::before { content: "\f4fe"; } +.bi-power::before { content: "\f4ff"; } +.bi-printer-fill::before { content: "\f500"; } +.bi-printer::before { content: "\f501"; } +.bi-puzzle-fill::before { content: "\f502"; } +.bi-puzzle::before { content: "\f503"; } +.bi-question-circle-fill::before { content: "\f504"; } +.bi-question-circle::before { content: "\f505"; } +.bi-question-diamond-fill::before { content: "\f506"; } +.bi-question-diamond::before { content: "\f507"; } +.bi-question-octagon-fill::before { content: "\f508"; } +.bi-question-octagon::before { content: "\f509"; } +.bi-question-square-fill::before { content: "\f50a"; } +.bi-question-square::before { content: "\f50b"; } +.bi-question::before { content: "\f50c"; } +.bi-rainbow::before { content: "\f50d"; } +.bi-receipt-cutoff::before { content: "\f50e"; } +.bi-receipt::before { content: "\f50f"; } +.bi-reception-0::before { content: "\f510"; } +.bi-reception-1::before { content: "\f511"; } +.bi-reception-2::before { content: "\f512"; } +.bi-reception-3::before { content: "\f513"; } +.bi-reception-4::before { content: "\f514"; } +.bi-record-btn-fill::before { content: "\f515"; } +.bi-record-btn::before { content: "\f516"; } +.bi-record-circle-fill::before { content: "\f517"; } +.bi-record-circle::before { content: "\f518"; } +.bi-record-fill::before { content: "\f519"; } +.bi-record::before { content: "\f51a"; } +.bi-record2-fill::before { content: "\f51b"; } +.bi-record2::before { content: "\f51c"; } +.bi-reply-all-fill::before { content: "\f51d"; } +.bi-reply-all::before { content: "\f51e"; } +.bi-reply-fill::before { content: "\f51f"; } +.bi-reply::before { content: "\f520"; } +.bi-rss-fill::before { content: "\f521"; } +.bi-rss::before { content: "\f522"; } +.bi-rulers::before { content: "\f523"; } +.bi-save-fill::before { content: "\f524"; } +.bi-save::before { content: "\f525"; } +.bi-save2-fill::before { content: "\f526"; } +.bi-save2::before { content: "\f527"; } +.bi-scissors::before { content: "\f528"; } +.bi-screwdriver::before { content: "\f529"; } +.bi-search::before { content: "\f52a"; } +.bi-segmented-nav::before { content: "\f52b"; } +.bi-server::before { content: "\f52c"; } +.bi-share-fill::before { content: "\f52d"; } +.bi-share::before { content: "\f52e"; } +.bi-shield-check::before { content: "\f52f"; } +.bi-shield-exclamation::before { content: "\f530"; } +.bi-shield-fill-check::before { content: "\f531"; } +.bi-shield-fill-exclamation::before { content: "\f532"; } +.bi-shield-fill-minus::before { content: "\f533"; } +.bi-shield-fill-plus::before { content: "\f534"; } +.bi-shield-fill-x::before { content: "\f535"; } +.bi-shield-fill::before { content: "\f536"; } +.bi-shield-lock-fill::before { content: "\f537"; } +.bi-shield-lock::before { content: "\f538"; } +.bi-shield-minus::before { content: "\f539"; } +.bi-shield-plus::before { content: "\f53a"; } +.bi-shield-shaded::before { content: "\f53b"; } +.bi-shield-slash-fill::before { content: "\f53c"; } +.bi-shield-slash::before { content: "\f53d"; } +.bi-shield-x::before { content: "\f53e"; } +.bi-shield::before { content: "\f53f"; } +.bi-shift-fill::before { content: "\f540"; } +.bi-shift::before { content: "\f541"; } +.bi-shop-window::before { content: "\f542"; } +.bi-shop::before { content: "\f543"; } +.bi-shuffle::before { content: "\f544"; } +.bi-signpost-2-fill::before { content: "\f545"; } +.bi-signpost-2::before { content: "\f546"; } +.bi-signpost-fill::before { content: "\f547"; } +.bi-signpost-split-fill::before { content: "\f548"; } +.bi-signpost-split::before { content: "\f549"; } +.bi-signpost::before { content: "\f54a"; } +.bi-sim-fill::before { content: "\f54b"; } +.bi-sim::before { content: "\f54c"; } +.bi-skip-backward-btn-fill::before { content: "\f54d"; } +.bi-skip-backward-btn::before { content: "\f54e"; } +.bi-skip-backward-circle-fill::before { content: "\f54f"; } +.bi-skip-backward-circle::before { content: "\f550"; } +.bi-skip-backward-fill::before { content: "\f551"; } +.bi-skip-backward::before { content: "\f552"; } +.bi-skip-end-btn-fill::before { content: "\f553"; } +.bi-skip-end-btn::before { content: "\f554"; } +.bi-skip-end-circle-fill::before { content: "\f555"; } +.bi-skip-end-circle::before { content: "\f556"; } +.bi-skip-end-fill::before { content: "\f557"; } +.bi-skip-end::before { content: "\f558"; } +.bi-skip-forward-btn-fill::before { content: "\f559"; } +.bi-skip-forward-btn::before { content: "\f55a"; } +.bi-skip-forward-circle-fill::before { content: "\f55b"; } +.bi-skip-forward-circle::before { content: "\f55c"; } +.bi-skip-forward-fill::before { content: "\f55d"; } +.bi-skip-forward::before { content: "\f55e"; } +.bi-skip-start-btn-fill::before { content: "\f55f"; } +.bi-skip-start-btn::before { content: "\f560"; } +.bi-skip-start-circle-fill::before { content: "\f561"; } +.bi-skip-start-circle::before { content: "\f562"; } +.bi-skip-start-fill::before { content: "\f563"; } +.bi-skip-start::before { content: "\f564"; } +.bi-slack::before { content: "\f565"; } +.bi-slash-circle-fill::before { content: "\f566"; } +.bi-slash-circle::before { content: "\f567"; } +.bi-slash-square-fill::before { content: "\f568"; } +.bi-slash-square::before { content: "\f569"; } +.bi-slash::before { content: "\f56a"; } +.bi-sliders::before { content: "\f56b"; } +.bi-smartwatch::before { content: "\f56c"; } +.bi-snow::before { content: "\f56d"; } +.bi-snow2::before { content: "\f56e"; } +.bi-snow3::before { content: "\f56f"; } +.bi-sort-alpha-down-alt::before { content: "\f570"; } +.bi-sort-alpha-down::before { content: "\f571"; } +.bi-sort-alpha-up-alt::before { content: "\f572"; } +.bi-sort-alpha-up::before { content: "\f573"; } +.bi-sort-down-alt::before { content: "\f574"; } +.bi-sort-down::before { content: "\f575"; } +.bi-sort-numeric-down-alt::before { content: "\f576"; } +.bi-sort-numeric-down::before { content: "\f577"; } +.bi-sort-numeric-up-alt::before { content: "\f578"; } +.bi-sort-numeric-up::before { content: "\f579"; } +.bi-sort-up-alt::before { content: "\f57a"; } +.bi-sort-up::before { content: "\f57b"; } +.bi-soundwave::before { content: "\f57c"; } +.bi-speaker-fill::before { content: "\f57d"; } +.bi-speaker::before { content: "\f57e"; } +.bi-speedometer::before { content: "\f57f"; } +.bi-speedometer2::before { content: "\f580"; } +.bi-spellcheck::before { content: "\f581"; } +.bi-square-fill::before { content: "\f582"; } +.bi-square-half::before { content: "\f583"; } +.bi-square::before { content: "\f584"; } +.bi-stack::before { content: "\f585"; } +.bi-star-fill::before { content: "\f586"; } +.bi-star-half::before { content: "\f587"; } +.bi-star::before { content: "\f588"; } +.bi-stars::before { content: "\f589"; } +.bi-stickies-fill::before { content: "\f58a"; } +.bi-stickies::before { content: "\f58b"; } +.bi-sticky-fill::before { content: "\f58c"; } +.bi-sticky::before { content: "\f58d"; } +.bi-stop-btn-fill::before { content: "\f58e"; } +.bi-stop-btn::before { content: "\f58f"; } +.bi-stop-circle-fill::before { content: "\f590"; } +.bi-stop-circle::before { content: "\f591"; } +.bi-stop-fill::before { content: "\f592"; } +.bi-stop::before { content: "\f593"; } +.bi-stoplights-fill::before { content: "\f594"; } +.bi-stoplights::before { content: "\f595"; } +.bi-stopwatch-fill::before { content: "\f596"; } +.bi-stopwatch::before { content: "\f597"; } +.bi-subtract::before { content: "\f598"; } +.bi-suit-club-fill::before { content: "\f599"; } +.bi-suit-club::before { content: "\f59a"; } +.bi-suit-diamond-fill::before { content: "\f59b"; } +.bi-suit-diamond::before { content: "\f59c"; } +.bi-suit-heart-fill::before { content: "\f59d"; } +.bi-suit-heart::before { content: "\f59e"; } +.bi-suit-spade-fill::before { content: "\f59f"; } +.bi-suit-spade::before { content: "\f5a0"; } +.bi-sun-fill::before { content: "\f5a1"; } +.bi-sun::before { content: "\f5a2"; } +.bi-sunglasses::before { content: "\f5a3"; } +.bi-sunrise-fill::before { content: "\f5a4"; } +.bi-sunrise::before { content: "\f5a5"; } +.bi-sunset-fill::before { content: "\f5a6"; } +.bi-sunset::before { content: "\f5a7"; } +.bi-symmetry-horizontal::before { content: "\f5a8"; } +.bi-symmetry-vertical::before { content: "\f5a9"; } +.bi-table::before { content: "\f5aa"; } +.bi-tablet-fill::before { content: "\f5ab"; } +.bi-tablet-landscape-fill::before { content: "\f5ac"; } +.bi-tablet-landscape::before { content: "\f5ad"; } +.bi-tablet::before { content: "\f5ae"; } +.bi-tag-fill::before { content: "\f5af"; } +.bi-tag::before { content: "\f5b0"; } +.bi-tags-fill::before { content: "\f5b1"; } +.bi-tags::before { content: "\f5b2"; } +.bi-telegram::before { content: "\f5b3"; } +.bi-telephone-fill::before { content: "\f5b4"; } +.bi-telephone-forward-fill::before { content: "\f5b5"; } +.bi-telephone-forward::before { content: "\f5b6"; } +.bi-telephone-inbound-fill::before { content: "\f5b7"; } +.bi-telephone-inbound::before { content: "\f5b8"; } +.bi-telephone-minus-fill::before { content: "\f5b9"; } +.bi-telephone-minus::before { content: "\f5ba"; } +.bi-telephone-outbound-fill::before { content: "\f5bb"; } +.bi-telephone-outbound::before { content: "\f5bc"; } +.bi-telephone-plus-fill::before { content: "\f5bd"; } +.bi-telephone-plus::before { content: "\f5be"; } +.bi-telephone-x-fill::before { content: "\f5bf"; } +.bi-telephone-x::before { content: "\f5c0"; } +.bi-telephone::before { content: "\f5c1"; } +.bi-terminal-fill::before { content: "\f5c2"; } +.bi-terminal::before { content: "\f5c3"; } +.bi-text-center::before { content: "\f5c4"; } +.bi-text-indent-left::before { content: "\f5c5"; } +.bi-text-indent-right::before { content: "\f5c6"; } +.bi-text-left::before { content: "\f5c7"; } +.bi-text-paragraph::before { content: "\f5c8"; } +.bi-text-right::before { content: "\f5c9"; } +.bi-textarea-resize::before { content: "\f5ca"; } +.bi-textarea-t::before { content: "\f5cb"; } +.bi-textarea::before { content: "\f5cc"; } +.bi-thermometer-half::before { content: "\f5cd"; } +.bi-thermometer-high::before { content: "\f5ce"; } +.bi-thermometer-low::before { content: "\f5cf"; } +.bi-thermometer-snow::before { content: "\f5d0"; } +.bi-thermometer-sun::before { content: "\f5d1"; } +.bi-thermometer::before { content: "\f5d2"; } +.bi-three-dots-vertical::before { content: "\f5d3"; } +.bi-three-dots::before { content: "\f5d4"; } +.bi-toggle-off::before { content: "\f5d5"; } +.bi-toggle-on::before { content: "\f5d6"; } +.bi-toggle2-off::before { content: "\f5d7"; } +.bi-toggle2-on::before { content: "\f5d8"; } +.bi-toggles::before { content: "\f5d9"; } +.bi-toggles2::before { content: "\f5da"; } +.bi-tools::before { content: "\f5db"; } +.bi-tornado::before { content: "\f5dc"; } +.bi-trash-fill::before { content: "\f5dd"; } +.bi-trash::before { content: "\f5de"; } +.bi-trash2-fill::before { content: "\f5df"; } +.bi-trash2::before { content: "\f5e0"; } +.bi-tree-fill::before { content: "\f5e1"; } +.bi-tree::before { content: "\f5e2"; } +.bi-triangle-fill::before { content: "\f5e3"; } +.bi-triangle-half::before { content: "\f5e4"; } +.bi-triangle::before { content: "\f5e5"; } +.bi-trophy-fill::before { content: "\f5e6"; } +.bi-trophy::before { content: "\f5e7"; } +.bi-tropical-storm::before { content: "\f5e8"; } +.bi-truck-flatbed::before { content: "\f5e9"; } +.bi-truck::before { content: "\f5ea"; } +.bi-tsunami::before { content: "\f5eb"; } +.bi-tv-fill::before { content: "\f5ec"; } +.bi-tv::before { content: "\f5ed"; } +.bi-twitch::before { content: "\f5ee"; } +.bi-twitter::before { content: "\f5ef"; } +.bi-type-bold::before { content: "\f5f0"; } +.bi-type-h1::before { content: "\f5f1"; } +.bi-type-h2::before { content: "\f5f2"; } +.bi-type-h3::before { content: "\f5f3"; } +.bi-type-italic::before { content: "\f5f4"; } +.bi-type-strikethrough::before { content: "\f5f5"; } +.bi-type-underline::before { content: "\f5f6"; } +.bi-type::before { content: "\f5f7"; } +.bi-ui-checks-grid::before { content: "\f5f8"; } +.bi-ui-checks::before { content: "\f5f9"; } +.bi-ui-radios-grid::before { content: "\f5fa"; } +.bi-ui-radios::before { content: "\f5fb"; } +.bi-umbrella-fill::before { content: "\f5fc"; } +.bi-umbrella::before { content: "\f5fd"; } +.bi-union::before { content: "\f5fe"; } +.bi-unlock-fill::before { content: "\f5ff"; } +.bi-unlock::before { content: "\f600"; } +.bi-upc-scan::before { content: "\f601"; } +.bi-upc::before { content: "\f602"; } +.bi-upload::before { content: "\f603"; } +.bi-vector-pen::before { content: "\f604"; } +.bi-view-list::before { content: "\f605"; } +.bi-view-stacked::before { content: "\f606"; } +.bi-vinyl-fill::before { content: "\f607"; } +.bi-vinyl::before { content: "\f608"; } +.bi-voicemail::before { content: "\f609"; } +.bi-volume-down-fill::before { content: "\f60a"; } +.bi-volume-down::before { content: "\f60b"; } +.bi-volume-mute-fill::before { content: "\f60c"; } +.bi-volume-mute::before { content: "\f60d"; } +.bi-volume-off-fill::before { content: "\f60e"; } +.bi-volume-off::before { content: "\f60f"; } +.bi-volume-up-fill::before { content: "\f610"; } +.bi-volume-up::before { content: "\f611"; } +.bi-vr::before { content: "\f612"; } +.bi-wallet-fill::before { content: "\f613"; } +.bi-wallet::before { content: "\f614"; } +.bi-wallet2::before { content: "\f615"; } +.bi-watch::before { content: "\f616"; } +.bi-water::before { content: "\f617"; } +.bi-whatsapp::before { content: "\f618"; } +.bi-wifi-1::before { content: "\f619"; } +.bi-wifi-2::before { content: "\f61a"; } +.bi-wifi-off::before { content: "\f61b"; } +.bi-wifi::before { content: "\f61c"; } +.bi-wind::before { content: "\f61d"; } +.bi-window-dock::before { content: "\f61e"; } +.bi-window-sidebar::before { content: "\f61f"; } +.bi-window::before { content: "\f620"; } +.bi-wrench::before { content: "\f621"; } +.bi-x-circle-fill::before { content: "\f622"; } +.bi-x-circle::before { content: "\f623"; } +.bi-x-diamond-fill::before { content: "\f624"; } +.bi-x-diamond::before { content: "\f625"; } +.bi-x-octagon-fill::before { content: "\f626"; } +.bi-x-octagon::before { content: "\f627"; } +.bi-x-square-fill::before { content: "\f628"; } +.bi-x-square::before { content: "\f629"; } +.bi-x::before { content: "\f62a"; } +.bi-youtube::before { content: "\f62b"; } +.bi-zoom-in::before { content: "\f62c"; } +.bi-zoom-out::before { content: "\f62d"; } +.bi-bank::before { content: "\f62e"; } +.bi-bank2::before { content: "\f62f"; } +.bi-bell-slash-fill::before { content: "\f630"; } +.bi-bell-slash::before { content: "\f631"; } +.bi-cash-coin::before { content: "\f632"; } +.bi-check-lg::before { content: "\f633"; } +.bi-coin::before { content: "\f634"; } +.bi-currency-bitcoin::before { content: "\f635"; } +.bi-currency-dollar::before { content: "\f636"; } +.bi-currency-euro::before { content: "\f637"; } +.bi-currency-exchange::before { content: "\f638"; } +.bi-currency-pound::before { content: "\f639"; } +.bi-currency-yen::before { content: "\f63a"; } +.bi-dash-lg::before { content: "\f63b"; } +.bi-exclamation-lg::before { content: "\f63c"; } +.bi-file-earmark-pdf-fill::before { content: "\f63d"; } +.bi-file-earmark-pdf::before { content: "\f63e"; } +.bi-file-pdf-fill::before { content: "\f63f"; } +.bi-file-pdf::before { content: "\f640"; } +.bi-gender-ambiguous::before { content: "\f641"; } +.bi-gender-female::before { content: "\f642"; } +.bi-gender-male::before { content: "\f643"; } +.bi-gender-trans::before { content: "\f644"; } +.bi-headset-vr::before { content: "\f645"; } +.bi-info-lg::before { content: "\f646"; } +.bi-mastodon::before { content: "\f647"; } +.bi-messenger::before { content: "\f648"; } +.bi-piggy-bank-fill::before { content: "\f649"; } +.bi-piggy-bank::before { content: "\f64a"; } +.bi-pin-map-fill::before { content: "\f64b"; } +.bi-pin-map::before { content: "\f64c"; } +.bi-plus-lg::before { content: "\f64d"; } +.bi-question-lg::before { content: "\f64e"; } +.bi-recycle::before { content: "\f64f"; } +.bi-reddit::before { content: "\f650"; } +.bi-safe-fill::before { content: "\f651"; } +.bi-safe2-fill::before { content: "\f652"; } +.bi-safe2::before { content: "\f653"; } +.bi-sd-card-fill::before { content: "\f654"; } +.bi-sd-card::before { content: "\f655"; } +.bi-skype::before { content: "\f656"; } +.bi-slash-lg::before { content: "\f657"; } +.bi-translate::before { content: "\f658"; } +.bi-x-lg::before { content: "\f659"; } +.bi-safe::before { content: "\f65a"; } +.bi-apple::before { content: "\f65b"; } +.bi-microsoft::before { content: "\f65d"; } +.bi-windows::before { content: "\f65e"; } +.bi-behance::before { content: "\f65c"; } +.bi-dribbble::before { content: "\f65f"; } +.bi-line::before { content: "\f660"; } +.bi-medium::before { content: "\f661"; } +.bi-paypal::before { content: "\f662"; } +.bi-pinterest::before { content: "\f663"; } +.bi-signal::before { content: "\f664"; } +.bi-snapchat::before { content: "\f665"; } +.bi-spotify::before { content: "\f666"; } +.bi-stack-overflow::before { content: "\f667"; } +.bi-strava::before { content: "\f668"; } +.bi-wordpress::before { content: "\f669"; } +.bi-vimeo::before { content: "\f66a"; } +.bi-activity::before { content: "\f66b"; } +.bi-easel2-fill::before { content: "\f66c"; } +.bi-easel2::before { content: "\f66d"; } +.bi-easel3-fill::before { content: "\f66e"; } +.bi-easel3::before { content: "\f66f"; } +.bi-fan::before { content: "\f670"; } +.bi-fingerprint::before { content: "\f671"; } +.bi-graph-down-arrow::before { content: "\f672"; } +.bi-graph-up-arrow::before { content: "\f673"; } +.bi-hypnotize::before { content: "\f674"; } +.bi-magic::before { content: "\f675"; } +.bi-person-rolodex::before { content: "\f676"; } +.bi-person-video::before { content: "\f677"; } +.bi-person-video2::before { content: "\f678"; } +.bi-person-video3::before { content: "\f679"; } +.bi-person-workspace::before { content: "\f67a"; } +.bi-radioactive::before { content: "\f67b"; } +.bi-webcam-fill::before { content: "\f67c"; } +.bi-webcam::before { content: "\f67d"; } +.bi-yin-yang::before { content: "\f67e"; } +.bi-bandaid-fill::before { content: "\f680"; } +.bi-bandaid::before { content: "\f681"; } +.bi-bluetooth::before { content: "\f682"; } +.bi-body-text::before { content: "\f683"; } +.bi-boombox::before { content: "\f684"; } +.bi-boxes::before { content: "\f685"; } +.bi-dpad-fill::before { content: "\f686"; } +.bi-dpad::before { content: "\f687"; } +.bi-ear-fill::before { content: "\f688"; } +.bi-ear::before { content: "\f689"; } +.bi-envelope-check-fill::before { content: "\f68b"; } +.bi-envelope-check::before { content: "\f68c"; } +.bi-envelope-dash-fill::before { content: "\f68e"; } +.bi-envelope-dash::before { content: "\f68f"; } +.bi-envelope-exclamation-fill::before { content: "\f691"; } +.bi-envelope-exclamation::before { content: "\f692"; } +.bi-envelope-plus-fill::before { content: "\f693"; } +.bi-envelope-plus::before { content: "\f694"; } +.bi-envelope-slash-fill::before { content: "\f696"; } +.bi-envelope-slash::before { content: "\f697"; } +.bi-envelope-x-fill::before { content: "\f699"; } +.bi-envelope-x::before { content: "\f69a"; } +.bi-explicit-fill::before { content: "\f69b"; } +.bi-explicit::before { content: "\f69c"; } +.bi-git::before { content: "\f69d"; } +.bi-infinity::before { content: "\f69e"; } +.bi-list-columns-reverse::before { content: "\f69f"; } +.bi-list-columns::before { content: "\f6a0"; } +.bi-meta::before { content: "\f6a1"; } +.bi-nintendo-switch::before { content: "\f6a4"; } +.bi-pc-display-horizontal::before { content: "\f6a5"; } +.bi-pc-display::before { content: "\f6a6"; } +.bi-pc-horizontal::before { content: "\f6a7"; } +.bi-pc::before { content: "\f6a8"; } +.bi-playstation::before { content: "\f6a9"; } +.bi-plus-slash-minus::before { content: "\f6aa"; } +.bi-projector-fill::before { content: "\f6ab"; } +.bi-projector::before { content: "\f6ac"; } +.bi-qr-code-scan::before { content: "\f6ad"; } +.bi-qr-code::before { content: "\f6ae"; } +.bi-quora::before { content: "\f6af"; } +.bi-quote::before { content: "\f6b0"; } +.bi-robot::before { content: "\f6b1"; } +.bi-send-check-fill::before { content: "\f6b2"; } +.bi-send-check::before { content: "\f6b3"; } +.bi-send-dash-fill::before { content: "\f6b4"; } +.bi-send-dash::before { content: "\f6b5"; } +.bi-send-exclamation-fill::before { content: "\f6b7"; } +.bi-send-exclamation::before { content: "\f6b8"; } +.bi-send-fill::before { content: "\f6b9"; } +.bi-send-plus-fill::before { content: "\f6ba"; } +.bi-send-plus::before { content: "\f6bb"; } +.bi-send-slash-fill::before { content: "\f6bc"; } +.bi-send-slash::before { content: "\f6bd"; } +.bi-send-x-fill::before { content: "\f6be"; } +.bi-send-x::before { content: "\f6bf"; } +.bi-send::before { content: "\f6c0"; } +.bi-steam::before { content: "\f6c1"; } +.bi-terminal-dash::before { content: "\f6c3"; } +.bi-terminal-plus::before { content: "\f6c4"; } +.bi-terminal-split::before { content: "\f6c5"; } +.bi-ticket-detailed-fill::before { content: "\f6c6"; } +.bi-ticket-detailed::before { content: "\f6c7"; } +.bi-ticket-fill::before { content: "\f6c8"; } +.bi-ticket-perforated-fill::before { content: "\f6c9"; } +.bi-ticket-perforated::before { content: "\f6ca"; } +.bi-ticket::before { content: "\f6cb"; } +.bi-tiktok::before { content: "\f6cc"; } +.bi-window-dash::before { content: "\f6cd"; } +.bi-window-desktop::before { content: "\f6ce"; } +.bi-window-fullscreen::before { content: "\f6cf"; } +.bi-window-plus::before { content: "\f6d0"; } +.bi-window-split::before { content: "\f6d1"; } +.bi-window-stack::before { content: "\f6d2"; } +.bi-window-x::before { content: "\f6d3"; } +.bi-xbox::before { content: "\f6d4"; } +.bi-ethernet::before { content: "\f6d5"; } +.bi-hdmi-fill::before { content: "\f6d6"; } +.bi-hdmi::before { content: "\f6d7"; } +.bi-usb-c-fill::before { content: "\f6d8"; } +.bi-usb-c::before { content: "\f6d9"; } +.bi-usb-fill::before { content: "\f6da"; } +.bi-usb-plug-fill::before { content: "\f6db"; } +.bi-usb-plug::before { content: "\f6dc"; } +.bi-usb-symbol::before { content: "\f6dd"; } +.bi-usb::before { content: "\f6de"; } +.bi-boombox-fill::before { content: "\f6df"; } +.bi-displayport::before { content: "\f6e1"; } +.bi-gpu-card::before { content: "\f6e2"; } +.bi-memory::before { content: "\f6e3"; } +.bi-modem-fill::before { content: "\f6e4"; } +.bi-modem::before { content: "\f6e5"; } +.bi-motherboard-fill::before { content: "\f6e6"; } +.bi-motherboard::before { content: "\f6e7"; } +.bi-optical-audio-fill::before { content: "\f6e8"; } +.bi-optical-audio::before { content: "\f6e9"; } +.bi-pci-card::before { content: "\f6ea"; } +.bi-router-fill::before { content: "\f6eb"; } +.bi-router::before { content: "\f6ec"; } +.bi-thunderbolt-fill::before { content: "\f6ef"; } +.bi-thunderbolt::before { content: "\f6f0"; } +.bi-usb-drive-fill::before { content: "\f6f1"; } +.bi-usb-drive::before { content: "\f6f2"; } +.bi-usb-micro-fill::before { content: "\f6f3"; } +.bi-usb-micro::before { content: "\f6f4"; } +.bi-usb-mini-fill::before { content: "\f6f5"; } +.bi-usb-mini::before { content: "\f6f6"; } +.bi-cloud-haze2::before { content: "\f6f7"; } +.bi-device-hdd-fill::before { content: "\f6f8"; } +.bi-device-hdd::before { content: "\f6f9"; } +.bi-device-ssd-fill::before { content: "\f6fa"; } +.bi-device-ssd::before { content: "\f6fb"; } +.bi-displayport-fill::before { content: "\f6fc"; } +.bi-mortarboard-fill::before { content: "\f6fd"; } +.bi-mortarboard::before { content: "\f6fe"; } +.bi-terminal-x::before { content: "\f6ff"; } +.bi-arrow-through-heart-fill::before { content: "\f700"; } +.bi-arrow-through-heart::before { content: "\f701"; } +.bi-badge-sd-fill::before { content: "\f702"; } +.bi-badge-sd::before { content: "\f703"; } +.bi-bag-heart-fill::before { content: "\f704"; } +.bi-bag-heart::before { content: "\f705"; } +.bi-balloon-fill::before { content: "\f706"; } +.bi-balloon-heart-fill::before { content: "\f707"; } +.bi-balloon-heart::before { content: "\f708"; } +.bi-balloon::before { content: "\f709"; } +.bi-box2-fill::before { content: "\f70a"; } +.bi-box2-heart-fill::before { content: "\f70b"; } +.bi-box2-heart::before { content: "\f70c"; } +.bi-box2::before { content: "\f70d"; } +.bi-braces-asterisk::before { content: "\f70e"; } +.bi-calendar-heart-fill::before { content: "\f70f"; } +.bi-calendar-heart::before { content: "\f710"; } +.bi-calendar2-heart-fill::before { content: "\f711"; } +.bi-calendar2-heart::before { content: "\f712"; } +.bi-chat-heart-fill::before { content: "\f713"; } +.bi-chat-heart::before { content: "\f714"; } +.bi-chat-left-heart-fill::before { content: "\f715"; } +.bi-chat-left-heart::before { content: "\f716"; } +.bi-chat-right-heart-fill::before { content: "\f717"; } +.bi-chat-right-heart::before { content: "\f718"; } +.bi-chat-square-heart-fill::before { content: "\f719"; } +.bi-chat-square-heart::before { content: "\f71a"; } +.bi-clipboard-check-fill::before { content: "\f71b"; } +.bi-clipboard-data-fill::before { content: "\f71c"; } +.bi-clipboard-fill::before { content: "\f71d"; } +.bi-clipboard-heart-fill::before { content: "\f71e"; } +.bi-clipboard-heart::before { content: "\f71f"; } +.bi-clipboard-minus-fill::before { content: "\f720"; } +.bi-clipboard-plus-fill::before { content: "\f721"; } +.bi-clipboard-pulse::before { content: "\f722"; } +.bi-clipboard-x-fill::before { content: "\f723"; } +.bi-clipboard2-check-fill::before { content: "\f724"; } +.bi-clipboard2-check::before { content: "\f725"; } +.bi-clipboard2-data-fill::before { content: "\f726"; } +.bi-clipboard2-data::before { content: "\f727"; } +.bi-clipboard2-fill::before { content: "\f728"; } +.bi-clipboard2-heart-fill::before { content: "\f729"; } +.bi-clipboard2-heart::before { content: "\f72a"; } +.bi-clipboard2-minus-fill::before { content: "\f72b"; } +.bi-clipboard2-minus::before { content: "\f72c"; } +.bi-clipboard2-plus-fill::before { content: "\f72d"; } +.bi-clipboard2-plus::before { content: "\f72e"; } +.bi-clipboard2-pulse-fill::before { content: "\f72f"; } +.bi-clipboard2-pulse::before { content: "\f730"; } +.bi-clipboard2-x-fill::before { content: "\f731"; } +.bi-clipboard2-x::before { content: "\f732"; } +.bi-clipboard2::before { content: "\f733"; } +.bi-emoji-kiss-fill::before { content: "\f734"; } +.bi-emoji-kiss::before { content: "\f735"; } +.bi-envelope-heart-fill::before { content: "\f736"; } +.bi-envelope-heart::before { content: "\f737"; } +.bi-envelope-open-heart-fill::before { content: "\f738"; } +.bi-envelope-open-heart::before { content: "\f739"; } +.bi-envelope-paper-fill::before { content: "\f73a"; } +.bi-envelope-paper-heart-fill::before { content: "\f73b"; } +.bi-envelope-paper-heart::before { content: "\f73c"; } +.bi-envelope-paper::before { content: "\f73d"; } +.bi-filetype-aac::before { content: "\f73e"; } +.bi-filetype-ai::before { content: "\f73f"; } +.bi-filetype-bmp::before { content: "\f740"; } +.bi-filetype-cs::before { content: "\f741"; } +.bi-filetype-css::before { content: "\f742"; } +.bi-filetype-csv::before { content: "\f743"; } +.bi-filetype-doc::before { content: "\f744"; } +.bi-filetype-docx::before { content: "\f745"; } +.bi-filetype-exe::before { content: "\f746"; } +.bi-filetype-gif::before { content: "\f747"; } +.bi-filetype-heic::before { content: "\f748"; } +.bi-filetype-html::before { content: "\f749"; } +.bi-filetype-java::before { content: "\f74a"; } +.bi-filetype-jpg::before { content: "\f74b"; } +.bi-filetype-js::before { content: "\f74c"; } +.bi-filetype-jsx::before { content: "\f74d"; } +.bi-filetype-key::before { content: "\f74e"; } +.bi-filetype-m4p::before { content: "\f74f"; } +.bi-filetype-md::before { content: "\f750"; } +.bi-filetype-mdx::before { content: "\f751"; } +.bi-filetype-mov::before { content: "\f752"; } +.bi-filetype-mp3::before { content: "\f753"; } +.bi-filetype-mp4::before { content: "\f754"; } +.bi-filetype-otf::before { content: "\f755"; } +.bi-filetype-pdf::before { content: "\f756"; } +.bi-filetype-php::before { content: "\f757"; } +.bi-filetype-png::before { content: "\f758"; } +.bi-filetype-ppt::before { content: "\f75a"; } +.bi-filetype-psd::before { content: "\f75b"; } +.bi-filetype-py::before { content: "\f75c"; } +.bi-filetype-raw::before { content: "\f75d"; } +.bi-filetype-rb::before { content: "\f75e"; } +.bi-filetype-sass::before { content: "\f75f"; } +.bi-filetype-scss::before { content: "\f760"; } +.bi-filetype-sh::before { content: "\f761"; } +.bi-filetype-svg::before { content: "\f762"; } +.bi-filetype-tiff::before { content: "\f763"; } +.bi-filetype-tsx::before { content: "\f764"; } +.bi-filetype-ttf::before { content: "\f765"; } +.bi-filetype-txt::before { content: "\f766"; } +.bi-filetype-wav::before { content: "\f767"; } +.bi-filetype-woff::before { content: "\f768"; } +.bi-filetype-xls::before { content: "\f76a"; } +.bi-filetype-xml::before { content: "\f76b"; } +.bi-filetype-yml::before { content: "\f76c"; } +.bi-heart-arrow::before { content: "\f76d"; } +.bi-heart-pulse-fill::before { content: "\f76e"; } +.bi-heart-pulse::before { content: "\f76f"; } +.bi-heartbreak-fill::before { content: "\f770"; } +.bi-heartbreak::before { content: "\f771"; } +.bi-hearts::before { content: "\f772"; } +.bi-hospital-fill::before { content: "\f773"; } +.bi-hospital::before { content: "\f774"; } +.bi-house-heart-fill::before { content: "\f775"; } +.bi-house-heart::before { content: "\f776"; } +.bi-incognito::before { content: "\f777"; } +.bi-magnet-fill::before { content: "\f778"; } +.bi-magnet::before { content: "\f779"; } +.bi-person-heart::before { content: "\f77a"; } +.bi-person-hearts::before { content: "\f77b"; } +.bi-phone-flip::before { content: "\f77c"; } +.bi-plugin::before { content: "\f77d"; } +.bi-postage-fill::before { content: "\f77e"; } +.bi-postage-heart-fill::before { content: "\f77f"; } +.bi-postage-heart::before { content: "\f780"; } +.bi-postage::before { content: "\f781"; } +.bi-postcard-fill::before { content: "\f782"; } +.bi-postcard-heart-fill::before { content: "\f783"; } +.bi-postcard-heart::before { content: "\f784"; } +.bi-postcard::before { content: "\f785"; } +.bi-search-heart-fill::before { content: "\f786"; } +.bi-search-heart::before { content: "\f787"; } +.bi-sliders2-vertical::before { content: "\f788"; } +.bi-sliders2::before { content: "\f789"; } +.bi-trash3-fill::before { content: "\f78a"; } +.bi-trash3::before { content: "\f78b"; } +.bi-valentine::before { content: "\f78c"; } +.bi-valentine2::before { content: "\f78d"; } +.bi-wrench-adjustable-circle-fill::before { content: "\f78e"; } +.bi-wrench-adjustable-circle::before { content: "\f78f"; } +.bi-wrench-adjustable::before { content: "\f790"; } +.bi-filetype-json::before { content: "\f791"; } +.bi-filetype-pptx::before { content: "\f792"; } +.bi-filetype-xlsx::before { content: "\f793"; } +.bi-1-circle-fill::before { content: "\f796"; } +.bi-1-circle::before { content: "\f797"; } +.bi-1-square-fill::before { content: "\f798"; } +.bi-1-square::before { content: "\f799"; } +.bi-2-circle-fill::before { content: "\f79c"; } +.bi-2-circle::before { content: "\f79d"; } +.bi-2-square-fill::before { content: "\f79e"; } +.bi-2-square::before { content: "\f79f"; } +.bi-3-circle-fill::before { content: "\f7a2"; } +.bi-3-circle::before { content: "\f7a3"; } +.bi-3-square-fill::before { content: "\f7a4"; } +.bi-3-square::before { content: "\f7a5"; } +.bi-4-circle-fill::before { content: "\f7a8"; } +.bi-4-circle::before { content: "\f7a9"; } +.bi-4-square-fill::before { content: "\f7aa"; } +.bi-4-square::before { content: "\f7ab"; } +.bi-5-circle-fill::before { content: "\f7ae"; } +.bi-5-circle::before { content: "\f7af"; } +.bi-5-square-fill::before { content: "\f7b0"; } +.bi-5-square::before { content: "\f7b1"; } +.bi-6-circle-fill::before { content: "\f7b4"; } +.bi-6-circle::before { content: "\f7b5"; } +.bi-6-square-fill::before { content: "\f7b6"; } +.bi-6-square::before { content: "\f7b7"; } +.bi-7-circle-fill::before { content: "\f7ba"; } +.bi-7-circle::before { content: "\f7bb"; } +.bi-7-square-fill::before { content: "\f7bc"; } +.bi-7-square::before { content: "\f7bd"; } +.bi-8-circle-fill::before { content: "\f7c0"; } +.bi-8-circle::before { content: "\f7c1"; } +.bi-8-square-fill::before { content: "\f7c2"; } +.bi-8-square::before { content: "\f7c3"; } +.bi-9-circle-fill::before { content: "\f7c6"; } +.bi-9-circle::before { content: "\f7c7"; } +.bi-9-square-fill::before { content: "\f7c8"; } +.bi-9-square::before { content: "\f7c9"; } +.bi-airplane-engines-fill::before { content: "\f7ca"; } +.bi-airplane-engines::before { content: "\f7cb"; } +.bi-airplane-fill::before { content: "\f7cc"; } +.bi-airplane::before { content: "\f7cd"; } +.bi-alexa::before { content: "\f7ce"; } +.bi-alipay::before { content: "\f7cf"; } +.bi-android::before { content: "\f7d0"; } +.bi-android2::before { content: "\f7d1"; } +.bi-box-fill::before { content: "\f7d2"; } +.bi-box-seam-fill::before { content: "\f7d3"; } +.bi-browser-chrome::before { content: "\f7d4"; } +.bi-browser-edge::before { content: "\f7d5"; } +.bi-browser-firefox::before { content: "\f7d6"; } +.bi-browser-safari::before { content: "\f7d7"; } +.bi-c-circle-fill::before { content: "\f7da"; } +.bi-c-circle::before { content: "\f7db"; } +.bi-c-square-fill::before { content: "\f7dc"; } +.bi-c-square::before { content: "\f7dd"; } +.bi-capsule-pill::before { content: "\f7de"; } +.bi-capsule::before { content: "\f7df"; } +.bi-car-front-fill::before { content: "\f7e0"; } +.bi-car-front::before { content: "\f7e1"; } +.bi-cassette-fill::before { content: "\f7e2"; } +.bi-cassette::before { content: "\f7e3"; } +.bi-cc-circle-fill::before { content: "\f7e6"; } +.bi-cc-circle::before { content: "\f7e7"; } +.bi-cc-square-fill::before { content: "\f7e8"; } +.bi-cc-square::before { content: "\f7e9"; } +.bi-cup-hot-fill::before { content: "\f7ea"; } +.bi-cup-hot::before { content: "\f7eb"; } +.bi-currency-rupee::before { content: "\f7ec"; } +.bi-dropbox::before { content: "\f7ed"; } +.bi-escape::before { content: "\f7ee"; } +.bi-fast-forward-btn-fill::before { content: "\f7ef"; } +.bi-fast-forward-btn::before { content: "\f7f0"; } +.bi-fast-forward-circle-fill::before { content: "\f7f1"; } +.bi-fast-forward-circle::before { content: "\f7f2"; } +.bi-fast-forward-fill::before { content: "\f7f3"; } +.bi-fast-forward::before { content: "\f7f4"; } +.bi-filetype-sql::before { content: "\f7f5"; } +.bi-fire::before { content: "\f7f6"; } +.bi-google-play::before { content: "\f7f7"; } +.bi-h-circle-fill::before { content: "\f7fa"; } +.bi-h-circle::before { content: "\f7fb"; } +.bi-h-square-fill::before { content: "\f7fc"; } +.bi-h-square::before { content: "\f7fd"; } +.bi-indent::before { content: "\f7fe"; } +.bi-lungs-fill::before { content: "\f7ff"; } +.bi-lungs::before { content: "\f800"; } +.bi-microsoft-teams::before { content: "\f801"; } +.bi-p-circle-fill::before { content: "\f804"; } +.bi-p-circle::before { content: "\f805"; } +.bi-p-square-fill::before { content: "\f806"; } +.bi-p-square::before { content: "\f807"; } +.bi-pass-fill::before { content: "\f808"; } +.bi-pass::before { content: "\f809"; } +.bi-prescription::before { content: "\f80a"; } +.bi-prescription2::before { content: "\f80b"; } +.bi-r-circle-fill::before { content: "\f80e"; } +.bi-r-circle::before { content: "\f80f"; } +.bi-r-square-fill::before { content: "\f810"; } +.bi-r-square::before { content: "\f811"; } +.bi-repeat-1::before { content: "\f812"; } +.bi-repeat::before { content: "\f813"; } +.bi-rewind-btn-fill::before { content: "\f814"; } +.bi-rewind-btn::before { content: "\f815"; } +.bi-rewind-circle-fill::before { content: "\f816"; } +.bi-rewind-circle::before { content: "\f817"; } +.bi-rewind-fill::before { content: "\f818"; } +.bi-rewind::before { content: "\f819"; } +.bi-train-freight-front-fill::before { content: "\f81a"; } +.bi-train-freight-front::before { content: "\f81b"; } +.bi-train-front-fill::before { content: "\f81c"; } +.bi-train-front::before { content: "\f81d"; } +.bi-train-lightrail-front-fill::before { content: "\f81e"; } +.bi-train-lightrail-front::before { content: "\f81f"; } +.bi-truck-front-fill::before { content: "\f820"; } +.bi-truck-front::before { content: "\f821"; } +.bi-ubuntu::before { content: "\f822"; } +.bi-unindent::before { content: "\f823"; } +.bi-unity::before { content: "\f824"; } +.bi-universal-access-circle::before { content: "\f825"; } +.bi-universal-access::before { content: "\f826"; } +.bi-virus::before { content: "\f827"; } +.bi-virus2::before { content: "\f828"; } +.bi-wechat::before { content: "\f829"; } +.bi-yelp::before { content: "\f82a"; } +.bi-sign-stop-fill::before { content: "\f82b"; } +.bi-sign-stop-lights-fill::before { content: "\f82c"; } +.bi-sign-stop-lights::before { content: "\f82d"; } +.bi-sign-stop::before { content: "\f82e"; } +.bi-sign-turn-left-fill::before { content: "\f82f"; } +.bi-sign-turn-left::before { content: "\f830"; } +.bi-sign-turn-right-fill::before { content: "\f831"; } +.bi-sign-turn-right::before { content: "\f832"; } +.bi-sign-turn-slight-left-fill::before { content: "\f833"; } +.bi-sign-turn-slight-left::before { content: "\f834"; } +.bi-sign-turn-slight-right-fill::before { content: "\f835"; } +.bi-sign-turn-slight-right::before { content: "\f836"; } +.bi-sign-yield-fill::before { content: "\f837"; } +.bi-sign-yield::before { content: "\f838"; } +.bi-ev-station-fill::before { content: "\f839"; } +.bi-ev-station::before { content: "\f83a"; } +.bi-fuel-pump-diesel-fill::before { content: "\f83b"; } +.bi-fuel-pump-diesel::before { content: "\f83c"; } +.bi-fuel-pump-fill::before { content: "\f83d"; } +.bi-fuel-pump::before { content: "\f83e"; } +.bi-0-circle-fill::before { content: "\f83f"; } +.bi-0-circle::before { content: "\f840"; } +.bi-0-square-fill::before { content: "\f841"; } +.bi-0-square::before { content: "\f842"; } +.bi-rocket-fill::before { content: "\f843"; } +.bi-rocket-takeoff-fill::before { content: "\f844"; } +.bi-rocket-takeoff::before { content: "\f845"; } +.bi-rocket::before { content: "\f846"; } +.bi-stripe::before { content: "\f847"; } +.bi-subscript::before { content: "\f848"; } +.bi-superscript::before { content: "\f849"; } +.bi-trello::before { content: "\f84a"; } +.bi-envelope-at-fill::before { content: "\f84b"; } +.bi-envelope-at::before { content: "\f84c"; } +.bi-regex::before { content: "\f84d"; } +.bi-text-wrap::before { content: "\f84e"; } +.bi-sign-dead-end-fill::before { content: "\f84f"; } +.bi-sign-dead-end::before { content: "\f850"; } +.bi-sign-do-not-enter-fill::before { content: "\f851"; } +.bi-sign-do-not-enter::before { content: "\f852"; } +.bi-sign-intersection-fill::before { content: "\f853"; } +.bi-sign-intersection-side-fill::before { content: "\f854"; } +.bi-sign-intersection-side::before { content: "\f855"; } +.bi-sign-intersection-t-fill::before { content: "\f856"; } +.bi-sign-intersection-t::before { content: "\f857"; } +.bi-sign-intersection-y-fill::before { content: "\f858"; } +.bi-sign-intersection-y::before { content: "\f859"; } +.bi-sign-intersection::before { content: "\f85a"; } +.bi-sign-merge-left-fill::before { content: "\f85b"; } +.bi-sign-merge-left::before { content: "\f85c"; } +.bi-sign-merge-right-fill::before { content: "\f85d"; } +.bi-sign-merge-right::before { content: "\f85e"; } +.bi-sign-no-left-turn-fill::before { content: "\f85f"; } +.bi-sign-no-left-turn::before { content: "\f860"; } +.bi-sign-no-parking-fill::before { content: "\f861"; } +.bi-sign-no-parking::before { content: "\f862"; } +.bi-sign-no-right-turn-fill::before { content: "\f863"; } +.bi-sign-no-right-turn::before { content: "\f864"; } +.bi-sign-railroad-fill::before { content: "\f865"; } +.bi-sign-railroad::before { content: "\f866"; } +.bi-building-add::before { content: "\f867"; } +.bi-building-check::before { content: "\f868"; } +.bi-building-dash::before { content: "\f869"; } +.bi-building-down::before { content: "\f86a"; } +.bi-building-exclamation::before { content: "\f86b"; } +.bi-building-fill-add::before { content: "\f86c"; } +.bi-building-fill-check::before { content: "\f86d"; } +.bi-building-fill-dash::before { content: "\f86e"; } +.bi-building-fill-down::before { content: "\f86f"; } +.bi-building-fill-exclamation::before { content: "\f870"; } +.bi-building-fill-gear::before { content: "\f871"; } +.bi-building-fill-lock::before { content: "\f872"; } +.bi-building-fill-slash::before { content: "\f873"; } +.bi-building-fill-up::before { content: "\f874"; } +.bi-building-fill-x::before { content: "\f875"; } +.bi-building-fill::before { content: "\f876"; } +.bi-building-gear::before { content: "\f877"; } +.bi-building-lock::before { content: "\f878"; } +.bi-building-slash::before { content: "\f879"; } +.bi-building-up::before { content: "\f87a"; } +.bi-building-x::before { content: "\f87b"; } +.bi-buildings-fill::before { content: "\f87c"; } +.bi-buildings::before { content: "\f87d"; } +.bi-bus-front-fill::before { content: "\f87e"; } +.bi-bus-front::before { content: "\f87f"; } +.bi-ev-front-fill::before { content: "\f880"; } +.bi-ev-front::before { content: "\f881"; } +.bi-globe-americas::before { content: "\f882"; } +.bi-globe-asia-australia::before { content: "\f883"; } +.bi-globe-central-south-asia::before { content: "\f884"; } +.bi-globe-europe-africa::before { content: "\f885"; } +.bi-house-add-fill::before { content: "\f886"; } +.bi-house-add::before { content: "\f887"; } +.bi-house-check-fill::before { content: "\f888"; } +.bi-house-check::before { content: "\f889"; } +.bi-house-dash-fill::before { content: "\f88a"; } +.bi-house-dash::before { content: "\f88b"; } +.bi-house-down-fill::before { content: "\f88c"; } +.bi-house-down::before { content: "\f88d"; } +.bi-house-exclamation-fill::before { content: "\f88e"; } +.bi-house-exclamation::before { content: "\f88f"; } +.bi-house-gear-fill::before { content: "\f890"; } +.bi-house-gear::before { content: "\f891"; } +.bi-house-lock-fill::before { content: "\f892"; } +.bi-house-lock::before { content: "\f893"; } +.bi-house-slash-fill::before { content: "\f894"; } +.bi-house-slash::before { content: "\f895"; } +.bi-house-up-fill::before { content: "\f896"; } +.bi-house-up::before { content: "\f897"; } +.bi-house-x-fill::before { content: "\f898"; } +.bi-house-x::before { content: "\f899"; } +.bi-person-add::before { content: "\f89a"; } +.bi-person-down::before { content: "\f89b"; } +.bi-person-exclamation::before { content: "\f89c"; } +.bi-person-fill-add::before { content: "\f89d"; } +.bi-person-fill-check::before { content: "\f89e"; } +.bi-person-fill-dash::before { content: "\f89f"; } +.bi-person-fill-down::before { content: "\f8a0"; } +.bi-person-fill-exclamation::before { content: "\f8a1"; } +.bi-person-fill-gear::before { content: "\f8a2"; } +.bi-person-fill-lock::before { content: "\f8a3"; } +.bi-person-fill-slash::before { content: "\f8a4"; } +.bi-person-fill-up::before { content: "\f8a5"; } +.bi-person-fill-x::before { content: "\f8a6"; } +.bi-person-gear::before { content: "\f8a7"; } +.bi-person-lock::before { content: "\f8a8"; } +.bi-person-slash::before { content: "\f8a9"; } +.bi-person-up::before { content: "\f8aa"; } +.bi-scooter::before { content: "\f8ab"; } +.bi-taxi-front-fill::before { content: "\f8ac"; } +.bi-taxi-front::before { content: "\f8ad"; } +.bi-amd::before { content: "\f8ae"; } +.bi-database-add::before { content: "\f8af"; } +.bi-database-check::before { content: "\f8b0"; } +.bi-database-dash::before { content: "\f8b1"; } +.bi-database-down::before { content: "\f8b2"; } +.bi-database-exclamation::before { content: "\f8b3"; } +.bi-database-fill-add::before { content: "\f8b4"; } +.bi-database-fill-check::before { content: "\f8b5"; } +.bi-database-fill-dash::before { content: "\f8b6"; } +.bi-database-fill-down::before { content: "\f8b7"; } +.bi-database-fill-exclamation::before { content: "\f8b8"; } +.bi-database-fill-gear::before { content: "\f8b9"; } +.bi-database-fill-lock::before { content: "\f8ba"; } +.bi-database-fill-slash::before { content: "\f8bb"; } +.bi-database-fill-up::before { content: "\f8bc"; } +.bi-database-fill-x::before { content: "\f8bd"; } +.bi-database-fill::before { content: "\f8be"; } +.bi-database-gear::before { content: "\f8bf"; } +.bi-database-lock::before { content: "\f8c0"; } +.bi-database-slash::before { content: "\f8c1"; } +.bi-database-up::before { content: "\f8c2"; } +.bi-database-x::before { content: "\f8c3"; } +.bi-database::before { content: "\f8c4"; } +.bi-houses-fill::before { content: "\f8c5"; } +.bi-houses::before { content: "\f8c6"; } +.bi-nvidia::before { content: "\f8c7"; } +.bi-person-vcard-fill::before { content: "\f8c8"; } +.bi-person-vcard::before { content: "\f8c9"; } +.bi-sina-weibo::before { content: "\f8ca"; } +.bi-tencent-qq::before { content: "\f8cb"; } +.bi-wikipedia::before { content: "\f8cc"; } +.bi-alphabet-uppercase::before { content: "\f2a5"; } +.bi-alphabet::before { content: "\f68a"; } +.bi-amazon::before { content: "\f68d"; } +.bi-arrows-collapse-vertical::before { content: "\f690"; } +.bi-arrows-expand-vertical::before { content: "\f695"; } +.bi-arrows-vertical::before { content: "\f698"; } +.bi-arrows::before { content: "\f6a2"; } +.bi-ban-fill::before { content: "\f6a3"; } +.bi-ban::before { content: "\f6b6"; } +.bi-bing::before { content: "\f6c2"; } +.bi-cake::before { content: "\f6e0"; } +.bi-cake2::before { content: "\f6ed"; } +.bi-cookie::before { content: "\f6ee"; } +.bi-copy::before { content: "\f759"; } +.bi-crosshair::before { content: "\f769"; } +.bi-crosshair2::before { content: "\f794"; } +.bi-emoji-astonished-fill::before { content: "\f795"; } +.bi-emoji-astonished::before { content: "\f79a"; } +.bi-emoji-grimace-fill::before { content: "\f79b"; } +.bi-emoji-grimace::before { content: "\f7a0"; } +.bi-emoji-grin-fill::before { content: "\f7a1"; } +.bi-emoji-grin::before { content: "\f7a6"; } +.bi-emoji-surprise-fill::before { content: "\f7a7"; } +.bi-emoji-surprise::before { content: "\f7ac"; } +.bi-emoji-tear-fill::before { content: "\f7ad"; } +.bi-emoji-tear::before { content: "\f7b2"; } +.bi-envelope-arrow-down-fill::before { content: "\f7b3"; } +.bi-envelope-arrow-down::before { content: "\f7b8"; } +.bi-envelope-arrow-up-fill::before { content: "\f7b9"; } +.bi-envelope-arrow-up::before { content: "\f7be"; } +.bi-feather::before { content: "\f7bf"; } +.bi-feather2::before { content: "\f7c4"; } +.bi-floppy-fill::before { content: "\f7c5"; } +.bi-floppy::before { content: "\f7d8"; } +.bi-floppy2-fill::before { content: "\f7d9"; } +.bi-floppy2::before { content: "\f7e4"; } +.bi-gitlab::before { content: "\f7e5"; } +.bi-highlighter::before { content: "\f7f8"; } +.bi-marker-tip::before { content: "\f802"; } +.bi-nvme-fill::before { content: "\f803"; } +.bi-nvme::before { content: "\f80c"; } +.bi-opencollective::before { content: "\f80d"; } +.bi-pci-card-network::before { content: "\f8cd"; } +.bi-pci-card-sound::before { content: "\f8ce"; } +.bi-radar::before { content: "\f8cf"; } +.bi-send-arrow-down-fill::before { content: "\f8d0"; } +.bi-send-arrow-down::before { content: "\f8d1"; } +.bi-send-arrow-up-fill::before { content: "\f8d2"; } +.bi-send-arrow-up::before { content: "\f8d3"; } +.bi-sim-slash-fill::before { content: "\f8d4"; } +.bi-sim-slash::before { content: "\f8d5"; } +.bi-sourceforge::before { content: "\f8d6"; } +.bi-substack::before { content: "\f8d7"; } +.bi-threads-fill::before { content: "\f8d8"; } +.bi-threads::before { content: "\f8d9"; } +.bi-transparency::before { content: "\f8da"; } +.bi-twitter-x::before { content: "\f8db"; } +.bi-type-h4::before { content: "\f8dc"; } +.bi-type-h5::before { content: "\f8dd"; } +.bi-type-h6::before { content: "\f8de"; } +.bi-backpack-fill::before { content: "\f8df"; } +.bi-backpack::before { content: "\f8e0"; } +.bi-backpack2-fill::before { content: "\f8e1"; } +.bi-backpack2::before { content: "\f8e2"; } +.bi-backpack3-fill::before { content: "\f8e3"; } +.bi-backpack3::before { content: "\f8e4"; } +.bi-backpack4-fill::before { content: "\f8e5"; } +.bi-backpack4::before { content: "\f8e6"; } +.bi-brilliance::before { content: "\f8e7"; } +.bi-cake-fill::before { content: "\f8e8"; } +.bi-cake2-fill::before { content: "\f8e9"; } +.bi-duffle-fill::before { content: "\f8ea"; } +.bi-duffle::before { content: "\f8eb"; } +.bi-exposure::before { content: "\f8ec"; } +.bi-gender-neuter::before { content: "\f8ed"; } +.bi-highlights::before { content: "\f8ee"; } +.bi-luggage-fill::before { content: "\f8ef"; } +.bi-luggage::before { content: "\f8f0"; } +.bi-mailbox-flag::before { content: "\f8f1"; } +.bi-mailbox2-flag::before { content: "\f8f2"; } +.bi-noise-reduction::before { content: "\f8f3"; } +.bi-passport-fill::before { content: "\f8f4"; } +.bi-passport::before { content: "\f8f5"; } +.bi-person-arms-up::before { content: "\f8f6"; } +.bi-person-raised-hand::before { content: "\f8f7"; } +.bi-person-standing-dress::before { content: "\f8f8"; } +.bi-person-standing::before { content: "\f8f9"; } +.bi-person-walking::before { content: "\f8fa"; } +.bi-person-wheelchair::before { content: "\f8fb"; } +.bi-shadows::before { content: "\f8fc"; } +.bi-suitcase-fill::before { content: "\f8fd"; } +.bi-suitcase-lg-fill::before { content: "\f8fe"; } +.bi-suitcase-lg::before { content: "\f8ff"; } +.bi-suitcase::before { content: "\f900"; } +.bi-suitcase2-fill::before { content: "\f901"; } +.bi-suitcase2::before { content: "\f902"; } +.bi-vignette::before { content: "\f903"; } diff --git a/quarto-py-shinylive/index_files/libs/bootstrap/bootstrap-icons.woff b/quarto-py-shinylive/index_files/libs/bootstrap/bootstrap-icons.woff new file mode 100644 index 0000000..dbeeb05 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/bootstrap/bootstrap-icons.woff differ diff --git a/quarto-py-shinylive/index_files/libs/bootstrap/bootstrap.min.css b/quarto-py-shinylive/index_files/libs/bootstrap/bootstrap.min.css new file mode 100644 index 0000000..16c7815 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/bootstrap/bootstrap.min.css @@ -0,0 +1,12 @@ +/*! + * Bootstrap v5.3.1 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #ffffff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-default: #dee2e6;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-default-rgb: 222, 226, 230;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #052c65;--bs-secondary-text-emphasis: #2b2f32;--bs-success-text-emphasis: #0a3622;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #664d03;--bs-danger-text-emphasis: #58151c;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #cfe2ff;--bs-secondary-bg-subtle: #e2e3e5;--bs-success-bg-subtle: #d1e7dd;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fff3cd;--bs-danger-bg-subtle: #f8d7da;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #9ec5fe;--bs-secondary-border-subtle: #c4c8cb;--bs-success-border-subtle: #a3cfbb;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #ffe69c;--bs-danger-border-subtle: #f1aeb5;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-root-font-size: 17px;--bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #ffffff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0d6efd;--bs-link-color-rgb: 13, 110, 253;--bs-link-decoration: underline;--bs-link-hover-color: #0a58ca;--bs-link-hover-color-rgb: 10, 88, 202;--bs-code-color: #7d12ba;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, 0.175);--bs-border-radius: 0.375rem;--bs-border-radius-sm: 0.25rem;--bs-border-radius-lg: 0.5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width: 0.25rem;--bs-focus-ring-opacity: 0.25;--bs-focus-ring-color: rgba(13, 110, 253, 0.25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #ffffff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6ea8fe;--bs-secondary-text-emphasis: #a7acb1;--bs-success-text-emphasis: #75b798;--bs-info-text-emphasis: #6edff6;--bs-warning-text-emphasis: #ffda6a;--bs-danger-text-emphasis: #ea868f;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #031633;--bs-secondary-bg-subtle: #161719;--bs-success-bg-subtle: #051b11;--bs-info-bg-subtle: #032830;--bs-warning-bg-subtle: #332701;--bs-danger-bg-subtle: #2c0b0e;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #084298;--bs-secondary-border-subtle: #41464b;--bs-success-border-subtle: #0f5132;--bs-info-border-subtle: #087990;--bs-warning-border-subtle: #997404;--bs-danger-border-subtle: #842029;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6ea8fe;--bs-link-hover-color: #8bb9fe;--bs-link-color-rgb: 110, 168, 254;--bs-link-hover-color-rgb: 139, 185, 254;--bs-code-color: white;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, 0.15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*::before,*::after{box-sizing:border-box}:root{font-size:var(--bs-root-font-size)}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.325rem + 0.9vw)}@media(min-width: 1200px){h1,.h1{font-size:2rem}}h2,.h2{font-size:calc(1.29rem + 0.48vw)}@media(min-width: 1200px){h2,.h2{font-size:1.65rem}}h3,.h3{font-size:calc(1.27rem + 0.24vw)}@media(min-width: 1200px){h3,.h3{font-size:1.45rem}}h4,.h4{font-size:1.25rem}h5,.h5{font-size:1.1rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.625rem 1.25rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:0.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.875em;color:#000;background-color:#f8f9fa;padding:.5rem;border:1px solid var(--bs-border-color, #dee2e6);border-radius:.375rem}pre code{background-color:rgba(0,0,0,0);font-size:inherit;color:inherit;word-break:normal}code{font-size:0.875em;color:var(--bs-code-color);background-color:#f8f9fa;border-radius:.375rem;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.4rem .4rem;font-size:0.875em;color:#fff;background-color:#212529;border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:rgba(33,37,41,.75);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + 0.3vw);line-height:inherit}@media(min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:0.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:0.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:0.875em;color:rgba(33,37,41,.75)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media(min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.grid{display:grid;grid-template-rows:repeat(var(--bs-rows, 1), 1fr);grid-template-columns:repeat(var(--bs-columns, 12), 1fr);gap:var(--bs-gap, 1.5rem)}.grid .g-col-1{grid-column:auto/span 1}.grid .g-col-2{grid-column:auto/span 2}.grid .g-col-3{grid-column:auto/span 3}.grid .g-col-4{grid-column:auto/span 4}.grid .g-col-5{grid-column:auto/span 5}.grid .g-col-6{grid-column:auto/span 6}.grid .g-col-7{grid-column:auto/span 7}.grid .g-col-8{grid-column:auto/span 8}.grid .g-col-9{grid-column:auto/span 9}.grid .g-col-10{grid-column:auto/span 10}.grid .g-col-11{grid-column:auto/span 11}.grid .g-col-12{grid-column:auto/span 12}.grid .g-start-1{grid-column-start:1}.grid .g-start-2{grid-column-start:2}.grid .g-start-3{grid-column-start:3}.grid .g-start-4{grid-column-start:4}.grid .g-start-5{grid-column-start:5}.grid .g-start-6{grid-column-start:6}.grid .g-start-7{grid-column-start:7}.grid .g-start-8{grid-column-start:8}.grid .g-start-9{grid-column-start:9}.grid .g-start-10{grid-column-start:10}.grid .g-start-11{grid-column-start:11}@media(min-width: 576px){.grid .g-col-sm-1{grid-column:auto/span 1}.grid .g-col-sm-2{grid-column:auto/span 2}.grid .g-col-sm-3{grid-column:auto/span 3}.grid .g-col-sm-4{grid-column:auto/span 4}.grid .g-col-sm-5{grid-column:auto/span 5}.grid .g-col-sm-6{grid-column:auto/span 6}.grid .g-col-sm-7{grid-column:auto/span 7}.grid .g-col-sm-8{grid-column:auto/span 8}.grid .g-col-sm-9{grid-column:auto/span 9}.grid .g-col-sm-10{grid-column:auto/span 10}.grid .g-col-sm-11{grid-column:auto/span 11}.grid .g-col-sm-12{grid-column:auto/span 12}.grid .g-start-sm-1{grid-column-start:1}.grid .g-start-sm-2{grid-column-start:2}.grid .g-start-sm-3{grid-column-start:3}.grid .g-start-sm-4{grid-column-start:4}.grid .g-start-sm-5{grid-column-start:5}.grid .g-start-sm-6{grid-column-start:6}.grid .g-start-sm-7{grid-column-start:7}.grid .g-start-sm-8{grid-column-start:8}.grid .g-start-sm-9{grid-column-start:9}.grid .g-start-sm-10{grid-column-start:10}.grid .g-start-sm-11{grid-column-start:11}}@media(min-width: 768px){.grid .g-col-md-1{grid-column:auto/span 1}.grid .g-col-md-2{grid-column:auto/span 2}.grid .g-col-md-3{grid-column:auto/span 3}.grid .g-col-md-4{grid-column:auto/span 4}.grid .g-col-md-5{grid-column:auto/span 5}.grid .g-col-md-6{grid-column:auto/span 6}.grid .g-col-md-7{grid-column:auto/span 7}.grid .g-col-md-8{grid-column:auto/span 8}.grid .g-col-md-9{grid-column:auto/span 9}.grid .g-col-md-10{grid-column:auto/span 10}.grid .g-col-md-11{grid-column:auto/span 11}.grid .g-col-md-12{grid-column:auto/span 12}.grid .g-start-md-1{grid-column-start:1}.grid .g-start-md-2{grid-column-start:2}.grid .g-start-md-3{grid-column-start:3}.grid .g-start-md-4{grid-column-start:4}.grid .g-start-md-5{grid-column-start:5}.grid .g-start-md-6{grid-column-start:6}.grid .g-start-md-7{grid-column-start:7}.grid .g-start-md-8{grid-column-start:8}.grid .g-start-md-9{grid-column-start:9}.grid .g-start-md-10{grid-column-start:10}.grid .g-start-md-11{grid-column-start:11}}@media(min-width: 992px){.grid .g-col-lg-1{grid-column:auto/span 1}.grid .g-col-lg-2{grid-column:auto/span 2}.grid .g-col-lg-3{grid-column:auto/span 3}.grid .g-col-lg-4{grid-column:auto/span 4}.grid .g-col-lg-5{grid-column:auto/span 5}.grid .g-col-lg-6{grid-column:auto/span 6}.grid .g-col-lg-7{grid-column:auto/span 7}.grid .g-col-lg-8{grid-column:auto/span 8}.grid .g-col-lg-9{grid-column:auto/span 9}.grid .g-col-lg-10{grid-column:auto/span 10}.grid .g-col-lg-11{grid-column:auto/span 11}.grid .g-col-lg-12{grid-column:auto/span 12}.grid .g-start-lg-1{grid-column-start:1}.grid .g-start-lg-2{grid-column-start:2}.grid .g-start-lg-3{grid-column-start:3}.grid .g-start-lg-4{grid-column-start:4}.grid .g-start-lg-5{grid-column-start:5}.grid .g-start-lg-6{grid-column-start:6}.grid .g-start-lg-7{grid-column-start:7}.grid .g-start-lg-8{grid-column-start:8}.grid .g-start-lg-9{grid-column-start:9}.grid .g-start-lg-10{grid-column-start:10}.grid .g-start-lg-11{grid-column-start:11}}@media(min-width: 1200px){.grid .g-col-xl-1{grid-column:auto/span 1}.grid .g-col-xl-2{grid-column:auto/span 2}.grid .g-col-xl-3{grid-column:auto/span 3}.grid .g-col-xl-4{grid-column:auto/span 4}.grid .g-col-xl-5{grid-column:auto/span 5}.grid .g-col-xl-6{grid-column:auto/span 6}.grid .g-col-xl-7{grid-column:auto/span 7}.grid .g-col-xl-8{grid-column:auto/span 8}.grid .g-col-xl-9{grid-column:auto/span 9}.grid .g-col-xl-10{grid-column:auto/span 10}.grid .g-col-xl-11{grid-column:auto/span 11}.grid .g-col-xl-12{grid-column:auto/span 12}.grid .g-start-xl-1{grid-column-start:1}.grid .g-start-xl-2{grid-column-start:2}.grid .g-start-xl-3{grid-column-start:3}.grid .g-start-xl-4{grid-column-start:4}.grid .g-start-xl-5{grid-column-start:5}.grid .g-start-xl-6{grid-column-start:6}.grid .g-start-xl-7{grid-column-start:7}.grid .g-start-xl-8{grid-column-start:8}.grid .g-start-xl-9{grid-column-start:9}.grid .g-start-xl-10{grid-column-start:10}.grid .g-start-xl-11{grid-column-start:11}}@media(min-width: 1400px){.grid .g-col-xxl-1{grid-column:auto/span 1}.grid .g-col-xxl-2{grid-column:auto/span 2}.grid .g-col-xxl-3{grid-column:auto/span 3}.grid .g-col-xxl-4{grid-column:auto/span 4}.grid .g-col-xxl-5{grid-column:auto/span 5}.grid .g-col-xxl-6{grid-column:auto/span 6}.grid .g-col-xxl-7{grid-column:auto/span 7}.grid .g-col-xxl-8{grid-column:auto/span 8}.grid .g-col-xxl-9{grid-column:auto/span 9}.grid .g-col-xxl-10{grid-column:auto/span 10}.grid .g-col-xxl-11{grid-column:auto/span 11}.grid .g-col-xxl-12{grid-column:auto/span 12}.grid .g-start-xxl-1{grid-column-start:1}.grid .g-start-xxl-2{grid-column-start:2}.grid .g-start-xxl-3{grid-column-start:3}.grid .g-start-xxl-4{grid-column-start:4}.grid .g-start-xxl-5{grid-column-start:5}.grid .g-start-xxl-6{grid-column-start:6}.grid .g-start-xxl-7{grid-column-start:7}.grid .g-start-xxl-8{grid-column-start:8}.grid .g-start-xxl-9{grid-column-start:9}.grid .g-start-xxl-10{grid-column-start:10}.grid .g-start-xxl-11{grid-column-start:11}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: #212529;--bs-table-bg: #ffffff;--bs-table-border-color: #dee2e6;--bs-table-accent-bg: transparent;--bs-table-striped-color: #212529;--bs-table-striped-bg: rgba(0, 0, 0, 0.05);--bs-table-active-color: #212529;--bs-table-active-bg: rgba(0, 0, 0, 0.1);--bs-table-hover-color: #212529;--bs-table-hover-bg: rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(1px*2) solid #9ba5ae}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #cfe2ff;--bs-table-border-color: #bacbe6;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e2e3e5;--bs-table-border-color: #cbccce;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #bcd0c7;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #badce3;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #e6dbb9;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #dfc2c4;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #dfe0e1;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #ffffff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #ffffff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #ffffff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #ffffff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(0.375rem + 1px);padding-bottom:calc(0.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.875rem}.form-text{margin-top:.25rem;font-size:0.875em;color:rgba(33,37,41,.75)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#fff;background-clip:padding-box;border:1px solid #dee2e6;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:rgba(33,37,41,.75);opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;margin-inline-end:.75rem;color:#212529;background-color:#f8f9fa;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#e9ecef}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(1px * 2));padding:.25rem .5rem;font-size:0.875rem;border-radius:.25rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-0.25rem -0.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(1px * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-0.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + 0.75rem + calc(1px * 2))}textarea.form-control-sm{min-height:calc(1.5em + 0.5rem + calc(1px * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(1px * 2))}.form-control-color{width:3rem;height:calc(1.5em + 0.75rem + calc(1px * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border:0 !important;border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + 0.5rem + calc(1px * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(1px * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#fff;background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #dee2e6;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.5rem;padding-left:0;margin-bottom:.125rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{--bs-form-check-bg: #ffffff;width:1em;height:1em;margin-top:.25em;vertical-align:top;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid #dee2e6;print-color-adjust:exact}.form-check-input[type=checkbox],.shiny-input-container .checkbox input[type=checkbox],.shiny-input-container .checkbox-inline input[type=checkbox],.shiny-input-container .radio input[type=checkbox],.shiny-input-container .radio-inline input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio],.shiny-input-container .checkbox input[type=radio],.shiny-input-container .checkbox-inline input[type=radio],.shiny-input-container .radio input[type=radio],.shiny-input-container .radio-inline input[type=radio]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox],.shiny-input-container .checkbox input:checked[type=checkbox],.shiny-input-container .checkbox-inline input:checked[type=checkbox],.shiny-input-container .radio input:checked[type=checkbox],.shiny-input-container .radio-inline input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio],.shiny-input-container .checkbox input:checked[type=radio],.shiny-input-container .checkbox-inline input:checked[type=radio],.shiny-input-container .radio input:checked[type=radio],.shiny-input-container .radio-inline input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23ffffff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate,.shiny-input-container .checkbox input[type=checkbox]:indeterminate,.shiny-input-container .checkbox-inline input[type=checkbox]:indeterminate,.shiny-input-container .radio input[type=checkbox]:indeterminate,.shiny-input-container .radio-inline input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{cursor:default;opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:rgba(0,0,0,0)}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#f8f9fa;border-color:rgba(0,0,0,0);border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:rgba(0,0,0,0);cursor:pointer;background-color:#f8f9fa;border-color:rgba(0,0,0,0);border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:rgba(33,37,41,.75)}.form-range:disabled::-moz-range-thumb{background-color:rgba(33,37,41,.75)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(1px * 2));min-height:calc(3.5rem + calc(1px * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid rgba(0,0,0,0);transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:#fff;border-radius:.375rem}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb), 0.65);transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:#e9ecef}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:.375rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(1px*-1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:#198754;border-radius:.375rem}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#198754;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#198754}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#198754}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#198754}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;color:#fff;background-color:#dc3545;border-radius:.375rem}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + 0.75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.375em + 0.1875rem) center;background-size:calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 0.75rem);background-position:top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#dc3545}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(0.75em + 0.375rem) calc(0.75em + 0.375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + 0.75rem))}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#dc3545}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: 0.75rem;--bs-btn-padding-y: 0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: #212529;--bs-btn-bg: transparent;--bs-btn-border-width: 1px;--bs-btn-border-color: transparent;--bs-btn-border-radius: 0.375rem;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity: 0.65;--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-default{--bs-btn-color: #000;--bs-btn-bg: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #e3e6ea;--bs-btn-hover-border-color: #e1e5e9;--bs-btn-focus-shadow-rgb: 189, 192, 196;--bs-btn-active-color: #000;--bs-btn-active-bg: #e5e8eb;--bs-btn-active-border-color: #e1e5e9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #dee2e6;--bs-btn-disabled-border-color: #dee2e6}.btn-primary{--bs-btn-color: #ffffff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #0b5ed7;--bs-btn-hover-border-color: #0a58ca;--bs-btn-focus-shadow-rgb: 49, 132, 253;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #0a58ca;--bs-btn-active-border-color: #0a53be;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffffff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #ffffff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #5c636a;--bs-btn-hover-border-color: #565e64;--bs-btn-focus-shadow-rgb: 130, 138, 145;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #565e64;--bs-btn-active-border-color: #51585e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffffff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #ffffff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60, 153, 110;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffffff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217, 164, 6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #ffffff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225, 83, 97;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffffff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #ffffff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffffff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-default{--bs-btn-color: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #dee2e6;--bs-btn-hover-border-color: #dee2e6;--bs-btn-focus-shadow-rgb: 222, 226, 230;--bs-btn-active-color: #000;--bs-btn-active-bg: #dee2e6;--bs-btn-active-border-color: #dee2e6;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #dee2e6;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dee2e6;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13, 110, 253;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108, 117, 125;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25, 135, 84;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255, 193, 7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220, 53, 69;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #ffffff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #ffffff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-btn-bg: transparent;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: #0d6efd;--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: #0a58ca;--bs-btn-hover-border-color: transparent;--bs-btn-active-color: #0a58ca;--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 49, 132, 253;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: 0.5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: 0.5rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: 0.25rem;--bs-btn-padding-x: 0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius: 0.25rem}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .2s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid rgba(0,0,0,0);border-bottom:0;border-left:.3em solid rgba(0,0,0,0)}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: 0.5rem;--bs-dropdown-spacer: 0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color: #212529;--bs-dropdown-bg: #ffffff;--bs-dropdown-border-color: rgba(0, 0, 0, 0.175);--bs-dropdown-border-radius: 0.375rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius: calc(0.375rem - 1px);--bs-dropdown-divider-bg: rgba(0, 0, 0, 0.175);--bs-dropdown-divider-margin-y: 0.5rem;--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-dropdown-link-color: #212529;--bs-dropdown-link-hover-color: #212529;--bs-dropdown-link-hover-bg: #f8f9fa;--bs-dropdown-link-active-color: #ffffff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: rgba(33, 37, 41, 0.5);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: 0.25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: 0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid rgba(0,0,0,0);border-bottom:.3em solid;border-left:.3em solid rgba(0,0,0,0)}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:0;border-bottom:.3em solid rgba(0,0,0,0);border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid rgba(0,0,0,0);border-right:.3em solid;border-bottom:.3em solid rgba(0,0,0,0)}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:rgba(0,0,0,0);border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:rgba(0,0,0,0)}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:0.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: rgba(0, 0, 0, 0.175);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #ffffff;--bs-dropdown-divider-bg: rgba(0, 0, 0, 0.175);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color: #ffffff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(1px*-1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(1px*-1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: #0d6efd;--bs-nav-link-hover-color: #0a58ca;--bs-nav-link-disabled-color: rgba(33, 37, 41, 0.75);display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: 0.375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #000;--bs-nav-tabs-link-active-bg: #ffffff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #ffffff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1*var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid rgba(0,0,0,0);border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1*var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: 0.375rem;--bs-nav-pills-link-active-color: #ffffff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: 0.125rem;--bs-nav-underline-link-active-color: #000;gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid rgba(0,0,0,0)}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: 0.5rem;--bs-navbar-color: #fdfefe;--bs-navbar-hover-color: rgba(253, 254, 255, 0.8);--bs-navbar-disabled-color: rgba(253, 254, 254, 0.75);--bs-navbar-active-color: #fdfeff;--bs-navbar-brand-padding-y: 0.3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: #fdfefe;--bs-navbar-brand-hover-color: #fdfeff;--bs-navbar-nav-link-padding-x: 0.5rem;--bs-navbar-toggler-padding-y: 0.25;--bs-navbar-toggler-padding-x: 0;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fdfefe' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(253, 254, 254, 0);--bs-navbar-toggler-border-radius: 0.375rem;--bs-navbar-toggler-focus-width: 0.25rem;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: 0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:rgba(0,0,0,0);border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media(min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:rgba(0,0,0,0) !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: #fdfefe;--bs-navbar-hover-color: rgba(253, 254, 255, 0.8);--bs-navbar-disabled-color: rgba(253, 254, 254, 0.75);--bs-navbar-active-color: #fdfeff;--bs-navbar-brand-color: #fdfefe;--bs-navbar-brand-hover-color: #fdfeff;--bs-navbar-toggler-border-color: rgba(253, 254, 254, 0);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fdfefe' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fdfefe' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: 0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: 1px;--bs-card-border-color: rgba(0, 0, 0, 0.175);--bs-card-border-radius: 0.375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(0.375rem - 1px);--bs-card-cap-padding-y: 0.5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(33, 37, 41, 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: #ffffff;--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: 0.75rem;position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-0.5*var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-bottom:calc(-1*var(--bs-card-cap-padding-y));margin-left:calc(-0.5*var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-0.5*var(--bs-card-cap-padding-x));margin-left:calc(-0.5*var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: #212529;--bs-accordion-bg: #ffffff;--bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;--bs-accordion-border-color: #dee2e6;--bs-accordion-border-width: 1px;--bs-accordion-border-radius: 0.375rem;--bs-accordion-inner-border-radius: calc(0.375rem - 1px);--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: #212529;--bs-accordion-btn-bg: #ffffff;--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23052c65'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #86b7fe;--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: #052c65;--bs-accordion-active-bg: #cfe2ff}.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media(prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1*var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media(prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: rgba(33, 37, 41, 0.75);--bs-breadcrumb-item-padding-x: 0.5rem;--bs-breadcrumb-item-active-color: rgba(33, 37, 41, 0.75);display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, ">") /* rtl: var(--bs-breadcrumb-divider, ">") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: 0.75rem;--bs-pagination-padding-y: 0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: #0d6efd;--bs-pagination-bg: #ffffff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-border-radius: 0.375rem;--bs-pagination-hover-color: #0a58ca;--bs-pagination-hover-bg: #f8f9fa;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-focus-color: #0a58ca;--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color: #ffffff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: rgba(33, 37, 41, 0.75);--bs-pagination-disabled-bg: #e9ecef;--bs-pagination-disabled-border-color: #dee2e6;display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(1px*-1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: 0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius: 0.5rem}.pagination-sm{--bs-pagination-padding-x: 0.5rem;--bs-pagination-padding-y: 0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius: 0.25rem}.badge{--bs-badge-padding-x: 0.65em;--bs-badge-padding-y: 0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight: 700;--bs-badge-color: #ffffff;--bs-badge-border-radius: 0.375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: 1px solid var(--bs-alert-border-color);--bs-alert-border-radius: 0.375rem;--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{--bs-alert-color: var(--bs-default-text-emphasis);--bs-alert-bg: var(--bs-default-bg-subtle);--bs-alert-border-color: var(--bs-default-border-subtle);--bs-alert-link-color: var(--bs-default-text-emphasis)}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg: #e9ecef;--bs-progress-border-radius: 0.375rem;--bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-progress-bar-color: #ffffff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width 0.6s ease;display:flex;display:-webkit-flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: #212529;--bs-list-group-bg: #ffffff;--bs-list-group-border-color: #dee2e6;--bs-list-group-border-width: 1px;--bs-list-group-border-radius: 0.375rem;--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: 0.5rem;--bs-list-group-action-color: rgba(33, 37, 41, 0.75);--bs-list-group-action-hover-color: #000;--bs-list-group-action-hover-bg: #f8f9fa;--bs-list-group-action-active-color: #212529;--bs-list-group-action-active-bg: #e9ecef;--bs-list-group-disabled-color: rgba(33, 37, 41, 0.75);--bs-list-group-disabled-bg: #ffffff;--bs-list-group-active-color: #ffffff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1*var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{--bs-list-group-color: var(--bs-default-text-emphasis);--bs-list-group-bg: var(--bs-default-bg-subtle);--bs-list-group-border-color: var(--bs-default-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-default-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-default-border-subtle);--bs-list-group-active-color: var(--bs-default-bg-subtle);--bs-list-group-active-bg: var(--bs-default-text-emphasis);--bs-list-group-active-border-color: var(--bs-default-text-emphasis)}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: 0.5;--bs-btn-close-hover-opacity: 0.75;--bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: 0.25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:rgba(0,0,0,0) var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: 0.75rem;--bs-toast-padding-y: 0.5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(255, 255, 255, 0.85);--bs-toast-border-width: 1px;--bs-toast-border-color: rgba(0, 0, 0, 0.175);--bs-toast-border-radius: 0.375rem;--bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-toast-header-color: rgba(33, 37, 41, 0.75);--bs-toast-header-bg: rgba(255, 255, 255, 0.85);--bs-toast-header-border-color: rgba(0, 0, 0, 0.175);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-0.5*var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: 0.5rem;--bs-modal-color: ;--bs-modal-bg: #ffffff;--bs-modal-border-color: rgba(0, 0, 0, 0.175);--bs-modal-border-width: 1px;--bs-modal-border-radius: 0.5rem;--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-modal-inner-border-radius: calc(0.5rem - 1px);--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: #dee2e6;--bs-modal-header-border-width: 1px;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: 0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: #dee2e6;--bs-modal-footer-border-width: 1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin)*2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: 0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y)*.5) calc(var(--bs-modal-header-padding-x)*.5);margin:calc(-0.5*var(--bs-modal-header-padding-y)) calc(-0.5*var(--bs-modal-header-padding-x)) calc(-0.5*var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap)*.5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap)*.5)}@media(min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media(min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media(min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: 0.5rem;--bs-tooltip-padding-y: 0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color: #ffffff;--bs-tooltip-bg: #000;--bs-tooltip-border-radius: 0.375rem;--bs-tooltip-opacity: 0.9;--bs-tooltip-arrow-width: 0.8rem;--bs-tooltip-arrow-height: 0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:rgba(0,0,0,0);border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) 0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:0.875rem;--bs-popover-bg: #ffffff;--bs-popover-border-width: 1px;--bs-popover-border-color: rgba(0, 0, 0, 0.175);--bs-popover-border-radius: 0.5rem;--bs-popover-inner-border-radius: calc(0.5rem - 1px);--bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: 0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: #e9ecef;--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: #212529;--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: 0.5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:rgba(0,0,0,0);border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-0.5*var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width)*.5) 0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;display:-webkit-flex;justify-content:center;-webkit-justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;-webkit-flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid rgba(0,0,0,0);border-bottom:10px solid rgba(0,0,0,0);opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-border-width: 0.25em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:rgba(0,0,0,0)}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: 0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -0.125em;--bs-spinner-animation-speed: 0.75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: #212529;--bs-offcanvas-bg: #ffffff;--bs-offcanvas-border-width: 1px;--bs-offcanvas-border-color: rgba(0, 0, 0, 0.175);--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-offcanvas-transition: transform 0.3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media(max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 575.98px)and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media(max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media(min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 767.98px)and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media(max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media(min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 991.98px)and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media(max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media(min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1199.98px)and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media(max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media(min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}@media(max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width: 1399.98px)and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media(max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media(min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:rgba(0,0,0,0) !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:rgba(0,0,0,0) !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media(prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y)*.5) calc(var(--bs-offcanvas-padding-x)*.5);margin-top:calc(-0.5*var(--bs-offcanvas-padding-y));margin-right:calc(-0.5*var(--bs-offcanvas-padding-x));margin-bottom:calc(-0.5*var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-default{color:#000 !important;background-color:RGBA(var(--bs-default-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-primary{color:#fff !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-default{color:RGBA(var(--bs-default-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-default-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-default:hover,.link-default:focus{color:RGBA(229, 232, 235, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(229, 232, 235, var(--bs-link-underline-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:.25em;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;-webkit-flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media(prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media(min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media(min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;-webkit-align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.object-fit-contain{object-fit:contain !important}.object-fit-cover{object-fit:cover !important}.object-fit-fill{object-fit:fill !important}.object-fit-scale{object-fit:scale-down !important}.object-fit-none{object-fit:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.75 !important}.opacity-100{opacity:1 !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.overflow-x-auto{overflow-x:auto !important}.overflow-x-hidden{overflow-x:hidden !important}.overflow-x-visible{overflow-x:visible !important}.overflow-x-scroll{overflow-x:scroll !important}.overflow-y-auto{overflow-y:auto !important}.overflow-y-hidden{overflow-y:hidden !important}.overflow-y-visible{overflow-y:visible !important}.overflow-y-scroll{overflow-y:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-inline-grid{display:inline-grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.focus-ring-default{--bs-focus-ring-color: rgba(var(--bs-default-rgb), var(--bs-focus-ring-opacity))}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-default{--bs-border-opacity: 1;border-color:rgba(var(--bs-default-rgb), var(--bs-border-opacity)) !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle) !important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle) !important}.border-success-subtle{border-color:var(--bs-success-border-subtle) !important}.border-info-subtle{border-color:var(--bs-info-border-subtle) !important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle) !important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle) !important}.border-light-subtle{border-color:var(--bs-light-border-subtle) !important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle) !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.border-opacity-10{--bs-border-opacity: 0.1}.border-opacity-25{--bs-border-opacity: 0.25}.border-opacity-50{--bs-border-opacity: 0.5}.border-opacity-75{--bs-border-opacity: 0.75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.row-gap-0{row-gap:0 !important}.row-gap-1{row-gap:.25rem !important}.row-gap-2{row-gap:.5rem !important}.row-gap-3{row-gap:1rem !important}.row-gap-4{row-gap:1.5rem !important}.row-gap-5{row-gap:3rem !important}.column-gap-0{column-gap:0 !important}.column-gap-1{column-gap:.25rem !important}.column-gap-2{column-gap:.5rem !important}.column-gap-3{column-gap:1rem !important}.column-gap-4{column-gap:1.5rem !important}.column-gap-5{column-gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.325rem + 0.9vw) !important}.fs-2{font-size:calc(1.29rem + 0.48vw) !important}.fs-3{font-size:calc(1.27rem + 0.24vw) !important}.fs-4{font-size:1.25rem !important}.fs-5{font-size:1.1rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-lighter{font-weight:lighter !important}.fw-light{font-weight:300 !important}.fw-normal{font-weight:400 !important}.fw-medium{font-weight:500 !important}.fw-semibold{font-weight:600 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-black-50{--bs-text-opacity: 1;color:rgba(0,0,0,.5) !important}.text-white-50{--bs-text-opacity: 1;color:rgba(255,255,255,.5) !important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color) !important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color) !important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color) !important}.text-reset{--bs-text-opacity: 1;color:inherit !important}.text-opacity-25{--bs-text-opacity: 0.25}.text-opacity-50{--bs-text-opacity: 0.5}.text-opacity-75{--bs-text-opacity: 0.75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis) !important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis) !important}.text-success-emphasis{color:var(--bs-success-text-emphasis) !important}.text-info-emphasis{color:var(--bs-info-text-emphasis) !important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis) !important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis) !important}.text-light-emphasis{color:var(--bs-light-text-emphasis) !important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis) !important}.link-opacity-10{--bs-link-opacity: 0.1}.link-opacity-10-hover:hover{--bs-link-opacity: 0.1}.link-opacity-25{--bs-link-opacity: 0.25}.link-opacity-25-hover:hover{--bs-link-opacity: 0.25}.link-opacity-50{--bs-link-opacity: 0.5}.link-opacity-50-hover:hover{--bs-link-opacity: 0.5}.link-opacity-75{--bs-link-opacity: 0.75}.link-opacity-75-hover:hover{--bs-link-opacity: 0.75}.link-opacity-100{--bs-link-opacity: 1}.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1{text-underline-offset:.125em !important}.link-offset-1-hover:hover{text-underline-offset:.125em !important}.link-offset-2{text-underline-offset:.25em !important}.link-offset-2-hover:hover{text-underline-offset:.25em !important}.link-offset-3{text-underline-offset:.375em !important}.link-offset-3-hover:hover{text-underline-offset:.375em !important}.link-underline-default{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-default-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-underline-opacity-0{--bs-link-underline-opacity: 0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10{--bs-link-underline-opacity: 0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: 0.1}.link-underline-opacity-25{--bs-link-underline-opacity: 0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: 0.25}.link-underline-opacity-50{--bs-link-underline-opacity: 0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: 0.5}.link-underline-opacity-75{--bs-link-underline-opacity: 0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: 0.75}.link-underline-opacity-100{--bs-link-underline-opacity: 1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important}.bg-transparent{--bs-bg-opacity: 1;background-color:rgba(0,0,0,0) !important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important}.bg-opacity-10{--bs-bg-opacity: 0.1}.bg-opacity-25{--bs-bg-opacity: 0.25}.bg-opacity-50{--bs-bg-opacity: 0.5}.bg-opacity-75{--bs-bg-opacity: 0.75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle) !important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle) !important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle) !important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle) !important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle) !important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle) !important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle) !important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle) !important}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-xxl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-0{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm) !important;border-top-right-radius:var(--bs-border-radius-sm) !important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg) !important;border-top-right-radius:var(--bs-border-radius-lg) !important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl) !important;border-top-right-radius:var(--bs-border-radius-xl) !important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl) !important;border-top-right-radius:var(--bs-border-radius-xxl) !important}.rounded-top-circle{border-top-left-radius:50% !important;border-top-right-radius:50% !important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill) !important;border-top-right-radius:var(--bs-border-radius-pill) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-0{border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm) !important;border-bottom-right-radius:var(--bs-border-radius-sm) !important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg) !important;border-bottom-right-radius:var(--bs-border-radius-lg) !important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl) !important;border-bottom-right-radius:var(--bs-border-radius-xl) !important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-right-radius:var(--bs-border-radius-xxl) !important}.rounded-end-circle{border-top-right-radius:50% !important;border-bottom-right-radius:50% !important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill) !important;border-bottom-right-radius:var(--bs-border-radius-pill) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-0{border-bottom-right-radius:0 !important;border-bottom-left-radius:0 !important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm) !important;border-bottom-left-radius:var(--bs-border-radius-sm) !important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg) !important;border-bottom-left-radius:var(--bs-border-radius-lg) !important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl) !important;border-bottom-left-radius:var(--bs-border-radius-xl) !important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl) !important;border-bottom-left-radius:var(--bs-border-radius-xxl) !important}.rounded-bottom-circle{border-bottom-right-radius:50% !important;border-bottom-left-radius:50% !important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill) !important;border-bottom-left-radius:var(--bs-border-radius-pill) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-0{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm) !important;border-top-left-radius:var(--bs-border-radius-sm) !important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg) !important;border-top-left-radius:var(--bs-border-radius-lg) !important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl) !important;border-top-left-radius:var(--bs-border-radius-xl) !important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl) !important;border-top-left-radius:var(--bs-border-radius-xxl) !important}.rounded-start-circle{border-bottom-left-radius:50% !important;border-top-left-radius:50% !important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill) !important;border-top-left-radius:var(--bs-border-radius-pill) !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}.z-n1{z-index:-1 !important}.z-0{z-index:0 !important}.z-1{z-index:1 !important}.z-2{z-index:2 !important}.z-3{z-index:3 !important}@media(min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.object-fit-sm-contain{object-fit:contain !important}.object-fit-sm-cover{object-fit:cover !important}.object-fit-sm-fill{object-fit:fill !important}.object-fit-sm-scale{object-fit:scale-down !important}.object-fit-sm-none{object-fit:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-inline-grid{display:inline-grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.row-gap-sm-0{row-gap:0 !important}.row-gap-sm-1{row-gap:.25rem !important}.row-gap-sm-2{row-gap:.5rem !important}.row-gap-sm-3{row-gap:1rem !important}.row-gap-sm-4{row-gap:1.5rem !important}.row-gap-sm-5{row-gap:3rem !important}.column-gap-sm-0{column-gap:0 !important}.column-gap-sm-1{column-gap:.25rem !important}.column-gap-sm-2{column-gap:.5rem !important}.column-gap-sm-3{column-gap:1rem !important}.column-gap-sm-4{column-gap:1.5rem !important}.column-gap-sm-5{column-gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.object-fit-md-contain{object-fit:contain !important}.object-fit-md-cover{object-fit:cover !important}.object-fit-md-fill{object-fit:fill !important}.object-fit-md-scale{object-fit:scale-down !important}.object-fit-md-none{object-fit:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-inline-grid{display:inline-grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.row-gap-md-0{row-gap:0 !important}.row-gap-md-1{row-gap:.25rem !important}.row-gap-md-2{row-gap:.5rem !important}.row-gap-md-3{row-gap:1rem !important}.row-gap-md-4{row-gap:1.5rem !important}.row-gap-md-5{row-gap:3rem !important}.column-gap-md-0{column-gap:0 !important}.column-gap-md-1{column-gap:.25rem !important}.column-gap-md-2{column-gap:.5rem !important}.column-gap-md-3{column-gap:1rem !important}.column-gap-md-4{column-gap:1.5rem !important}.column-gap-md-5{column-gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.object-fit-lg-contain{object-fit:contain !important}.object-fit-lg-cover{object-fit:cover !important}.object-fit-lg-fill{object-fit:fill !important}.object-fit-lg-scale{object-fit:scale-down !important}.object-fit-lg-none{object-fit:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-inline-grid{display:inline-grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.row-gap-lg-0{row-gap:0 !important}.row-gap-lg-1{row-gap:.25rem !important}.row-gap-lg-2{row-gap:.5rem !important}.row-gap-lg-3{row-gap:1rem !important}.row-gap-lg-4{row-gap:1.5rem !important}.row-gap-lg-5{row-gap:3rem !important}.column-gap-lg-0{column-gap:0 !important}.column-gap-lg-1{column-gap:.25rem !important}.column-gap-lg-2{column-gap:.5rem !important}.column-gap-lg-3{column-gap:1rem !important}.column-gap-lg-4{column-gap:1.5rem !important}.column-gap-lg-5{column-gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.object-fit-xl-contain{object-fit:contain !important}.object-fit-xl-cover{object-fit:cover !important}.object-fit-xl-fill{object-fit:fill !important}.object-fit-xl-scale{object-fit:scale-down !important}.object-fit-xl-none{object-fit:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-inline-grid{display:inline-grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.row-gap-xl-0{row-gap:0 !important}.row-gap-xl-1{row-gap:.25rem !important}.row-gap-xl-2{row-gap:.5rem !important}.row-gap-xl-3{row-gap:1rem !important}.row-gap-xl-4{row-gap:1.5rem !important}.row-gap-xl-5{row-gap:3rem !important}.column-gap-xl-0{column-gap:0 !important}.column-gap-xl-1{column-gap:.25rem !important}.column-gap-xl-2{column-gap:.5rem !important}.column-gap-xl-3{column-gap:1rem !important}.column-gap-xl-4{column-gap:1.5rem !important}.column-gap-xl-5{column-gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media(min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.object-fit-xxl-contain{object-fit:contain !important}.object-fit-xxl-cover{object-fit:cover !important}.object-fit-xxl-fill{object-fit:fill !important}.object-fit-xxl-scale{object-fit:scale-down !important}.object-fit-xxl-none{object-fit:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-inline-grid{display:inline-grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.row-gap-xxl-0{row-gap:0 !important}.row-gap-xxl-1{row-gap:.25rem !important}.row-gap-xxl-2{row-gap:.5rem !important}.row-gap-xxl-3{row-gap:1rem !important}.row-gap-xxl-4{row-gap:1.5rem !important}.row-gap-xxl-5{row-gap:3rem !important}.column-gap-xxl-0{column-gap:0 !important}.column-gap-xxl-1{column-gap:.25rem !important}.column-gap-xxl-2{column-gap:.5rem !important}.column-gap-xxl-3{column-gap:1rem !important}.column-gap-xxl-4{column-gap:1.5rem !important}.column-gap-xxl-5{column-gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#000}.bg-primary{color:#fff}.bg-secondary{color:#fff}.bg-success{color:#fff}.bg-info{color:#000}.bg-warning{color:#000}.bg-danger{color:#fff}.bg-light{color:#000}.bg-dark{color:#fff}@media(min-width: 1200px){.fs-1{font-size:2rem !important}.fs-2{font-size:1.65rem !important}.fs-3{font-size:1.45rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-inline-grid{display:inline-grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}:root{--bslib-spacer: 1rem;--bslib-mb-spacer: var(--bslib-spacer, 1rem)}.bslib-mb-spacing{margin-bottom:var(--bslib-mb-spacer)}.bslib-gap-spacing{gap:var(--bslib-mb-spacer)}.bslib-gap-spacing>.bslib-mb-spacing,.bslib-gap-spacing>.form-group,.bslib-gap-spacing>p,.bslib-gap-spacing>pre{margin-bottom:0}.html-fill-container>.html-fill-item.bslib-mb-spacing{margin-bottom:0}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}.bg-blue{--bslib-color-bg: #0d6efd;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-blue{--bslib-color-fg: #0d6efd;color:var(--bslib-color-fg)}.bg-indigo{--bslib-color-bg: #6610f2;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-indigo{--bslib-color-fg: #6610f2;color:var(--bslib-color-fg)}.bg-purple{--bslib-color-bg: #6f42c1;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-purple{--bslib-color-fg: #6f42c1;color:var(--bslib-color-fg)}.bg-pink{--bslib-color-bg: #d63384;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-pink{--bslib-color-fg: #d63384;color:var(--bslib-color-fg)}.bg-red{--bslib-color-bg: #dc3545;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-red{--bslib-color-fg: #dc3545;color:var(--bslib-color-fg)}.bg-orange{--bslib-color-bg: #fd7e14;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-orange{--bslib-color-fg: #fd7e14;color:var(--bslib-color-fg)}.bg-yellow{--bslib-color-bg: #ffc107;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-yellow{--bslib-color-fg: #ffc107;color:var(--bslib-color-fg)}.bg-green{--bslib-color-bg: #198754;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-green{--bslib-color-fg: #198754;color:var(--bslib-color-fg)}.bg-teal{--bslib-color-bg: #20c997;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-teal{--bslib-color-fg: #20c997;color:var(--bslib-color-fg)}.bg-cyan{--bslib-color-bg: #0dcaf0;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-cyan{--bslib-color-fg: #0dcaf0;color:var(--bslib-color-fg)}.text-default{--bslib-color-fg: #dee2e6}.bg-default{--bslib-color-bg: #dee2e6;--bslib-color-fg: #000}.text-primary{--bslib-color-fg: #0d6efd}.bg-primary{--bslib-color-bg: #0d6efd;--bslib-color-fg: #ffffff}.text-secondary{--bslib-color-fg: #6c757d}.bg-secondary{--bslib-color-bg: #6c757d;--bslib-color-fg: #ffffff}.text-success{--bslib-color-fg: #198754}.bg-success{--bslib-color-bg: #198754;--bslib-color-fg: #ffffff}.text-info{--bslib-color-fg: #0dcaf0}.bg-info{--bslib-color-bg: #0dcaf0;--bslib-color-fg: #000}.text-warning{--bslib-color-fg: #ffc107}.bg-warning{--bslib-color-bg: #ffc107;--bslib-color-fg: #000}.text-danger{--bslib-color-fg: #dc3545}.bg-danger{--bslib-color-bg: #dc3545;--bslib-color-fg: #ffffff}.text-light{--bslib-color-fg: #f8f9fa}.bg-light{--bslib-color-bg: #f8f9fa;--bslib-color-fg: #000}.text-dark{--bslib-color-fg: #212529}.bg-dark{--bslib-color-bg: #212529;--bslib-color-fg: #ffffff}.bg-gradient-blue-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #3148f9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3148f9;color:#fff}.bg-gradient-blue-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #345ce5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #345ce5;color:#fff}.bg-gradient-blue-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #5d56cd;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #5d56cd;color:#fff}.bg-gradient-blue-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #6057b3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #6057b3;color:#fff}.bg-gradient-blue-orange{--bslib-color-fg: #ffffff;--bslib-color-bg: #6d74a0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #6d74a0;color:#fff}.bg-gradient-blue-yellow{--bslib-color-fg: #000;--bslib-color-bg: #6e8f9b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #6e8f9b;color:#000}.bg-gradient-blue-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #1278b9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #1278b9;color:#fff}.bg-gradient-blue-teal{--bslib-color-fg: #000;--bslib-color-bg: #1592d4;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #1592d4;color:#000}.bg-gradient-blue-cyan{--bslib-color-fg: #000;--bslib-color-bg: #0d93f8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #0d93f8;color:#000}.bg-gradient-indigo-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #4236f6;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #4236f6;color:#fff}.bg-gradient-indigo-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #6a24de;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #6a24de;color:#fff}.bg-gradient-indigo-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #931ec6;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #931ec6;color:#fff}.bg-gradient-indigo-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #951fad;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #951fad;color:#fff}.bg-gradient-indigo-orange{--bslib-color-fg: #ffffff;--bslib-color-bg: #a23c99;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #a23c99;color:#fff}.bg-gradient-indigo-yellow{--bslib-color-fg: #ffffff;--bslib-color-bg: #a35794;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #a35794;color:#fff}.bg-gradient-indigo-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #4740b3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #4740b3;color:#fff}.bg-gradient-indigo-teal{--bslib-color-fg: #ffffff;--bslib-color-bg: #4a5ace;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #4a5ace;color:#fff}.bg-gradient-indigo-cyan{--bslib-color-fg: #ffffff;--bslib-color-bg: #425af1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #425af1;color:#fff}.bg-gradient-purple-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #4854d9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #4854d9;color:#fff}.bg-gradient-purple-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #6b2ed5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #6b2ed5;color:#fff}.bg-gradient-purple-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #983ca9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #983ca9;color:#fff}.bg-gradient-purple-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #9b3d8f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #9b3d8f;color:#fff}.bg-gradient-purple-orange{--bslib-color-fg: #ffffff;--bslib-color-bg: #a85a7c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #a85a7c;color:#fff}.bg-gradient-purple-yellow{--bslib-color-fg: #000;--bslib-color-bg: #a97577;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #a97577;color:#000}.bg-gradient-purple-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #4d5e95;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #4d5e95;color:#fff}.bg-gradient-purple-teal{--bslib-color-fg: #ffffff;--bslib-color-bg: #4f78b0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #4f78b0;color:#fff}.bg-gradient-purple-cyan{--bslib-color-fg: #000;--bslib-color-bg: #4878d4;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #4878d4;color:#000}.bg-gradient-pink-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #864bb4;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #864bb4;color:#fff}.bg-gradient-pink-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #a925b0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #a925b0;color:#fff}.bg-gradient-pink-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #ad399c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #ad399c;color:#fff}.bg-gradient-pink-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #d8346b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #d8346b;color:#fff}.bg-gradient-pink-orange{--bslib-color-fg: #000;--bslib-color-bg: #e65157;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #e65157;color:#000}.bg-gradient-pink-yellow{--bslib-color-fg: #000;--bslib-color-bg: #e66c52;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #e66c52;color:#000}.bg-gradient-pink-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #8a5571;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #8a5571;color:#fff}.bg-gradient-pink-teal{--bslib-color-fg: #000;--bslib-color-bg: #8d6f8c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #8d6f8c;color:#000}.bg-gradient-pink-cyan{--bslib-color-fg: #000;--bslib-color-bg: #866faf;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #866faf;color:#000}.bg-gradient-red-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #894c8f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #894c8f;color:#fff}.bg-gradient-red-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #ad268a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #ad268a;color:#fff}.bg-gradient-red-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #b03a77;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #b03a77;color:#fff}.bg-gradient-red-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #da345e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #da345e;color:#fff}.bg-gradient-red-orange{--bslib-color-fg: #000;--bslib-color-bg: #e95231;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #e95231;color:#000}.bg-gradient-red-yellow{--bslib-color-fg: #000;--bslib-color-bg: #ea6d2c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #ea6d2c;color:#000}.bg-gradient-red-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #8e564b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #8e564b;color:#fff}.bg-gradient-red-teal{--bslib-color-fg: #000;--bslib-color-bg: #917066;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #917066;color:#000}.bg-gradient-red-cyan{--bslib-color-fg: #000;--bslib-color-bg: #897189;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #897189;color:#000}.bg-gradient-orange-blue{--bslib-color-fg: #000;--bslib-color-bg: #9d7871;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #9d7871;color:#000}.bg-gradient-orange-indigo{--bslib-color-fg: #000;--bslib-color-bg: #c1526d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #c1526d;color:#000}.bg-gradient-orange-purple{--bslib-color-fg: #000;--bslib-color-bg: #c46659;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #c46659;color:#000}.bg-gradient-orange-pink{--bslib-color-fg: #000;--bslib-color-bg: #ed6041;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #ed6041;color:#000}.bg-gradient-orange-red{--bslib-color-fg: #000;--bslib-color-bg: #f06128;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #f06128;color:#000}.bg-gradient-orange-yellow{--bslib-color-fg: #000;--bslib-color-bg: #fe990f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #fe990f;color:#000}.bg-gradient-orange-green{--bslib-color-fg: #000;--bslib-color-bg: #a2822e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #a2822e;color:#000}.bg-gradient-orange-teal{--bslib-color-fg: #000;--bslib-color-bg: #a59c48;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #a59c48;color:#000}.bg-gradient-orange-cyan{--bslib-color-fg: #000;--bslib-color-bg: #9d9c6c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #9d9c6c;color:#000}.bg-gradient-yellow-blue{--bslib-color-fg: #000;--bslib-color-bg: #9ea069;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #9ea069;color:#000}.bg-gradient-yellow-indigo{--bslib-color-fg: #000;--bslib-color-bg: #c27a65;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #c27a65;color:#000}.bg-gradient-yellow-purple{--bslib-color-fg: #000;--bslib-color-bg: #c58e51;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #c58e51;color:#000}.bg-gradient-yellow-pink{--bslib-color-fg: #000;--bslib-color-bg: #ef8839;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #ef8839;color:#000}.bg-gradient-yellow-red{--bslib-color-fg: #000;--bslib-color-bg: #f18920;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #f18920;color:#000}.bg-gradient-yellow-orange{--bslib-color-fg: #000;--bslib-color-bg: #fea60c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #fea60c;color:#000}.bg-gradient-yellow-green{--bslib-color-fg: #000;--bslib-color-bg: #a3aa26;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #a3aa26;color:#000}.bg-gradient-yellow-teal{--bslib-color-fg: #000;--bslib-color-bg: #a6c441;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #a6c441;color:#000}.bg-gradient-yellow-cyan{--bslib-color-fg: #000;--bslib-color-bg: #9ec564;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #9ec564;color:#000}.bg-gradient-green-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #147d98;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #147d98;color:#fff}.bg-gradient-green-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #385793;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #385793;color:#fff}.bg-gradient-green-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #3b6b80;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #3b6b80;color:#fff}.bg-gradient-green-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #656567;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #656567;color:#fff}.bg-gradient-green-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #67664e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #67664e;color:#fff}.bg-gradient-green-orange{--bslib-color-fg: #000;--bslib-color-bg: #74833a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #74833a;color:#000}.bg-gradient-green-yellow{--bslib-color-fg: #000;--bslib-color-bg: #759e35;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #759e35;color:#000}.bg-gradient-green-teal{--bslib-color-fg: #000;--bslib-color-bg: #1ca16f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #1ca16f;color:#000}.bg-gradient-green-cyan{--bslib-color-fg: #000;--bslib-color-bg: #14a292;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #14a292;color:#000}.bg-gradient-teal-blue{--bslib-color-fg: #000;--bslib-color-bg: #18a5c0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #18a5c0;color:#000}.bg-gradient-teal-indigo{--bslib-color-fg: #000;--bslib-color-bg: #3c7fbb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3c7fbb;color:#000}.bg-gradient-teal-purple{--bslib-color-fg: #000;--bslib-color-bg: #4093a8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #4093a8;color:#000}.bg-gradient-teal-pink{--bslib-color-fg: #000;--bslib-color-bg: #698d8f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #698d8f;color:#000}.bg-gradient-teal-red{--bslib-color-fg: #000;--bslib-color-bg: #6b8e76;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #6b8e76;color:#000}.bg-gradient-teal-orange{--bslib-color-fg: #000;--bslib-color-bg: #78ab63;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #78ab63;color:#000}.bg-gradient-teal-yellow{--bslib-color-fg: #000;--bslib-color-bg: #79c65d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #79c65d;color:#000}.bg-gradient-teal-green{--bslib-color-fg: #000;--bslib-color-bg: #1daf7c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #1daf7c;color:#000}.bg-gradient-teal-cyan{--bslib-color-fg: #000;--bslib-color-bg: #18c9bb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #18c9bb;color:#000}.bg-gradient-cyan-blue{--bslib-color-fg: #000;--bslib-color-bg: #0da5f5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #0da5f5;color:#000}.bg-gradient-cyan-indigo{--bslib-color-fg: #000;--bslib-color-bg: #3180f1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3180f1;color:#000}.bg-gradient-cyan-purple{--bslib-color-fg: #000;--bslib-color-bg: #3494dd;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #3494dd;color:#000}.bg-gradient-cyan-pink{--bslib-color-fg: #000;--bslib-color-bg: #5d8ec5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #5d8ec5;color:#000}.bg-gradient-cyan-red{--bslib-color-fg: #000;--bslib-color-bg: #608eac;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #608eac;color:#000}.bg-gradient-cyan-orange{--bslib-color-fg: #000;--bslib-color-bg: #6dac98;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #6dac98;color:#000}.bg-gradient-cyan-yellow{--bslib-color-fg: #000;--bslib-color-bg: #6ec693;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #6ec693;color:#000}.bg-gradient-cyan-green{--bslib-color-fg: #000;--bslib-color-bg: #12afb2;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #12afb2;color:#000}.bg-gradient-cyan-teal{--bslib-color-fg: #000;--bslib-color-bg: #15cacc;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #15cacc;color:#000}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}:root{--bslib-spacer: 1rem;--bslib-mb-spacer: var(--bslib-spacer, 1rem)}.bslib-mb-spacing{margin-bottom:var(--bslib-mb-spacer)}.bslib-gap-spacing{gap:var(--bslib-mb-spacer)}.bslib-gap-spacing>.bslib-mb-spacing,.bslib-gap-spacing>.form-group,.bslib-gap-spacing>p,.bslib-gap-spacing>pre{margin-bottom:0}.html-fill-container>.html-fill-item.bslib-mb-spacing{margin-bottom:0}.bg-blue{--bslib-color-bg: #0d6efd;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-blue{--bslib-color-fg: #0d6efd;color:var(--bslib-color-fg)}.bg-indigo{--bslib-color-bg: #6610f2;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-indigo{--bslib-color-fg: #6610f2;color:var(--bslib-color-fg)}.bg-purple{--bslib-color-bg: #6f42c1;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-purple{--bslib-color-fg: #6f42c1;color:var(--bslib-color-fg)}.bg-pink{--bslib-color-bg: #d63384;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-pink{--bslib-color-fg: #d63384;color:var(--bslib-color-fg)}.bg-red{--bslib-color-bg: #dc3545;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-red{--bslib-color-fg: #dc3545;color:var(--bslib-color-fg)}.bg-orange{--bslib-color-bg: #fd7e14;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-orange{--bslib-color-fg: #fd7e14;color:var(--bslib-color-fg)}.bg-yellow{--bslib-color-bg: #ffc107;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-yellow{--bslib-color-fg: #ffc107;color:var(--bslib-color-fg)}.bg-green{--bslib-color-bg: #198754;--bslib-color-fg: #ffffff;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-green{--bslib-color-fg: #198754;color:var(--bslib-color-fg)}.bg-teal{--bslib-color-bg: #20c997;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-teal{--bslib-color-fg: #20c997;color:var(--bslib-color-fg)}.bg-cyan{--bslib-color-bg: #0dcaf0;--bslib-color-fg: #000;background-color:var(--bslib-color-bg);color:var(--bslib-color-fg)}.text-cyan{--bslib-color-fg: #0dcaf0;color:var(--bslib-color-fg)}.text-default{--bslib-color-fg: #dee2e6}.bg-default{--bslib-color-bg: #dee2e6;--bslib-color-fg: #000}.text-primary{--bslib-color-fg: #0d6efd}.bg-primary{--bslib-color-bg: #0d6efd;--bslib-color-fg: #ffffff}.text-secondary{--bslib-color-fg: #6c757d}.bg-secondary{--bslib-color-bg: #6c757d;--bslib-color-fg: #ffffff}.text-success{--bslib-color-fg: #198754}.bg-success{--bslib-color-bg: #198754;--bslib-color-fg: #ffffff}.text-info{--bslib-color-fg: #0dcaf0}.bg-info{--bslib-color-bg: #0dcaf0;--bslib-color-fg: #000}.text-warning{--bslib-color-fg: #ffc107}.bg-warning{--bslib-color-bg: #ffc107;--bslib-color-fg: #000}.text-danger{--bslib-color-fg: #dc3545}.bg-danger{--bslib-color-bg: #dc3545;--bslib-color-fg: #ffffff}.text-light{--bslib-color-fg: #f8f9fa}.bg-light{--bslib-color-bg: #f8f9fa;--bslib-color-fg: #000}.text-dark{--bslib-color-fg: #212529}.bg-dark{--bslib-color-bg: #212529;--bslib-color-fg: #ffffff}.bg-gradient-blue-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #3148f9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3148f9;color:#fff}.bg-gradient-blue-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #345ce5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #345ce5;color:#fff}.bg-gradient-blue-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #5d56cd;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #5d56cd;color:#fff}.bg-gradient-blue-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #6057b3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #6057b3;color:#fff}.bg-gradient-blue-orange{--bslib-color-fg: #ffffff;--bslib-color-bg: #6d74a0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #6d74a0;color:#fff}.bg-gradient-blue-yellow{--bslib-color-fg: #000;--bslib-color-bg: #6e8f9b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #6e8f9b;color:#000}.bg-gradient-blue-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #1278b9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #1278b9;color:#fff}.bg-gradient-blue-teal{--bslib-color-fg: #000;--bslib-color-bg: #1592d4;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #1592d4;color:#000}.bg-gradient-blue-cyan{--bslib-color-fg: #000;--bslib-color-bg: #0d93f8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0d6efd var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #0d93f8;color:#000}.bg-gradient-indigo-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #4236f6;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #4236f6;color:#fff}.bg-gradient-indigo-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #6a24de;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #6a24de;color:#fff}.bg-gradient-indigo-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #931ec6;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #931ec6;color:#fff}.bg-gradient-indigo-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #951fad;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #951fad;color:#fff}.bg-gradient-indigo-orange{--bslib-color-fg: #ffffff;--bslib-color-bg: #a23c99;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #a23c99;color:#fff}.bg-gradient-indigo-yellow{--bslib-color-fg: #ffffff;--bslib-color-bg: #a35794;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #a35794;color:#fff}.bg-gradient-indigo-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #4740b3;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #4740b3;color:#fff}.bg-gradient-indigo-teal{--bslib-color-fg: #ffffff;--bslib-color-bg: #4a5ace;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #4a5ace;color:#fff}.bg-gradient-indigo-cyan{--bslib-color-fg: #ffffff;--bslib-color-bg: #425af1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6610f2 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #425af1;color:#fff}.bg-gradient-purple-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #4854d9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #4854d9;color:#fff}.bg-gradient-purple-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #6b2ed5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #6b2ed5;color:#fff}.bg-gradient-purple-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #983ca9;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #983ca9;color:#fff}.bg-gradient-purple-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #9b3d8f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #9b3d8f;color:#fff}.bg-gradient-purple-orange{--bslib-color-fg: #ffffff;--bslib-color-bg: #a85a7c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #a85a7c;color:#fff}.bg-gradient-purple-yellow{--bslib-color-fg: #000;--bslib-color-bg: #a97577;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #a97577;color:#000}.bg-gradient-purple-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #4d5e95;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #4d5e95;color:#fff}.bg-gradient-purple-teal{--bslib-color-fg: #ffffff;--bslib-color-bg: #4f78b0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #4f78b0;color:#fff}.bg-gradient-purple-cyan{--bslib-color-fg: #000;--bslib-color-bg: #4878d4;background:linear-gradient(var(--bg-gradient-deg, 140deg), #6f42c1 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #4878d4;color:#000}.bg-gradient-pink-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #864bb4;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #864bb4;color:#fff}.bg-gradient-pink-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #a925b0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #a925b0;color:#fff}.bg-gradient-pink-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #ad399c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #ad399c;color:#fff}.bg-gradient-pink-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #d8346b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #d8346b;color:#fff}.bg-gradient-pink-orange{--bslib-color-fg: #000;--bslib-color-bg: #e65157;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #e65157;color:#000}.bg-gradient-pink-yellow{--bslib-color-fg: #000;--bslib-color-bg: #e66c52;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #e66c52;color:#000}.bg-gradient-pink-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #8a5571;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #8a5571;color:#fff}.bg-gradient-pink-teal{--bslib-color-fg: #000;--bslib-color-bg: #8d6f8c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #8d6f8c;color:#000}.bg-gradient-pink-cyan{--bslib-color-fg: #000;--bslib-color-bg: #866faf;background:linear-gradient(var(--bg-gradient-deg, 140deg), #d63384 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #866faf;color:#000}.bg-gradient-red-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #894c8f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #894c8f;color:#fff}.bg-gradient-red-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #ad268a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #ad268a;color:#fff}.bg-gradient-red-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #b03a77;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #b03a77;color:#fff}.bg-gradient-red-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #da345e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #da345e;color:#fff}.bg-gradient-red-orange{--bslib-color-fg: #000;--bslib-color-bg: #e95231;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #e95231;color:#000}.bg-gradient-red-yellow{--bslib-color-fg: #000;--bslib-color-bg: #ea6d2c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #ea6d2c;color:#000}.bg-gradient-red-green{--bslib-color-fg: #ffffff;--bslib-color-bg: #8e564b;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #8e564b;color:#fff}.bg-gradient-red-teal{--bslib-color-fg: #000;--bslib-color-bg: #917066;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #917066;color:#000}.bg-gradient-red-cyan{--bslib-color-fg: #000;--bslib-color-bg: #897189;background:linear-gradient(var(--bg-gradient-deg, 140deg), #dc3545 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #897189;color:#000}.bg-gradient-orange-blue{--bslib-color-fg: #000;--bslib-color-bg: #9d7871;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #9d7871;color:#000}.bg-gradient-orange-indigo{--bslib-color-fg: #000;--bslib-color-bg: #c1526d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #c1526d;color:#000}.bg-gradient-orange-purple{--bslib-color-fg: #000;--bslib-color-bg: #c46659;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #c46659;color:#000}.bg-gradient-orange-pink{--bslib-color-fg: #000;--bslib-color-bg: #ed6041;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #ed6041;color:#000}.bg-gradient-orange-red{--bslib-color-fg: #000;--bslib-color-bg: #f06128;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #f06128;color:#000}.bg-gradient-orange-yellow{--bslib-color-fg: #000;--bslib-color-bg: #fe990f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #fe990f;color:#000}.bg-gradient-orange-green{--bslib-color-fg: #000;--bslib-color-bg: #a2822e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #a2822e;color:#000}.bg-gradient-orange-teal{--bslib-color-fg: #000;--bslib-color-bg: #a59c48;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #a59c48;color:#000}.bg-gradient-orange-cyan{--bslib-color-fg: #000;--bslib-color-bg: #9d9c6c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #fd7e14 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #9d9c6c;color:#000}.bg-gradient-yellow-blue{--bslib-color-fg: #000;--bslib-color-bg: #9ea069;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #9ea069;color:#000}.bg-gradient-yellow-indigo{--bslib-color-fg: #000;--bslib-color-bg: #c27a65;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #c27a65;color:#000}.bg-gradient-yellow-purple{--bslib-color-fg: #000;--bslib-color-bg: #c58e51;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #c58e51;color:#000}.bg-gradient-yellow-pink{--bslib-color-fg: #000;--bslib-color-bg: #ef8839;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #ef8839;color:#000}.bg-gradient-yellow-red{--bslib-color-fg: #000;--bslib-color-bg: #f18920;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #f18920;color:#000}.bg-gradient-yellow-orange{--bslib-color-fg: #000;--bslib-color-bg: #fea60c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #fea60c;color:#000}.bg-gradient-yellow-green{--bslib-color-fg: #000;--bslib-color-bg: #a3aa26;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #a3aa26;color:#000}.bg-gradient-yellow-teal{--bslib-color-fg: #000;--bslib-color-bg: #a6c441;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #a6c441;color:#000}.bg-gradient-yellow-cyan{--bslib-color-fg: #000;--bslib-color-bg: #9ec564;background:linear-gradient(var(--bg-gradient-deg, 140deg), #ffc107 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #9ec564;color:#000}.bg-gradient-green-blue{--bslib-color-fg: #ffffff;--bslib-color-bg: #147d98;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #147d98;color:#fff}.bg-gradient-green-indigo{--bslib-color-fg: #ffffff;--bslib-color-bg: #385793;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #385793;color:#fff}.bg-gradient-green-purple{--bslib-color-fg: #ffffff;--bslib-color-bg: #3b6b80;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #3b6b80;color:#fff}.bg-gradient-green-pink{--bslib-color-fg: #ffffff;--bslib-color-bg: #656567;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #656567;color:#fff}.bg-gradient-green-red{--bslib-color-fg: #ffffff;--bslib-color-bg: #67664e;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #67664e;color:#fff}.bg-gradient-green-orange{--bslib-color-fg: #000;--bslib-color-bg: #74833a;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #74833a;color:#000}.bg-gradient-green-yellow{--bslib-color-fg: #000;--bslib-color-bg: #759e35;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #759e35;color:#000}.bg-gradient-green-teal{--bslib-color-fg: #000;--bslib-color-bg: #1ca16f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #1ca16f;color:#000}.bg-gradient-green-cyan{--bslib-color-fg: #000;--bslib-color-bg: #14a292;background:linear-gradient(var(--bg-gradient-deg, 140deg), #198754 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #14a292;color:#000}.bg-gradient-teal-blue{--bslib-color-fg: #000;--bslib-color-bg: #18a5c0;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #18a5c0;color:#000}.bg-gradient-teal-indigo{--bslib-color-fg: #000;--bslib-color-bg: #3c7fbb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3c7fbb;color:#000}.bg-gradient-teal-purple{--bslib-color-fg: #000;--bslib-color-bg: #4093a8;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #4093a8;color:#000}.bg-gradient-teal-pink{--bslib-color-fg: #000;--bslib-color-bg: #698d8f;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #698d8f;color:#000}.bg-gradient-teal-red{--bslib-color-fg: #000;--bslib-color-bg: #6b8e76;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #6b8e76;color:#000}.bg-gradient-teal-orange{--bslib-color-fg: #000;--bslib-color-bg: #78ab63;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #78ab63;color:#000}.bg-gradient-teal-yellow{--bslib-color-fg: #000;--bslib-color-bg: #79c65d;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #79c65d;color:#000}.bg-gradient-teal-green{--bslib-color-fg: #000;--bslib-color-bg: #1daf7c;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #1daf7c;color:#000}.bg-gradient-teal-cyan{--bslib-color-fg: #000;--bslib-color-bg: #18c9bb;background:linear-gradient(var(--bg-gradient-deg, 140deg), #20c997 var(--bg-gradient-start, 36%), #0dcaf0 var(--bg-gradient-end, 180%)) #18c9bb;color:#000}.bg-gradient-cyan-blue{--bslib-color-fg: #000;--bslib-color-bg: #0da5f5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #0d6efd var(--bg-gradient-end, 180%)) #0da5f5;color:#000}.bg-gradient-cyan-indigo{--bslib-color-fg: #000;--bslib-color-bg: #3180f1;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #6610f2 var(--bg-gradient-end, 180%)) #3180f1;color:#000}.bg-gradient-cyan-purple{--bslib-color-fg: #000;--bslib-color-bg: #3494dd;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #6f42c1 var(--bg-gradient-end, 180%)) #3494dd;color:#000}.bg-gradient-cyan-pink{--bslib-color-fg: #000;--bslib-color-bg: #5d8ec5;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #d63384 var(--bg-gradient-end, 180%)) #5d8ec5;color:#000}.bg-gradient-cyan-red{--bslib-color-fg: #000;--bslib-color-bg: #608eac;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #dc3545 var(--bg-gradient-end, 180%)) #608eac;color:#000}.bg-gradient-cyan-orange{--bslib-color-fg: #000;--bslib-color-bg: #6dac98;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #fd7e14 var(--bg-gradient-end, 180%)) #6dac98;color:#000}.bg-gradient-cyan-yellow{--bslib-color-fg: #000;--bslib-color-bg: #6ec693;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #ffc107 var(--bg-gradient-end, 180%)) #6ec693;color:#000}.bg-gradient-cyan-green{--bslib-color-fg: #000;--bslib-color-bg: #12afb2;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #198754 var(--bg-gradient-end, 180%)) #12afb2;color:#000}.bg-gradient-cyan-teal{--bslib-color-fg: #000;--bslib-color-bg: #15cacc;background:linear-gradient(var(--bg-gradient-deg, 140deg), #0dcaf0 var(--bg-gradient-start, 36%), #20c997 var(--bg-gradient-end, 180%)) #15cacc;color:#000}:root{--bslib-value-box-shadow: none;--bslib-value-box-border-width-auto-yes: var(--bslib-value-box-border-width-baseline);--bslib-value-box-border-width-auto-no: 0;--bslib-value-box-border-width-baseline: 1px}.bslib-value-box{border-width:var(--bslib-value-box-border-width-auto-no, var(--bslib-value-box-border-width-baseline));container-name:bslib-value-box;container-type:inline-size}.bslib-value-box.card{box-shadow:var(--bslib-value-box-shadow)}.bslib-value-box.border-auto{border-width:var(--bslib-value-box-border-width-auto-yes, var(--bslib-value-box-border-width-baseline))}.bslib-value-box.default{--bslib-value-box-bg-default: var(--bs-card-bg, #ffffff);--bslib-value-box-border-color-default: var(--bs-card-border-color, rgba(0, 0, 0, 0.175));color:var(--bslib-value-box-color);background-color:var(--bslib-value-box-bg, var(--bslib-value-box-bg-default));border-color:var(--bslib-value-box-border-color, var(--bslib-value-box-border-color-default))}.bslib-value-box .value-box-grid{display:grid;grid-template-areas:"left right";align-items:center;overflow:hidden}.bslib-value-box .value-box-showcase{height:100%;max-height:var(---bslib-value-box-showcase-max-h, 100%)}.bslib-value-box .value-box-showcase,.bslib-value-box .value-box-showcase>.html-fill-item{width:100%}.bslib-value-box[data-full-screen=true] .value-box-showcase{max-height:var(---bslib-value-box-showcase-max-h-fs, 100%)}@media screen and (min-width: 575.98px){@container bslib-value-box (max-width: 300px){.bslib-value-box:not(.showcase-bottom) .value-box-grid{grid-template-columns:1fr !important;grid-template-rows:auto auto;grid-template-areas:"top" "bottom"}.bslib-value-box:not(.showcase-bottom) .value-box-grid .value-box-showcase{grid-area:top !important}.bslib-value-box:not(.showcase-bottom) .value-box-grid .value-box-area{grid-area:bottom !important;justify-content:end}}}.bslib-value-box .value-box-area{justify-content:center;padding:1.5rem 1rem;font-size:.9rem;font-weight:500}.bslib-value-box .value-box-area *{margin-bottom:0;margin-top:0}.bslib-value-box .value-box-title{font-size:1rem;margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.bslib-value-box .value-box-title:empty::after{content:" "}.bslib-value-box .value-box-value{font-size:calc(1.29rem + 0.48vw);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}@media(min-width: 1200px){.bslib-value-box .value-box-value{font-size:1.65rem}}.bslib-value-box .value-box-value:empty::after{content:" "}.bslib-value-box .value-box-showcase{align-items:center;justify-content:center;margin-top:auto;margin-bottom:auto;padding:1rem}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa,.bslib-value-box .value-box-showcase .fab,.bslib-value-box .value-box-showcase .fas,.bslib-value-box .value-box-showcase .far{opacity:.85;min-width:50px;max-width:125%}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa,.bslib-value-box .value-box-showcase .fab,.bslib-value-box .value-box-showcase .fas,.bslib-value-box .value-box-showcase .far{font-size:4rem}.bslib-value-box.showcase-top-right .value-box-grid{grid-template-columns:1fr var(---bslib-value-box-showcase-w, 50%)}.bslib-value-box.showcase-top-right .value-box-grid .value-box-showcase{grid-area:right;margin-left:auto;align-self:start;align-items:end;padding-left:0;padding-bottom:0}.bslib-value-box.showcase-top-right .value-box-grid .value-box-area{grid-area:left;align-self:end}.bslib-value-box.showcase-top-right[data-full-screen=true] .value-box-grid{grid-template-columns:auto var(---bslib-value-box-showcase-w-fs, 1fr)}.bslib-value-box.showcase-top-right[data-full-screen=true] .value-box-grid>div{align-self:center}.bslib-value-box.showcase-top-right:not([data-full-screen=true]) .value-box-showcase{margin-top:0}@container bslib-value-box (max-width: 300px){.bslib-value-box.showcase-top-right:not([data-full-screen=true]) .value-box-grid .value-box-showcase{padding-left:1rem}}.bslib-value-box.showcase-left-center .value-box-grid{grid-template-columns:var(---bslib-value-box-showcase-w, 30%) auto}.bslib-value-box.showcase-left-center[data-full-screen=true] .value-box-grid{grid-template-columns:var(---bslib-value-box-showcase-w-fs, 1fr) auto}.bslib-value-box.showcase-left-center:not([data-fill-screen=true]) .value-box-grid .value-box-showcase{grid-area:left}.bslib-value-box.showcase-left-center:not([data-fill-screen=true]) .value-box-grid .value-box-area{grid-area:right}.bslib-value-box.showcase-bottom .value-box-grid{grid-template-columns:1fr;grid-template-rows:1fr var(---bslib-value-box-showcase-h, auto);grid-template-areas:"top" "bottom";overflow:hidden}.bslib-value-box.showcase-bottom .value-box-grid .value-box-showcase{grid-area:bottom;padding:0;margin:0}.bslib-value-box.showcase-bottom .value-box-grid .value-box-area{grid-area:top}.bslib-value-box.showcase-bottom[data-full-screen=true] .value-box-grid{grid-template-rows:1fr var(---bslib-value-box-showcase-h-fs, 2fr)}.bslib-value-box.showcase-bottom[data-full-screen=true] .value-box-grid .value-box-showcase{padding:1rem}[data-bs-theme=dark] .bslib-value-box{--bslib-value-box-shadow: 0 0.5rem 1rem rgb(0 0 0 / 50%)}@media(min-width: 576px){.nav:not(.nav-hidden){display:flex !important;display:-webkit-flex !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column){float:none !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.bslib-nav-spacer{margin-left:auto !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.form-inline{margin-top:auto;margin-bottom:auto}.nav:not(.nav-hidden).nav-stacked{flex-direction:column;-webkit-flex-direction:column;height:100%}.nav:not(.nav-hidden).nav-stacked>.bslib-nav-spacer{margin-top:auto !important}}.bslib-card{overflow:auto}.bslib-card .card-body+.card-body{padding-top:0}.bslib-card .card-body{overflow:auto}.bslib-card .card-body p{margin-top:0}.bslib-card .card-body p:last-child{margin-bottom:0}.bslib-card .card-body{max-height:var(--bslib-card-body-max-height, none)}.bslib-card[data-full-screen=true]>.card-body{max-height:var(--bslib-card-body-max-height-full-screen, none)}.bslib-card .card-header .form-group{margin-bottom:0}.bslib-card .card-header .selectize-control{margin-bottom:0}.bslib-card .card-header .selectize-control .item{margin-right:1.15rem}.bslib-card .card-footer{margin-top:auto}.bslib-card .bslib-navs-card-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.bslib-card .bslib-navs-card-title .nav{margin-left:auto}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border=true]){border:none}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border-radius=true]){border-top-left-radius:0;border-top-right-radius:0}[data-full-screen=true]{position:fixed;inset:3.5rem 1rem 1rem;height:auto !important;max-height:none !important;width:auto !important;z-index:1070}.bslib-full-screen-enter{display:none;position:absolute;bottom:var(--bslib-full-screen-enter-bottom, 0.2rem);right:var(--bslib-full-screen-enter-right, 0);top:var(--bslib-full-screen-enter-top);left:var(--bslib-full-screen-enter-left);color:var(--bslib-color-fg, var(--bs-card-color));background-color:var(--bslib-color-bg, var(--bs-card-bg, var(--bs-body-bg)));border:var(--bs-card-border-width) solid var(--bslib-color-fg, var(--bs-card-border-color));box-shadow:0 2px 4px rgba(0,0,0,.15);margin:.2rem .4rem;padding:.55rem !important;font-size:.8rem;cursor:pointer;opacity:.7;z-index:1070}.bslib-full-screen-enter:hover{opacity:1}.card[data-full-screen=false]:hover>*>.bslib-full-screen-enter{display:block}.bslib-has-full-screen .card:hover>*>.bslib-full-screen-enter{display:none}@media(max-width: 575.98px){.bslib-full-screen-enter{display:none !important}}.bslib-full-screen-exit{position:relative;top:1.35rem;font-size:.9rem;cursor:pointer;text-decoration:none;display:flex;float:right;margin-right:2.15rem;align-items:center;color:rgba(var(--bs-body-bg-rgb), 0.8)}.bslib-full-screen-exit:hover{color:rgba(var(--bs-body-bg-rgb), 1)}.bslib-full-screen-exit svg{margin-left:.5rem;font-size:1.5rem}#bslib-full-screen-overlay{position:fixed;inset:0;background-color:rgba(var(--bs-body-color-rgb), 0.6);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1069;animation:bslib-full-screen-overlay-enter 400ms cubic-bezier(0.6, 0.02, 0.65, 1) forwards}@keyframes bslib-full-screen-overlay-enter{0%{opacity:0}100%{opacity:1}}.bslib-grid{display:grid !important;gap:var(--bslib-spacer, 1rem);height:var(--bslib-grid-height)}.bslib-grid.grid{grid-template-columns:repeat(var(--bs-columns, 12), minmax(0, 1fr));grid-template-rows:unset;grid-auto-rows:var(--bslib-grid--row-heights);--bslib-grid--row-heights--xs: unset;--bslib-grid--row-heights--sm: unset;--bslib-grid--row-heights--md: unset;--bslib-grid--row-heights--lg: unset;--bslib-grid--row-heights--xl: unset;--bslib-grid--row-heights--xxl: unset}.bslib-grid.grid.bslib-grid--row-heights--xs{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xs)}@media(min-width: 576px){.bslib-grid.grid.bslib-grid--row-heights--sm{--bslib-grid--row-heights: var(--bslib-grid--row-heights--sm)}}@media(min-width: 768px){.bslib-grid.grid.bslib-grid--row-heights--md{--bslib-grid--row-heights: var(--bslib-grid--row-heights--md)}}@media(min-width: 992px){.bslib-grid.grid.bslib-grid--row-heights--lg{--bslib-grid--row-heights: var(--bslib-grid--row-heights--lg)}}@media(min-width: 1200px){.bslib-grid.grid.bslib-grid--row-heights--xl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xl)}}@media(min-width: 1400px){.bslib-grid.grid.bslib-grid--row-heights--xxl{--bslib-grid--row-heights: var(--bslib-grid--row-heights--xxl)}}.bslib-grid>*>.shiny-input-container{width:100%}.bslib-grid-item{grid-column:auto/span 1}@media(max-width: 767.98px){.bslib-grid-item{grid-column:1/-1}}@media(max-width: 575.98px){.bslib-grid{grid-template-columns:1fr !important;height:var(--bslib-grid-height-mobile)}.bslib-grid.grid{height:unset !important;grid-auto-rows:var(--bslib-grid--row-heights--xs, auto)}}.accordion .accordion-header{font-size:calc(1.29rem + 0.48vw);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color);margin-bottom:0}@media(min-width: 1200px){.accordion .accordion-header{font-size:1.65rem}}.accordion .accordion-icon:not(:empty){margin-right:.75rem;display:flex}.accordion .accordion-button:not(.collapsed){box-shadow:none}.accordion .accordion-button:not(.collapsed):focus{box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.navbar+.container-fluid:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-sm:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-md:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-lg:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-xl:has(>.tab-content>.tab-pane.active.html-fill-container),.navbar+.container-xxl:has(>.tab-content>.tab-pane.active.html-fill-container){padding-left:0;padding-right:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container,.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container{padding:var(--bslib-spacer, 1rem);gap:var(--bslib-spacer, 1rem)}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container:has(>.bslib-sidebar-layout:only-child){padding:0}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border=true]){border-left:none;border-right:none;border-bottom:none}.navbar+.container-fluid>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-sm>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-md>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-lg>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-xl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]),.navbar+.container-xxl>.tab-content>.tab-pane.active.html-fill-container>.bslib-sidebar-layout:only-child:not([data-bslib-sidebar-border-radius=true]){border-radius:0}.navbar+div>.bslib-sidebar-layout{border-top:var(--bslib-sidebar-border)}html{height:100%}.bslib-page-fill{width:100%;height:100%;margin:0;padding:var(--bslib-spacer, 1rem);gap:var(--bslib-spacer, 1rem)}@media(max-width: 575.98px){.bslib-page-fill{height:var(--bslib-page-fill-mobile-height, auto)}}:root{--bslib-page-sidebar-title-bg: #517699;--bslib-page-sidebar-title-color: #ffffff}.bslib-page-title{background-color:var(--bslib-page-sidebar-title-bg);color:var(--bslib-page-sidebar-title-color);font-size:1.25rem;font-weight:300;padding:var(--bslib-spacer, 1rem);padding-left:1.5rem;margin-bottom:0;border-bottom:1px solid #dee2e6}.bslib-sidebar-layout{--bslib-sidebar-transition-duration: 500ms;--bslib-sidebar-transition-easing-x: cubic-bezier(0.8, 0.78, 0.22, 1.07);--bslib-sidebar-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, rgba(0, 0, 0, 0.175));--bslib-sidebar-border-radius: var(--bs-border-radius);--bslib-sidebar-vert-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, rgba(0, 0, 0, 0.175));--bslib-sidebar-bg: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.05);--bslib-sidebar-fg: var(--bs-emphasis-color, black);--bslib-sidebar-main-fg: var(--bs-card-color, var(--bs-body-color));--bslib-sidebar-main-bg: var(--bs-card-bg, var(--bs-body-bg));--bslib-sidebar-toggle-bg: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.1);--bslib-sidebar-padding: calc(var(--bslib-spacer) * 1.5);--bslib-sidebar-icon-size: var(--bslib-spacer, 1rem);--bslib-sidebar-icon-button-size: calc(var(--bslib-sidebar-icon-size, 1rem) * 2);--bslib-sidebar-padding-icon: calc(var(--bslib-sidebar-icon-button-size, 2rem) * 1.5);--bslib-collapse-toggle-border-radius: var(--bs-border-radius, 0.375rem);--bslib-collapse-toggle-transform: 0deg;--bslib-sidebar-toggle-transition-easing: cubic-bezier(1, 0, 0, 1);--bslib-collapse-toggle-right-transform: 180deg;--bslib-sidebar-column-main: minmax(0, 1fr);display:grid !important;grid-template-columns:min(100% - var(--bslib-sidebar-icon-size),var(--bslib-sidebar-width, 250px)) var(--bslib-sidebar-column-main);position:relative;transition:grid-template-columns ease-in-out var(--bslib-sidebar-transition-duration);border:var(--bslib-sidebar-border);border-radius:var(--bslib-sidebar-border-radius)}@media(prefers-reduced-motion: reduce){.bslib-sidebar-layout{transition:none}}.bslib-sidebar-layout[data-bslib-sidebar-border=false]{border:none}.bslib-sidebar-layout[data-bslib-sidebar-border-radius=false]{border-radius:initial}.bslib-sidebar-layout>.main,.bslib-sidebar-layout>.sidebar{grid-row:1/2;border-radius:inherit;overflow:auto}.bslib-sidebar-layout>.main{grid-column:2/3;border-top-left-radius:0;border-bottom-left-radius:0;padding:var(--bslib-sidebar-padding);transition:padding var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration);color:var(--bslib-sidebar-main-fg);background-color:var(--bslib-sidebar-main-bg)}.bslib-sidebar-layout>.sidebar{grid-column:1/2;width:100%;height:100%;border-right:var(--bslib-sidebar-vert-border);border-top-right-radius:0;border-bottom-right-radius:0;color:var(--bslib-sidebar-fg);background-color:var(--bslib-sidebar-bg);backdrop-filter:blur(5px)}.bslib-sidebar-layout>.sidebar>.sidebar-content{display:flex;flex-direction:column;gap:var(--bslib-spacer, 1rem);padding:var(--bslib-sidebar-padding);padding-top:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout>.sidebar>.sidebar-content>:last-child:not(.sidebar-title){margin-bottom:0}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion{margin-left:calc(-1*var(--bslib-sidebar-padding));margin-right:calc(-1*var(--bslib-sidebar-padding))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:last-child{margin-bottom:calc(-1*var(--bslib-sidebar-padding))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child){margin-bottom:1rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-body{display:flex;flex-direction:column}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:first-child) .accordion-item:first-child{border-top:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child) .accordion-item:last-child{border-bottom:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content.has-accordion>.sidebar-title{border-bottom:none;padding-bottom:0}.bslib-sidebar-layout>.sidebar .shiny-input-container{width:100%}.bslib-sidebar-layout[data-bslib-sidebar-open=always]>.sidebar>.sidebar-content{padding-top:var(--bslib-sidebar-padding)}.bslib-sidebar-layout>.collapse-toggle{grid-row:1/2;grid-column:1/2;display:inline-flex;align-items:center;position:absolute;right:calc(var(--bslib-sidebar-icon-size));top:calc(var(--bslib-sidebar-icon-size, 1rem)/2);border:none;border-radius:var(--bslib-collapse-toggle-border-radius);height:var(--bslib-sidebar-icon-button-size, 2rem);width:var(--bslib-sidebar-icon-button-size, 2rem);display:flex;align-items:center;justify-content:center;padding:0;color:var(--bslib-sidebar-fg);background-color:unset;transition:color var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration),top var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration),right var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration),left var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration)}.bslib-sidebar-layout>.collapse-toggle:hover{background-color:var(--bslib-sidebar-toggle-bg)}.bslib-sidebar-layout>.collapse-toggle>.collapse-icon{opacity:.8;width:var(--bslib-sidebar-icon-size);height:var(--bslib-sidebar-icon-size);transform:rotateY(var(--bslib-collapse-toggle-transform));transition:transform var(--bslib-sidebar-toggle-transition-easing) var(--bslib-sidebar-transition-duration)}.bslib-sidebar-layout>.collapse-toggle:hover>.collapse-icon{opacity:1}.bslib-sidebar-layout .sidebar-title{font-size:1.25rem;line-height:1.25;margin-top:0;margin-bottom:1rem;padding-bottom:1rem;border-bottom:var(--bslib-sidebar-border)}.bslib-sidebar-layout.sidebar-right{grid-template-columns:var(--bslib-sidebar-column-main) min(100% - var(--bslib-sidebar-icon-size),var(--bslib-sidebar-width, 250px))}.bslib-sidebar-layout.sidebar-right>.main{grid-column:1/2;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout.sidebar-right>.sidebar{grid-column:2/3;border-right:none;border-left:var(--bslib-sidebar-vert-border);border-top-left-radius:0;border-bottom-left-radius:0}.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-column:2/3;left:var(--bslib-sidebar-icon-size);right:unset;border:var(--bslib-collapse-toggle-border)}.bslib-sidebar-layout.sidebar-right>.collapse-toggle>.collapse-icon{transform:rotateY(var(--bslib-collapse-toggle-right-transform))}.bslib-sidebar-layout.sidebar-collapsed{--bslib-collapse-toggle-transform: 180deg;--bslib-collapse-toggle-right-transform: 0deg;--bslib-sidebar-vert-border: none;grid-template-columns:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right{grid-template-columns:minmax(0, 1fr) 0}.bslib-sidebar-layout.sidebar-collapsed:not(.transitioning)>.sidebar>*{display:none}.bslib-sidebar-layout.sidebar-collapsed>.main{border-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed:not(.sidebar-right)>.main{padding-left:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.main{padding-right:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle{color:var(--bslib-sidebar-main-fg);top:calc(var(--bslib-sidebar-overlap-counter, 0)*(var(--bslib-sidebar-icon-size) + var(--bslib-sidebar-padding)) + var(--bslib-sidebar-icon-size, 1rem)/2);right:calc(-2.5*var(--bslib-sidebar-icon-size) - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.collapse-toggle{left:calc(-2.5*var(--bslib-sidebar-icon-size) - var(--bs-card-border-width, 1px));right:unset}@media(min-width: 576px){.bslib-sidebar-layout.transitioning>.sidebar>.sidebar-content{display:none}}@media(max-width: 575.98px){.bslib-sidebar-layout[data-bslib-sidebar-open=desktop]{--bslib-sidebar-js-init-collapsed: true}.bslib-sidebar-layout>.sidebar,.bslib-sidebar-layout.sidebar-right>.sidebar{border:none}.bslib-sidebar-layout>.main,.bslib-sidebar-layout.sidebar-right>.main{grid-column:1/3}.bslib-sidebar-layout[data-bslib-sidebar-open=always]{display:block !important}.bslib-sidebar-layout[data-bslib-sidebar-open=always]>.sidebar{max-height:var(--bslib-sidebar-max-height-mobile);overflow-y:auto;border-top:var(--bslib-sidebar-vert-border)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]){grid-template-columns:100% 0}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]):not(.sidebar-collapsed)>.sidebar{z-index:1}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]):not(.sidebar-collapsed)>.collapse-toggle{z-index:1}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-right{grid-template-columns:0 100%}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-collapsed{grid-template-columns:0 100%}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-collapsed.sidebar-right{grid-template-columns:100% 0}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]):not(.sidebar-right)>.main{padding-left:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-right>.main{padding-right:var(--bslib-sidebar-padding-icon)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always])>.main{opacity:0;transition:opacity var(--bslib-sidebar-transition-easing-x) var(--bslib-sidebar-transition-duration)}.bslib-sidebar-layout:not([data-bslib-sidebar-open=always]).sidebar-collapsed>.main{opacity:1}}.html-fill-container{display:flex;flex-direction:column;min-height:0;min-width:0}.html-fill-container>.html-fill-item{flex:1 1 auto;min-height:0;min-width:0}.html-fill-container>:not(.html-fill-item){flex:0 0 auto}.tippy-box[data-theme~=quarto]{background-color:#fff;border:solid 1px #dee2e6;border-radius:.375rem;color:#212529;font-size:.875rem}.tippy-box[data-theme~=quarto]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=quarto]>.tippy-arrow:after,.tippy-box[data-theme~=quarto]>.tippy-svg-arrow:after{content:"";position:absolute;z-index:-1}.tippy-box[data-theme~=quarto]>.tippy-arrow:after{border-color:rgba(0,0,0,0);border-style:solid}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-6px}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-6px}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-6px}.tippy-box[data-placement^=left]>.tippy-arrow:before{right:-6px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-arrow:after{border-top-color:#dee2e6;border-width:7px 7px 0;top:17px;left:1px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-svg-arrow>svg{top:16px}.tippy-box[data-theme~=quarto][data-placement^=top]>.tippy-svg-arrow:after{top:17px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff;bottom:16px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-arrow:after{border-bottom-color:#dee2e6;border-width:0 7px 7px;bottom:17px;left:1px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:15px}.tippy-box[data-theme~=quarto][data-placement^=bottom]>.tippy-svg-arrow:after{bottom:17px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-arrow:after{border-left-color:#dee2e6;border-width:7px 0 7px 7px;left:17px;top:1px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-svg-arrow>svg{left:11px}.tippy-box[data-theme~=quarto][data-placement^=left]>.tippy-svg-arrow:after{left:12px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff;right:16px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-arrow:after{border-width:7px 7px 7px 0;right:17px;top:1px;border-right-color:#dee2e6}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-svg-arrow>svg{right:11px}.tippy-box[data-theme~=quarto][data-placement^=right]>.tippy-svg-arrow:after{right:12px}.tippy-box[data-theme~=quarto]>.tippy-svg-arrow{fill:#212529}.tippy-box[data-theme~=quarto]>.tippy-svg-arrow:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA2czEuNzk2LS4wMTMgNC42Ny0zLjYxNUM1Ljg1MS45IDYuOTMuMDA2IDggMGMxLjA3LS4wMDYgMi4xNDguODg3IDMuMzQzIDIuMzg1QzE0LjIzMyA2LjAwNSAxNiA2IDE2IDZIMHoiIGZpbGw9InJnYmEoMCwgOCwgMTYsIDAuMikiLz48L3N2Zz4=);background-size:16px 6px;width:16px;height:6px}.top-right{position:absolute;top:1em;right:1em}.visually-hidden{border:0;clip:rect(0 0 0 0);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none !important}.zindex-bottom{z-index:-1 !important}figure.figure{display:block}.quarto-layout-panel{margin-bottom:1em}.quarto-layout-panel>figure{width:100%}.quarto-layout-panel>figure>figcaption,.quarto-layout-panel>.panel-caption{margin-top:10pt}.quarto-layout-panel>.table-caption{margin-top:0px}.table-caption p{margin-bottom:.5em}.quarto-layout-row{display:flex;flex-direction:row;align-items:flex-start}.quarto-layout-valign-top{align-items:flex-start}.quarto-layout-valign-bottom{align-items:flex-end}.quarto-layout-valign-center{align-items:center}.quarto-layout-cell{position:relative;margin-right:20px}.quarto-layout-cell:last-child{margin-right:0}.quarto-layout-cell figure,.quarto-layout-cell>p{margin:.2em}.quarto-layout-cell img{max-width:100%}.quarto-layout-cell .html-widget{width:100% !important}.quarto-layout-cell div figure p{margin:0}.quarto-layout-cell figure{display:block;margin-inline-start:0;margin-inline-end:0}.quarto-layout-cell table{display:inline-table}.quarto-layout-cell-subref figcaption,figure .quarto-layout-row figure figcaption{text-align:center;font-style:italic}.quarto-figure{position:relative;margin-bottom:1em}.quarto-figure>figure{width:100%;margin-bottom:0}.quarto-figure-left>figure>p,.quarto-figure-left>figure>div{text-align:left}.quarto-figure-center>figure>p,.quarto-figure-center>figure>div{text-align:center}.quarto-figure-right>figure>p,.quarto-figure-right>figure>div{text-align:right}.quarto-figure>figure>div.cell-annotation,.quarto-figure>figure>div code{text-align:left}figure>p:empty{display:none}figure>p:first-child{margin-top:0;margin-bottom:0}figure>figcaption.quarto-float-caption-bottom{margin-bottom:.5em}figure>figcaption.quarto-float-caption-top{margin-top:.5em}div[id^=tbl-]{position:relative}.quarto-figure>.anchorjs-link{position:absolute;top:.6em;right:.5em}div[id^=tbl-]>.anchorjs-link{position:absolute;top:.7em;right:.3em}.quarto-figure:hover>.anchorjs-link,div[id^=tbl-]:hover>.anchorjs-link,h2:hover>.anchorjs-link,.h2:hover>.anchorjs-link,h3:hover>.anchorjs-link,.h3:hover>.anchorjs-link,h4:hover>.anchorjs-link,.h4:hover>.anchorjs-link,h5:hover>.anchorjs-link,.h5:hover>.anchorjs-link,h6:hover>.anchorjs-link,.h6:hover>.anchorjs-link,.reveal-anchorjs-link>.anchorjs-link{opacity:1}#title-block-header{margin-block-end:1rem;position:relative;margin-top:-1px}#title-block-header .abstract{margin-block-start:1rem}#title-block-header .abstract .abstract-title{font-weight:600}#title-block-header a{text-decoration:none}#title-block-header .author,#title-block-header .date,#title-block-header .doi{margin-block-end:.2rem}#title-block-header .quarto-title-block>div{display:flex}#title-block-header .quarto-title-block>div>h1,#title-block-header .quarto-title-block>div>.h1{flex-grow:1}#title-block-header .quarto-title-block>div>button{flex-shrink:0;height:2.25rem;margin-top:0}@media(min-width: 992px){#title-block-header .quarto-title-block>div>button{margin-top:5px}}tr.header>th>p:last-of-type{margin-bottom:0px}table,table.table{margin-top:.5rem;margin-bottom:.5rem}caption,.table-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:center}figure.quarto-float-tbl figcaption.quarto-float-caption-top{margin-top:.5rem;margin-bottom:.25rem;text-align:center}figure.quarto-float-tbl figcaption.quarto-float-caption-bottom{padding-top:.25rem;margin-bottom:.5rem;text-align:center}.utterances{max-width:none;margin-left:-8px}iframe{margin-bottom:1em}details{margin-bottom:1em}details[show]{margin-bottom:0}details>summary{color:rgba(33,37,41,.75)}details>summary>p:only-child{display:inline}pre.sourceCode,code.sourceCode{position:relative}p code:not(.sourceCode){white-space:pre-wrap}code{white-space:pre}@media print{code{white-space:pre-wrap}}pre>code{display:block}pre>code.sourceCode{white-space:pre}pre>code.sourceCode>span>a:first-child::before{text-decoration:none}pre.code-overflow-wrap>code.sourceCode{white-space:pre-wrap}pre.code-overflow-scroll>code.sourceCode{white-space:pre}code a:any-link{color:inherit;text-decoration:none}code a:hover{color:inherit;text-decoration:underline}ul.task-list{padding-left:1em}[data-tippy-root]{display:inline-block}.tippy-content .footnote-back{display:none}.footnote-back{margin-left:.2em}.tippy-content{overflow-x:auto}.quarto-embedded-source-code{display:none}.quarto-unresolved-ref{font-weight:600}.quarto-cover-image{max-width:35%;float:right;margin-left:30px}.cell-output-display .widget-subarea{margin-bottom:1em}.cell-output-display:not(.no-overflow-x),.knitsql-table:not(.no-overflow-x){overflow-x:auto}.panel-input{margin-bottom:1em}.panel-input>div,.panel-input>div>div{display:inline-block;vertical-align:top;padding-right:12px}.panel-input>p:last-child{margin-bottom:0}.layout-sidebar{margin-bottom:1em}.layout-sidebar .tab-content{border:none}.tab-content>.page-columns.active{display:grid}div.sourceCode>iframe{width:100%;height:300px;margin-bottom:-0.5em}a{text-underline-offset:3px}div.ansi-escaped-output{font-family:monospace;display:block}/*! +* +* ansi colors from IPython notebook's +* +* we also add `bright-[color]-` synonyms for the `-[color]-intense` classes since +* that seems to be what ansi_up emits +* +*/.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-black,.ansi-bright-black-fg{color:#282c36}.ansi-black-intense-black,.ansi-bright-black-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-red,.ansi-bright-red-fg{color:#b22b31}.ansi-red-intense-red,.ansi-bright-red-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-green,.ansi-bright-green-fg{color:#007427}.ansi-green-intense-green,.ansi-bright-green-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-yellow,.ansi-bright-yellow-fg{color:#b27d12}.ansi-yellow-intense-yellow,.ansi-bright-yellow-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-blue,.ansi-bright-blue-fg{color:#0065ca}.ansi-blue-intense-blue,.ansi-bright-blue-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-magenta,.ansi-bright-magenta-fg{color:#a03196}.ansi-magenta-intense-magenta,.ansi-bright-magenta-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-cyan,.ansi-bright-cyan-fg{color:#258f8f}.ansi-cyan-intense-cyan,.ansi-bright-cyan-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-white,.ansi-bright-white-fg{color:#a1a6b2}.ansi-white-intense-white,.ansi-bright-white-bg{background-color:#a1a6b2}.ansi-default-inverse-fg{color:#fff}.ansi-default-inverse-bg{background-color:#000}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}:root{--quarto-body-bg: #ffffff;--quarto-body-color: #212529;--quarto-text-muted: rgba(33, 37, 41, 0.75);--quarto-border-color: #dee2e6;--quarto-border-width: 1px;--quarto-border-radius: 0.375rem}table.gt_table{color:var(--quarto-body-color);font-size:1em;width:100%;background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_column_spanner_outer{color:var(--quarto-body-color);background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_col_heading{color:var(--quarto-body-color);font-weight:bold;background-color:rgba(0,0,0,0)}table.gt_table thead.gt_col_headings{border-bottom:1px solid currentColor;border-top-width:inherit;border-top-color:var(--quarto-border-color)}table.gt_table thead.gt_col_headings:not(:first-child){border-top-width:1px;border-top-color:var(--quarto-border-color)}table.gt_table td.gt_row{border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-width:0px}table.gt_table tbody.gt_table_body{border-top-width:1px;border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-color:currentColor}div.columns{display:initial;gap:initial}div.column{display:inline-block;overflow-x:initial;vertical-align:top;width:50%}.code-annotation-tip-content{word-wrap:break-word}.code-annotation-container-hidden{display:none !important}dl.code-annotation-container-grid{display:grid;grid-template-columns:min-content auto}dl.code-annotation-container-grid dt{grid-column:1}dl.code-annotation-container-grid dd{grid-column:2}pre.sourceCode.code-annotation-code{padding-right:0}code.sourceCode .code-annotation-anchor{z-index:100;position:relative;float:right;background-color:rgba(0,0,0,0)}input[type=checkbox]{margin-right:.5ch}:root{--mermaid-bg-color: #ffffff;--mermaid-edge-color: #6c757d;--mermaid-node-fg-color: #212529;--mermaid-fg-color: #212529;--mermaid-fg-color--lighter: #383f45;--mermaid-fg-color--lightest: #4e5862;--mermaid-font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Noto Sans, Liberation Sans, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;--mermaid-label-bg-color: #ffffff;--mermaid-label-fg-color: #0d6efd;--mermaid-node-bg-color: rgba(13, 110, 253, 0.1);--mermaid-node-fg-color: #212529}@media print{:root{font-size:11pt}#quarto-sidebar,#TOC,.nav-page{display:none}.page-columns .content{grid-column-start:page-start}.fixed-top{position:relative}.panel-caption,.figure-caption,figcaption{color:#666}}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:rgba(0,0,0,0);z-index:3}.code-copy-button:focus{outline:none}.code-copy-button-tooltip{font-size:.75em}pre.sourceCode:hover>.code-copy-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}pre.sourceCode:hover>.code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button-checked:hover>.bi::before{background-image:url('data:image/svg+xml,')}main ol ol,main ul ul,main ol ul,main ul ol{margin-bottom:1em}ul>li:not(:has(>p))>ul,ol>li:not(:has(>p))>ul,ul>li:not(:has(>p))>ol,ol>li:not(:has(>p))>ol{margin-bottom:0}ul>li:not(:has(>p))>ul>li:has(>p),ol>li:not(:has(>p))>ul>li:has(>p),ul>li:not(:has(>p))>ol>li:has(>p),ol>li:not(:has(>p))>ol>li:has(>p){margin-top:1rem}body{margin:0}main.page-columns>header>h1.title,main.page-columns>header>.title.h1{margin-bottom:0}@media(min-width: 992px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc(850px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc(850px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] 35px [page-end-inset page-end] 5fr [screen-end-inset] 1.5em}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset] 35px [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(500px, calc(850px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(850px - 3em)) [body-content-end] 3em [body-end] 50px [body-end-outset] minmax(0px, 250px) [page-end-inset] minmax(50px, 100px) [page-end] 1fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 175px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] minmax(25px, 50px) [body-end-outset] minmax(50px, 150px) [page-end-inset] minmax(25px, 50px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(1000px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(50px, 100px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(1000px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start] minmax(50px, 100px) [page-start-inset] 50px [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(500px, calc(1000px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(0px, 200px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 50px [page-start-inset] minmax(50px, 150px) [body-start-outset] 50px [body-start] 1.5em [body-content-start] minmax(450px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(50px, 150px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] minmax(25px, 50px) [page-start-inset] minmax(50px, 150px) [body-start-outset] minmax(25px, 50px) [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] minmax(25px, 50px) [body-end-outset] minmax(50px, 150px) [page-end-inset] minmax(25px, 50px) [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 991.98px){body .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.fullcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.slimcontent:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.listing:not(.floating):not(.docked) .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset] 5fr [body-start] 1.5em [body-content-start] minmax(500px, calc(1250px - 3em)) [body-content-end body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start] 35px [page-start-inset] minmax(0px, 145px) [body-start-outset] 35px [body-start] 1.5em [body-content-start] minmax(450px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1.5em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(75px, 150px) [page-end-inset] 25px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(1000px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc(800px - 3em)) [body-content-end] 1.5em [body-end body-end-outset page-end-inset page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.docked.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.docked.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(25px, 50px) [page-end-inset] 50px [page-end] 5fr [screen-end-inset] 1.5em [screen-end]}body.floating.slimcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 35px [body-end-outset] minmax(75px, 145px) [page-end-inset] 35px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}body.floating.listing .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset] 5fr [page-start page-start-inset body-start-outset body-start] 1em [body-content-start] minmax(500px, calc(750px - 3em)) [body-content-end] 1.5em [body-end] 50px [body-end-outset] minmax(75px, 150px) [page-end-inset] 25px [page-end] 4fr [screen-end-inset] 1.5em [screen-end]}}@media(max-width: 767.98px){body .page-columns,body.fullcontent:not(.floating):not(.docked) .page-columns,body.slimcontent:not(.floating):not(.docked) .page-columns,body.docked .page-columns,body.docked.slimcontent .page-columns,body.docked.fullcontent .page-columns,body.floating .page-columns,body.floating.slimcontent .page-columns,body.floating.fullcontent .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}body:not(.floating):not(.docked) .page-columns.toc-left .page-columns{display:grid;gap:0;grid-template-columns:[screen-start] 1.5em [screen-start-inset page-start page-start-inset body-start-outset body-start body-content-start] minmax(0px, 1fr) [body-content-end body-end body-end-outset page-end-inset page-end screen-end-inset] 1.5em [screen-end]}nav[role=doc-toc]{display:none}}body,.page-row-navigation{grid-template-rows:[page-top] max-content [contents-top] max-content [contents-bottom] max-content [page-bottom]}.page-rows-contents{grid-template-rows:[content-top] minmax(max-content, 1fr) [content-bottom] minmax(60px, max-content) [page-bottom]}.page-full{grid-column:screen-start/screen-end !important}.page-columns>*{grid-column:body-content-start/body-content-end}.page-columns.column-page>*{grid-column:page-start/page-end}.page-columns.column-page-left .page-columns.page-full>*,.page-columns.column-page-left>*{grid-column:page-start/body-content-end}.page-columns.column-page-right .page-columns.page-full>*,.page-columns.column-page-right>*{grid-column:body-content-start/page-end}.page-rows{grid-auto-rows:auto}.header{grid-column:screen-start/screen-end;grid-row:page-top/contents-top}#quarto-content{padding:0;grid-column:screen-start/screen-end;grid-row:contents-top/contents-bottom}body.floating .sidebar.sidebar-navigation{grid-column:page-start/body-start;grid-row:content-top/page-bottom}body.docked .sidebar.sidebar-navigation{grid-column:screen-start/body-start;grid-row:content-top/page-bottom}.sidebar.toc-left{grid-column:page-start/body-start;grid-row:content-top/page-bottom}.sidebar.margin-sidebar{grid-column:body-end/page-end;grid-row:content-top/page-bottom}.page-columns .content{grid-column:body-content-start/body-content-end;grid-row:content-top/content-bottom;align-content:flex-start}.page-columns .page-navigation{grid-column:body-content-start/body-content-end;grid-row:content-bottom/page-bottom}.page-columns .footer{grid-column:screen-start/screen-end;grid-row:contents-bottom/page-bottom}.page-columns .column-body{grid-column:body-content-start/body-content-end}.page-columns .column-body-fullbleed{grid-column:body-start/body-end}.page-columns .column-body-outset{grid-column:body-start-outset/body-end-outset;z-index:998;opacity:.999}.page-columns .column-body-outset table{background:#fff}.page-columns .column-body-outset-left{grid-column:body-start-outset/body-content-end;z-index:998;opacity:.999}.page-columns .column-body-outset-left table{background:#fff}.page-columns .column-body-outset-right{grid-column:body-content-start/body-end-outset;z-index:998;opacity:.999}.page-columns .column-body-outset-right table{background:#fff}.page-columns .column-page{grid-column:page-start/page-end;z-index:998;opacity:.999}.page-columns .column-page table{background:#fff}.page-columns .column-page-inset{grid-column:page-start-inset/page-end-inset;z-index:998;opacity:.999}.page-columns .column-page-inset table{background:#fff}.page-columns .column-page-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;opacity:.999}.page-columns .column-page-inset-left table{background:#fff}.page-columns .column-page-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;opacity:.999}.page-columns .column-page-inset-right figcaption table{background:#fff}.page-columns .column-page-left{grid-column:page-start/body-content-end;z-index:998;opacity:.999}.page-columns .column-page-left table{background:#fff}.page-columns .column-page-right{grid-column:body-content-start/page-end;z-index:998;opacity:.999}.page-columns .column-page-right figcaption table{background:#fff}#quarto-content.page-columns #quarto-margin-sidebar,#quarto-content.page-columns #quarto-sidebar{z-index:1}@media(max-width: 991.98px){#quarto-content.page-columns #quarto-margin-sidebar.collapse,#quarto-content.page-columns #quarto-sidebar.collapse,#quarto-content.page-columns #quarto-margin-sidebar.collapsing,#quarto-content.page-columns #quarto-sidebar.collapsing{z-index:1055}}#quarto-content.page-columns main.column-page,#quarto-content.page-columns main.column-page-right,#quarto-content.page-columns main.column-page-left{z-index:0}.page-columns .column-screen-inset{grid-column:screen-start-inset/screen-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:screen-start-inset/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/screen-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:screen-start/screen-end;z-index:998;opacity:.999}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:screen-start/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/screen-end;z-index:998;opacity:.999}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:screen-start/screen-end;padding:1em;background:#f8f9fa;z-index:998;opacity:.999;margin-bottom:1em}.zindex-content{z-index:998;opacity:.999}.zindex-modal{z-index:1055;opacity:.999}.zindex-over-content{z-index:999;opacity:.999}img.img-fluid.column-screen,img.img-fluid.column-screen-inset-shaded,img.img-fluid.column-screen-inset,img.img-fluid.column-screen-inset-left,img.img-fluid.column-screen-inset-right,img.img-fluid.column-screen-left,img.img-fluid.column-screen-right{width:100%}@media(min-width: 992px){.margin-caption,div.aside,aside:not(.footnotes):not(.sidebar),.column-margin{grid-column:body-end/page-end !important;z-index:998}.column-sidebar{grid-column:page-start/body-start !important;z-index:998}.column-leftmargin{grid-column:screen-start-inset/body-start !important;z-index:998}.no-row-height{height:1em;overflow:visible}}@media(max-width: 991.98px){.margin-caption,div.aside,aside:not(.footnotes):not(.sidebar),.column-margin{grid-column:body-end/page-end !important;z-index:998}.no-row-height{height:1em;overflow:visible}.page-columns.page-full{overflow:visible}.page-columns.toc-left .margin-caption,.page-columns.toc-left div.aside,.page-columns.toc-left aside:not(.footnotes):not(.sidebar),.page-columns.toc-left .column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;opacity:.999}.page-columns.toc-left .no-row-height{height:initial;overflow:initial}}@media(max-width: 767.98px){.margin-caption,div.aside,aside:not(.footnotes):not(.sidebar),.column-margin{grid-column:body-content-start/body-content-end !important;z-index:998;opacity:.999}.no-row-height{height:initial;overflow:initial}#quarto-margin-sidebar{display:none}#quarto-sidebar-toc-left{display:none}.hidden-sm{display:none}}.panel-grid{display:grid;grid-template-rows:repeat(1, 1fr);grid-template-columns:repeat(24, 1fr);gap:1em}.panel-grid .g-col-1{grid-column:auto/span 1}.panel-grid .g-col-2{grid-column:auto/span 2}.panel-grid .g-col-3{grid-column:auto/span 3}.panel-grid .g-col-4{grid-column:auto/span 4}.panel-grid .g-col-5{grid-column:auto/span 5}.panel-grid .g-col-6{grid-column:auto/span 6}.panel-grid .g-col-7{grid-column:auto/span 7}.panel-grid .g-col-8{grid-column:auto/span 8}.panel-grid .g-col-9{grid-column:auto/span 9}.panel-grid .g-col-10{grid-column:auto/span 10}.panel-grid .g-col-11{grid-column:auto/span 11}.panel-grid .g-col-12{grid-column:auto/span 12}.panel-grid .g-col-13{grid-column:auto/span 13}.panel-grid .g-col-14{grid-column:auto/span 14}.panel-grid .g-col-15{grid-column:auto/span 15}.panel-grid .g-col-16{grid-column:auto/span 16}.panel-grid .g-col-17{grid-column:auto/span 17}.panel-grid .g-col-18{grid-column:auto/span 18}.panel-grid .g-col-19{grid-column:auto/span 19}.panel-grid .g-col-20{grid-column:auto/span 20}.panel-grid .g-col-21{grid-column:auto/span 21}.panel-grid .g-col-22{grid-column:auto/span 22}.panel-grid .g-col-23{grid-column:auto/span 23}.panel-grid .g-col-24{grid-column:auto/span 24}.panel-grid .g-start-1{grid-column-start:1}.panel-grid .g-start-2{grid-column-start:2}.panel-grid .g-start-3{grid-column-start:3}.panel-grid .g-start-4{grid-column-start:4}.panel-grid .g-start-5{grid-column-start:5}.panel-grid .g-start-6{grid-column-start:6}.panel-grid .g-start-7{grid-column-start:7}.panel-grid .g-start-8{grid-column-start:8}.panel-grid .g-start-9{grid-column-start:9}.panel-grid .g-start-10{grid-column-start:10}.panel-grid .g-start-11{grid-column-start:11}.panel-grid .g-start-12{grid-column-start:12}.panel-grid .g-start-13{grid-column-start:13}.panel-grid .g-start-14{grid-column-start:14}.panel-grid .g-start-15{grid-column-start:15}.panel-grid .g-start-16{grid-column-start:16}.panel-grid .g-start-17{grid-column-start:17}.panel-grid .g-start-18{grid-column-start:18}.panel-grid .g-start-19{grid-column-start:19}.panel-grid .g-start-20{grid-column-start:20}.panel-grid .g-start-21{grid-column-start:21}.panel-grid .g-start-22{grid-column-start:22}.panel-grid .g-start-23{grid-column-start:23}@media(min-width: 576px){.panel-grid .g-col-sm-1{grid-column:auto/span 1}.panel-grid .g-col-sm-2{grid-column:auto/span 2}.panel-grid .g-col-sm-3{grid-column:auto/span 3}.panel-grid .g-col-sm-4{grid-column:auto/span 4}.panel-grid .g-col-sm-5{grid-column:auto/span 5}.panel-grid .g-col-sm-6{grid-column:auto/span 6}.panel-grid .g-col-sm-7{grid-column:auto/span 7}.panel-grid .g-col-sm-8{grid-column:auto/span 8}.panel-grid .g-col-sm-9{grid-column:auto/span 9}.panel-grid .g-col-sm-10{grid-column:auto/span 10}.panel-grid .g-col-sm-11{grid-column:auto/span 11}.panel-grid .g-col-sm-12{grid-column:auto/span 12}.panel-grid .g-col-sm-13{grid-column:auto/span 13}.panel-grid .g-col-sm-14{grid-column:auto/span 14}.panel-grid .g-col-sm-15{grid-column:auto/span 15}.panel-grid .g-col-sm-16{grid-column:auto/span 16}.panel-grid .g-col-sm-17{grid-column:auto/span 17}.panel-grid .g-col-sm-18{grid-column:auto/span 18}.panel-grid .g-col-sm-19{grid-column:auto/span 19}.panel-grid .g-col-sm-20{grid-column:auto/span 20}.panel-grid .g-col-sm-21{grid-column:auto/span 21}.panel-grid .g-col-sm-22{grid-column:auto/span 22}.panel-grid .g-col-sm-23{grid-column:auto/span 23}.panel-grid .g-col-sm-24{grid-column:auto/span 24}.panel-grid .g-start-sm-1{grid-column-start:1}.panel-grid .g-start-sm-2{grid-column-start:2}.panel-grid .g-start-sm-3{grid-column-start:3}.panel-grid .g-start-sm-4{grid-column-start:4}.panel-grid .g-start-sm-5{grid-column-start:5}.panel-grid .g-start-sm-6{grid-column-start:6}.panel-grid .g-start-sm-7{grid-column-start:7}.panel-grid .g-start-sm-8{grid-column-start:8}.panel-grid .g-start-sm-9{grid-column-start:9}.panel-grid .g-start-sm-10{grid-column-start:10}.panel-grid .g-start-sm-11{grid-column-start:11}.panel-grid .g-start-sm-12{grid-column-start:12}.panel-grid .g-start-sm-13{grid-column-start:13}.panel-grid .g-start-sm-14{grid-column-start:14}.panel-grid .g-start-sm-15{grid-column-start:15}.panel-grid .g-start-sm-16{grid-column-start:16}.panel-grid .g-start-sm-17{grid-column-start:17}.panel-grid .g-start-sm-18{grid-column-start:18}.panel-grid .g-start-sm-19{grid-column-start:19}.panel-grid .g-start-sm-20{grid-column-start:20}.panel-grid .g-start-sm-21{grid-column-start:21}.panel-grid .g-start-sm-22{grid-column-start:22}.panel-grid .g-start-sm-23{grid-column-start:23}}@media(min-width: 768px){.panel-grid .g-col-md-1{grid-column:auto/span 1}.panel-grid .g-col-md-2{grid-column:auto/span 2}.panel-grid .g-col-md-3{grid-column:auto/span 3}.panel-grid .g-col-md-4{grid-column:auto/span 4}.panel-grid .g-col-md-5{grid-column:auto/span 5}.panel-grid .g-col-md-6{grid-column:auto/span 6}.panel-grid .g-col-md-7{grid-column:auto/span 7}.panel-grid .g-col-md-8{grid-column:auto/span 8}.panel-grid .g-col-md-9{grid-column:auto/span 9}.panel-grid .g-col-md-10{grid-column:auto/span 10}.panel-grid .g-col-md-11{grid-column:auto/span 11}.panel-grid .g-col-md-12{grid-column:auto/span 12}.panel-grid .g-col-md-13{grid-column:auto/span 13}.panel-grid .g-col-md-14{grid-column:auto/span 14}.panel-grid .g-col-md-15{grid-column:auto/span 15}.panel-grid .g-col-md-16{grid-column:auto/span 16}.panel-grid .g-col-md-17{grid-column:auto/span 17}.panel-grid .g-col-md-18{grid-column:auto/span 18}.panel-grid .g-col-md-19{grid-column:auto/span 19}.panel-grid .g-col-md-20{grid-column:auto/span 20}.panel-grid .g-col-md-21{grid-column:auto/span 21}.panel-grid .g-col-md-22{grid-column:auto/span 22}.panel-grid .g-col-md-23{grid-column:auto/span 23}.panel-grid .g-col-md-24{grid-column:auto/span 24}.panel-grid .g-start-md-1{grid-column-start:1}.panel-grid .g-start-md-2{grid-column-start:2}.panel-grid .g-start-md-3{grid-column-start:3}.panel-grid .g-start-md-4{grid-column-start:4}.panel-grid .g-start-md-5{grid-column-start:5}.panel-grid .g-start-md-6{grid-column-start:6}.panel-grid .g-start-md-7{grid-column-start:7}.panel-grid .g-start-md-8{grid-column-start:8}.panel-grid .g-start-md-9{grid-column-start:9}.panel-grid .g-start-md-10{grid-column-start:10}.panel-grid .g-start-md-11{grid-column-start:11}.panel-grid .g-start-md-12{grid-column-start:12}.panel-grid .g-start-md-13{grid-column-start:13}.panel-grid .g-start-md-14{grid-column-start:14}.panel-grid .g-start-md-15{grid-column-start:15}.panel-grid .g-start-md-16{grid-column-start:16}.panel-grid .g-start-md-17{grid-column-start:17}.panel-grid .g-start-md-18{grid-column-start:18}.panel-grid .g-start-md-19{grid-column-start:19}.panel-grid .g-start-md-20{grid-column-start:20}.panel-grid .g-start-md-21{grid-column-start:21}.panel-grid .g-start-md-22{grid-column-start:22}.panel-grid .g-start-md-23{grid-column-start:23}}@media(min-width: 992px){.panel-grid .g-col-lg-1{grid-column:auto/span 1}.panel-grid .g-col-lg-2{grid-column:auto/span 2}.panel-grid .g-col-lg-3{grid-column:auto/span 3}.panel-grid .g-col-lg-4{grid-column:auto/span 4}.panel-grid .g-col-lg-5{grid-column:auto/span 5}.panel-grid .g-col-lg-6{grid-column:auto/span 6}.panel-grid .g-col-lg-7{grid-column:auto/span 7}.panel-grid .g-col-lg-8{grid-column:auto/span 8}.panel-grid .g-col-lg-9{grid-column:auto/span 9}.panel-grid .g-col-lg-10{grid-column:auto/span 10}.panel-grid .g-col-lg-11{grid-column:auto/span 11}.panel-grid .g-col-lg-12{grid-column:auto/span 12}.panel-grid .g-col-lg-13{grid-column:auto/span 13}.panel-grid .g-col-lg-14{grid-column:auto/span 14}.panel-grid .g-col-lg-15{grid-column:auto/span 15}.panel-grid .g-col-lg-16{grid-column:auto/span 16}.panel-grid .g-col-lg-17{grid-column:auto/span 17}.panel-grid .g-col-lg-18{grid-column:auto/span 18}.panel-grid .g-col-lg-19{grid-column:auto/span 19}.panel-grid .g-col-lg-20{grid-column:auto/span 20}.panel-grid .g-col-lg-21{grid-column:auto/span 21}.panel-grid .g-col-lg-22{grid-column:auto/span 22}.panel-grid .g-col-lg-23{grid-column:auto/span 23}.panel-grid .g-col-lg-24{grid-column:auto/span 24}.panel-grid .g-start-lg-1{grid-column-start:1}.panel-grid .g-start-lg-2{grid-column-start:2}.panel-grid .g-start-lg-3{grid-column-start:3}.panel-grid .g-start-lg-4{grid-column-start:4}.panel-grid .g-start-lg-5{grid-column-start:5}.panel-grid .g-start-lg-6{grid-column-start:6}.panel-grid .g-start-lg-7{grid-column-start:7}.panel-grid .g-start-lg-8{grid-column-start:8}.panel-grid .g-start-lg-9{grid-column-start:9}.panel-grid .g-start-lg-10{grid-column-start:10}.panel-grid .g-start-lg-11{grid-column-start:11}.panel-grid .g-start-lg-12{grid-column-start:12}.panel-grid .g-start-lg-13{grid-column-start:13}.panel-grid .g-start-lg-14{grid-column-start:14}.panel-grid .g-start-lg-15{grid-column-start:15}.panel-grid .g-start-lg-16{grid-column-start:16}.panel-grid .g-start-lg-17{grid-column-start:17}.panel-grid .g-start-lg-18{grid-column-start:18}.panel-grid .g-start-lg-19{grid-column-start:19}.panel-grid .g-start-lg-20{grid-column-start:20}.panel-grid .g-start-lg-21{grid-column-start:21}.panel-grid .g-start-lg-22{grid-column-start:22}.panel-grid .g-start-lg-23{grid-column-start:23}}@media(min-width: 1200px){.panel-grid .g-col-xl-1{grid-column:auto/span 1}.panel-grid .g-col-xl-2{grid-column:auto/span 2}.panel-grid .g-col-xl-3{grid-column:auto/span 3}.panel-grid .g-col-xl-4{grid-column:auto/span 4}.panel-grid .g-col-xl-5{grid-column:auto/span 5}.panel-grid .g-col-xl-6{grid-column:auto/span 6}.panel-grid .g-col-xl-7{grid-column:auto/span 7}.panel-grid .g-col-xl-8{grid-column:auto/span 8}.panel-grid .g-col-xl-9{grid-column:auto/span 9}.panel-grid .g-col-xl-10{grid-column:auto/span 10}.panel-grid .g-col-xl-11{grid-column:auto/span 11}.panel-grid .g-col-xl-12{grid-column:auto/span 12}.panel-grid .g-col-xl-13{grid-column:auto/span 13}.panel-grid .g-col-xl-14{grid-column:auto/span 14}.panel-grid .g-col-xl-15{grid-column:auto/span 15}.panel-grid .g-col-xl-16{grid-column:auto/span 16}.panel-grid .g-col-xl-17{grid-column:auto/span 17}.panel-grid .g-col-xl-18{grid-column:auto/span 18}.panel-grid .g-col-xl-19{grid-column:auto/span 19}.panel-grid .g-col-xl-20{grid-column:auto/span 20}.panel-grid .g-col-xl-21{grid-column:auto/span 21}.panel-grid .g-col-xl-22{grid-column:auto/span 22}.panel-grid .g-col-xl-23{grid-column:auto/span 23}.panel-grid .g-col-xl-24{grid-column:auto/span 24}.panel-grid .g-start-xl-1{grid-column-start:1}.panel-grid .g-start-xl-2{grid-column-start:2}.panel-grid .g-start-xl-3{grid-column-start:3}.panel-grid .g-start-xl-4{grid-column-start:4}.panel-grid .g-start-xl-5{grid-column-start:5}.panel-grid .g-start-xl-6{grid-column-start:6}.panel-grid .g-start-xl-7{grid-column-start:7}.panel-grid .g-start-xl-8{grid-column-start:8}.panel-grid .g-start-xl-9{grid-column-start:9}.panel-grid .g-start-xl-10{grid-column-start:10}.panel-grid .g-start-xl-11{grid-column-start:11}.panel-grid .g-start-xl-12{grid-column-start:12}.panel-grid .g-start-xl-13{grid-column-start:13}.panel-grid .g-start-xl-14{grid-column-start:14}.panel-grid .g-start-xl-15{grid-column-start:15}.panel-grid .g-start-xl-16{grid-column-start:16}.panel-grid .g-start-xl-17{grid-column-start:17}.panel-grid .g-start-xl-18{grid-column-start:18}.panel-grid .g-start-xl-19{grid-column-start:19}.panel-grid .g-start-xl-20{grid-column-start:20}.panel-grid .g-start-xl-21{grid-column-start:21}.panel-grid .g-start-xl-22{grid-column-start:22}.panel-grid .g-start-xl-23{grid-column-start:23}}@media(min-width: 1400px){.panel-grid .g-col-xxl-1{grid-column:auto/span 1}.panel-grid .g-col-xxl-2{grid-column:auto/span 2}.panel-grid .g-col-xxl-3{grid-column:auto/span 3}.panel-grid .g-col-xxl-4{grid-column:auto/span 4}.panel-grid .g-col-xxl-5{grid-column:auto/span 5}.panel-grid .g-col-xxl-6{grid-column:auto/span 6}.panel-grid .g-col-xxl-7{grid-column:auto/span 7}.panel-grid .g-col-xxl-8{grid-column:auto/span 8}.panel-grid .g-col-xxl-9{grid-column:auto/span 9}.panel-grid .g-col-xxl-10{grid-column:auto/span 10}.panel-grid .g-col-xxl-11{grid-column:auto/span 11}.panel-grid .g-col-xxl-12{grid-column:auto/span 12}.panel-grid .g-col-xxl-13{grid-column:auto/span 13}.panel-grid .g-col-xxl-14{grid-column:auto/span 14}.panel-grid .g-col-xxl-15{grid-column:auto/span 15}.panel-grid .g-col-xxl-16{grid-column:auto/span 16}.panel-grid .g-col-xxl-17{grid-column:auto/span 17}.panel-grid .g-col-xxl-18{grid-column:auto/span 18}.panel-grid .g-col-xxl-19{grid-column:auto/span 19}.panel-grid .g-col-xxl-20{grid-column:auto/span 20}.panel-grid .g-col-xxl-21{grid-column:auto/span 21}.panel-grid .g-col-xxl-22{grid-column:auto/span 22}.panel-grid .g-col-xxl-23{grid-column:auto/span 23}.panel-grid .g-col-xxl-24{grid-column:auto/span 24}.panel-grid .g-start-xxl-1{grid-column-start:1}.panel-grid .g-start-xxl-2{grid-column-start:2}.panel-grid .g-start-xxl-3{grid-column-start:3}.panel-grid .g-start-xxl-4{grid-column-start:4}.panel-grid .g-start-xxl-5{grid-column-start:5}.panel-grid .g-start-xxl-6{grid-column-start:6}.panel-grid .g-start-xxl-7{grid-column-start:7}.panel-grid .g-start-xxl-8{grid-column-start:8}.panel-grid .g-start-xxl-9{grid-column-start:9}.panel-grid .g-start-xxl-10{grid-column-start:10}.panel-grid .g-start-xxl-11{grid-column-start:11}.panel-grid .g-start-xxl-12{grid-column-start:12}.panel-grid .g-start-xxl-13{grid-column-start:13}.panel-grid .g-start-xxl-14{grid-column-start:14}.panel-grid .g-start-xxl-15{grid-column-start:15}.panel-grid .g-start-xxl-16{grid-column-start:16}.panel-grid .g-start-xxl-17{grid-column-start:17}.panel-grid .g-start-xxl-18{grid-column-start:18}.panel-grid .g-start-xxl-19{grid-column-start:19}.panel-grid .g-start-xxl-20{grid-column-start:20}.panel-grid .g-start-xxl-21{grid-column-start:21}.panel-grid .g-start-xxl-22{grid-column-start:22}.panel-grid .g-start-xxl-23{grid-column-start:23}}main{margin-top:1em;margin-bottom:1em}h1,.h1,h2,.h2{color:inherit;margin-top:2rem;margin-bottom:1rem;font-weight:600}h1.title,.title.h1{margin-top:0}main.content>section:first-of-type>h2:first-child,main.content>section:first-of-type>.h2:first-child{margin-top:0}h2,.h2{border-bottom:1px solid #dee2e6;padding-bottom:.5rem}h3,.h3{font-weight:600}h3,.h3,h4,.h4{opacity:.9;margin-top:1.5rem}h5,.h5,h6,.h6{opacity:.9}.header-section-number{color:#5a6570}.nav-link.active .header-section-number{color:inherit}mark,.mark{padding:0em}.panel-caption,.figure-caption,.subfigure-caption,.table-caption,figcaption,caption{font-size:.9rem;color:#5a6570}.quarto-layout-cell[data-ref-parent] caption{color:#5a6570}.column-margin figcaption,.margin-caption,div.aside,aside,.column-margin{color:#5a6570;font-size:.825rem}.panel-caption.margin-caption{text-align:inherit}.column-margin.column-container p{margin-bottom:0}.column-margin.column-container>*:not(.collapse):first-child{padding-bottom:.5em;display:block}.column-margin.column-container>*:not(.collapse):not(:first-child){padding-top:.5em;padding-bottom:.5em;display:block}.column-margin.column-container>*.collapse:not(.show){display:none}@media(min-width: 768px){.column-margin.column-container .callout-margin-content:first-child{margin-top:4.5em}.column-margin.column-container .callout-margin-content-simple:first-child{margin-top:3.5em}}.margin-caption>*{padding-top:.5em;padding-bottom:.5em}@media(max-width: 767.98px){.quarto-layout-row{flex-direction:column}}.nav-tabs .nav-item{margin-top:1px;cursor:pointer}.tab-content{margin-top:0px;border-left:#dee2e6 1px solid;border-right:#dee2e6 1px solid;border-bottom:#dee2e6 1px solid;margin-left:0;padding:1em;margin-bottom:1em}@media(max-width: 767.98px){.layout-sidebar{margin-left:0;margin-right:0}}.panel-sidebar,.panel-sidebar .form-control,.panel-input,.panel-input .form-control,.selectize-dropdown{font-size:.9rem}.panel-sidebar .form-control,.panel-input .form-control{padding-top:.1rem}.tab-pane div.sourceCode{margin-top:0px}.tab-pane>p{padding-top:0}.tab-pane>p:nth-child(1){padding-top:0}.tab-pane>p:last-child{margin-bottom:0}.tab-pane>pre:last-child{margin-bottom:0}.tab-content>.tab-pane:not(.active){display:none !important}div.sourceCode{background-color:rgba(233,236,239,.65);border:1px solid rgba(233,236,239,.65);border-radius:.375rem}pre.sourceCode{background-color:rgba(0,0,0,0)}pre.sourceCode{border:none;font-size:.875em;overflow:visible !important;padding:.4em}.callout pre.sourceCode{padding-left:0}div.sourceCode{overflow-y:hidden}.callout div.sourceCode{margin-left:initial}.blockquote{font-size:inherit;padding-left:1rem;padding-right:1.5rem;color:#5a6570}.blockquote h1:first-child,.blockquote .h1:first-child,.blockquote h2:first-child,.blockquote .h2:first-child,.blockquote h3:first-child,.blockquote .h3:first-child,.blockquote h4:first-child,.blockquote .h4:first-child,.blockquote h5:first-child,.blockquote .h5:first-child{margin-top:0}pre{background-color:initial;padding:initial;border:initial}p pre code:not(.sourceCode),li pre code:not(.sourceCode),pre code:not(.sourceCode){background-color:initial}p code:not(.sourceCode),li code:not(.sourceCode),td code:not(.sourceCode){background-color:#f8f9fa;padding:.2em}nav p code:not(.sourceCode),nav li code:not(.sourceCode),nav td code:not(.sourceCode){background-color:rgba(0,0,0,0);padding:0}td code:not(.sourceCode){white-space:pre-wrap}#quarto-embedded-source-code-modal>.modal-dialog{max-width:1000px;padding-left:1.75rem;padding-right:1.75rem}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body{padding:0}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-body div.sourceCode{margin:0;padding:.2rem .2rem;border-radius:0px;border:none}#quarto-embedded-source-code-modal>.modal-dialog>.modal-content>.modal-header{padding:.7rem}.code-tools-button{font-size:1rem;padding:.15rem .15rem;margin-left:5px;color:rgba(33,37,41,.75);background-color:rgba(0,0,0,0);transition:initial;cursor:pointer}.code-tools-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}.code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button>.bi::before{background-image:url('data:image/svg+xml,')}#quarto-embedded-source-code-modal .code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}.sidebar{will-change:top;transition:top 200ms linear;position:sticky;overflow-y:auto;padding-top:1.2em;max-height:100vh}.sidebar.toc-left,.sidebar.margin-sidebar{top:0px;padding-top:1em}.sidebar.quarto-banner-title-block-sidebar>*{padding-top:1.65em}figure .quarto-notebook-link{margin-top:.5em}.quarto-notebook-link{font-size:.75em;color:rgba(33,37,41,.75);margin-bottom:1em;text-decoration:none;display:block}.quarto-notebook-link:hover{text-decoration:underline;color:#0d6efd}.quarto-notebook-link::before{display:inline-block;height:.75rem;width:.75rem;margin-bottom:0em;margin-right:.25em;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:.75rem .75rem}.toc-actions i.bi,.quarto-code-links i.bi,.quarto-other-links i.bi,.quarto-alternate-notebooks i.bi,.quarto-alternate-formats i.bi{margin-right:.4em;font-size:.8rem}.quarto-other-links-text-target .quarto-code-links i.bi,.quarto-other-links-text-target .quarto-other-links i.bi{margin-right:.2em}.quarto-other-formats-text-target .quarto-alternate-formats i.bi{margin-right:.1em}.toc-actions i.bi.empty,.quarto-code-links i.bi.empty,.quarto-other-links i.bi.empty,.quarto-alternate-notebooks i.bi.empty,.quarto-alternate-formats i.bi.empty{padding-left:1em}.quarto-notebook h2,.quarto-notebook .h2{border-bottom:none}.quarto-notebook .cell-container{display:flex}.quarto-notebook .cell-container .cell{flex-grow:4}.quarto-notebook .cell-container .cell-decorator{padding-top:1.5em;padding-right:1em;text-align:right}.quarto-notebook .cell-container.code-fold .cell-decorator{padding-top:3em}.quarto-notebook .cell-code code{white-space:pre-wrap}.quarto-notebook .cell .cell-output-stderr pre code,.quarto-notebook .cell .cell-output-stdout pre code{white-space:pre-wrap;overflow-wrap:anywhere}.toc-actions,.quarto-alternate-formats,.quarto-other-links,.quarto-code-links,.quarto-alternate-notebooks{padding-left:0em}.sidebar .toc-actions a,.sidebar .quarto-alternate-formats a,.sidebar .quarto-other-links a,.sidebar .quarto-code-links a,.sidebar .quarto-alternate-notebooks a,.sidebar nav[role=doc-toc] a{text-decoration:none}.sidebar .toc-actions a:hover,.sidebar .quarto-other-links a:hover,.sidebar .quarto-code-links a:hover,.sidebar .quarto-alternate-formats a:hover,.sidebar .quarto-alternate-notebooks a:hover{color:#0d6efd}.sidebar .toc-actions h2,.sidebar .toc-actions .h2,.sidebar .quarto-code-links h2,.sidebar .quarto-code-links .h2,.sidebar .quarto-other-links h2,.sidebar .quarto-other-links .h2,.sidebar .quarto-alternate-notebooks h2,.sidebar .quarto-alternate-notebooks .h2,.sidebar .quarto-alternate-formats h2,.sidebar .quarto-alternate-formats .h2,.sidebar nav[role=doc-toc]>h2,.sidebar nav[role=doc-toc]>.h2{font-weight:500;margin-bottom:.2rem;margin-top:.3rem;font-family:inherit;border-bottom:0;padding-bottom:0;padding-top:0px}.sidebar .toc-actions>h2,.sidebar .toc-actions>.h2,.sidebar .quarto-code-links>h2,.sidebar .quarto-code-links>.h2,.sidebar .quarto-other-links>h2,.sidebar .quarto-other-links>.h2,.sidebar .quarto-alternate-notebooks>h2,.sidebar .quarto-alternate-notebooks>.h2,.sidebar .quarto-alternate-formats>h2,.sidebar .quarto-alternate-formats>.h2{font-size:.8rem}.sidebar nav[role=doc-toc]>h2,.sidebar nav[role=doc-toc]>.h2{font-size:.875rem}.sidebar nav[role=doc-toc]>ul a{border-left:1px solid #e9ecef;padding-left:.6rem}.sidebar .toc-actions h2>ul a,.sidebar .toc-actions .h2>ul a,.sidebar .quarto-code-links h2>ul a,.sidebar .quarto-code-links .h2>ul a,.sidebar .quarto-other-links h2>ul a,.sidebar .quarto-other-links .h2>ul a,.sidebar .quarto-alternate-notebooks h2>ul a,.sidebar .quarto-alternate-notebooks .h2>ul a,.sidebar .quarto-alternate-formats h2>ul a,.sidebar .quarto-alternate-formats .h2>ul a{border-left:none;padding-left:.6rem}.sidebar .toc-actions ul a:empty,.sidebar .quarto-code-links ul a:empty,.sidebar .quarto-other-links ul a:empty,.sidebar .quarto-alternate-notebooks ul a:empty,.sidebar .quarto-alternate-formats ul a:empty,.sidebar nav[role=doc-toc]>ul a:empty{display:none}.sidebar .toc-actions ul,.sidebar .quarto-code-links ul,.sidebar .quarto-other-links ul,.sidebar .quarto-alternate-notebooks ul,.sidebar .quarto-alternate-formats ul{padding-left:0;list-style:none}.sidebar nav[role=doc-toc] ul{list-style:none;padding-left:0;list-style:none}.sidebar nav[role=doc-toc]>ul{margin-left:.45em}.quarto-margin-sidebar nav[role=doc-toc]{padding-left:.5em}.sidebar .toc-actions>ul,.sidebar .quarto-code-links>ul,.sidebar .quarto-other-links>ul,.sidebar .quarto-alternate-notebooks>ul,.sidebar .quarto-alternate-formats>ul{font-size:.8rem}.sidebar nav[role=doc-toc]>ul{font-size:.875rem}.sidebar .toc-actions ul li a,.sidebar .quarto-code-links ul li a,.sidebar .quarto-other-links ul li a,.sidebar .quarto-alternate-notebooks ul li a,.sidebar .quarto-alternate-formats ul li a,.sidebar nav[role=doc-toc]>ul li a{line-height:1.1rem;padding-bottom:.2rem;padding-top:.2rem;color:inherit}.sidebar nav[role=doc-toc] ul>li>ul>li>a{padding-left:1.2em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>a{padding-left:2.4em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>a{padding-left:3.6em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:4.8em}.sidebar nav[role=doc-toc] ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>a{padding-left:6em}.sidebar nav[role=doc-toc] ul>li>a.active,.sidebar nav[role=doc-toc] ul>li>ul>li>a.active{border-left:1px solid #0d6efd;color:#0d6efd !important}.sidebar nav[role=doc-toc] ul>li>a:hover,.sidebar nav[role=doc-toc] ul>li>ul>li>a:hover{color:#0d6efd !important}kbd,.kbd{color:#212529;background-color:#f8f9fa;border:1px solid;border-radius:5px;border-color:#dee2e6}.quarto-appendix-contents div.hanging-indent{margin-left:0em}.quarto-appendix-contents div.hanging-indent div.csl-entry{margin-left:1em;text-indent:-1em}.citation a,.footnote-ref{text-decoration:none}.footnotes ol{padding-left:1em}.tippy-content>*{margin-bottom:.7em}.tippy-content>*:last-child{margin-bottom:0}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:.375rem;overflow-wrap:break-word}.callout .callout-title-container{overflow-wrap:anywhere}.callout.callout-style-simple{padding:.4em .7em;border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout.callout-style-default{border-left:5px solid;border-right:1px solid #dee2e6;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:.9rem;font-weight:400}.callout.callout-style-default .callout-body{font-size:.9rem;font-weight:400}.callout:not(.no-icon).callout-titled.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-titled>.callout-header{padding-top:.2em;margin-bottom:-0.2em}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:.9rem;padding-left:.5em;padding-right:.5em}.callout.callout-style-default .callout-body{padding-left:.5em;padding-right:.5em}.callout.callout-style-default .callout-body>:first-child{padding-top:.5rem;margin-top:0}.callout>div.callout-header[data-bs-toggle=collapse]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded=false],.callout.callout-style-default .callout-header[aria-expanded=true]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-titled .callout-body>:last-child:not(.sourceCode),.callout.callout-titled .callout-body>div>:last-child:not(.sourceCode){padding-bottom:.5rem;margin-bottom:0}.callout:not(.callout-titled) .callout-body>:first-child,.callout:not(.callout-titled) .callout-body>div>:first-child{margin-top:.25rem}.callout:not(.callout-titled) .callout-body>:last-child,.callout:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:.2rem}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:.9rem;width:.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:.9rem .9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-btn-toggle .callout-toggle::before{transition:transform .2s linear}.callout .callout-header[aria-expanded=false] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded=true] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:.2em;padding-right:.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:.1em;padding-right:.35em}.callout.callout-style-default:not(.no-icon) div.callout-title-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:.3em;padding-right:.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:rgba(33,37,41,.75)}div.callout.callout-style-default>.callout-header{background-color:rgba(33,37,41,.75)}div.callout-note.callout{border-left-color:#0d6efd}div.callout-note.callout-style-default>.callout-header{background-color:#e7f1ff}div.callout-note:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-tip.callout{border-left-color:#198754}div.callout-tip.callout-style-default>.callout-header{background-color:#e8f3ee}div.callout-tip:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-warning.callout{border-left-color:#ffc107}div.callout-warning.callout-style-default>.callout-header{background-color:#fff9e6}div.callout-warning:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-caution.callout{border-left-color:#fd7e14}div.callout-caution.callout-style-default>.callout-header{background-color:#fff2e8}div.callout-caution:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-important.callout{border-left-color:#dc3545}div.callout-important.callout-style-default>.callout-header{background-color:#fcebec}div.callout-important:not(.callout-titled) .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,');}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,')}.quarto-toggle-container{display:flex;align-items:center}.quarto-reader-toggle .bi::before,.quarto-color-scheme-toggle .bi::before{display:inline-block;height:1rem;width:1rem;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.sidebar-navigation{padding-left:20px}.navbar{background-color:#517699;color:#fdfefe}.navbar .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.navbar .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle:not(.alternate) .bi::before{background-image:url('data:image/svg+xml,')}.sidebar-navigation .quarto-color-scheme-toggle.alternate .bi::before{background-image:url('data:image/svg+xml,')}.quarto-sidebar-toggle{border-color:#dee2e6;border-bottom-left-radius:.375rem;border-bottom-right-radius:.375rem;border-style:solid;border-width:1px;overflow:hidden;border-top-width:0px;padding-top:0px !important}.quarto-sidebar-toggle-title{cursor:pointer;padding-bottom:2px;margin-left:.25em;text-align:center;font-weight:400;font-size:.775em}#quarto-content .quarto-sidebar-toggle{background:#fafafa}#quarto-content .quarto-sidebar-toggle-title{color:#212529}.quarto-sidebar-toggle-icon{color:#dee2e6;margin-right:.5em;float:right;transition:transform .2s ease}.quarto-sidebar-toggle-icon::before{padding-top:5px}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-icon{transform:rotate(-180deg)}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-title{border-bottom:solid #dee2e6 1px}.quarto-sidebar-toggle-contents{background-color:#fff;padding-right:10px;padding-left:10px;margin-top:0px !important;transition:max-height .5s ease}.quarto-sidebar-toggle.expanded .quarto-sidebar-toggle-contents{padding-top:1em;padding-bottom:10px}@media(max-width: 767.98px){.sidebar-menu-container{padding-bottom:5em}}.quarto-sidebar-toggle:not(.expanded) .quarto-sidebar-toggle-contents{padding-top:0px !important;padding-bottom:0px}nav[role=doc-toc]{z-index:1020}#quarto-sidebar>*,nav[role=doc-toc]>*{transition:opacity .1s ease,border .1s ease}#quarto-sidebar.slow>*,nav[role=doc-toc].slow>*{transition:opacity .4s ease,border .4s ease}.quarto-color-scheme-toggle:not(.alternate).top-right .bi::before{background-image:url('data:image/svg+xml,')}.quarto-color-scheme-toggle.alternate.top-right .bi::before{background-image:url('data:image/svg+xml,')}#quarto-appendix.default{border-top:1px solid #dee2e6}#quarto-appendix.default{background-color:#fff;padding-top:1.5em;margin-top:2em;z-index:998}#quarto-appendix.default .quarto-appendix-heading{margin-top:0;line-height:1.4em;font-weight:600;opacity:.9;border-bottom:none;margin-bottom:0}#quarto-appendix.default .footnotes ol,#quarto-appendix.default .footnotes ol li>p:last-of-type,#quarto-appendix.default .quarto-appendix-contents>p:last-of-type{margin-bottom:0}#quarto-appendix.default .footnotes ol{margin-left:.5em}#quarto-appendix.default .quarto-appendix-secondary-label{margin-bottom:.4em}#quarto-appendix.default .quarto-appendix-bibtex{font-size:.7em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-bibtex code.sourceCode{white-space:pre-wrap}#quarto-appendix.default .quarto-appendix-citeas{font-size:.9em;padding:1em;border:solid 1px #dee2e6;margin-bottom:1em}#quarto-appendix.default .quarto-appendix-heading{font-size:1em !important}#quarto-appendix.default *[role=doc-endnotes]>ol,#quarto-appendix.default .quarto-appendix-contents>*:not(h2):not(.h2){font-size:.9em}#quarto-appendix.default section{padding-bottom:1.5em}#quarto-appendix.default section *[role=doc-endnotes],#quarto-appendix.default section>*:not(a){opacity:.9;word-wrap:break-word}.btn.btn-quarto,div.cell-output-display .btn-quarto{--bs-btn-color: #fefefe;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fefefe;--bs-btn-hover-bg: #828a91;--bs-btn-hover-border-color: #7b838a;--bs-btn-focus-shadow-rgb: 130, 138, 144;--bs-btn-active-color: #000;--bs-btn-active-bg: #899197;--bs-btn-active-border-color: #7b838a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color: #ffffff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}nav.quarto-secondary-nav.color-navbar{background-color:#517699;color:#fdfefe}nav.quarto-secondary-nav.color-navbar h1,nav.quarto-secondary-nav.color-navbar .h1,nav.quarto-secondary-nav.color-navbar .quarto-btn-toggle{color:#fdfefe}@media(max-width: 991.98px){body.nav-sidebar .quarto-title-banner{margin-bottom:0;padding-bottom:1em}body.nav-sidebar #title-block-header{margin-block-end:0}}p.subtitle{margin-top:.25em;margin-bottom:.5em}code a:any-link{color:inherit;text-decoration-color:#6c757d}/*! light */div.observablehq table thead tr th{background-color:var(--bs-body-bg)}input,button,select,optgroup,textarea{background-color:var(--bs-body-bg)}.code-annotated .code-copy-button{margin-right:1.25em;margin-top:0;padding-bottom:0;padding-top:3px}.code-annotation-gutter-bg{background-color:#fff}.code-annotation-gutter{background-color:rgba(233,236,239,.65)}.code-annotation-gutter,.code-annotation-gutter-bg{height:100%;width:calc(20px + .5em);position:absolute;top:0;right:0}dl.code-annotation-container-grid dt{margin-right:1em;margin-top:.25rem}dl.code-annotation-container-grid dt{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:#383f45;border:solid #383f45 1px;border-radius:50%;height:22px;width:22px;line-height:22px;font-size:11px;text-align:center;vertical-align:middle;text-decoration:none}dl.code-annotation-container-grid dt[data-target-cell]{cursor:pointer}dl.code-annotation-container-grid dt[data-target-cell].code-annotation-active{color:#fff;border:solid #aaa 1px;background-color:#aaa}pre.code-annotation-code{padding-top:0;padding-bottom:0}pre.code-annotation-code code{z-index:3}#code-annotation-line-highlight-gutter{width:100%;border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}#code-annotation-line-highlight{margin-left:-4em;width:calc(100% + 4em);border-top:solid rgba(170,170,170,.2666666667) 1px;border-bottom:solid rgba(170,170,170,.2666666667) 1px;z-index:2;background-color:rgba(170,170,170,.1333333333)}code.sourceCode .code-annotation-anchor.code-annotation-active{background-color:var(--quarto-hl-normal-color, #aaaaaa);border:solid var(--quarto-hl-normal-color, #aaaaaa) 1px;color:#e9ecef;font-weight:bolder}code.sourceCode .code-annotation-anchor{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:var(--quarto-hl-co-color);border:solid var(--quarto-hl-co-color) 1px;border-radius:50%;height:18px;width:18px;font-size:9px;margin-top:2px}code.sourceCode button.code-annotation-anchor{padding:2px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none}code.sourceCode a.code-annotation-anchor{line-height:18px;text-align:center;vertical-align:middle;cursor:default;text-decoration:none}@media print{.page-columns .column-screen-inset{grid-column:page-start-inset/page-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset table{background:#fff}.page-columns .column-screen-inset-left{grid-column:page-start-inset/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-inset-left table{background:#fff}.page-columns .column-screen-inset-right{grid-column:body-content-start/page-end-inset;z-index:998;opacity:.999}.page-columns .column-screen-inset-right table{background:#fff}.page-columns .column-screen{grid-column:page-start/page-end;z-index:998;opacity:.999}.page-columns .column-screen table{background:#fff}.page-columns .column-screen-left{grid-column:page-start/body-content-end;z-index:998;opacity:.999}.page-columns .column-screen-left table{background:#fff}.page-columns .column-screen-right{grid-column:body-content-start/page-end;z-index:998;opacity:.999}.page-columns .column-screen-right table{background:#fff}.page-columns .column-screen-inset-shaded{grid-column:page-start-inset/page-end-inset;padding:1em;background:#f8f9fa;z-index:998;opacity:.999;margin-bottom:1em}}.quarto-video{margin-bottom:1em}.table{border-top:1px solid #d3d8dc;border-bottom:1px solid #d3d8dc}.table>thead{border-top-width:0;border-bottom:1px solid #9ba5ae}.table a{word-break:break-word}.table>:not(caption)>*>*{background-color:unset;color:unset}#quarto-document-content .crosstalk-input .checkbox input[type=checkbox],#quarto-document-content .crosstalk-input .checkbox-inline input[type=checkbox]{position:unset;margin-top:unset;margin-left:unset}#quarto-document-content .row{margin-left:unset;margin-right:unset}.quarto-xref{white-space:nowrap}#quarto-draft-alert{margin-top:0px;margin-bottom:0px;padding:.3em;text-align:center;font-size:.9em}#quarto-draft-alert i{margin-right:.3em}a.external:after{content:"";background-image:url('data:image/svg+xml,');background-size:contain;background-repeat:no-repeat;background-position:center center;margin-left:.2em;padding-right:.75em}div.sourceCode code a.external:after{content:none}a.external:after:hover{cursor:pointer}.quarto-ext-icon{display:inline-block;font-size:.75em;padding-left:.3em}.code-with-filename .code-with-filename-file{margin-bottom:0;padding-bottom:2px;padding-top:2px;padding-left:.7em;border:var(--quarto-border-width) solid var(--quarto-border-color);border-radius:var(--quarto-border-radius);border-bottom:0;border-bottom-left-radius:0%;border-bottom-right-radius:0%}.code-with-filename div.sourceCode,.reveal .code-with-filename div.sourceCode{margin-top:0;border-top-left-radius:0%;border-top-right-radius:0%}.code-with-filename .code-with-filename-file pre{margin-bottom:0}.code-with-filename .code-with-filename-file{background-color:rgba(219,219,219,.8)}.quarto-dark .code-with-filename .code-with-filename-file{background-color:#555}.code-with-filename .code-with-filename-file strong{font-weight:400}.quarto-title-banner{margin-bottom:1em;color:#fdfefe;background:#517699}.quarto-title-banner a{color:#fdfefe}.quarto-title-banner h1,.quarto-title-banner .h1,.quarto-title-banner h2,.quarto-title-banner .h2{color:#fdfefe}.quarto-title-banner .code-tools-button{color:#b9dcdc}.quarto-title-banner .code-tools-button:hover{color:#fdfefe}.quarto-title-banner .code-tools-button>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .code-tools-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}.quarto-title-banner .quarto-title .title{font-weight:600}.quarto-title-banner .quarto-categories{margin-top:.75em}@media(min-width: 992px){.quarto-title-banner{padding-top:2.5em;padding-bottom:2.5em}}@media(max-width: 991.98px){.quarto-title-banner{padding-top:1em;padding-bottom:1em}}@media(max-width: 767.98px){body.hypothesis-enabled #title-block-header>*{padding-right:20px}}main.quarto-banner-title-block>section:first-child>h2,main.quarto-banner-title-block>section:first-child>.h2,main.quarto-banner-title-block>section:first-child>h3,main.quarto-banner-title-block>section:first-child>.h3,main.quarto-banner-title-block>section:first-child>h4,main.quarto-banner-title-block>section:first-child>.h4{margin-top:0}.quarto-title .quarto-categories{display:flex;flex-wrap:wrap;row-gap:.5em;column-gap:.4em;padding-bottom:.5em;margin-top:.75em}.quarto-title .quarto-categories .quarto-category{padding:.25em .75em;font-size:.65em;text-transform:uppercase;border:solid 1px;border-radius:.375rem;opacity:.6}.quarto-title .quarto-categories .quarto-category a{color:inherit}.quarto-title-meta-container{display:grid;grid-template-columns:1fr auto}.quarto-title-meta-column-end{display:flex;flex-direction:column;padding-left:1em}.quarto-title-meta-column-end a .bi{margin-right:.3em}#title-block-header.quarto-title-block.default .quarto-title-meta{display:grid;grid-template-columns:repeat(2, 1fr);grid-column-gap:1em}#title-block-header.quarto-title-block.default .quarto-title .title{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-author-orcid img{margin-top:-0.2em;height:.8em;width:.8em}#title-block-header.quarto-title-block.default .quarto-title-author-email{opacity:.7}#title-block-header.quarto-title-block.default .quarto-description p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p,#title-block-header.quarto-title-block.default .quarto-title-authors p,#title-block-header.quarto-title-block.default .quarto-title-affiliations p{margin-bottom:.1em}#title-block-header.quarto-title-block.default .quarto-title-meta-heading{text-transform:uppercase;margin-top:1em;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-contents{font-size:.9em}#title-block-header.quarto-title-block.default .quarto-title-meta-contents p.affiliation:last-of-type{margin-bottom:.1em}#title-block-header.quarto-title-block.default p.affiliation{margin-bottom:.1em}#title-block-header.quarto-title-block.default .keywords,#title-block-header.quarto-title-block.default .description,#title-block-header.quarto-title-block.default .abstract{margin-top:0}#title-block-header.quarto-title-block.default .keywords>p,#title-block-header.quarto-title-block.default .description>p,#title-block-header.quarto-title-block.default .abstract>p{font-size:.9em}#title-block-header.quarto-title-block.default .keywords>p:last-of-type,#title-block-header.quarto-title-block.default .description>p:last-of-type,#title-block-header.quarto-title-block.default .abstract>p:last-of-type{margin-bottom:0}#title-block-header.quarto-title-block.default .keywords .block-title,#title-block-header.quarto-title-block.default .description .block-title,#title-block-header.quarto-title-block.default .abstract .block-title{margin-top:1em;text-transform:uppercase;font-size:.8em;opacity:.8;font-weight:400}#title-block-header.quarto-title-block.default .quarto-title-meta-author{display:grid;grid-template-columns:minmax(max-content, 1fr) 1fr;grid-column-gap:1em}.quarto-title-tools-only{display:flex;justify-content:right} diff --git a/quarto-py-shinylive/index_files/libs/bootstrap/bootstrap.min.js b/quarto-py-shinylive/index_files/libs/bootstrap/bootstrap.min.js new file mode 100644 index 0000000..e8f21f7 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/bootstrap/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.3.1 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function M(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function j(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${j(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${j(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${j(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.1"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return n(e)},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",Mt="collapsing",jt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(Mt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(Mt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(jt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Me(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const je={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Me(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:Me(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==P(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],M=f?-T[$]/2:0,j=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-M-q-z-O.mainAxis:j-q-z-O.mainAxis,K=v?-E[$]/2+M+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,Mn=`hide${xn}`,jn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,jn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,jn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",Ms="Home",js="End",Fs="active",Hs="fade",Ws="show",Bs=":not(.dropdown-toggle)",zs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Rs=`.nav-link${Bs}, .list-group-item${Bs}, [role="tab"]${Bs}, ${zs}`,qs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Vs extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,Ms,js].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([Ms,js].includes(t.key))i=e[t.key===Ms?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Vs.getOrCreateInstance(i).show())}_getChildren(){return z.find(Rs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(Rs)?t:z.findOne(Rs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Vs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,zs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Vs.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(qs))Vs.getOrCreateInstance(t)})),m(Vs);const Ks=".bs.toast",Qs=`mouseover${Ks}`,Xs=`mouseout${Ks}`,Ys=`focusin${Ks}`,Us=`focusout${Ks}`,Gs=`hide${Ks}`,Js=`hidden${Ks}`,Zs=`show${Ks}`,to=`shown${Ks}`,eo="hide",io="show",no="showing",so={animation:"boolean",autohide:"boolean",delay:"number"},oo={animation:!0,autohide:!0,delay:5e3};class ro extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return oo}static get DefaultType(){return so}static get NAME(){return"toast"}show(){N.trigger(this._element,Zs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(eo),d(this._element),this._element.classList.add(io,no),this._queueCallback((()=>{this._element.classList.remove(no),N.trigger(this._element,to),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Gs).defaultPrevented||(this._element.classList.add(no),this._queueCallback((()=>{this._element.classList.add(eo),this._element.classList.remove(no,io),N.trigger(this._element,Js)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(io),super.dispose()}isShown(){return this._element.classList.contains(io)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Qs,(t=>this._onInteraction(t,!0))),N.on(this._element,Xs,(t=>this._onInteraction(t,!1))),N.on(this._element,Ys,(t=>this._onInteraction(t,!0))),N.on(this._element,Us,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ro.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ro),m(ro),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Vs,Toast:ro,Tooltip:cs}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/quarto-py-shinylive/index_files/libs/clipboard/clipboard.min.js b/quarto-py-shinylive/index_files/libs/clipboard/clipboard.min.js new file mode 100644 index 0000000..1103f81 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/clipboard/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return b}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),r=n.n(e);function c(t){try{return document.execCommand(t)}catch(t){return}}var a=function(t){t=r()(t);return c("cut"),t};function o(t,e){var n,o,t=(n=t,o="rtl"===document.documentElement.getAttribute("dir"),(t=document.createElement("textarea")).style.fontSize="12pt",t.style.border="0",t.style.padding="0",t.style.margin="0",t.style.position="absolute",t.style[o?"right":"left"]="-9999px",o=window.pageYOffset||document.documentElement.scrollTop,t.style.top="".concat(o,"px"),t.setAttribute("readonly",""),t.value=n,t);return e.container.appendChild(t),e=r()(t),c("copy"),t.remove(),e}var f=function(t){var e=1 typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x2, { - get: (a, b2) => (typeof require !== "undefined" ? require : a)[b2] + get: (a2, b2) => (typeof require !== "undefined" ? require : a2)[b2] }) : x2)(function(x2) { if (typeof require !== "undefined") return require.apply(this, arguments); @@ -23,87 +23,87 @@ function dirname(path) { } function uint8ArrayToString(buf) { let result = ""; - for (let i2 = 0; i2 < buf.length; i2++) { - result += String.fromCharCode(buf[i2]); + for (let i = 0; i < buf.length; i++) { + result += String.fromCharCode(buf[i]); } return result; } // node_modules/webr/dist/webr.mjs -var $s = Object.create; -var Xr = Object.defineProperty; -var Gs = Object.getOwnPropertyDescriptor; -var Ks = Object.getOwnPropertyNames; -var Qs = Object.getPrototypeOf; -var Zs = Object.prototype.hasOwnProperty; -var U = ((r) => typeof __require < "u" ? __require : typeof Proxy < "u" ? new Proxy(r, { get: (e, t) => (typeof __require < "u" ? __require : e)[t] }) : r)(function(r) { +var en = Object.create; +var Kr = Object.defineProperty; +var tn = Object.getOwnPropertyDescriptor; +var rn = Object.getOwnPropertyNames; +var sn = Object.getPrototypeOf; +var nn = Object.prototype.hasOwnProperty; +var N = ((s) => typeof __require < "u" ? __require : typeof Proxy < "u" ? new Proxy(s, { get: (e, t) => (typeof __require < "u" ? __require : e)[t] }) : s)(function(s) { if (typeof __require < "u") return __require.apply(this, arguments); - throw new Error('Dynamic require of "' + r + '" is not supported'); + throw new Error('Dynamic require of "' + s + '" is not supported'); }); -var _ = (r, e) => () => (e || r((e = { exports: {} }).exports, e), e.exports); -var Ys = (r, e, t, s) => { +var D = (s, e) => () => (e || s((e = { exports: {} }).exports, e), e.exports); +var on = (s, e, t, r) => { if (e && typeof e == "object" || typeof e == "function") - for (let n of Ks(e)) - !Zs.call(r, n) && n !== t && Xr(r, n, { get: () => e[n], enumerable: !(s = Gs(e, n)) || s.enumerable }); - return r; + for (let n of rn(e)) + !nn.call(s, n) && n !== t && Kr(s, n, { get: () => e[n], enumerable: !(r = tn(e, n)) || r.enumerable }); + return s; }; -var te = (r, e, t) => (t = r != null ? $s(Qs(r)) : {}, Ys(e || !r || !r.__esModule ? Xr(t, "default", { value: r, enumerable: true }) : t, r)); -var ur = (r, e, t) => { - if (!e.has(r)) +var ne = (s, e, t) => (t = s != null ? en(sn(s)) : {}, on(e || !s || !s.__esModule ? Kr(t, "default", { value: s, enumerable: true }) : t, s)); +var hr = (s, e, t) => { + if (!e.has(s)) throw TypeError("Cannot " + t); }; -var i = (r, e, t) => (ur(r, e, "read from private field"), t ? t.call(r) : e.get(r)); -var u = (r, e, t) => { - if (e.has(r)) +var a = (s, e, t) => (hr(s, e, "read from private field"), t ? t.call(s) : e.get(s)); +var u = (s, e, t) => { + if (e.has(s)) throw TypeError("Cannot add the same private member more than once"); - e instanceof WeakSet ? e.add(r) : e.set(r, t); + e instanceof WeakSet ? e.add(s) : e.set(s, t); }; -var d = (r, e, t, s) => (ur(r, e, "write to private field"), s ? s.call(r, t) : e.set(r, t), t); -var x = (r, e, t) => (ur(r, e, "access private method"), t); -var Oe = _((I) => { +var d = (s, e, t, r) => (hr(s, e, "write to private field"), r ? r.call(s, t) : e.set(s, t), t); +var v = (s, e, t) => (hr(s, e, "access private method"), t); +var Ue = D((C) => { "use strict"; - Object.defineProperty(I, "__esModule", { value: true }); - I.getUint64 = I.getInt64 = I.setInt64 = I.setUint64 = I.UINT32_MAX = void 0; - I.UINT32_MAX = 4294967295; - function rn(r, e, t) { - let s = t / 4294967296, n = t; - r.setUint32(e, s), r.setUint32(e + 4, n); - } - I.setUint64 = rn; - function sn(r, e, t) { - let s = Math.floor(t / 4294967296), n = t; - r.setUint32(e, s), r.setUint32(e + 4, n); - } - I.setInt64 = sn; - function nn(r, e) { - let t = r.getInt32(e), s = r.getUint32(e + 4); - return t * 4294967296 + s; - } - I.getInt64 = nn; - function on(r, e) { - let t = r.getUint32(e), s = r.getUint32(e + 4); - return t * 4294967296 + s; - } - I.getUint64 = on; + Object.defineProperty(C, "__esModule", { value: true }); + C.getUint64 = C.getInt64 = C.setInt64 = C.setUint64 = C.UINT32_MAX = void 0; + C.UINT32_MAX = 4294967295; + function un(s, e, t) { + let r = t / 4294967296, n = t; + s.setUint32(e, r), s.setUint32(e + 4, n); + } + C.setUint64 = un; + function pn(s, e, t) { + let r = Math.floor(t / 4294967296), n = t; + s.setUint32(e, r), s.setUint32(e + 4, n); + } + C.setInt64 = pn; + function dn(s, e) { + let t = s.getInt32(e), r = s.getUint32(e + 4); + return t * 4294967296 + r; + } + C.getInt64 = dn; + function hn(s, e) { + let t = s.getUint32(e), r = s.getUint32(e + 4); + return t * 4294967296 + r; + } + C.getUint64 = hn; }); -var mt = _((S) => { +var xt = D((O) => { "use strict"; - var dr, hr, yr; - Object.defineProperty(S, "__esModule", { value: true }); - S.utf8DecodeTD = S.TEXT_DECODER_THRESHOLD = S.utf8DecodeJs = S.utf8EncodeTE = S.TEXT_ENCODER_THRESHOLD = S.utf8EncodeJs = S.utf8Count = void 0; - var Qr = Oe(), Rt = (typeof process > "u" || ((dr = process == null ? void 0 : process.env) === null || dr === void 0 ? void 0 : dr.TEXT_ENCODING) !== "never") && typeof TextEncoder < "u" && typeof TextDecoder < "u"; - function an(r) { - let e = r.length, t = 0, s = 0; - for (; s < e; ) { - let n = r.charCodeAt(s++); + var fr, Rr, mr; + Object.defineProperty(O, "__esModule", { value: true }); + O.utf8DecodeTD = O.TEXT_DECODER_THRESHOLD = O.utf8DecodeJs = O.utf8EncodeTE = O.TEXT_ENCODER_THRESHOLD = O.utf8EncodeJs = O.utf8Count = void 0; + var es = Ue(), wt = (typeof process > "u" || ((fr = process == null ? void 0 : process.env) === null || fr === void 0 ? void 0 : fr.TEXT_ENCODING) !== "never") && typeof TextEncoder < "u" && typeof TextDecoder < "u"; + function yn(s) { + let e = s.length, t = 0, r = 0; + for (; r < e; ) { + let n = s.charCodeAt(r++); if (n & 4294967168) if (!(n & 4294965248)) t += 2; else { - if (n >= 55296 && n <= 56319 && s < e) { - let o = r.charCodeAt(s); - (o & 64512) === 56320 && (++s, n = ((n & 1023) << 10) + (o & 1023) + 65536); + if (n >= 55296 && n <= 56319 && r < e) { + let o = s.charCodeAt(r); + (o & 64512) === 56320 && (++r, n = ((n & 1023) << 10) + (o & 1023) + 65536); } n & 4294901760 ? t += 4 : t += 3; } @@ -114,226 +114,226 @@ var mt = _((S) => { } return t; } - S.utf8Count = an; - function ln(r, e, t) { - let s = r.length, n = t, o = 0; - for (; o < s; ) { - let a = r.charCodeAt(o++); - if (a & 4294967168) - if (!(a & 4294965248)) - e[n++] = a >> 6 & 31 | 192; + O.utf8Count = yn; + function fn(s, e, t) { + let r = s.length, n = t, o = 0; + for (; o < r; ) { + let i = s.charCodeAt(o++); + if (i & 4294967168) + if (!(i & 4294965248)) + e[n++] = i >> 6 & 31 | 192; else { - if (a >= 55296 && a <= 56319 && o < s) { - let c = r.charCodeAt(o); - (c & 64512) === 56320 && (++o, a = ((a & 1023) << 10) + (c & 1023) + 65536); + if (i >= 55296 && i <= 56319 && o < r) { + let c = s.charCodeAt(o); + (c & 64512) === 56320 && (++o, i = ((i & 1023) << 10) + (c & 1023) + 65536); } - a & 4294901760 ? (e[n++] = a >> 18 & 7 | 240, e[n++] = a >> 12 & 63 | 128, e[n++] = a >> 6 & 63 | 128) : (e[n++] = a >> 12 & 15 | 224, e[n++] = a >> 6 & 63 | 128); + i & 4294901760 ? (e[n++] = i >> 18 & 7 | 240, e[n++] = i >> 12 & 63 | 128, e[n++] = i >> 6 & 63 | 128) : (e[n++] = i >> 12 & 15 | 224, e[n++] = i >> 6 & 63 | 128); } else { - e[n++] = a; + e[n++] = i; continue; } - e[n++] = a & 63 | 128; + e[n++] = i & 63 | 128; } } - S.utf8EncodeJs = ln; - var Ae = Rt ? new TextEncoder() : void 0; - S.TEXT_ENCODER_THRESHOLD = Rt ? typeof process < "u" && ((hr = process == null ? void 0 : process.env) === null || hr === void 0 ? void 0 : hr.TEXT_ENCODING) !== "force" ? 200 : 0 : Qr.UINT32_MAX; - function cn(r, e, t) { - e.set(Ae.encode(r), t); + O.utf8EncodeJs = fn; + var Ce = wt ? new TextEncoder() : void 0; + O.TEXT_ENCODER_THRESHOLD = wt ? typeof process < "u" && ((Rr = process == null ? void 0 : process.env) === null || Rr === void 0 ? void 0 : Rr.TEXT_ENCODING) !== "force" ? 200 : 0 : es.UINT32_MAX; + function Rn(s, e, t) { + e.set(Ce.encode(s), t); } - function un(r, e, t) { - Ae.encodeInto(r, e.subarray(t)); + function mn(s, e, t) { + Ce.encodeInto(s, e.subarray(t)); } - S.utf8EncodeTE = Ae != null && Ae.encodeInto ? un : cn; - var pn = 4096; - function dn(r, e, t) { - let s = e, n = s + t, o = [], a = ""; - for (; s < n; ) { - let c = r[s++]; + O.utf8EncodeTE = Ce != null && Ce.encodeInto ? mn : Rn; + var gn = 4096; + function bn(s, e, t) { + let r = e, n = r + t, o = [], i = ""; + for (; r < n; ) { + let c = s[r++]; if (!(c & 128)) o.push(c); else if ((c & 224) === 192) { - let p = r[s++] & 63; + let p = s[r++] & 63; o.push((c & 31) << 6 | p); } else if ((c & 240) === 224) { - let p = r[s++] & 63, v = r[s++] & 63; - o.push((c & 31) << 12 | p << 6 | v); + let p = s[r++] & 63, P = s[r++] & 63; + o.push((c & 31) << 12 | p << 6 | P); } else if ((c & 248) === 240) { - let p = r[s++] & 63, v = r[s++] & 63, ee = r[s++] & 63, z = (c & 7) << 18 | p << 12 | v << 6 | ee; - z > 65535 && (z -= 65536, o.push(z >>> 10 & 1023 | 55296), z = 56320 | z & 1023), o.push(z); + let p = s[r++] & 63, P = s[r++] & 63, M = s[r++] & 63, k = (c & 7) << 18 | p << 12 | P << 6 | M; + k > 65535 && (k -= 65536, o.push(k >>> 10 & 1023 | 55296), k = 56320 | k & 1023), o.push(k); } else o.push(c); - o.length >= pn && (a += String.fromCharCode(...o), o.length = 0); + o.length >= gn && (i += String.fromCharCode(...o), o.length = 0); } - return o.length > 0 && (a += String.fromCharCode(...o)), a; + return o.length > 0 && (i += String.fromCharCode(...o)), i; } - S.utf8DecodeJs = dn; - var hn = Rt ? new TextDecoder() : null; - S.TEXT_DECODER_THRESHOLD = Rt ? typeof process < "u" && ((yr = process == null ? void 0 : process.env) === null || yr === void 0 ? void 0 : yr.TEXT_DECODER) !== "force" ? 200 : 0 : Qr.UINT32_MAX; - function yn(r, e, t) { - let s = r.subarray(e, e + t); - return hn.decode(s); + O.utf8DecodeJs = bn; + var wn = wt ? new TextDecoder() : null; + O.TEXT_DECODER_THRESHOLD = wt ? typeof process < "u" && ((mr = process == null ? void 0 : process.env) === null || mr === void 0 ? void 0 : mr.TEXT_DECODER) !== "force" ? 200 : 0 : es.UINT32_MAX; + function xn(s, e, t) { + let r = s.subarray(e, e + t); + return wn.decode(r); } - S.utf8DecodeTD = yn; + O.utf8DecodeTD = xn; }); -var Rr = _((gt) => { +var br = D((vt) => { "use strict"; - Object.defineProperty(gt, "__esModule", { value: true }); - gt.ExtData = void 0; - var fr = class { + Object.defineProperty(vt, "__esModule", { value: true }); + vt.ExtData = void 0; + var gr = class { constructor(e, t) { this.type = e, this.data = t; } }; - gt.ExtData = fr; + vt.ExtData = gr; }); -var wt = _((bt) => { +var Tt = D((Et) => { "use strict"; - Object.defineProperty(bt, "__esModule", { value: true }); - bt.DecodeError = void 0; - var he = class extends Error { + Object.defineProperty(Et, "__esModule", { value: true }); + Et.DecodeError = void 0; + var fe = class extends Error { constructor(e) { super(e); - let t = Object.create(he.prototype); - Object.setPrototypeOf(this, t), Object.defineProperty(this, "name", { configurable: true, enumerable: false, value: he.name }); + let t = Object.create(fe.prototype); + Object.setPrototypeOf(this, t), Object.defineProperty(this, "name", { configurable: true, enumerable: false, value: fe.name }); } }; - bt.DecodeError = he; + Et.DecodeError = fe; }); -var mr = _((T) => { +var wr = D((S) => { "use strict"; - Object.defineProperty(T, "__esModule", { value: true }); - T.timestampExtension = T.decodeTimestampExtension = T.decodeTimestampToTimeSpec = T.encodeTimestampExtension = T.encodeDateToTimeSpec = T.encodeTimeSpecToTimestamp = T.EXT_TIMESTAMP = void 0; - var fn = wt(), Zr = Oe(); - T.EXT_TIMESTAMP = -1; - var Rn = 4294967296 - 1, mn = 17179869184 - 1; - function Yr({ sec: r, nsec: e }) { - if (r >= 0 && e >= 0 && r <= mn) - if (e === 0 && r <= Rn) { + Object.defineProperty(S, "__esModule", { value: true }); + S.timestampExtension = S.decodeTimestampExtension = S.decodeTimestampToTimeSpec = S.encodeTimestampExtension = S.encodeDateToTimeSpec = S.encodeTimeSpecToTimestamp = S.EXT_TIMESTAMP = void 0; + var vn = Tt(), ts = Ue(); + S.EXT_TIMESTAMP = -1; + var En = 4294967296 - 1, Tn = 17179869184 - 1; + function rs({ sec: s, nsec: e }) { + if (s >= 0 && e >= 0 && s <= Tn) + if (e === 0 && s <= En) { let t = new Uint8Array(4); - return new DataView(t.buffer).setUint32(0, r), t; + return new DataView(t.buffer).setUint32(0, s), t; } else { - let t = r / 4294967296, s = r & 4294967295, n = new Uint8Array(8), o = new DataView(n.buffer); - return o.setUint32(0, e << 2 | t & 3), o.setUint32(4, s), n; + let t = s / 4294967296, r = s & 4294967295, n = new Uint8Array(8), o = new DataView(n.buffer); + return o.setUint32(0, e << 2 | t & 3), o.setUint32(4, r), n; } else { - let t = new Uint8Array(12), s = new DataView(t.buffer); - return s.setUint32(0, e), (0, Zr.setInt64)(s, 4, r), t; + let t = new Uint8Array(12), r = new DataView(t.buffer); + return r.setUint32(0, e), (0, ts.setInt64)(r, 4, s), t; } } - T.encodeTimeSpecToTimestamp = Yr; - function es(r) { - let e = r.getTime(), t = Math.floor(e / 1e3), s = (e - t * 1e3) * 1e6, n = Math.floor(s / 1e9); - return { sec: t + n, nsec: s - n * 1e9 }; + S.encodeTimeSpecToTimestamp = rs; + function ss(s) { + let e = s.getTime(), t = Math.floor(e / 1e3), r = (e - t * 1e3) * 1e6, n = Math.floor(r / 1e9); + return { sec: t + n, nsec: r - n * 1e9 }; } - T.encodeDateToTimeSpec = es; - function ts(r) { - if (r instanceof Date) { - let e = es(r); - return Yr(e); + S.encodeDateToTimeSpec = ss; + function ns(s) { + if (s instanceof Date) { + let e = ss(s); + return rs(e); } else return null; } - T.encodeTimestampExtension = ts; - function rs(r) { - let e = new DataView(r.buffer, r.byteOffset, r.byteLength); - switch (r.byteLength) { + S.encodeTimestampExtension = ns; + function os(s) { + let e = new DataView(s.buffer, s.byteOffset, s.byteLength); + switch (s.byteLength) { case 4: return { sec: e.getUint32(0), nsec: 0 }; case 8: { - let t = e.getUint32(0), s = e.getUint32(4), n = (t & 3) * 4294967296 + s, o = t >>> 2; + let t = e.getUint32(0), r = e.getUint32(4), n = (t & 3) * 4294967296 + r, o = t >>> 2; return { sec: n, nsec: o }; } case 12: { - let t = (0, Zr.getInt64)(e, 4), s = e.getUint32(0); - return { sec: t, nsec: s }; + let t = (0, ts.getInt64)(e, 4), r = e.getUint32(0); + return { sec: t, nsec: r }; } default: - throw new fn.DecodeError(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${r.length}`); + throw new vn.DecodeError(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${s.length}`); } } - T.decodeTimestampToTimeSpec = rs; - function ss(r) { - let e = rs(r); + S.decodeTimestampToTimeSpec = os; + function as(s) { + let e = os(s); return new Date(e.sec * 1e3 + e.nsec / 1e6); } - T.decodeTimestampExtension = ss; - T.timestampExtension = { type: T.EXT_TIMESTAMP, encode: ts, decode: ss }; + S.decodeTimestampExtension = as; + S.timestampExtension = { type: S.EXT_TIMESTAMP, encode: ns, decode: as }; }); -var Et = _((vt) => { +var St = D((_t) => { "use strict"; - Object.defineProperty(vt, "__esModule", { value: true }); - vt.ExtensionCodec = void 0; - var xt = Rr(), gn = mr(), Ie = class { + Object.defineProperty(_t, "__esModule", { value: true }); + _t.ExtensionCodec = void 0; + var Pt = br(), Pn = wr(), je = class { constructor() { - this.builtInEncoders = [], this.builtInDecoders = [], this.encoders = [], this.decoders = [], this.register(gn.timestampExtension); + this.builtInEncoders = [], this.builtInDecoders = [], this.encoders = [], this.decoders = [], this.register(Pn.timestampExtension); } - register({ type: e, encode: t, decode: s }) { + register({ type: e, encode: t, decode: r }) { if (e >= 0) - this.encoders[e] = t, this.decoders[e] = s; + this.encoders[e] = t, this.decoders[e] = r; else { let n = 1 + e; - this.builtInEncoders[n] = t, this.builtInDecoders[n] = s; + this.builtInEncoders[n] = t, this.builtInDecoders[n] = r; } } tryToEncode(e, t) { - for (let s = 0; s < this.builtInEncoders.length; s++) { - let n = this.builtInEncoders[s]; + for (let r = 0; r < this.builtInEncoders.length; r++) { + let n = this.builtInEncoders[r]; if (n != null) { let o = n(e, t); if (o != null) { - let a = -1 - s; - return new xt.ExtData(a, o); + let i = -1 - r; + return new Pt.ExtData(i, o); } } } - for (let s = 0; s < this.encoders.length; s++) { - let n = this.encoders[s]; + for (let r = 0; r < this.encoders.length; r++) { + let n = this.encoders[r]; if (n != null) { let o = n(e, t); if (o != null) { - let a = s; - return new xt.ExtData(a, o); + let i = r; + return new Pt.ExtData(i, o); } } } - return e instanceof xt.ExtData ? e : null; + return e instanceof Pt.ExtData ? e : null; } - decode(e, t, s) { + decode(e, t, r) { let n = t < 0 ? this.builtInDecoders[-1 - t] : this.decoders[t]; - return n ? n(e, t, s) : new xt.ExtData(t, e); + return n ? n(e, t, r) : new Pt.ExtData(t, e); } }; - vt.ExtensionCodec = Ie; - Ie.defaultCodec = new Ie(); + _t.ExtensionCodec = je; + je.defaultCodec = new je(); }); -var gr = _((ye) => { +var xr = D((Re) => { "use strict"; - Object.defineProperty(ye, "__esModule", { value: true }); - ye.createDataView = ye.ensureUint8Array = void 0; - function ns(r) { - return r instanceof Uint8Array ? r : ArrayBuffer.isView(r) ? new Uint8Array(r.buffer, r.byteOffset, r.byteLength) : r instanceof ArrayBuffer ? new Uint8Array(r) : Uint8Array.from(r); - } - ye.ensureUint8Array = ns; - function bn(r) { - if (r instanceof ArrayBuffer) - return new DataView(r); - let e = ns(r); + Object.defineProperty(Re, "__esModule", { value: true }); + Re.createDataView = Re.ensureUint8Array = void 0; + function is(s) { + return s instanceof Uint8Array ? s : ArrayBuffer.isView(s) ? new Uint8Array(s.buffer, s.byteOffset, s.byteLength) : s instanceof ArrayBuffer ? new Uint8Array(s) : Uint8Array.from(s); + } + Re.ensureUint8Array = is; + function _n(s) { + if (s instanceof ArrayBuffer) + return new DataView(s); + let e = is(s); return new DataView(e.buffer, e.byteOffset, e.byteLength); } - ye.createDataView = bn; + Re.createDataView = _n; }); -var wr = _((N) => { +var Er = D((B) => { "use strict"; - Object.defineProperty(N, "__esModule", { value: true }); - N.Encoder = N.DEFAULT_INITIAL_BUFFER_SIZE = N.DEFAULT_MAX_DEPTH = void 0; - var Ue = mt(), wn = Et(), os = Oe(), xn = gr(); - N.DEFAULT_MAX_DEPTH = 100; - N.DEFAULT_INITIAL_BUFFER_SIZE = 2048; - var br = class { - constructor(e = wn.ExtensionCodec.defaultCodec, t = void 0, s = N.DEFAULT_MAX_DEPTH, n = N.DEFAULT_INITIAL_BUFFER_SIZE, o = false, a = false, c = false, p = false) { - this.extensionCodec = e, this.context = t, this.maxDepth = s, this.initialBufferSize = n, this.sortKeys = o, this.forceFloat32 = a, this.ignoreUndefined = c, this.forceIntegerToFloat = p, this.pos = 0, this.view = new DataView(new ArrayBuffer(this.initialBufferSize)), this.bytes = new Uint8Array(this.view.buffer); + Object.defineProperty(B, "__esModule", { value: true }); + B.Encoder = B.DEFAULT_INITIAL_BUFFER_SIZE = B.DEFAULT_MAX_DEPTH = void 0; + var Ne = xt(), Sn = St(), ls = Ue(), Mn = xr(); + B.DEFAULT_MAX_DEPTH = 100; + B.DEFAULT_INITIAL_BUFFER_SIZE = 2048; + var vr = class { + constructor(e = Sn.ExtensionCodec.defaultCodec, t = void 0, r = B.DEFAULT_MAX_DEPTH, n = B.DEFAULT_INITIAL_BUFFER_SIZE, o = false, i = false, c = false, p = false) { + this.extensionCodec = e, this.context = t, this.maxDepth = r, this.initialBufferSize = n, this.sortKeys = o, this.forceFloat32 = i, this.ignoreUndefined = c, this.forceIntegerToFloat = p, this.pos = 0, this.view = new DataView(new ArrayBuffer(this.initialBufferSize)), this.bytes = new Uint8Array(this.view.buffer); } reinitializeState() { this.pos = 0; @@ -354,8 +354,8 @@ var wr = _((N) => { this.view.byteLength < t && this.resizeBuffer(t * 2); } resizeBuffer(e) { - let t = new ArrayBuffer(e), s = new Uint8Array(t), n = new DataView(t); - s.set(this.bytes), this.view = n, this.bytes = s; + let t = new ArrayBuffer(e), r = new Uint8Array(t), n = new DataView(t); + r.set(this.bytes), this.view = n, this.bytes = r; } encodeNil() { this.writeU8(192); @@ -379,18 +379,18 @@ var wr = _((N) => { throw new Error(`Too long string: ${e} bytes in UTF-8`); } encodeString(e) { - if (e.length > Ue.TEXT_ENCODER_THRESHOLD) { - let n = (0, Ue.utf8Count)(e); - this.ensureBufferSizeToWrite(5 + n), this.writeStringHeader(n), (0, Ue.utf8EncodeTE)(e, this.bytes, this.pos), this.pos += n; + if (e.length > Ne.TEXT_ENCODER_THRESHOLD) { + let n = (0, Ne.utf8Count)(e); + this.ensureBufferSizeToWrite(5 + n), this.writeStringHeader(n), (0, Ne.utf8EncodeTE)(e, this.bytes, this.pos), this.pos += n; } else { - let n = (0, Ue.utf8Count)(e); - this.ensureBufferSizeToWrite(5 + n), this.writeStringHeader(n), (0, Ue.utf8EncodeJs)(e, this.bytes, this.pos), this.pos += n; + let n = (0, Ne.utf8Count)(e); + this.ensureBufferSizeToWrite(5 + n), this.writeStringHeader(n), (0, Ne.utf8EncodeJs)(e, this.bytes, this.pos), this.pos += n; } } encodeObject(e, t) { - let s = this.extensionCodec.tryToEncode(e, this.context); - if (s != null) - this.encodeExtension(s); + let r = this.extensionCodec.tryToEncode(e, this.context); + if (r != null) + this.encodeExtension(r); else if (Array.isArray(e)) this.encodeArray(e, t); else if (ArrayBuffer.isView(e)) @@ -410,32 +410,32 @@ var wr = _((N) => { this.writeU8(198), this.writeU32(t); else throw new Error(`Too large binary: ${t}`); - let s = (0, xn.ensureUint8Array)(e); - this.writeU8a(s); + let r = (0, Mn.ensureUint8Array)(e); + this.writeU8a(r); } encodeArray(e, t) { - let s = e.length; - if (s < 16) - this.writeU8(144 + s); - else if (s < 65536) - this.writeU8(220), this.writeU16(s); - else if (s < 4294967296) - this.writeU8(221), this.writeU32(s); + let r = e.length; + if (r < 16) + this.writeU8(144 + r); + else if (r < 65536) + this.writeU8(220), this.writeU16(r); + else if (r < 4294967296) + this.writeU8(221), this.writeU32(r); else - throw new Error(`Too large array: ${s}`); + throw new Error(`Too large array: ${r}`); for (let n of e) this.doEncode(n, t + 1); } countWithoutUndefined(e, t) { - let s = 0; + let r = 0; for (let n of t) - e[n] !== void 0 && s++; - return s; + e[n] !== void 0 && r++; + return r; } encodeMap(e, t) { - let s = Object.keys(e); - this.sortKeys && s.sort(); - let n = this.ignoreUndefined ? this.countWithoutUndefined(e, s) : s.length; + let r = Object.keys(e); + this.sortKeys && r.sort(); + let n = this.ignoreUndefined ? this.countWithoutUndefined(e, r) : r.length; if (n < 16) this.writeU8(128 + n); else if (n < 65536) @@ -444,9 +444,9 @@ var wr = _((N) => { this.writeU8(223), this.writeU32(n); else throw new Error(`Too large map object: ${n}`); - for (let o of s) { - let a = e[o]; - this.ignoreUndefined && a === void 0 || (this.encodeString(o), this.doEncode(a, t + 1)); + for (let o of r) { + let i = e[o]; + this.ignoreUndefined && i === void 0 || (this.encodeString(o), this.doEncode(i, t + 1)); } } encodeExtension(e) { @@ -500,113 +500,113 @@ var wr = _((N) => { this.ensureBufferSizeToWrite(8), this.view.setFloat64(this.pos, e), this.pos += 8; } writeU64(e) { - this.ensureBufferSizeToWrite(8), (0, os.setUint64)(this.view, this.pos, e), this.pos += 8; + this.ensureBufferSizeToWrite(8), (0, ls.setUint64)(this.view, this.pos, e), this.pos += 8; } writeI64(e) { - this.ensureBufferSizeToWrite(8), (0, os.setInt64)(this.view, this.pos, e), this.pos += 8; + this.ensureBufferSizeToWrite(8), (0, ls.setInt64)(this.view, this.pos, e), this.pos += 8; } }; - N.Encoder = br; + B.Encoder = vr; }); -var is = _((Pt) => { +var cs = D((Mt) => { "use strict"; - Object.defineProperty(Pt, "__esModule", { value: true }); - Pt.encode = void 0; - var vn = wr(), En = {}; - function Pn(r, e = En) { - return new vn.Encoder(e.extensionCodec, e.context, e.maxDepth, e.initialBufferSize, e.sortKeys, e.forceFloat32, e.ignoreUndefined, e.forceIntegerToFloat).encodeSharedRef(r); + Object.defineProperty(Mt, "__esModule", { value: true }); + Mt.encode = void 0; + var kn = Er(), Dn = {}; + function On(s, e = Dn) { + return new kn.Encoder(e.extensionCodec, e.context, e.maxDepth, e.initialBufferSize, e.sortKeys, e.forceFloat32, e.ignoreUndefined, e.forceIntegerToFloat).encodeSharedRef(s); } - Pt.encode = Pn; + Mt.encode = On; }); -var as = _((Tt) => { +var us = D((kt) => { "use strict"; - Object.defineProperty(Tt, "__esModule", { value: true }); - Tt.prettyByte = void 0; - function Tn(r) { - return `${r < 0 ? "-" : ""}0x${Math.abs(r).toString(16).padStart(2, "0")}`; + Object.defineProperty(kt, "__esModule", { value: true }); + kt.prettyByte = void 0; + function Wn(s) { + return `${s < 0 ? "-" : ""}0x${Math.abs(s).toString(16).padStart(2, "0")}`; } - Tt.prettyByte = Tn; + kt.prettyByte = Wn; }); -var ls = _((_t) => { +var ps = D((Dt) => { "use strict"; - Object.defineProperty(_t, "__esModule", { value: true }); - _t.CachedKeyDecoder = void 0; - var _n = mt(), Sn = 16, Mn = 16, xr = class { - constructor(e = Sn, t = Mn) { + Object.defineProperty(Dt, "__esModule", { value: true }); + Dt.CachedKeyDecoder = void 0; + var An = xt(), In = 16, Un = 16, Tr = class { + constructor(e = In, t = Un) { this.maxKeyLength = e, this.maxLengthPerKey = t, this.hit = 0, this.miss = 0, this.caches = []; - for (let s = 0; s < this.maxKeyLength; s++) + for (let r = 0; r < this.maxKeyLength; r++) this.caches.push([]); } canBeCached(e) { return e > 0 && e <= this.maxKeyLength; } - find(e, t, s) { - let n = this.caches[s - 1]; + find(e, t, r) { + let n = this.caches[r - 1]; e: for (let o of n) { - let a = o.bytes; - for (let c = 0; c < s; c++) - if (a[c] !== e[t + c]) + let i = o.bytes; + for (let c = 0; c < r; c++) + if (i[c] !== e[t + c]) continue e; return o.str; } return null; } store(e, t) { - let s = this.caches[e.length - 1], n = { bytes: e, str: t }; - s.length >= this.maxLengthPerKey ? s[Math.random() * s.length | 0] = n : s.push(n); + let r = this.caches[e.length - 1], n = { bytes: e, str: t }; + r.length >= this.maxLengthPerKey ? r[Math.random() * r.length | 0] = n : r.push(n); } - decode(e, t, s) { - let n = this.find(e, t, s); + decode(e, t, r) { + let n = this.find(e, t, r); if (n != null) return this.hit++, n; this.miss++; - let o = (0, _n.utf8DecodeJs)(e, t, s), a = Uint8Array.prototype.slice.call(e, t, t + s); - return this.store(a, o), o; + let o = (0, An.utf8DecodeJs)(e, t, r), i = Uint8Array.prototype.slice.call(e, t, t + r); + return this.store(i, o), o; } }; - _t.CachedKeyDecoder = xr; + Dt.CachedKeyDecoder = Tr; }); -var St = _((J) => { +var Ot = D(($) => { "use strict"; - Object.defineProperty(J, "__esModule", { value: true }); - J.Decoder = J.DataViewIndexOutOfBoundsError = void 0; - var vr = as(), kn = Et(), re = Oe(), Er = mt(), Pr = gr(), Dn = ls(), H = wt(), Wn = (r) => { - let e = typeof r; + Object.defineProperty($, "__esModule", { value: true }); + $.Decoder = $.DataViewIndexOutOfBoundsError = void 0; + var Pr = us(), Cn = St(), oe = Ue(), _r = xt(), Sr = xr(), jn = ps(), G = Tt(), Nn = (s) => { + let e = typeof s; return e === "string" || e === "number"; - }, Ce = -1, _r = new DataView(new ArrayBuffer(0)), On = new Uint8Array(_r.buffer); - J.DataViewIndexOutOfBoundsError = (() => { + }, Le = -1, kr = new DataView(new ArrayBuffer(0)), Ln = new Uint8Array(kr.buffer); + $.DataViewIndexOutOfBoundsError = (() => { try { - _r.getInt8(0); - } catch (r) { - return r.constructor; + kr.getInt8(0); + } catch (s) { + return s.constructor; } throw new Error("never reached"); })(); - var cs = new J.DataViewIndexOutOfBoundsError("Insufficient data"), An = new Dn.CachedKeyDecoder(), Tr = class { - constructor(e = kn.ExtensionCodec.defaultCodec, t = void 0, s = re.UINT32_MAX, n = re.UINT32_MAX, o = re.UINT32_MAX, a = re.UINT32_MAX, c = re.UINT32_MAX, p = An) { - this.extensionCodec = e, this.context = t, this.maxStrLength = s, this.maxBinLength = n, this.maxArrayLength = o, this.maxMapLength = a, this.maxExtLength = c, this.keyDecoder = p, this.totalPos = 0, this.pos = 0, this.view = _r, this.bytes = On, this.headByte = Ce, this.stack = []; + var ds = new $.DataViewIndexOutOfBoundsError("Insufficient data"), Bn = new jn.CachedKeyDecoder(), Mr = class { + constructor(e = Cn.ExtensionCodec.defaultCodec, t = void 0, r = oe.UINT32_MAX, n = oe.UINT32_MAX, o = oe.UINT32_MAX, i = oe.UINT32_MAX, c = oe.UINT32_MAX, p = Bn) { + this.extensionCodec = e, this.context = t, this.maxStrLength = r, this.maxBinLength = n, this.maxArrayLength = o, this.maxMapLength = i, this.maxExtLength = c, this.keyDecoder = p, this.totalPos = 0, this.pos = 0, this.view = kr, this.bytes = Ln, this.headByte = Le, this.stack = []; } reinitializeState() { - this.totalPos = 0, this.headByte = Ce, this.stack.length = 0; + this.totalPos = 0, this.headByte = Le, this.stack.length = 0; } setBuffer(e) { - this.bytes = (0, Pr.ensureUint8Array)(e), this.view = (0, Pr.createDataView)(this.bytes), this.pos = 0; + this.bytes = (0, Sr.ensureUint8Array)(e), this.view = (0, Sr.createDataView)(this.bytes), this.pos = 0; } appendBuffer(e) { - if (this.headByte === Ce && !this.hasRemaining(1)) + if (this.headByte === Le && !this.hasRemaining(1)) this.setBuffer(e); else { - let t = this.bytes.subarray(this.pos), s = (0, Pr.ensureUint8Array)(e), n = new Uint8Array(t.length + s.length); - n.set(t), n.set(s, t.length), this.setBuffer(n); + let t = this.bytes.subarray(this.pos), r = (0, Sr.ensureUint8Array)(e), n = new Uint8Array(t.length + r.length); + n.set(t), n.set(r, t.length), this.setBuffer(n); } } hasRemaining(e) { return this.view.byteLength - this.pos >= e; } createExtraByteError(e) { - let { view: t, pos: s } = this; - return new RangeError(`Extra ${t.byteLength - s} of ${t.byteLength} byte(s) found at buffer[${e}]`); + let { view: t, pos: r } = this; + return new RangeError(`Extra ${t.byteLength - r} of ${t.byteLength} byte(s) found at buffer[${e}]`); } decode(e) { this.reinitializeState(), this.setBuffer(e); @@ -620,15 +620,15 @@ var St = _((J) => { yield this.doDecodeSync(); } async decodeAsync(e) { - let t = false, s; + let t = false, r; for await (let c of e) { if (t) throw this.createExtraByteError(this.totalPos); this.appendBuffer(c); try { - s = this.doDecodeSync(), t = true; + r = this.doDecodeSync(), t = true; } catch (p) { - if (!(p instanceof J.DataViewIndexOutOfBoundsError)) + if (!(p instanceof $.DataViewIndexOutOfBoundsError)) throw p; } this.totalPos += this.pos; @@ -636,10 +636,10 @@ var St = _((J) => { if (t) { if (this.hasRemaining(1)) throw this.createExtraByteError(this.totalPos); - return s; + return r; } - let { headByte: n, pos: o, totalPos: a } = this; - throw new RangeError(`Insufficient data in parsing ${(0, vr.prettyByte)(n)} at ${a} (${o} in the current buffer)`); + let { headByte: n, pos: o, totalPos: i } = this; + throw new RangeError(`Insufficient data in parsing ${(0, Pr.prettyByte)(n)} at ${i} (${o} in the current buffer)`); } decodeArrayStream(e) { return this.decodeMultiAsync(e, true); @@ -648,17 +648,17 @@ var St = _((J) => { return this.decodeMultiAsync(e, false); } async *decodeMultiAsync(e, t) { - let s = t, n = -1; + let r = t, n = -1; for await (let o of e) { if (t && n === 0) throw this.createExtraByteError(this.totalPos); - this.appendBuffer(o), s && (n = this.readArraySize(), s = false, this.complete()); + this.appendBuffer(o), r && (n = this.readArraySize(), r = false, this.complete()); try { for (; yield this.doDecodeSync(), --n !== 0; ) ; - } catch (a) { - if (!(a instanceof J.DataViewIndexOutOfBoundsError)) - throw a; + } catch (i) { + if (!(i instanceof $.DataViewIndexOutOfBoundsError)) + throw i; } this.totalPos += this.pos; } @@ -782,25 +782,25 @@ var St = _((J) => { let n = this.lookU32(); t = this.decodeExtension(n, 4); } else - throw new H.DecodeError(`Unrecognized type byte: ${(0, vr.prettyByte)(e)}`); + throw new G.DecodeError(`Unrecognized type byte: ${(0, Pr.prettyByte)(e)}`); this.complete(); - let s = this.stack; - for (; s.length > 0; ) { - let n = s[s.length - 1]; + let r = this.stack; + for (; r.length > 0; ) { + let n = r[r.length - 1]; if (n.type === 0) if (n.array[n.position] = t, n.position++, n.position === n.size) - s.pop(), t = n.array; + r.pop(), t = n.array; else continue e; else if (n.type === 1) { - if (!Wn(t)) - throw new H.DecodeError("The type of key must be string or number but " + typeof t); + if (!Nn(t)) + throw new G.DecodeError("The type of key must be string or number but " + typeof t); if (t === "__proto__") - throw new H.DecodeError("The key __proto__ is not allowed"); + throw new G.DecodeError("The key __proto__ is not allowed"); n.key = t, n.type = 2; continue e; } else if (n.map[n.key] = t, n.readCount++, n.readCount === n.size) - s.pop(), t = n.map; + r.pop(), t = n.map; else { n.key = null, n.type = 1; continue e; @@ -810,10 +810,10 @@ var St = _((J) => { } } readHeadByte() { - return this.headByte === Ce && (this.headByte = this.readU8()), this.headByte; + return this.headByte === Le && (this.headByte = this.readU8()), this.headByte; } complete() { - this.headByte = Ce; + this.headByte = Le; } readArraySize() { let e = this.readHeadByte(); @@ -825,45 +825,45 @@ var St = _((J) => { default: { if (e < 160) return e - 144; - throw new H.DecodeError(`Unrecognized array type byte: ${(0, vr.prettyByte)(e)}`); + throw new G.DecodeError(`Unrecognized array type byte: ${(0, Pr.prettyByte)(e)}`); } } } pushMapState(e) { if (e > this.maxMapLength) - throw new H.DecodeError(`Max length exceeded: map length (${e}) > maxMapLengthLength (${this.maxMapLength})`); + throw new G.DecodeError(`Max length exceeded: map length (${e}) > maxMapLengthLength (${this.maxMapLength})`); this.stack.push({ type: 1, size: e, key: null, readCount: 0, map: {} }); } pushArrayState(e) { if (e > this.maxArrayLength) - throw new H.DecodeError(`Max length exceeded: array length (${e}) > maxArrayLength (${this.maxArrayLength})`); + throw new G.DecodeError(`Max length exceeded: array length (${e}) > maxArrayLength (${this.maxArrayLength})`); this.stack.push({ type: 0, size: e, array: new Array(e), position: 0 }); } decodeUtf8String(e, t) { - var s; + var r; if (e > this.maxStrLength) - throw new H.DecodeError(`Max length exceeded: UTF-8 byte length (${e}) > maxStrLength (${this.maxStrLength})`); + throw new G.DecodeError(`Max length exceeded: UTF-8 byte length (${e}) > maxStrLength (${this.maxStrLength})`); if (this.bytes.byteLength < this.pos + t + e) - throw cs; + throw ds; let n = this.pos + t, o; - return this.stateIsMapKey() && (!((s = this.keyDecoder) === null || s === void 0) && s.canBeCached(e)) ? o = this.keyDecoder.decode(this.bytes, n, e) : e > Er.TEXT_DECODER_THRESHOLD ? o = (0, Er.utf8DecodeTD)(this.bytes, n, e) : o = (0, Er.utf8DecodeJs)(this.bytes, n, e), this.pos += t + e, o; + return this.stateIsMapKey() && (!((r = this.keyDecoder) === null || r === void 0) && r.canBeCached(e)) ? o = this.keyDecoder.decode(this.bytes, n, e) : e > _r.TEXT_DECODER_THRESHOLD ? o = (0, _r.utf8DecodeTD)(this.bytes, n, e) : o = (0, _r.utf8DecodeJs)(this.bytes, n, e), this.pos += t + e, o; } stateIsMapKey() { return this.stack.length > 0 ? this.stack[this.stack.length - 1].type === 1 : false; } decodeBinary(e, t) { if (e > this.maxBinLength) - throw new H.DecodeError(`Max length exceeded: bin length (${e}) > maxBinLength (${this.maxBinLength})`); + throw new G.DecodeError(`Max length exceeded: bin length (${e}) > maxBinLength (${this.maxBinLength})`); if (!this.hasRemaining(e + t)) - throw cs; - let s = this.pos + t, n = this.bytes.subarray(s, s + e); + throw ds; + let r = this.pos + t, n = this.bytes.subarray(r, r + e); return this.pos += t + e, n; } decodeExtension(e, t) { if (e > this.maxExtLength) - throw new H.DecodeError(`Max length exceeded: ext length (${e}) > maxExtLength (${this.maxExtLength})`); - let s = this.view.getInt8(this.pos + t), n = this.decodeBinary(e, t + 1); - return this.extensionCodec.decode(n, s, this.context); + throw new G.DecodeError(`Max length exceeded: ext length (${e}) > maxExtLength (${this.maxExtLength})`); + let r = this.view.getInt8(this.pos + t), n = this.decodeBinary(e, t + 1); + return this.extensionCodec.decode(n, r, this.context); } lookU8() { return this.view.getUint8(this.pos); @@ -899,11 +899,11 @@ var St = _((J) => { return this.pos += 4, e; } readU64() { - let e = (0, re.getUint64)(this.view, this.pos); + let e = (0, oe.getUint64)(this.view, this.pos); return this.pos += 8, e; } readI64() { - let e = (0, re.getInt64)(this.view, this.pos); + let e = (0, oe.getInt64)(this.view, this.pos); return this.pos += 8, e; } readF32() { @@ -915,523 +915,546 @@ var St = _((J) => { return this.pos += 8, e; } }; - J.Decoder = Tr; + $.Decoder = Mr; }); -var Sr = _((L) => { +var Dr = D((F) => { "use strict"; - Object.defineProperty(L, "__esModule", { value: true }); - L.decodeMulti = L.decode = L.defaultDecodeOptions = void 0; - var us = St(); - L.defaultDecodeOptions = {}; - function In(r, e = L.defaultDecodeOptions) { - return new us.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decode(r); - } - L.decode = In; - function Un(r, e = L.defaultDecodeOptions) { - return new us.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeMulti(r); - } - L.decodeMulti = Un; + Object.defineProperty(F, "__esModule", { value: true }); + F.decodeMulti = F.decode = F.defaultDecodeOptions = void 0; + var hs = Ot(); + F.defaultDecodeOptions = {}; + function Fn(s, e = F.defaultDecodeOptions) { + return new hs.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decode(s); + } + F.decode = Fn; + function qn(s, e = F.defaultDecodeOptions) { + return new hs.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeMulti(s); + } + F.decodeMulti = qn; }); -var hs = _(($) => { +var Rs = D((Z) => { "use strict"; - Object.defineProperty($, "__esModule", { value: true }); - $.ensureAsyncIterable = $.asyncIterableFromStream = $.isAsyncIterable = void 0; - function ps(r) { - return r[Symbol.asyncIterator] != null; - } - $.isAsyncIterable = ps; - function Cn(r) { - if (r == null) + Object.defineProperty(Z, "__esModule", { value: true }); + Z.ensureAsyncIterable = Z.asyncIterableFromStream = Z.isAsyncIterable = void 0; + function ys(s) { + return s[Symbol.asyncIterator] != null; + } + Z.isAsyncIterable = ys; + function Vn(s) { + if (s == null) throw new Error("Assertion Failure: value must not be null nor undefined"); } - async function* ds(r) { - let e = r.getReader(); + async function* fs(s) { + let e = s.getReader(); try { for (; ; ) { - let { done: t, value: s } = await e.read(); + let { done: t, value: r } = await e.read(); if (t) return; - Cn(s), yield s; + Vn(r), yield r; } } finally { e.releaseLock(); } } - $.asyncIterableFromStream = ds; - function Nn(r) { - return ps(r) ? r : ds(r); + Z.asyncIterableFromStream = fs; + function Hn(s) { + return ys(s) ? s : fs(s); } - $.ensureAsyncIterable = Nn; + Z.ensureAsyncIterable = Hn; }); -var fs = _((j) => { +var gs = D((q) => { "use strict"; - Object.defineProperty(j, "__esModule", { value: true }); - j.decodeStream = j.decodeMultiStream = j.decodeArrayStream = j.decodeAsync = void 0; - var Mr = St(), kr = hs(), Mt = Sr(); - async function Ln(r, e = Mt.defaultDecodeOptions) { - let t = (0, kr.ensureAsyncIterable)(r); - return new Mr.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeAsync(t); - } - j.decodeAsync = Ln; - function jn(r, e = Mt.defaultDecodeOptions) { - let t = (0, kr.ensureAsyncIterable)(r); - return new Mr.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeArrayStream(t); - } - j.decodeArrayStream = jn; - function ys(r, e = Mt.defaultDecodeOptions) { - let t = (0, kr.ensureAsyncIterable)(r); - return new Mr.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeStream(t); - } - j.decodeMultiStream = ys; - function Fn(r, e = Mt.defaultDecodeOptions) { - return ys(r, e); - } - j.decodeStream = Fn; + Object.defineProperty(q, "__esModule", { value: true }); + q.decodeStream = q.decodeMultiStream = q.decodeArrayStream = q.decodeAsync = void 0; + var Or = Ot(), Wr = Rs(), Wt = Dr(); + async function Jn(s, e = Wt.defaultDecodeOptions) { + let t = (0, Wr.ensureAsyncIterable)(s); + return new Or.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeAsync(t); + } + q.decodeAsync = Jn; + function zn(s, e = Wt.defaultDecodeOptions) { + let t = (0, Wr.ensureAsyncIterable)(s); + return new Or.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeArrayStream(t); + } + q.decodeArrayStream = zn; + function ms(s, e = Wt.defaultDecodeOptions) { + let t = (0, Wr.ensureAsyncIterable)(s); + return new Or.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeStream(t); + } + q.decodeMultiStream = ms; + function Xn(s, e = Wt.defaultDecodeOptions) { + return ms(s, e); + } + q.decodeStream = Xn; }); -var Dt = _((h) => { +var It = D((h) => { "use strict"; Object.defineProperty(h, "__esModule", { value: true }); h.decodeTimestampExtension = h.encodeTimestampExtension = h.decodeTimestampToTimeSpec = h.encodeTimeSpecToTimestamp = h.encodeDateToTimeSpec = h.EXT_TIMESTAMP = h.ExtData = h.ExtensionCodec = h.Encoder = h.DataViewIndexOutOfBoundsError = h.DecodeError = h.Decoder = h.decodeStream = h.decodeMultiStream = h.decodeArrayStream = h.decodeAsync = h.decodeMulti = h.decode = h.encode = void 0; - var Bn = is(); + var Gn = cs(); Object.defineProperty(h, "encode", { enumerable: true, get: function() { - return Bn.encode; + return Gn.encode; } }); - var Rs = Sr(); + var bs = Dr(); Object.defineProperty(h, "decode", { enumerable: true, get: function() { - return Rs.decode; + return bs.decode; } }); Object.defineProperty(h, "decodeMulti", { enumerable: true, get: function() { - return Rs.decodeMulti; + return bs.decodeMulti; } }); - var kt = fs(); + var At = gs(); Object.defineProperty(h, "decodeAsync", { enumerable: true, get: function() { - return kt.decodeAsync; + return At.decodeAsync; } }); Object.defineProperty(h, "decodeArrayStream", { enumerable: true, get: function() { - return kt.decodeArrayStream; + return At.decodeArrayStream; } }); Object.defineProperty(h, "decodeMultiStream", { enumerable: true, get: function() { - return kt.decodeMultiStream; + return At.decodeMultiStream; } }); Object.defineProperty(h, "decodeStream", { enumerable: true, get: function() { - return kt.decodeStream; + return At.decodeStream; } }); - var ms = St(); + var ws = Ot(); Object.defineProperty(h, "Decoder", { enumerable: true, get: function() { - return ms.Decoder; + return ws.Decoder; } }); Object.defineProperty(h, "DataViewIndexOutOfBoundsError", { enumerable: true, get: function() { - return ms.DataViewIndexOutOfBoundsError; + return ws.DataViewIndexOutOfBoundsError; } }); - var qn = wt(); + var $n = Tt(); Object.defineProperty(h, "DecodeError", { enumerable: true, get: function() { - return qn.DecodeError; + return $n.DecodeError; } }); - var Vn = wr(); + var Kn = Er(); Object.defineProperty(h, "Encoder", { enumerable: true, get: function() { - return Vn.Encoder; + return Kn.Encoder; } }); - var Hn = Et(); + var Qn = St(); Object.defineProperty(h, "ExtensionCodec", { enumerable: true, get: function() { - return Hn.ExtensionCodec; + return Qn.ExtensionCodec; } }); - var Jn = Rr(); + var Zn = br(); Object.defineProperty(h, "ExtData", { enumerable: true, get: function() { - return Jn.ExtData; + return Zn.ExtData; } }); - var fe = mr(); + var me = wr(); Object.defineProperty(h, "EXT_TIMESTAMP", { enumerable: true, get: function() { - return fe.EXT_TIMESTAMP; + return me.EXT_TIMESTAMP; } }); Object.defineProperty(h, "encodeDateToTimeSpec", { enumerable: true, get: function() { - return fe.encodeDateToTimeSpec; + return me.encodeDateToTimeSpec; } }); Object.defineProperty(h, "encodeTimeSpecToTimestamp", { enumerable: true, get: function() { - return fe.encodeTimeSpecToTimestamp; + return me.encodeTimeSpecToTimestamp; } }); Object.defineProperty(h, "decodeTimestampToTimeSpec", { enumerable: true, get: function() { - return fe.decodeTimestampToTimeSpec; + return me.decodeTimestampToTimeSpec; } }); Object.defineProperty(h, "encodeTimestampExtension", { enumerable: true, get: function() { - return fe.encodeTimestampExtension; + return me.encodeTimestampExtension; } }); Object.defineProperty(h, "decodeTimestampExtension", { enumerable: true, get: function() { - return fe.decodeTimestampExtension; + return me.decodeTimestampExtension; } }); }); -var A = class extends Error { +var U = class extends Error { constructor(e) { super(e), this.name = this.constructor.name, Object.setPrototypeOf(this, new.target.prototype); } }; -var P = class extends A { +var _ = class extends U { }; var m = typeof process < "u" && process.release && process.release.name === "node"; -var pr; +var yr; if (globalThis.document) - pr = (r) => new Promise((e, t) => { - let s = document.createElement("script"); - s.src = r, s.onload = () => e(), s.onerror = t, document.head.appendChild(s); + yr = (s) => new Promise((e, t) => { + let r = document.createElement("script"); + r.src = s, r.onload = () => e(), r.onerror = t, document.head.appendChild(r); }); else if (globalThis.importScripts) - pr = async (r) => { + yr = async (s) => { try { - globalThis.importScripts(r); + globalThis.importScripts(s); } catch (e) { if (e instanceof TypeError) - await Promise.resolve().then(() => te(U(r))); + await Promise.resolve().then(() => ne(N(s))); else throw e; } }; else if (m) - pr = async (r) => { - let e = (await Promise.resolve().then(() => te(U("path")))).default; - await Promise.resolve().then(() => te(U(e.resolve(r)))); + yr = async (s) => { + let e = (await Promise.resolve().then(() => ne(N("path")))).default; + await Promise.resolve().then(() => ne(N(e.resolve(s)))); }; else - throw new A("Cannot determine runtime environment"); -var en = /* @__PURE__ */ new WeakMap(); -function Kr(r, e) { - return en.set(r, e), r; + throw new U("Cannot determine runtime environment"); +var ln = /* @__PURE__ */ new WeakMap(); +function Yr(s, e) { + return ln.set(s, e), s; } -var bs = te(Dt()); -var zn = new TextEncoder(); -var F; -var B; -var Ne; -var Dr; -F = /* @__PURE__ */ new WeakMap(), B = /* @__PURE__ */ new WeakMap(), Ne = /* @__PURE__ */ new WeakSet(), Dr = function() { - i(this, F).push(new Promise((e) => { - i(this, B).push(e); +var vs = ne(It()); +var Yn = new TextEncoder(); +var V; +var H; +var Be; +var Ar; +V = /* @__PURE__ */ new WeakMap(), H = /* @__PURE__ */ new WeakMap(), Be = /* @__PURE__ */ new WeakSet(), Ar = function() { + a(this, V).push(new Promise((e) => { + a(this, H).push(e); })); }; -function Le(r, e, t) { - return xs({ type: "response", data: { uuid: r, resp: e } }, t); +function Fe(s, e, t) { + return Ts({ type: "response", data: { uuid: s, resp: e } }, t); } -function xs(r, e) { - return e && Kr(r, e), r; +function Ts(s, e) { + return e && Yr(s, e), s; } -var ge; -ge = /* @__PURE__ */ new WeakMap(); -var Ts = te(Dt()); -var Kn = new TextDecoder("utf-8"); -var be; var we; -var je; -var Fe; +we = /* @__PURE__ */ new WeakMap(); +var Ms = ne(It()); +var so = new TextDecoder("utf-8"); var xe; -be = /* @__PURE__ */ new WeakMap(), we = /* @__PURE__ */ new WeakMap(), je = /* @__PURE__ */ new WeakMap(), Fe = /* @__PURE__ */ new WeakMap(), xe = /* @__PURE__ */ new WeakMap(); -var Or = new Int32Array(new ArrayBuffer(4)); -var l = {}; -function ks(r) { - Object.keys(r).forEach((e) => l._free(r[e])); -} -m && (globalThis.Worker = U("worker_threads").Worker); var ve; -var Ct; -var Ds; var qe; -ve = /* @__PURE__ */ new WeakMap(), Ct = /* @__PURE__ */ new WeakSet(), Ds = function(t) { - m ? t.on("message", (s) => { - i(this, qe).call(this, t, s); - }) : t.onmessage = (s) => i(this, qe).call(this, t, s.data); -}, qe = /* @__PURE__ */ new WeakMap(); -var se; var Ve; -var ne; -var He; -se = /* @__PURE__ */ new WeakMap(), Ve = /* @__PURE__ */ new WeakMap(), ne = /* @__PURE__ */ new WeakMap(), He = /* @__PURE__ */ new WeakMap(); -var Bt = te(Dt()); -m && (globalThis.Worker = U("worker_threads").Worker); var Ee; -var oe; -var Pe; -var Lt; -var Ws; -var jt; -var Os; -var Ft; +xe = /* @__PURE__ */ new WeakMap(), ve = /* @__PURE__ */ new WeakMap(), qe = /* @__PURE__ */ new WeakMap(), Ve = /* @__PURE__ */ new WeakMap(), Ee = /* @__PURE__ */ new WeakMap(); +var Ur = new Int32Array(new ArrayBuffer(4)); +var l = {}; +function Ws(s) { + Object.keys(s).forEach((e) => l._free(s[e])); +} +m && (globalThis.Worker = N("worker_threads").Worker); +var Te; +var Bt; var As; var Je; -Ee = /* @__PURE__ */ new WeakMap(), oe = /* @__PURE__ */ new WeakMap(), Pe = /* @__PURE__ */ new WeakMap(), Lt = /* @__PURE__ */ new WeakSet(), Ws = async function(t) { - d(this, oe, await navigator.serviceWorker.register(t)), await navigator.serviceWorker.ready, window.addEventListener("beforeunload", () => { +Te = /* @__PURE__ */ new WeakMap(), Bt = /* @__PURE__ */ new WeakSet(), As = function(t) { + m ? t.on("message", (r) => { + a(this, Je).call(this, t, r); + }) : t.onmessage = (r) => a(this, Je).call(this, t, r.data); +}, Je = /* @__PURE__ */ new WeakMap(); +var ae; +var ze; +var ie; +var Xe; +ae = /* @__PURE__ */ new WeakMap(), ze = /* @__PURE__ */ new WeakMap(), ie = /* @__PURE__ */ new WeakMap(), Xe = /* @__PURE__ */ new WeakMap(); +var Jt = ne(It()); +m && (globalThis.Worker = N("worker_threads").Worker); +var Pe; +var le; +var _e; +var qt; +var Is; +var Vt; +var Us; +var Ht; +var Cs; +var Ge; +Pe = /* @__PURE__ */ new WeakMap(), le = /* @__PURE__ */ new WeakMap(), _e = /* @__PURE__ */ new WeakMap(), qt = /* @__PURE__ */ new WeakSet(), Is = async function(t) { + d(this, le, await navigator.serviceWorker.register(t)), await navigator.serviceWorker.ready, window.addEventListener("beforeunload", () => { var n; - (n = i(this, oe)) == null || n.unregister(); + (n = a(this, le)) == null || n.unregister(); }); - let s = await new Promise((n) => { - navigator.serviceWorker.addEventListener("message", function o(a) { - a.data.type === "registration-successful" && (navigator.serviceWorker.removeEventListener("message", o), n(a.data.clientId)); + let r = await new Promise((n) => { + navigator.serviceWorker.addEventListener("message", function o(i) { + i.data.type === "registration-successful" && (navigator.serviceWorker.removeEventListener("message", o), n(i.data.clientId)); }), this.activeRegistration().postMessage({ type: "register-client-main" }); }); return navigator.serviceWorker.addEventListener("message", (n) => { - x(this, jt, Os).call(this, n); - }), s; -}, jt = /* @__PURE__ */ new WeakSet(), Os = async function(t) { + v(this, Vt, Us).call(this, n); + }), r; +}, Vt = /* @__PURE__ */ new WeakSet(), Us = async function(t) { if (t.data.type === "request") { - let s = t.data.data, n = i(this, Ee).get(s); + let r = t.data.data, n = a(this, Pe).get(r); if (!n) - throw new P("Request not found during service worker XHR request"); - switch (i(this, Ee).delete(s), n.type) { + throw new _("Request not found during service worker XHR request"); + switch (a(this, Pe).delete(r), n.type) { case "read": { let o = await this.inputQueue.get(); - this.activeRegistration().postMessage({ type: "wasm-webr-fetch-response", uuid: s, response: Le(s, o) }); + this.activeRegistration().postMessage({ type: "wasm-webr-fetch-response", uuid: r, response: Fe(r, o) }); break; } case "interrupt": { - let o = i(this, Pe); - this.activeRegistration().postMessage({ type: "wasm-webr-fetch-response", uuid: s, response: Le(s, o) }), this.inputQueue.reset(), d(this, Pe, false); + let o = a(this, _e); + this.activeRegistration().postMessage({ type: "wasm-webr-fetch-response", uuid: r, response: Fe(r, o) }), this.inputQueue.reset(), d(this, _e, false); break; } default: - throw new P(`Unsupported request type '${n.type}'.`); + throw new _(`Unsupported request type '${n.type}'.`); } return; } -}, Ft = /* @__PURE__ */ new WeakSet(), As = function(t) { - m ? t.on("message", (s) => { - i(this, Je).call(this, t, s); - }) : t.onmessage = (s) => i(this, Je).call(this, t, s.data); -}, Je = /* @__PURE__ */ new WeakMap(); -var Te; -var ze; -var Xe; +}, Ht = /* @__PURE__ */ new WeakSet(), Cs = function(t) { + m ? t.on("message", (r) => { + a(this, Ge).call(this, t, r); + }) : t.onmessage = (r) => a(this, Ge).call(this, t, r.data); +}, Ge = /* @__PURE__ */ new WeakMap(); +var Se; var $e; -var Ge; var Ke; -Te = /* @__PURE__ */ new WeakMap(), ze = /* @__PURE__ */ new WeakMap(), Xe = /* @__PURE__ */ new WeakMap(), $e = /* @__PURE__ */ new WeakMap(), Ge = /* @__PURE__ */ new WeakMap(), Ke = /* @__PURE__ */ new WeakMap(); -m && (globalThis.Worker = U("worker_threads").Worker); -var _e; -var qt; -var Is; +var Qe; var Ze; -_e = /* @__PURE__ */ new WeakMap(), qt = /* @__PURE__ */ new WeakSet(), Is = function(t) { - m ? t.on("message", (s) => { - i(this, Ze).call(this, t, s); - }) : t.onmessage = (s) => i(this, Ze).call(this, t, s.data); -}, Ze = /* @__PURE__ */ new WeakMap(); -var Se; -var Me; var Ye; -var ie; -var Vt; -Se = /* @__PURE__ */ new WeakMap(), Me = /* @__PURE__ */ new WeakMap(), Ye = /* @__PURE__ */ new WeakMap(), ie = /* @__PURE__ */ new WeakMap(), Vt = /* @__PURE__ */ new WeakMap(); -var O = { Automatic: 0, SharedArrayBuffer: 1, ServiceWorker: 2, PostMessage: 3 }; -var Cs = m ? __dirname + "/" : "https://webr.r-wasm.org/v0.2.2/"; -var Ns = "https://repo.r-wasm.org"; +Se = /* @__PURE__ */ new WeakMap(), $e = /* @__PURE__ */ new WeakMap(), Ke = /* @__PURE__ */ new WeakMap(), Qe = /* @__PURE__ */ new WeakMap(), Ze = /* @__PURE__ */ new WeakMap(), Ye = /* @__PURE__ */ new WeakMap(); +m && (globalThis.Worker = N("worker_threads").Worker); +var Me; +var zt; +var js; +var tt; +Me = /* @__PURE__ */ new WeakMap(), zt = /* @__PURE__ */ new WeakSet(), js = function(t) { + m ? t.on("message", (r) => { + a(this, tt).call(this, t, r); + }) : t.onmessage = (r) => a(this, tt).call(this, t, r.data); +}, tt = /* @__PURE__ */ new WeakMap(); +var ke; +var De; +var rt; +var ce; +var Xt; +ke = /* @__PURE__ */ new WeakMap(), De = /* @__PURE__ */ new WeakMap(), rt = /* @__PURE__ */ new WeakMap(), ce = /* @__PURE__ */ new WeakMap(), Xt = /* @__PURE__ */ new WeakMap(); +var I = { Automatic: 0, SharedArrayBuffer: 1, ServiceWorker: 2, PostMessage: 3 }; +var Ls = m ? __dirname + "/" : "https://webr.r-wasm.org/v0.3.1/"; +var Bs = "https://repo.r-wasm.org"; var f = { null: 0, symbol: 1, pairlist: 2, closure: 3, environment: 4, promise: 5, call: 6, special: 7, builtin: 8, string: 9, logical: 10, integer: 13, double: 14, complex: 15, character: 16, dots: 17, any: 18, list: 19, expression: 20, bytecode: 21, pointer: 22, weakref: 23, raw: 24, s4: 25, new: 30, free: 31, function: 99 }; -function Cr(r) { - return r && typeof r == "object" && Object.keys(f).includes(r.type); +function Lr(s) { + return !!s && typeof s == "object" && Object.keys(f).includes(s.type); } -function Nr(r) { - return r && typeof r == "object" && "re" in r && "im" in r; +function st(s) { + return !!s && typeof s == "object" && "re" in s && "im" in s; } -function Ht(r) { - return l._Rf_protect(q(r)), r; +function nt(s) { + return l._Rf_protect(J(s)), s; } -function M(r, e) { - return l._Rf_protect(q(r)), ++e.n, r; +function x(s, e) { + return l._Rf_protect(J(s)), ++e.n, s; } -function js(r) { +function qs(s) { let e = l._malloc(4); - return l._R_ProtectWithIndex(q(r), e), { loc: l.getValue(e, "i32"), ptr: e }; + return l._R_ProtectWithIndex(J(s), e), { loc: l.getValue(e, "i32"), ptr: e }; } -function Fs(r) { - l._Rf_unprotect(1), l._free(r.ptr); +function Vs(s) { + l._Rf_unprotect(1), l._free(s.ptr); } -function Bs(r, e) { - return l._R_Reprotect(q(r), e.loc), r; +function Hs(s, e) { + return l._R_Reprotect(J(s), e.loc), s; } -function D(r) { - l._Rf_unprotect(r); +function E(s) { + l._Rf_unprotect(s); } -function Lr(r, e, t) { - l._Rf_defineVar(q(e), q(t), q(r)); +function Br(s, e, t) { + l._Rf_defineVar(J(e), J(t), J(s)); } -function qs(r, e) { - let t = {}, s = { n: 0 }; +function Fr(s, e) { + let t = {}, r = { n: 0 }; try { - let n = new tt(e); - M(n, s), t.code = l.allocateUTF8(r); + let n = new at(e); + x(n, r), t.code = l.allocateUTF8(s); let o = l._R_ParseEvalString(t.code, n.ptr); return y.wrap(o); } finally { - ks(t), D(s.n); + Ws(t), E(r.n); } } -function et(r, e) { - return l.getWasmTableEntry(l.GOT.ffi_safe_eval.value)(q(r), q(e)); +function ot(s, e) { + return l.getWasmTableEntry(l.GOT.ffi_safe_eval.value)(J(s), J(e)); } -function q(r) { - return to(r) ? r.ptr : r; +function J(s) { + return Qt(s) ? s.ptr : s; } -function ue(r, e) { - if (l._TYPEOF(r.ptr) !== f[e]) - throw new Error(`Unexpected object type "${r.type()}" when expecting type "${e}"`); +function de(s, e) { + if (l._TYPEOF(s.ptr) !== f[e]) + throw new Error(`Unexpected object type "${s.type()}" when expecting type "${e}"`); } -function Yn(r) { - if (Cr(r)) - return new (Vs(f[r.type]))(r); - if (r && typeof r == "object" && "type" in r && r.type === "null") - return new $t(); - if (r === null) - return new le({ type: "logical", names: null, values: [null] }); - if (typeof r == "boolean") - return new le(r); - if (typeof r == "number") - return new rt(r); - if (typeof r == "string") - return new K(r); - if (Nr(r)) - return new st(r); - if (Array.isArray(r)) - return eo(r); +function Js(s) { + if (Lr(s)) + return new (zs(f[s.type]))(s); + if (s && typeof s == "object" && "type" in s && s.type === "null") + return new Kt(); + if (s === null) + return new ee({ type: "logical", names: null, values: [null] }); + if (typeof s == "boolean") + return new ee(s); + if (typeof s == "number") + return new We(s); + if (typeof s == "string") + return new z(s); + if (st(s)) + return new it(s); + if (ArrayBuffer.isView(s) || s instanceof ArrayBuffer) + return new lt(s); + if (Array.isArray(s)) + return ao(s); + if (typeof s == "object") + return te.fromObject(s); throw new Error("Robj construction for this JS object is not yet supported"); } -function eo(r) { +function ao(s) { let e = { n: 0 }; + if (s.every((r) => r && typeof r == "object" && !Qt(r) && !st(r))) { + let r = s, n = r.every((i) => Object.keys(i).filter((c) => !Object.keys(r[0]).includes(c)).length === 0 && Object.keys(r[0]).filter((c) => !Object.keys(i).includes(c)).length === 0), o = r.every((i) => Object.values(i).every((c) => Gs(c) || Xs(c))); + if (n && o) + return te.fromD3(r); + } + if (s.every((r) => typeof r == "boolean" || r === null)) + return new ee(s); + if (s.every((r) => typeof r == "number" || r === null)) + return new We(s); + if (s.every((r) => typeof r == "string" || r === null)) + return new z(s); try { - let t = new ce([new Q("c"), ...r]); - return M(t, e), t.eval(); + let r = new K([new j("c"), ...s]); + return x(r, e), r.eval(); } finally { - D(e.n); + E(e.n); } } -var E = class { +var T = class { constructor(e) { this.ptr = e; } type() { let e = l._TYPEOF(this.ptr); - return Object.keys(f).find((s) => f[s] === e); + return Object.keys(f).find((r) => f[r] === e); } }; -var De; -var Jt; -var ae = class extends E { +var Ae; +var Gt; +var ue = class extends T { constructor(t) { - if (!(t instanceof E)) - return Yn(t); + if (!(t instanceof T)) + return Js(t); super(t.ptr); - u(this, De); + u(this, Ae); } static wrap(t) { - let s = l._TYPEOF(t); - return new (Vs(s))(new E(t)); + let r = l._TYPEOF(t); + return new (zs(r))(new T(t)); } get [Symbol.toStringTag]() { return `RObject:${this.type()}`; } static getPersistentObject(t) { - return k[t]; + return W[t]; } getPropertyValue(t) { return this[t]; } inspect() { - qs(".Internal(inspect(x))", { x: this }); + Fr(".Internal(inspect(x))", { x: this }); } isNull() { return l._TYPEOF(this.ptr) === f.null; } + isNa() { + try { + let t = Fr("is.na(x)", { x: this }); + return nt(t), t.toBoolean(); + } finally { + E(1); + } + } isUnbound() { - return this.ptr === k.unboundValue.ptr; + return this.ptr === W.unboundValue.ptr; } attrs() { - return We.wrap(l._ATTRIB(this.ptr)); + return pe.wrap(l._ATTRIB(this.ptr)); } setNames(t) { - let s; + let r; if (t === null) - s = k.null; + r = W.null; else if (Array.isArray(t) && t.every((n) => typeof n == "string" || n === null)) - s = new K(t); + r = new z(t); else throw new Error("Argument to setNames must be null or an Array of strings or null"); - return l._Rf_setAttrib(this.ptr, k.namesSymbol.ptr, s.ptr), this; + return l._Rf_setAttrib(this.ptr, W.namesSymbol.ptr, r.ptr), this; } names() { - let t = K.wrap(l._Rf_getAttrib(this.ptr, k.namesSymbol.ptr)); + let t = z.wrap(l._Rf_getAttrib(this.ptr, W.namesSymbol.ptr)); return t.isNull() ? null : t.toArray(); } includes(t) { - let s = this.names(); - return s && s.includes(t); + let r = this.names(); + return r && r.includes(t); } - toJs(t = { depth: 0 }, s = 1) { + toJs(t = { depth: 0 }, r = 1) { throw new Error("This R object cannot be converted to JS"); } subset(t) { - return x(this, De, Jt).call(this, t, k.bracketSymbol.ptr); + return v(this, Ae, Gt).call(this, t, W.bracketSymbol.ptr); } get(t) { - return x(this, De, Jt).call(this, t, k.bracket2Symbol.ptr); + return v(this, Ae, Gt).call(this, t, W.bracket2Symbol.ptr); } getDollar(t) { - return x(this, De, Jt).call(this, t, k.dollarSymbol.ptr); + return v(this, Ae, Gt).call(this, t, W.dollarSymbol.ptr); } pluck(...t) { - let s = js(k.null); + let r = qs(W.null); try { - let n = (a, c) => { - let p = a.get(c); - return Bs(p, s); + let n = (i, c) => { + let p = i.get(c); + return Hs(p, r); }, o = t.reduce(n, this); return o.isNull() ? void 0 : o; } finally { - Fs(s); + Vs(r); } } - set(t, s) { + set(t, r) { let n = { n: 0 }; try { - let o = new ae(t); - M(o, n); - let a = new ae(s); - M(a, n); - let c = new Q("[[<-"), p = l._Rf_lang4(c.ptr, this.ptr, o.ptr, a.ptr); - return M(p, n), ae.wrap(et(p, k.baseEnv)); + let o = new ue(t); + x(o, n); + let i = new ue(r); + x(i, n); + let c = new j("[[<-"), p = l._Rf_lang4(c.ptr, this.ptr, o.ptr, i.ptr); + return x(p, n), ue.wrap(ot(p, W.baseEnv)); } finally { - D(n.n); + E(n.n); } } static getMethods(t) { - let s = /* @__PURE__ */ new Set(), n = t; + let r = /* @__PURE__ */ new Set(), n = t; do - Object.getOwnPropertyNames(n).map((o) => s.add(o)); + Object.getOwnPropertyNames(n).map((o) => r.add(o)); while (n = Object.getPrototypeOf(n)); - return [...s.keys()].filter((o) => typeof t[o] == "function"); + return [...r.keys()].filter((o) => typeof t[o] == "function"); } }; -var y = ae; -De = /* @__PURE__ */ new WeakSet(), Jt = function(t, s) { +var y = ue; +Ae = /* @__PURE__ */ new WeakSet(), Gt = function(t, r) { let n = { n: 0 }; try { - let o = new ae(t); - M(o, n); - let a = l._Rf_lang3(s, this.ptr, o.ptr); - return M(a, n), ae.wrap(et(a, k.baseEnv)); + let o = new ue(t); + x(o, n); + let i = l._Rf_lang3(r, this.ptr, o.ptr); + return x(i, n), ue.wrap(ot(i, W.baseEnv)); } finally { - D(n.n); + E(n.n); } }; -var $t = class extends y { +var Kt = class extends y { constructor() { - return super(new E(l.getValue(l._R_NilValue, "*"))), this; + return super(new T(l.getValue(l._R_NilValue, "*"))), this; } toJs() { return { type: "null" }; } }; -var Q = class extends y { +var j = class extends y { constructor(e) { - if (e instanceof E) { - ue(e, "symbol"), super(e); + if (e instanceof T) { + de(e, "symbol"), super(e); return; } let t = l.allocateUTF8(e); try { - super(new E(l._Rf_install(t))); + super(new T(l._Rf_install(t))); } finally { l._free(t); } @@ -1447,7 +1470,7 @@ var Q = class extends y { return this.printname().toString(); } printname() { - return nt.wrap(l._PRINTNAME(this.ptr)); + return ct.wrap(l._PRINTNAME(this.ptr)); } symvalue() { return y.wrap(l._SYMVALUE(this.ptr)); @@ -1456,19 +1479,19 @@ var Q = class extends y { return y.wrap(l._INTERNAL(this.ptr)); } }; -var We = class extends y { +var pe = class extends y { constructor(e) { - if (e instanceof E) - return ue(e, "pairlist"), super(e), this; + if (e instanceof T) + return de(e, "pairlist"), super(e), this; let t = { n: 0 }; try { - let { names: s, values: n } = ot(e), o = We.wrap(l._Rf_allocList(n.length)); - M(o, t); - for (let [a, c] = [0, o]; !c.isNull(); [a, c] = [a + 1, c.cdr()]) - c.setcar(new y(n[a])); - o.setNames(s), super(o); + let { names: r, values: n } = Ie(e), o = pe.wrap(l._Rf_allocList(n.length)); + x(o, t); + for (let [i, c] = [0, o]; !c.isNull(); [i, c] = [i + 1, c.cdr()]) + c.setcar(new y(n[i])); + o.setNames(r), super(o); } finally { - D(t.n); + E(t.n); } } get length() { @@ -1477,25 +1500,25 @@ var We = class extends y { toArray(e = { depth: 1 }) { return this.toJs(e).values; } - toObject({ allowDuplicateKey: e = true, allowEmptyKey: t = false, depth: s = 1 } = {}) { - let n = this.entries({ depth: s }), o = n.map(([a, c]) => a); + toObject({ allowDuplicateKey: e = true, allowEmptyKey: t = false, depth: r = -1 } = {}) { + let n = this.entries({ depth: r }), o = n.map(([i]) => i); if (!e && new Set(o).size !== o.length) throw new Error("Duplicate key when converting pairlist without allowDuplicateKey enabled"); - if (!t && o.some((a) => !a)) + if (!t && o.some((i) => !i)) throw new Error("Empty or null key when converting pairlist without allowEmptyKey enabled"); - return Object.fromEntries(n.filter((a, c) => n.findIndex((p) => p[0] === a[0]) === c)); + return Object.fromEntries(n.filter((i, c) => n.findIndex((p) => p[0] === i[0]) === c)); } entries(e = { depth: 1 }) { let t = this.toJs(e); - return t.values.map((s, n) => [t.names ? t.names[n] : null, s]); + return t.values.map((r, n) => [t.names ? t.names[n] : null, r]); } toJs(e = { depth: 0 }, t = 1) { - let s = [], n = false, o = []; + let r = [], n = false, o = []; for (let c = this; !c.isNull(); c = c.cdr()) { let p = c.tag(); - p.isNull() ? s.push("") : (n = true, s.push(p.toString())), e.depth && t >= e.depth ? o.push(c.car()) : o.push(c.car().toJs(e, t + 1)); + p.isNull() ? r.push("") : (n = true, r.push(p.toString())), e.depth && t >= e.depth ? o.push(c.car()) : o.push(c.car().toJs(e, t + 1)); } - return { type: "pairlist", names: n ? s : null, values: o }; + return { type: "pairlist", names: n ? r : null, values: o }; } includes(e) { return e in this.toObject(); @@ -1513,19 +1536,19 @@ var We = class extends y { return y.wrap(l._TAG(this.ptr)); } }; -var ce = class extends y { +var K = class extends y { constructor(e) { - if (e instanceof E) - return ue(e, "call"), super(e), this; + if (e instanceof T) + return de(e, "call"), super(e), this; let t = { n: 0 }; try { - let { values: s } = ot(e), n = s.map((a) => M(new y(a), t)), o = ce.wrap(l._Rf_allocVector(f.call, s.length)); - M(o, t); - for (let [a, c] = [0, o]; !c.isNull(); [a, c] = [a + 1, c.cdr()]) - c.setcar(n[a]); + let { values: r } = Ie(e), n = r.map((i) => x(new y(i), t)), o = K.wrap(l._Rf_allocVector(f.call, r.length)); + x(o, t); + for (let [i, c] = [0, o]; !c.isNull(); [i, c] = [i + 1, c.cdr()]) + c.setcar(n[i]); super(o); } finally { - D(t.n); + E(t.n); } } setcar(e) { @@ -1538,65 +1561,121 @@ var ce = class extends y { return y.wrap(l._CDR(this.ptr)); } eval() { - return y.wrap(et(this.ptr, k.baseEnv)); + return l.webr.evalR(this, { env: W.baseEnv }); + } + capture(e = {}) { + return l.webr.captureR(this, e); + } + deparse() { + let e = { n: 0 }; + try { + let t = l._Rf_lang2(new j("deparse1").ptr, l._Rf_lang2(new j("quote").ptr, this.ptr)); + x(t, e); + let r = z.wrap(ot(t, W.baseEnv)); + return x(r, e), r.toString(); + } finally { + E(e.n); + } } }; -var jr = class extends y { - constructor(e) { - if (e instanceof E) - return ue(e, "list"), super(e), this; - let t = { n: 0 }; +var te = class extends y { + constructor(t) { + var e = (...args) => { + super(...args); + }; + if (t instanceof T) { + de(t, "list"), e(t); + let n = pe.wrap(l._ATTRIB(t.ptr)).get("class"); + return this.isDataFrame = !n.isNull() && n.toArray().includes("data.frame"), this; + } + let r = { n: 0 }; try { - let { names: s, values: n } = ot(e), o = l._Rf_allocVector(f.list, n.length); - M(o, t), n.forEach((a, c) => { - l._SET_VECTOR_ELT(o, c, new y(a).ptr); - }), y.wrap(o).setNames(s), super(new E(o)); + let { names: n, values: o } = Ie(t), i = l._Rf_allocVector(f.list, o.length); + x(i, r), o.forEach((c, p) => { + l._SET_VECTOR_ELT(i, p, new y(c).ptr); + }), y.wrap(i).setNames(n), e(new T(i)); } finally { - D(t.n); + E(r.n); } + this.isDataFrame = false; } get length() { return l._LENGTH(this.ptr); } - toArray(e = { depth: 1 }) { - return this.toJs(e).values; + toArray(t = { depth: 1 }) { + return this.toJs(t).values; } - toObject({ allowDuplicateKey: e = true, allowEmptyKey: t = false, depth: s = 1 } = {}) { - let n = this.entries({ depth: s }), o = n.map(([a, c]) => a); - if (!e && new Set(o).size !== o.length) + toObject({ allowDuplicateKey: t = true, allowEmptyKey: r = false, depth: n = -1 } = {}) { + let o = this.entries({ depth: n }), i = o.map(([c]) => c); + if (!t && new Set(i).size !== i.length) throw new Error("Duplicate key when converting list without allowDuplicateKey enabled"); - if (!t && o.some((a) => !a)) + if (!r && i.some((c) => !c)) throw new Error("Empty or null key when converting list without allowEmptyKey enabled"); - return Object.fromEntries(n.filter((a, c) => n.findIndex((p) => p[0] === a[0]) === c)); + return Object.fromEntries(o.filter((c, p) => o.findIndex((P) => P[0] === c[0]) === p)); } - entries(e = { depth: 1 }) { - let t = this.toJs(e); - return t.values.map((s, n) => [t.names ? t.names[n] : null, s]); + toD3() { + if (!this.isDataFrame) + throw new Error("Can't convert R list object to D3 format. Object must be of class 'data.frame'."); + return this.entries().reduce((r, n) => (n[1].forEach((o, i) => r[i] = Object.assign(r[i] || {}, { [n[0]]: o })), r), []); } - toJs(e = { depth: 0 }, t = 1) { - return { type: "list", names: this.names(), values: [...Array(this.length).keys()].map((s) => e.depth && t >= e.depth ? this.get(s + 1) : this.get(s + 1).toJs(e, t + 1)) }; + static fromObject(t) { + let { names: r, values: n } = Ie(t), o = { n: 0 }; + try { + let i = !!r && r.length > 0 && r.every((p) => p), c = n.length > 0 && n.every((p) => Array.isArray(p) || ArrayBuffer.isView(p) || p instanceof ArrayBuffer); + if (i && c) { + let p = n, P = p.every((k) => k.length === p[0].length), M = p.every((k) => Gs(k[0]) || Xs(k[0])); + if (P && M) { + let k = new te({ type: "list", names: r, values: p.map((Ys) => Js(Ys)) }); + x(k, o); + let $r = new K([new j("as.data.frame"), k]); + return x($r, o), $r.eval(); + } + } + } finally { + E(o.n); + } + return new te(t); + } + static fromD3(t) { + return this.fromObject(Object.fromEntries(Object.keys(t[0]).map((r) => [r, t.map((n) => n[r])]))); + } + entries(t = { depth: -1 }) { + let r = this.toJs(t); + return this.isDataFrame && t.depth < 0 && (r.values = r.values.map((n) => n.toArray())), r.values.map((n, o) => [r.names ? r.names[o] : null, n]); + } + toJs(t = { depth: 0 }, r = 1) { + return { type: "list", names: this.names(), values: [...Array(this.length).keys()].map((n) => t.depth && r >= t.depth ? this.get(n + 1) : this.get(n + 1).toJs(t, r + 1)) }; } }; -var ke = class extends y { +var Oe = class extends y { exec(...e) { let t = { n: 0 }; try { - let s = new ce([this, ...e]); - return M(s, t), s.eval(); + let r = new K([this, ...e]); + return x(r, t), r.eval(); } finally { - D(t.n); + E(t.n); + } + } + capture(e = {}, ...t) { + let r = { n: 0 }; + try { + let n = new K([this, ...t]); + return x(n, r), n.capture(e); + } finally { + E(r.n); } } }; -var nt = class extends y { +var ct = class extends y { constructor(e) { - if (e instanceof E) { - ue(e, "string"), super(e); + if (e instanceof T) { + de(e, "string"), super(e); return; } let t = l.allocateUTF8(e); try { - super(new E(l._Rf_mkChar(t))); + super(new T(l._Rf_mkChar(t))); } finally { l._free(t); } @@ -1608,37 +1687,37 @@ var nt = class extends y { return { type: "string", value: this.toString() }; } }; -var tt = class extends y { +var at = class extends y { constructor(e = {}) { - if (e instanceof E) - return ue(e, "environment"), super(e), this; + if (e instanceof T) + return de(e, "environment"), super(e), this; let t = 0; try { - let { names: s, values: n } = ot(e), o = Ht(l._R_NewEnv(k.globalEnv.ptr, 0, 0)); - ++t, n.forEach((a, c) => { - let p = s ? s[c] : null; + let { names: r, values: n } = Ie(e), o = nt(l._R_NewEnv(W.globalEnv.ptr, 0, 0)); + ++t, n.forEach((i, c) => { + let p = r ? r[c] : null; if (!p) throw new Error("Can't create object in new environment with empty symbol name"); - let v = new Q(p), ee = Ht(new y(a)); + let P = new j(p), M = nt(new y(i)); try { - Lr(o, v, ee); + Br(o, P, M); } finally { - D(1); + E(1); } - }), super(new E(o)); + }), super(new T(o)); } finally { - D(t); + E(t); } } ls(e = false, t = true) { - return K.wrap(l._R_lsInternal3(this.ptr, Number(e), Number(t))).toArray(); + return z.wrap(l._R_lsInternal3(this.ptr, Number(e), Number(t))).toArray(); } bind(e, t) { - let s = new Q(e), n = Ht(new y(t)); + let r = new j(e), n = nt(new y(t)); try { - Lr(this, s, n); + Br(this, r, n); } finally { - D(1); + E(1); } } names() { @@ -1652,25 +1731,28 @@ var tt = class extends y { throw new Error("Object of type environment is not subsettable"); return this.getDollar(e); } - toObject({ depth: e = 0 } = {}) { + toObject({ depth: e = -1 } = {}) { let t = this.names(); - return Object.fromEntries([...Array(t.length).keys()].map((s) => [t[s], this.getDollar(t[s]).toJs({ depth: e })])); + return Object.fromEntries([...Array(t.length).keys()].map((r) => { + let n = this.getDollar(t[r]); + return [t[r], e < 0 ? n : n.toJs({ depth: e })]; + })); } toJs(e = { depth: 0 }, t = 1) { - let s = this.names(), n = [...Array(s.length).keys()].map((o) => e.depth && t >= e.depth ? this.getDollar(s[o]) : this.getDollar(s[o]).toJs(e, t + 1)); - return { type: "environment", names: s, values: n }; + let r = this.names(), n = [...Array(r.length).keys()].map((o) => e.depth && t >= e.depth ? this.getDollar(r[o]) : this.getDollar(r[o]).toJs(e, t + 1)); + return { type: "environment", names: r, values: n }; } }; -var Z = class extends y { - constructor(e, t, s) { - if (e instanceof E) - return ue(e, t), super(e), this; +var re = class extends y { + constructor(e, t, r) { + if (e instanceof T) + return de(e, t), super(e), this; let n = { n: 0 }; try { - let { names: o, values: a } = ot(e), c = l._Rf_allocVector(f[t], a.length); - M(c, n), a.forEach(s(c)), y.wrap(c).setNames(o), super(new E(c)); + let { names: o, values: i } = Ie(e), c = l._Rf_allocVector(f[t], i.length); + x(c, n), i.forEach(r(c)), y.wrap(c).setNames(o), super(new T(c)); } finally { - D(n.n); + E(n.n); } } get length() { @@ -1682,46 +1764,46 @@ var Z = class extends y { subset(e) { return super.subset(e); } - getDollar(e) { + getDollar() { throw new Error("$ operator is invalid for atomic vectors"); } detectMissing() { let e = { n: 0 }; try { - let t = l._Rf_lang2(new Q("is.na").ptr, this.ptr); - M(t, e); - let s = le.wrap(et(t, k.baseEnv)); - M(s, e); - let n = s.toTypedArray(); + let t = l._Rf_lang2(new j("is.na").ptr, this.ptr); + x(t, e); + let r = ee.wrap(ot(t, W.baseEnv)); + x(r, e); + let n = r.toTypedArray(); return Array.from(n).map((o) => !!o); } finally { - D(e.n); + E(e.n); } } toArray() { let e = this.toTypedArray(); - return this.detectMissing().map((t, s) => t ? null : e[s]); + return this.detectMissing().map((t, r) => t ? null : e[r]); } toObject({ allowDuplicateKey: e = true, allowEmptyKey: t = false } = {}) { - let s = this.entries(), n = s.map(([o, a]) => o); + let r = this.entries(), n = r.map(([o]) => o); if (!e && new Set(n).size !== n.length) throw new Error("Duplicate key when converting atomic vector without allowDuplicateKey enabled"); if (!t && n.some((o) => !o)) throw new Error("Empty or null key when converting atomic vector without allowEmptyKey enabled"); - return Object.fromEntries(s.filter((o, a) => s.findIndex((c) => c[0] === o[0]) === a)); + return Object.fromEntries(r.filter((o, i) => r.findIndex((c) => c[0] === o[0]) === i)); } entries() { let e = this.toArray(), t = this.names(); - return e.map((s, n) => [t ? t[n] : null, s]); + return e.map((r, n) => [t ? t[n] : null, r]); } toJs() { return { type: this.type(), names: this.names(), values: this.toArray() }; } }; -var Gt; -var Fr = class extends Z { +var Zt; +var qr = class extends re { constructor(e) { - super(e, "logical", i(Fr, Gt)); + super(e, "logical", a(qr, Zt)); } getBoolean(e) { return this.get(e).toArray()[0]; @@ -1739,20 +1821,20 @@ var Fr = class extends Z { } toArray() { let e = this.toTypedArray(); - return this.detectMissing().map((t, s) => t ? null : !!e[s]); + return this.detectMissing().map((t, r) => t ? null : !!e[r]); } }; -var le = Fr; -Gt = /* @__PURE__ */ new WeakMap(), u(le, Gt, (e) => { - let t = l._LOGICAL(e), s = l.getValue(l._R_NaInt, "i32"); +var ee = qr; +Zt = /* @__PURE__ */ new WeakMap(), u(ee, Zt, (e) => { + let t = l._LOGICAL(e), r = l.getValue(l._R_NaInt, "i32"); return (n, o) => { - l.setValue(t + 4 * o, n === null ? s : !!n, "i32"); + l.setValue(t + 4 * o, n === null ? r : !!n, "i32"); }; }); -var Kt; -var Br = class extends Z { +var Yt; +var Vr = class extends re { constructor(e) { - super(e, "integer", i(Br, Kt)); + super(e, "integer", a(Vr, Yt)); } getNumber(e) { return this.get(e).toArray()[0]; @@ -1769,17 +1851,17 @@ var Br = class extends Z { return new Int32Array(l.HEAP32.subarray(l._INTEGER(this.ptr) / 4, l._INTEGER(this.ptr) / 4 + this.length)); } }; -var zt = Br; -Kt = /* @__PURE__ */ new WeakMap(), u(zt, Kt, (e) => { - let t = l._INTEGER(e), s = l.getValue(l._R_NaInt, "i32"); +var $t = Vr; +Yt = /* @__PURE__ */ new WeakMap(), u($t, Yt, (e) => { + let t = l._INTEGER(e), r = l.getValue(l._R_NaInt, "i32"); return (n, o) => { - l.setValue(t + 4 * o, n === null ? s : Math.round(Number(n)), "i32"); + l.setValue(t + 4 * o, n === null ? r : Math.round(Number(n)), "i32"); }; }); -var Qt; -var qr = class extends Z { +var er; +var Hr = class extends re { constructor(e) { - super(e, "double", i(qr, Qt)); + super(e, "double", a(Hr, er)); } getNumber(e) { return this.get(e).toArray()[0]; @@ -1796,17 +1878,17 @@ var qr = class extends Z { return new Float64Array(l.HEAPF64.subarray(l._REAL(this.ptr) / 8, l._REAL(this.ptr) / 8 + this.length)); } }; -var rt = qr; -Qt = /* @__PURE__ */ new WeakMap(), u(rt, Qt, (e) => { - let t = l._REAL(e), s = l.getValue(l._R_NaReal, "double"); +var We = Hr; +er = /* @__PURE__ */ new WeakMap(), u(We, er, (e) => { + let t = l._REAL(e), r = l.getValue(l._R_NaReal, "double"); return (n, o) => { - l.setValue(t + 8 * o, n === null ? s : n, "double"); + l.setValue(t + 8 * o, n === null ? r : n, "double"); }; }); -var Zt; -var Vr = class extends Z { +var tr; +var Jr = class extends re { constructor(e) { - super(e, "complex", i(Vr, Zt)); + super(e, "complex", a(Jr, tr)); } getComplex(e) { return this.get(e).toArray()[0]; @@ -1824,20 +1906,20 @@ var Vr = class extends Z { } toArray() { let e = this.toTypedArray(); - return this.detectMissing().map((t, s) => t ? null : { re: e[2 * s], im: e[2 * s + 1] }); + return this.detectMissing().map((t, r) => t ? null : { re: e[2 * r], im: e[2 * r + 1] }); } }; -var st = Vr; -Zt = /* @__PURE__ */ new WeakMap(), u(st, Zt, (e) => { - let t = l._COMPLEX(e), s = l.getValue(l._R_NaReal, "double"); +var it = Jr; +tr = /* @__PURE__ */ new WeakMap(), u(it, tr, (e) => { + let t = l._COMPLEX(e), r = l.getValue(l._R_NaReal, "double"); return (n, o) => { - l.setValue(t + 8 * (2 * o), n === null ? s : n.re, "double"), l.setValue(t + 8 * (2 * o + 1), n === null ? s : n.im, "double"); + l.setValue(t + 8 * (2 * o), n === null ? r : n.re, "double"), l.setValue(t + 8 * (2 * o + 1), n === null ? r : n.im, "double"); }; }); -var Yt; -var Hr = class extends Z { +var rr; +var zr = class extends re { constructor(e) { - super(e, "character", i(Hr, Yt)); + super(e, "character", a(zr, rr)); } getString(e) { return this.get(e).toArray()[0]; @@ -1857,14 +1939,14 @@ var Hr = class extends Z { return this.detectMissing().map((e, t) => e ? null : l.UTF8ToString(l._R_CHAR(l._STRING_ELT(this.ptr, t)))); } }; -var K = Hr; -Yt = /* @__PURE__ */ new WeakMap(), u(K, Yt, (e) => (t, s) => { - t === null ? l._SET_STRING_ELT(e, s, k.naString.ptr) : l._SET_STRING_ELT(e, s, new nt(t).ptr); +var z = zr; +rr = /* @__PURE__ */ new WeakMap(), u(z, rr, (e) => (t, r) => { + t === null ? l._SET_STRING_ELT(e, r, W.naString.ptr) : l._SET_STRING_ELT(e, r, new ct(t).ptr); }); -var er; -var Jr = class extends Z { +var sr; +var Xr = class extends re { constructor(e) { - super(e, "raw", i(Jr, er)); + e instanceof ArrayBuffer && (e = new Uint8Array(e)), super(e, "raw", a(Xr, sr)); } getNumber(e) { return this.get(e).toArray()[0]; @@ -1881,51 +1963,58 @@ var Jr = class extends Z { return new Uint8Array(l.HEAPU8.subarray(l._RAW(this.ptr), l._RAW(this.ptr) + this.length)); } }; -var Xt = Jr; -er = /* @__PURE__ */ new WeakMap(), u(Xt, er, (e) => { +var lt = Xr; +sr = /* @__PURE__ */ new WeakMap(), u(lt, sr, (e) => { let t = l._RAW(e); - return (s, n) => { - l.setValue(t + n, Number(s), "i8"); + return (r, n) => { + l.setValue(t + n, Number(r), "i8"); }; }); -function ot(r) { - return Cr(r) ? r : Array.isArray(r) || ArrayBuffer.isView(r) ? { names: null, values: r } : r && typeof r == "object" && !Nr(r) ? { names: Object.keys(r), values: Object.values(r) } : { names: null, values: [r] }; +function Ie(s) { + return Lr(s) ? s : Array.isArray(s) || ArrayBuffer.isView(s) ? { names: null, values: s } : s && typeof s == "object" && !st(s) ? { names: Object.keys(s), values: Object.values(s) } : { names: null, values: [s] }; } -function Vs(r) { - let e = { [f.null]: $t, [f.symbol]: Q, [f.pairlist]: We, [f.closure]: ke, [f.environment]: tt, [f.call]: ce, [f.special]: ke, [f.builtin]: ke, [f.string]: nt, [f.logical]: le, [f.integer]: zt, [f.double]: rt, [f.complex]: st, [f.character]: K, [f.list]: jr, [f.raw]: Xt, [f.function]: ke }; - return r in e ? e[r] : y; +function zs(s) { + let e = { [f.null]: Kt, [f.symbol]: j, [f.pairlist]: pe, [f.closure]: Oe, [f.environment]: at, [f.call]: K, [f.special]: Oe, [f.builtin]: Oe, [f.string]: ct, [f.logical]: ee, [f.integer]: $t, [f.double]: We, [f.complex]: it, [f.character]: z, [f.list]: te, [f.raw]: lt, [f.function]: Oe }; + return s in e ? e[s] : y; } -function to(r) { - return r instanceof y; +function Qt(s) { + return s instanceof y; } -var k; -var it; -var at; -var lt; -var ct; +function Xs(s) { + let e = ["logical", "integer", "double", "complex", "character"]; + return Qt(s) && e.includes(s.type()) || Qt(s) && s.isNa(); +} +function Gs(s) { + return s === null || typeof s == "number" || typeof s == "boolean" || typeof s == "string" || st(s); +} +var W; var ut; -var tr; -var rr; -var sr; +var pt; +var dt; +var ht; +var yt; var nr; var or; +var ar; var ir; -var Js; -it = /* @__PURE__ */ new WeakMap(), at = /* @__PURE__ */ new WeakMap(), lt = /* @__PURE__ */ new WeakMap(), ct = /* @__PURE__ */ new WeakMap(), ut = /* @__PURE__ */ new WeakMap(), tr = /* @__PURE__ */ new WeakMap(), rr = /* @__PURE__ */ new WeakMap(), sr = /* @__PURE__ */ new WeakMap(), nr = /* @__PURE__ */ new WeakMap(), or = /* @__PURE__ */ new WeakMap(), ir = /* @__PURE__ */ new WeakSet(), Js = async function() { +var lr; +var cr; +var Ks; +ut = /* @__PURE__ */ new WeakMap(), pt = /* @__PURE__ */ new WeakMap(), dt = /* @__PURE__ */ new WeakMap(), ht = /* @__PURE__ */ new WeakMap(), yt = /* @__PURE__ */ new WeakMap(), nr = /* @__PURE__ */ new WeakMap(), or = /* @__PURE__ */ new WeakMap(), ar = /* @__PURE__ */ new WeakMap(), ir = /* @__PURE__ */ new WeakMap(), lr = /* @__PURE__ */ new WeakMap(), cr = /* @__PURE__ */ new WeakSet(), Ks = async function() { for (; ; ) { let e = await this.webR.read(); switch (e.type) { case "stdout": - i(this, it).call(this, e.data); + a(this, ut).call(this, e.data); break; case "stderr": - i(this, at).call(this, e.data); + a(this, pt).call(this, e.data); break; case "prompt": - i(this, lt).call(this, e.data); + a(this, dt).call(this, e.data); break; case "canvas": - e.data.event === "canvasImage" ? i(this, ct).call(this, e.data.image) : e.data.event === "canvasNewPage" && i(this, ut).call(this); + e.data.event === "canvasImage" ? a(this, ht).call(this, e.data.image) : e.data.event === "canvasNewPage" && a(this, yt).call(this); break; case "closed": return; @@ -1934,19 +2023,19 @@ it = /* @__PURE__ */ new WeakMap(), at = /* @__PURE__ */ new WeakMap(), lt = /* } } }; -var io = { FONTCONFIG_PATH: "/etc/fonts", R_HOME: "/usr/lib/R", R_ENABLE_JIT: "0" }; -var zs = { RArgs: [], REnv: io, baseUrl: Cs, serviceWorkerUrl: "", repoUrl: Ns, homedir: "/home/web_user", interactive: true, channelType: O.Automatic, createLazyFilesystem: true }; +var po = { FONTCONFIG_PATH: "/etc/fonts", R_HOME: "/usr/lib/R", R_ENABLE_JIT: "0" }; +var Qs = { RArgs: [], REnv: po, baseUrl: Ls, serviceWorkerUrl: "", repoUrl: Bs, homedir: "/home/web_user", interactive: true, channelType: I.Automatic, createLazyFilesystem: true }; var g; -var pt; -var cr; -var Xs; -g = /* @__PURE__ */ new WeakMap(), pt = /* @__PURE__ */ new WeakMap(), cr = /* @__PURE__ */ new WeakSet(), Xs = async function() { +var ft; +var dr; +var Zs; +g = /* @__PURE__ */ new WeakMap(), ft = /* @__PURE__ */ new WeakMap(), dr = /* @__PURE__ */ new WeakSet(), Zs = async function() { for (; ; ) { - let e = await i(this, g).readSystem(); + let e = await a(this, g).readSystem(); switch (e.type) { case "setTimeoutWasm": - setTimeout((t, s) => { - this.invokeWasmFunction(t, ...s); + setTimeout((t, r) => { + this.invokeWasmFunction(t, ...r); }, e.data.delay, e.data.ptr, e.data.args); break; case "console.log": @@ -1959,14 +2048,14 @@ g = /* @__PURE__ */ new WeakMap(), pt = /* @__PURE__ */ new WeakMap(), cr = /* @ console.error(e.data); break; default: - throw new A("Unknown system message type `" + e.type + "`"); + throw new U("Unknown system message type `" + e.type + "`"); } } }; var b; var R; -var dt; -b = /* @__PURE__ */ new WeakMap(), R = /* @__PURE__ */ new WeakMap(), dt = /* @__PURE__ */ new WeakMap(); +var Rt; +b = /* @__PURE__ */ new WeakMap(), R = /* @__PURE__ */ new WeakMap(), Rt = /* @__PURE__ */ new WeakMap(); // src/messageporthttp.ts async function fetchASGI(client, resource, init, filter = (bodyChunk) => bodyChunk) { @@ -2069,11 +2158,11 @@ function asgiToRes(res, body) { // src/shinylive-sw.ts var useCaching = false; -var cacheName = "::prismExperimentsServiceworker"; -var version = "v6"; +var cacheName = "::shinyliveServiceworker"; +var version = "v8"; function addCoiHeaders(resp) { const headers = new Headers(resp.headers); - headers.set("Cross-Origin-Embedder-Policy", "require-corp"); + headers.set("Cross-Origin-Embedder-Policy", "credentialless"); headers.set("Cross-Origin-Resource-Policy", "cross-origin"); headers.set("Cross-Origin-Opener-Policy", "same-origin"); return new Response(resp.body, { diff --git a/docs/r-shinylive/shinylive/Editor.css b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/Editor.css similarity index 99% rename from docs/r-shinylive/shinylive/Editor.css rename to quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/Editor.css index ff93466..9e16aca 100644 --- a/docs/r-shinylive/shinylive/Editor.css +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/Editor.css @@ -1,5 +1,5 @@ -/* Shinylive 0.2.3 -// Copyright 2023 RStudio, PBC */ +/* Shinylive 0.4.1 +// Copyright 2024 Posit, PBC */ /* node_modules/balloon-css/balloon.min.css */ :root { --balloon-border-radius: 2px; diff --git a/docs/r-shinylive/shinylive/Editor.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/Editor.js similarity index 92% rename from docs/r-shinylive/shinylive/Editor.js rename to quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/Editor.js index a4ab369..94816ad 100644 --- a/docs/r-shinylive/shinylive/Editor.js +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/Editor.js @@ -1,5 +1,5 @@ -// Shinylive 0.2.3 -// Copyright 2023 RStudio, PBC +// Shinylive 0.4.1 +// Copyright 2024 Posit, PBC import { Icon, __commonJS, @@ -14,13 +14,14 @@ import { currentScriptDir, editorUrlPrefix, fileContentsToUrlString, + fileContentsToUrlStringInWebWorker, inferFiletype, isBinary, modKeySymbol, require_jsx_runtime, require_react, stringToUint8Array -} from "./chunk-GWAOPURX.js"; +} from "./chunk-HW2MHHPP.js"; // node_modules/events/events.js var require_events = __commonJS({ @@ -83,11 +84,11 @@ var require_events = __commonJS({ } this._maxListeners = this._maxListeners || void 0; }; - EventEmitter2.prototype.setMaxListeners = function setMaxListeners(n) { - if (typeof n !== "number" || n < 0 || NumberIsNaN(n)) { - throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + "."); + EventEmitter2.prototype.setMaxListeners = function setMaxListeners(n3) { + if (typeof n3 !== "number" || n3 < 0 || NumberIsNaN(n3)) { + throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n3 + "."); } - this._maxListeners = n; + this._maxListeners = n3; return this; }; function _getMaxListeners(that) { @@ -100,8 +101,8 @@ var require_events = __commonJS({ }; EventEmitter2.prototype.emit = function emit(type) { var args = []; - for (var i = 1; i < arguments.length; i++) - args.push(arguments[i]); + for (var i2 = 1; i2 < arguments.length; i2++) + args.push(arguments[i2]); var doError = type === "error"; var events = this._events; if (events !== void 0) @@ -127,13 +128,13 @@ var require_events = __commonJS({ } else { var len = handler.length; var listeners = arrayClone(handler, len); - for (var i = 0; i < len; ++i) - ReflectApply(listeners[i], this, args); + for (var i2 = 0; i2 < len; ++i2) + ReflectApply(listeners[i2], this, args); } return true; }; function _addListener(target, type, listener, prepend) { - var m; + var m2; var events; var existing; checkListener(listener); @@ -163,15 +164,15 @@ var require_events = __commonJS({ } else { existing.push(listener); } - m = _getMaxListeners(target); - if (m > 0 && existing.length > m && !existing.warned) { + m2 = _getMaxListeners(target); + if (m2 > 0 && existing.length > m2 && !existing.warned) { existing.warned = true; - var w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit"); - w.name = "MaxListenersExceededWarning"; - w.emitter = target; - w.type = type; - w.count = existing.length; - ProcessEmitWarning(w); + var w2 = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit"); + w2.name = "MaxListenersExceededWarning"; + w2.emitter = target; + w2.type = type; + w2.count = existing.length; + ProcessEmitWarning(w2); } } return target; @@ -210,7 +211,7 @@ var require_events = __commonJS({ return this; }; EventEmitter2.prototype.removeListener = function removeListener(type, listener) { - var list, events, position, i, originalListener; + var list, events, position, i2, originalListener; checkListener(listener); events = this._events; if (events === void 0) @@ -228,10 +229,10 @@ var require_events = __commonJS({ } } else if (typeof list !== "function") { position = -1; - for (i = list.length - 1; i >= 0; i--) { - if (list[i] === listener || list[i].listener === listener) { - originalListener = list[i].listener; - position = i; + for (i2 = list.length - 1; i2 >= 0; i2--) { + if (list[i2] === listener || list[i2].listener === listener) { + originalListener = list[i2].listener; + position = i2; break; } } @@ -251,7 +252,7 @@ var require_events = __commonJS({ }; EventEmitter2.prototype.off = EventEmitter2.prototype.removeListener; EventEmitter2.prototype.removeAllListeners = function removeAllListeners(type) { - var listeners, events, i; + var listeners, events, i2; events = this._events; if (events === void 0) return this; @@ -270,8 +271,8 @@ var require_events = __commonJS({ if (arguments.length === 0) { var keys = Object.keys(events); var key; - for (i = 0; i < keys.length; ++i) { - key = keys[i]; + for (i2 = 0; i2 < keys.length; ++i2) { + key = keys[i2]; if (key === "removeListener") continue; this.removeAllListeners(key); @@ -285,8 +286,8 @@ var require_events = __commonJS({ if (typeof listeners === "function") { this.removeListener(type, listeners); } else if (listeners !== void 0) { - for (i = listeners.length - 1; i >= 0; i--) { - this.removeListener(type, listeners[i]); + for (i2 = listeners.length - 1; i2 >= 0; i2--) { + this.removeListener(type, listeners[i2]); } } return this; @@ -331,10 +332,10 @@ var require_events = __commonJS({ EventEmitter2.prototype.eventNames = function eventNames() { return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : []; }; - function arrayClone(arr, n) { - var copy = new Array(n); - for (var i = 0; i < n; ++i) - copy[i] = arr[i]; + function arrayClone(arr, n3) { + var copy = new Array(n3); + for (var i2 = 0; i2 < n3; ++i2) + copy[i2] = arr[i2]; return copy; } function spliceOne(list, index) { @@ -344,8 +345,8 @@ var require_events = __commonJS({ } function unwrapListeners(arr) { var ret = new Array(arr.length); - for (var i = 0; i < ret.length; ++i) { - ret[i] = arr[i].listener || arr[i]; + for (var i2 = 0; i2 < ret.length; ++i2) { + ret[i2] = arr[i2].listener || arr[i2]; } return ret; } @@ -1114,11 +1115,11 @@ var require_events2 = __commonJS({ return; } let foundCallbackWithDifferentContext = false; - for (let i = 0, len = this._callbacks.length; i < len; i++) { - if (this._callbacks[i] === callback) { - if (this._contexts[i] === context) { - this._callbacks.splice(i, 1); - this._contexts.splice(i, 1); + for (let i2 = 0, len = this._callbacks.length; i2 < len; i2++) { + if (this._callbacks[i2] === callback) { + if (this._contexts[i2] === context) { + this._callbacks.splice(i2, 1); + this._contexts.splice(i2, 1); return; } else { foundCallbackWithDifferentContext = true; @@ -1134,11 +1135,11 @@ var require_events2 = __commonJS({ return []; } const ret = [], callbacks = this._callbacks.slice(0), contexts = this._contexts.slice(0); - for (let i = 0, len = callbacks.length; i < len; i++) { + for (let i2 = 0, len = callbacks.length; i2 < len; i2++) { try { - ret.push(callbacks[i].apply(contexts[i], args)); - } catch (e) { - (0, ral_1.default)().console.error(e); + ret.push(callbacks[i2].apply(contexts[i2], args)); + } catch (e2) { + (0, ral_1.default)().console.error(e2); } } return ret; @@ -1828,8 +1829,8 @@ var require_messageBuffer = __commonJS({ if (headers.length < 2) { return result; } - for (let i = 0; i < headers.length - 2; i++) { - const header = headers[i]; + for (let i2 = 0; i2 < headers.length - 2; i2++) { + const header = headers[i2]; const index = header.indexOf(":"); if (index === -1) { throw new Error(`Message header must separate key and value using ':' @@ -2064,7 +2065,7 @@ var require_connection = __commonJS({ var CancellationReceiverStrategy; (function(CancellationReceiverStrategy2) { CancellationReceiverStrategy2.Message = Object.freeze({ - createCancellationTokenSource(_) { + createCancellationTokenSource(_2) { return new cancellation_1.CancellationTokenSource(); } }); @@ -2079,7 +2080,7 @@ var require_connection = __commonJS({ sendCancellation(conn, id2) { return conn.sendNotification(CancelNotification.type, { id: id2 }); }, - cleanup(_) { + cleanup(_2) { } }); function is(value) { @@ -2723,11 +2724,11 @@ ${JSON.stringify(message, null, 4)}`); break; default: result = []; - for (let i = 0; i < params.length && i < numberOfParams; i++) { - result.push(undefinedToNull(params[i])); + for (let i2 = 0; i2 < params.length && i2 < numberOfParams; i2++) { + result.push(undefinedToNull(params[i2])); } if (params.length < numberOfParams) { - for (let i = params.length; i < numberOfParams; i++) { + for (let i2 = params.length; i2 < numberOfParams; i2++) { result.push(null); } } @@ -2867,12 +2868,12 @@ ${JSON.stringify(message, null, 4)}`); let disposable; if (token) { disposable = token.onCancellationRequested(() => { - const p = cancellationStrategy.sender.sendCancellation(connection, id2); - if (p === void 0) { + const p2 = cancellationStrategy.sender.sendCancellation(connection, id2); + if (p2 === void 0) { logger.log(`Received no promise from cancellation strategy when cancelling id ${id2}`); return Promise.resolve(); } else { - return p.catch(() => { + return p2.catch(() => { logger.log(`Sending cancellation messages for id ${id2} failed`); }); } @@ -3386,25 +3387,25 @@ var require_ril = __commonJS({ var require_main = __commonJS({ "node_modules/vscode-jsonrpc/lib/browser/main.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k, k2) { if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + var desc = Object.getOwnPropertyDescriptor(m2, k); + if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { - return m[k]; + return m2[k]; } }; } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + Object.defineProperty(o2, k2, desc); + } : function(o2, m2, k, k2) { if (k2 === void 0) k2 = k; - o[k2] = m[k]; + o2[k2] = m2[k]; }); - var __exportStar = exports && exports.__exportStar || function(m, exports2) { - for (var p in m) - if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) - __createBinding(exports2, m, p); + var __exportStar = exports && exports.__exportStar || function(m2, exports2) { + for (var p2 in m2) + if (p2 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p2)) + __createBinding(exports2, m2, p2); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createMessageConnection = exports.BrowserMessageWriter = exports.BrowserMessageReader = void 0; @@ -4746,20 +4747,20 @@ var init_main = __esm({ TextDocument2.is = is; function applyEdits(document2, edits) { let text = document2.getText(); - let sortedEdits = mergeSort(edits, (a, b) => { - let diff = a.range.start.line - b.range.start.line; + let sortedEdits = mergeSort(edits, (a2, b3) => { + let diff = a2.range.start.line - b3.range.start.line; if (diff === 0) { - return a.range.start.character - b.range.start.character; + return a2.range.start.character - b3.range.start.character; } return diff; }); let lastModifiedOffset = text.length; - for (let i = sortedEdits.length - 1; i >= 0; i--) { - let e = sortedEdits[i]; - let startOffset = document2.offsetAt(e.range.start); - let endOffset = document2.offsetAt(e.range.end); + for (let i2 = sortedEdits.length - 1; i2 >= 0; i2--) { + let e2 = sortedEdits[i2]; + let startOffset = document2.offsetAt(e2.range.start); + let endOffset = document2.offsetAt(e2.range.end); if (endOffset <= lastModifiedOffset) { - text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length); + text = text.substring(0, startOffset) + e2.newText + text.substring(endOffset, text.length); } else { throw new Error("Overlapping edit"); } @@ -4772,27 +4773,27 @@ var init_main = __esm({ if (data.length <= 1) { return data; } - const p = data.length / 2 | 0; - const left = data.slice(0, p); - const right = data.slice(p); + const p2 = data.length / 2 | 0; + const left = data.slice(0, p2); + const right = data.slice(p2); mergeSort(left, compare2); mergeSort(right, compare2); let leftIdx = 0; let rightIdx = 0; - let i = 0; + let i2 = 0; while (leftIdx < left.length && rightIdx < right.length) { let ret = compare2(left[leftIdx], right[rightIdx]); if (ret <= 0) { - data[i++] = left[leftIdx++]; + data[i2++] = left[leftIdx++]; } else { - data[i++] = right[rightIdx++]; + data[i2++] = right[rightIdx++]; } } while (leftIdx < left.length) { - data[i++] = left[leftIdx++]; + data[i2++] = left[leftIdx++]; } while (rightIdx < right.length) { - data[i++] = right[rightIdx++]; + data[i2++] = right[rightIdx++]; } return data; } @@ -4832,15 +4833,15 @@ var init_main = __esm({ let lineOffsets = []; let text = this._content; let isLineStart = true; - for (let i = 0; i < text.length; i++) { + for (let i2 = 0; i2 < text.length; i2++) { if (isLineStart) { - lineOffsets.push(i); + lineOffsets.push(i2); isLineStart = false; } - let ch = text.charAt(i); + let ch = text.charAt(i2); isLineStart = ch === "\r" || ch === "\n"; - if (ch === "\r" && i + 1 < text.length && text.charAt(i + 1) === "\n") { - i++; + if (ch === "\r" && i2 + 1 < text.length && text.charAt(i2 + 1) === "\n") { + i2++; } } if (isLineStart && text.length > 0) { @@ -5608,8 +5609,8 @@ var require_protocol_notebook = __commonJS({ if (one.length !== other.length) { return false; } - for (let i = 0; i < one.length; i++) { - if (!equalsMetadata(one[i], other[i])) { + for (let i2 = 0; i2 < one.length; i2++) { + if (!equalsMetadata(one[i2], other[i2])) { return false; } } @@ -5625,8 +5626,8 @@ var require_protocol_notebook = __commonJS({ if (!equalsMetadata(oneKeys, otherKeys)) { return false; } - for (let i = 0; i < oneKeys.length; i++) { - const prop = oneKeys[i]; + for (let i2 = 0; i2 < oneKeys.length; i2++) { + const prop = oneKeys[i2]; if (!equalsMetadata(one[prop], other[prop])) { return false; } @@ -6373,25 +6374,25 @@ var require_connection2 = __commonJS({ var require_api2 = __commonJS({ "node_modules/vscode-languageserver-protocol/lib/common/api.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k, k2) { if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + var desc = Object.getOwnPropertyDescriptor(m2, k); + if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { - return m[k]; + return m2[k]; } }; } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + Object.defineProperty(o2, k2, desc); + } : function(o2, m2, k, k2) { if (k2 === void 0) k2 = k; - o[k2] = m[k]; + o2[k2] = m2[k]; }); - var __exportStar = exports && exports.__exportStar || function(m, exports2) { - for (var p in m) - if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) - __createBinding(exports2, m, p); + var __exportStar = exports && exports.__exportStar || function(m2, exports2) { + for (var p2 in m2) + if (p2 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p2)) + __createBinding(exports2, m2, p2); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.LSPErrorCodes = exports.createProtocolConnection = void 0; @@ -6419,25 +6420,25 @@ var require_api2 = __commonJS({ var require_main2 = __commonJS({ "node_modules/vscode-languageserver-protocol/lib/browser/main.js"(exports) { "use strict"; - var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { + var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k, k2) { if (k2 === void 0) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + var desc = Object.getOwnPropertyDescriptor(m2, k); + if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { - return m[k]; + return m2[k]; } }; } - Object.defineProperty(o, k2, desc); - } : function(o, m, k, k2) { + Object.defineProperty(o2, k2, desc); + } : function(o2, m2, k, k2) { if (k2 === void 0) k2 = k; - o[k2] = m[k]; + o2[k2] = m2[k]; }); - var __exportStar = exports && exports.__exportStar || function(m, exports2) { - for (var p in m) - if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) - __createBinding(exports2, m, p); + var __exportStar = exports && exports.__exportStar || function(m2, exports2) { + for (var p2 in m2) + if (p2 !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p2)) + __createBinding(exports2, m2, p2); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createProtocolConnection = void 0; @@ -6526,14 +6527,14 @@ var require_purify = __commonJS({ if (setPrototypeOf) { setPrototypeOf(set, null); } - let l = array.length; - while (l--) { - let element = array[l]; + let l3 = array.length; + while (l3--) { + let element = array[l3]; if (typeof element === "string") { const lcElement = transformCaseFunc(element); if (lcElement !== element) { if (!isFrozen(array)) { - array[l] = lcElement; + array[l3] = lcElement; } element = lcElement; } @@ -6630,7 +6631,7 @@ var require_purify = __commonJS({ return scriptUrl; } }); - } catch (_) { + } catch (_2) { console.warn("TrustedTypes policy " + policyName + " could not be created."); return null; } @@ -6963,7 +6964,7 @@ var require_purify = __commonJS({ }); try { node.parentNode.removeChild(node); - } catch (_) { + } catch (_2) { node.remove(); } }; @@ -6973,7 +6974,7 @@ var require_purify = __commonJS({ attribute: node.getAttributeNode(name2), from: node }); - } catch (_) { + } catch (_2) { arrayPush(DOMPurify2.removed, { attribute: null, from: node @@ -6984,12 +6985,12 @@ var require_purify = __commonJS({ if (RETURN_DOM || RETURN_DOM_FRAGMENT) { try { _forceRemove(node); - } catch (_) { + } catch (_2) { } } else { try { node.setAttribute(name2, ""); - } catch (_) { + } catch (_2) { } } } @@ -7010,14 +7011,14 @@ var require_purify = __commonJS({ if (NAMESPACE === HTML_NAMESPACE) { try { doc2 = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE); - } catch (_) { + } catch (_2) { } } if (!doc2 || !doc2.documentElement) { doc2 = implementation.createDocument(NAMESPACE, "template", null); try { doc2.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload; - } catch (_) { + } catch (_2) { } } const body = doc2.body || doc2.documentElement; @@ -7082,8 +7083,8 @@ var require_purify = __commonJS({ const childNodes = getChildNodes(currentNode) || currentNode.childNodes; if (childNodes && parentNode) { const childCount = childNodes.length; - for (let i = childCount - 1; i >= 0; --i) { - parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode)); + for (let i2 = childCount - 1; i2 >= 0; --i2) { + parentNode.insertBefore(cloneNode(childNodes[i2], true), getNextSibling(currentNode)); } } } @@ -7165,9 +7166,9 @@ var require_purify = __commonJS({ keepAttr: true, allowedAttributes: ALLOWED_ATTR }; - let l = attributes.length; - while (l--) { - const attr = attributes[l]; + let l3 = attributes.length; + while (l3--) { + const attr = attributes[l3]; const { name: name2, namespaceURI, @@ -7228,7 +7229,7 @@ var require_purify = __commonJS({ currentNode.setAttribute(name2, value); } arrayPop(DOMPurify2.removed); - } catch (_) { + } catch (_2) { } } _executeHook("afterSanitizeAttributes", currentNode, null); @@ -7405,10 +7406,10 @@ var Text2 = class _Text { /** Get the description for the given (1-based) line number. */ - line(n) { - if (n < 1 || n > this.lines) - throw new RangeError(`Invalid line number ${n} in ${this.lines}-line document`); - return this.lineInner(n, true, 1, 0); + line(n3) { + if (n3 < 1 || n3 > this.lines) + throw new RangeError(`Invalid line number ${n3} in ${this.lines}-line document`); + return this.lineInner(n3, true, 1, 0); } /** Replace a range of the text with the given content. @@ -7462,15 +7463,15 @@ var Text2 = class _Text { if (other.length != this.length || other.lines != this.lines) return false; let start = this.scanIdentical(other, 1), end = this.length - this.scanIdentical(other, -1); - let a = new RawTextCursor(this), b = new RawTextCursor(other); + let a2 = new RawTextCursor(this), b3 = new RawTextCursor(other); for (let skip = start, pos = start; ; ) { - a.next(skip); - b.next(skip); + a2.next(skip); + b3.next(skip); skip = 0; - if (a.lineBreak != b.lineBreak || a.done != b.done || a.value != b.value) + if (a2.lineBreak != b3.lineBreak || a2.done != b3.done || a2.value != b3.value) return false; - pos += a.value.length; - if (a.done || pos >= end) + pos += a2.value.length; + if (a2.done || pos >= end) return true; } } @@ -7553,8 +7554,8 @@ var TextLeaf = class _TextLeaf extends Text2 { return null; } lineInner(target, isLine, line, offset) { - for (let i = 0; ; i++) { - let string2 = this.text[i], end = offset + string2.length; + for (let i2 = 0; ; i2++) { + let string2 = this.text[i2], end = offset + string2.length; if ((isLine ? line : end) >= target) return new Line(offset, end, line, string2); offset = end + 1; @@ -7587,9 +7588,9 @@ var TextLeaf = class _TextLeaf extends Text2 { } sliceString(from, to = this.length, lineSep = "\n") { let result = ""; - for (let pos = 0, i = 0; pos <= to && i < this.text.length; i++) { - let line = this.text[i], end = pos + line.length; - if (pos > from && i) + for (let pos = 0, i2 = 0; pos <= to && i2 < this.text.length; i2++) { + let line = this.text[i2], end = pos + line.length; + if (pos > from && i2) result += lineSep; if (from < end && to > pos) result += line.slice(Math.max(0, from - pos), to - pos); @@ -7630,8 +7631,8 @@ var TextNode = class _TextNode extends Text2 { this.lines += child.lines; } lineInner(target, isLine, line, offset) { - for (let i = 0; ; i++) { - let child = this.children[i], end = offset + child.length, endLine = line + child.lines - 1; + for (let i2 = 0; ; i2++) { + let child = this.children[i2], end = offset + child.length, endLine = line + child.lines - 1; if ((isLine ? endLine : end) >= target) return child.lineInner(target, isLine, line, offset); offset = end + 1; @@ -7639,8 +7640,8 @@ var TextNode = class _TextNode extends Text2 { } } decompose(from, to, target, open) { - for (let i = 0, pos = 0; pos <= to && i < this.children.length; i++) { - let child = this.children[i], end = pos + child.length; + for (let i2 = 0, pos = 0; pos <= to && i2 < this.children.length; i2++) { + let child = this.children[i2], end = pos + child.length; if (from <= end && to >= pos) { let childOpen = open & ((pos <= from ? 1 : 0) | (end >= to ? 2 : 0)); if (pos >= from && end <= to && !childOpen) @@ -7653,14 +7654,14 @@ var TextNode = class _TextNode extends Text2 { } replace(from, to, text) { if (text.lines < this.lines) - for (let i = 0, pos = 0; i < this.children.length; i++) { - let child = this.children[i], end = pos + child.length; + for (let i2 = 0, pos = 0; i2 < this.children.length; i2++) { + let child = this.children[i2], end = pos + child.length; if (from >= pos && to <= end) { let updated = child.replace(from - pos, to - pos, text); let totalLines = this.lines - child.lines + updated.lines; if (updated.lines < totalLines >> 5 - 1 && updated.lines > totalLines >> 5 + 1) { let copy = this.children.slice(); - copy[i] = updated; + copy[i2] = updated; return new _TextNode(copy, this.length - (to - from) + text.length); } return super.replace(pos, end, updated); @@ -7671,9 +7672,9 @@ var TextNode = class _TextNode extends Text2 { } sliceString(from, to = this.length, lineSep = "\n") { let result = ""; - for (let i = 0, pos = 0; i < this.children.length && pos <= to; i++) { - let child = this.children[i], end = pos + child.length; - if (pos > from && i) + for (let i2 = 0, pos = 0; i2 < this.children.length && pos <= to; i2++) { + let child = this.children[i2], end = pos + child.length; + if (pos > from && i2) result += lineSep; if (from < end && to > pos) result += child.sliceString(from - pos, to - pos, lineSep); @@ -7699,7 +7700,7 @@ var TextNode = class _TextNode extends Text2 { length += chA.length + 1; } } - static from(children, length = children.reduce((l, ch) => l + ch.length + 1, -1)) { + static from(children, length = children.reduce((l3, ch) => l3 + ch.length + 1, -1)) { let lines = 0; for (let ch of children) lines += ch.lines; @@ -7756,8 +7757,8 @@ function textLength(text) { return length; } function appendText(text, target, from = 0, to = 1e9) { - for (let pos = 0, i = 0, first = true; i < text.length && pos <= to; i++) { - let line = text[i], end = pos + line.length; + for (let pos = 0, i2 = 0, first = true; i2 < text.length && pos <= to; i2++) { + let line = text[i2], end = pos + line.length; if (end >= from) { if (end > to) line = line.slice(0, to - pos); @@ -7885,7 +7886,10 @@ var LineCursor = class { } next(skip = 0) { let { done, lineBreak, value } = this.inner.next(skip); - if (done) { + if (done && this.afterBreak) { + this.value = ""; + this.afterBreak = false; + } else if (done) { this.done = true; this.value = ""; } else if (lineBreak) { @@ -7930,13 +7934,13 @@ var Line = class { return this.to - this.from; } }; -var extend = /* @__PURE__ */ "lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map((s) => s ? parseInt(s, 36) : 1); -for (let i = 1; i < extend.length; i++) - extend[i] += extend[i - 1]; +var extend = /* @__PURE__ */ "lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map((s2) => s2 ? parseInt(s2, 36) : 1); +for (let i2 = 1; i2 < extend.length; i2++) + extend[i2] += extend[i2 - 1]; function isExtendingChar(code) { - for (let i = 1; i < extend.length; i += 2) - if (extend[i] > code) - return extend[i - 1] <= code; + for (let i2 = 1; i2 < extend.length; i2 += 2) + if (extend[i2] > code) + return extend[i2 - 1] <= code; return false; } function isRegionalIndicator(code) { @@ -7959,10 +7963,10 @@ function nextClusterBreak(str, pos, includeExtending) { pos += codePointSize(next); prev = next; } else if (isRegionalIndicator(next)) { - let countBefore = 0, i = pos - 2; - while (i >= 0 && isRegionalIndicator(codePointAt(str, i))) { + let countBefore = 0, i2 = pos - 2; + while (i2 >= 0 && isRegionalIndicator(codePointAt(str, i2))) { countBefore++; - i -= 2; + i2 -= 2; } if (countBefore % 2 == 0) break; @@ -8032,8 +8036,8 @@ var ChangeDesc = class _ChangeDesc { */ get length() { let result = 0; - for (let i = 0; i < this.sections.length; i += 2) - result += this.sections[i]; + for (let i2 = 0; i2 < this.sections.length; i2 += 2) + result += this.sections[i2]; return result; } /** @@ -8041,9 +8045,9 @@ var ChangeDesc = class _ChangeDesc { */ get newLength() { let result = 0; - for (let i = 0; i < this.sections.length; i += 2) { - let ins = this.sections[i + 1]; - result += ins < 0 ? this.sections[i] : ins; + for (let i2 = 0; i2 < this.sections.length; i2 += 2) { + let ins = this.sections[i2 + 1]; + result += ins < 0 ? this.sections[i2] : ins; } return result; } @@ -8058,11 +8062,11 @@ var ChangeDesc = class _ChangeDesc { provides the position of the range in the old document, `posB` the new position in the changed document. */ - iterGaps(f) { - for (let i = 0, posA = 0, posB = 0; i < this.sections.length; ) { - let len = this.sections[i++], ins = this.sections[i++]; + iterGaps(f3) { + for (let i2 = 0, posA = 0, posB = 0; i2 < this.sections.length; ) { + let len = this.sections[i2++], ins = this.sections[i2++]; if (ins < 0) { - f(posA, posB, len); + f3(posA, posB, len); posB += len; } else { posB += ins; @@ -8082,16 +8086,16 @@ var ChangeDesc = class _ChangeDesc { separate for [position mapping](https://codemirror.net/6/docs/ref/#state.ChangeDesc.mapPos)) are reported separately. */ - iterChangedRanges(f, individual = false) { - iterChanges(this, f, individual); + iterChangedRanges(f3, individual = false) { + iterChanges(this, f3, individual); } /** Get a description of the inverted form of these changes. */ get invertedDesc() { let sections = []; - for (let i = 0; i < this.sections.length; ) { - let len = this.sections[i++], ins = this.sections[i++]; + for (let i2 = 0; i2 < this.sections.length; ) { + let len = this.sections[i2++], ins = this.sections[i2++]; if (ins < 0) sections.push(len, ins); else @@ -8118,8 +8122,8 @@ var ChangeDesc = class _ChangeDesc { } mapPos(pos, assoc = -1, mode = MapMode.Simple) { let posA = 0, posB = 0; - for (let i = 0; i < this.sections.length; ) { - let len = this.sections[i++], ins = this.sections[i++], endA = posA + len; + for (let i2 = 0; i2 < this.sections.length; ) { + let len = this.sections[i2++], ins = this.sections[i2++], endA = posA + len; if (ins < 0) { if (endA > pos) return posB + (pos - posA); @@ -8143,8 +8147,8 @@ var ChangeDesc = class _ChangeDesc { returned. */ touchesRange(from, to = from) { - for (let i = 0, pos = 0; i < this.sections.length && pos <= to; ) { - let len = this.sections[i++], ins = this.sections[i++], end = pos + len; + for (let i2 = 0, pos = 0; i2 < this.sections.length && pos <= to; ) { + let len = this.sections[i2++], ins = this.sections[i2++], end = pos + len; if (ins >= 0 && pos <= to && end >= from) return pos < from && end > to ? "cover" : true; pos = end; @@ -8156,8 +8160,8 @@ var ChangeDesc = class _ChangeDesc { */ toString() { let result = ""; - for (let i = 0; i < this.sections.length; ) { - let len = this.sections[i++], ins = this.sections[i++]; + for (let i2 = 0; i2 < this.sections.length; ) { + let len = this.sections[i2++], ins = this.sections[i2++]; result += (result ? " " : "") + len + (ins >= 0 ? ":" + ins : ""); } return result; @@ -8173,7 +8177,7 @@ var ChangeDesc = class _ChangeDesc { by [`toJSON`](https://codemirror.net/6/docs/ref/#state.ChangeDesc.toJSON). */ static fromJSON(json) { - if (!Array.isArray(json) || json.length % 2 || json.some((a) => typeof a != "number")) + if (!Array.isArray(json) || json.length % 2 || json.some((a2) => typeof a2 != "number")) throw new RangeError("Invalid JSON representation of ChangeDesc"); return new _ChangeDesc(json); } @@ -8210,12 +8214,12 @@ var ChangeSet = class _ChangeSet extends ChangeDesc { */ invert(doc2) { let sections = this.sections.slice(), inserted = []; - for (let i = 0, pos = 0; i < sections.length; i += 2) { - let len = sections[i], ins = sections[i + 1]; + for (let i2 = 0, pos = 0; i2 < sections.length; i2 += 2) { + let len = sections[i2], ins = sections[i2 + 1]; if (ins >= 0) { - sections[i] = ins; - sections[i + 1] = len; - let index = i >> 1; + sections[i2] = ins; + sections[i2 + 1] = len; + let index = i2 >> 1; while (inserted.length < index) inserted.push(Text2.empty); inserted.push(len ? doc2.slice(pos, pos + len) : Text2.empty); @@ -8258,8 +8262,8 @@ var ChangeSet = class _ChangeSet extends ChangeDesc { When `individual` is true, adjacent changes are reported separately. */ - iterChanges(f, individual = false) { - iterChanges(this, f, individual); + iterChanges(f3, individual = false) { + iterChanges(this, f3, individual); } /** Get a [change description](https://codemirror.net/6/docs/ref/#state.ChangeDesc) for this change @@ -8275,8 +8279,8 @@ var ChangeSet = class _ChangeSet extends ChangeDesc { let resultSections = [], resultInserted = [], filteredSections = []; let iter = new SectionIter(this); done: - for (let i = 0, pos = 0; ; ) { - let next = i == ranges.length ? 1e9 : ranges[i++]; + for (let i2 = 0, pos = 0; ; ) { + let next = i2 == ranges.length ? 1e9 : ranges[i2++]; while (pos < next || pos == next && iter.len == 0) { if (iter.done) break done; @@ -8289,7 +8293,7 @@ var ChangeSet = class _ChangeSet extends ChangeDesc { iter.forward(len); pos += len; } - let end = ranges[i++]; + let end = ranges[i2++]; while (pos < end) { if (iter.done) break done; @@ -8310,14 +8314,14 @@ var ChangeSet = class _ChangeSet extends ChangeDesc { */ toJSON() { let parts = []; - for (let i = 0; i < this.sections.length; i += 2) { - let len = this.sections[i], ins = this.sections[i + 1]; + for (let i2 = 0; i2 < this.sections.length; i2 += 2) { + let len = this.sections[i2], ins = this.sections[i2 + 1]; if (ins < 0) parts.push(len); else if (ins == 0) parts.push([len]); else - parts.push([len].concat(this.inserted[i >> 1].toJSON())); + parts.push([len].concat(this.inserted[i2 >> 1].toJSON())); } return parts; } @@ -8383,19 +8387,19 @@ var ChangeSet = class _ChangeSet extends ChangeDesc { if (!Array.isArray(json)) throw new RangeError("Invalid JSON representation of ChangeSet"); let sections = [], inserted = []; - for (let i = 0; i < json.length; i++) { - let part = json[i]; + for (let i2 = 0; i2 < json.length; i2++) { + let part = json[i2]; if (typeof part == "number") { sections.push(part, -1); - } else if (!Array.isArray(part) || typeof part[0] != "number" || part.some((e, i2) => i2 && typeof e != "string")) { + } else if (!Array.isArray(part) || typeof part[0] != "number" || part.some((e2, i3) => i3 && typeof e2 != "string")) { throw new RangeError("Invalid JSON representation of ChangeSet"); } else if (part.length == 1) { sections.push(part[0], 0); } else { - while (inserted.length < i) + while (inserted.length < i2) inserted.push(Text2.empty); - inserted[i] = Text2.of(part.slice(1)); - sections.push(part[0], inserted[i].length); + inserted[i2] = Text2.of(part.slice(1)); + sections.push(part[0], inserted[i2].length); } } return new _ChangeSet(sections, inserted); @@ -8433,10 +8437,10 @@ function addInsert(values2, sections, value) { values2.push(value); } } -function iterChanges(desc, f, individual) { +function iterChanges(desc, f3, individual) { let inserted = desc.inserted; - for (let posA = 0, posB = 0, i = 0; i < desc.sections.length; ) { - let len = desc.sections[i++], ins = desc.sections[i++]; + for (let posA = 0, posB = 0, i2 = 0; i2 < desc.sections.length; ) { + let len = desc.sections[i2++], ins = desc.sections[i2++]; if (ins < 0) { posA += len; posB += len; @@ -8446,13 +8450,13 @@ function iterChanges(desc, f, individual) { endA += len; endB += ins; if (ins && inserted) - text = text.append(inserted[i - 2 >> 1]); - if (individual || i == desc.sections.length || desc.sections[i + 1] < 0) + text = text.append(inserted[i2 - 2 >> 1]); + if (individual || i2 == desc.sections.length || desc.sections[i2 + 1] < 0) break; - len = desc.sections[i++]; - ins = desc.sections[i++]; + len = desc.sections[i2++]; + ins = desc.sections[i2++]; } - f(posA, endA, posB, endB, text); + f3(posA, endA, posB, endB, text); posA = endA; posB = endB; } @@ -8460,49 +8464,49 @@ function iterChanges(desc, f, individual) { } function mapSet(setA, setB, before, mkSet = false) { let sections = [], insert2 = mkSet ? [] : null; - let a = new SectionIter(setA), b = new SectionIter(setB); + let a2 = new SectionIter(setA), b3 = new SectionIter(setB); for (let inserted = -1; ; ) { - if (a.ins == -1 && b.ins == -1) { - let len = Math.min(a.len, b.len); + if (a2.ins == -1 && b3.ins == -1) { + let len = Math.min(a2.len, b3.len); addSection(sections, len, -1); - a.forward(len); - b.forward(len); - } else if (b.ins >= 0 && (a.ins < 0 || inserted == a.i || a.off == 0 && (b.len < a.len || b.len == a.len && !before))) { - let len = b.len; - addSection(sections, b.ins, -1); + a2.forward(len); + b3.forward(len); + } else if (b3.ins >= 0 && (a2.ins < 0 || inserted == a2.i || a2.off == 0 && (b3.len < a2.len || b3.len == a2.len && !before))) { + let len = b3.len; + addSection(sections, b3.ins, -1); while (len) { - let piece = Math.min(a.len, len); - if (a.ins >= 0 && inserted < a.i && a.len <= piece) { - addSection(sections, 0, a.ins); + let piece = Math.min(a2.len, len); + if (a2.ins >= 0 && inserted < a2.i && a2.len <= piece) { + addSection(sections, 0, a2.ins); if (insert2) - addInsert(insert2, sections, a.text); - inserted = a.i; + addInsert(insert2, sections, a2.text); + inserted = a2.i; } - a.forward(piece); + a2.forward(piece); len -= piece; } - b.next(); - } else if (a.ins >= 0) { - let len = 0, left = a.len; + b3.next(); + } else if (a2.ins >= 0) { + let len = 0, left = a2.len; while (left) { - if (b.ins == -1) { - let piece = Math.min(left, b.len); + if (b3.ins == -1) { + let piece = Math.min(left, b3.len); len += piece; left -= piece; - b.forward(piece); - } else if (b.ins == 0 && b.len < left) { - left -= b.len; - b.next(); + b3.forward(piece); + } else if (b3.ins == 0 && b3.len < left) { + left -= b3.len; + b3.next(); } else { break; } } - addSection(sections, len, inserted < a.i ? a.ins : 0); - if (insert2 && inserted < a.i) - addInsert(insert2, sections, a.text); - inserted = a.i; - a.forward(a.len - left); - } else if (a.done && b.done) { + addSection(sections, len, inserted < a2.i ? a2.ins : 0); + if (insert2 && inserted < a2.i) + addInsert(insert2, sections, a2.text); + inserted = a2.i; + a2.forward(a2.len - left); + } else if (a2.done && b3.done) { return insert2 ? ChangeSet.createSet(sections, insert2) : ChangeDesc.create(sections); } else { throw new Error("Mismatched change set lengths"); @@ -8512,39 +8516,39 @@ function mapSet(setA, setB, before, mkSet = false) { function composeSets(setA, setB, mkSet = false) { let sections = []; let insert2 = mkSet ? [] : null; - let a = new SectionIter(setA), b = new SectionIter(setB); + let a2 = new SectionIter(setA), b3 = new SectionIter(setB); for (let open = false; ; ) { - if (a.done && b.done) { + if (a2.done && b3.done) { return insert2 ? ChangeSet.createSet(sections, insert2) : ChangeDesc.create(sections); - } else if (a.ins == 0) { - addSection(sections, a.len, 0, open); - a.next(); - } else if (b.len == 0 && !b.done) { - addSection(sections, 0, b.ins, open); + } else if (a2.ins == 0) { + addSection(sections, a2.len, 0, open); + a2.next(); + } else if (b3.len == 0 && !b3.done) { + addSection(sections, 0, b3.ins, open); if (insert2) - addInsert(insert2, sections, b.text); - b.next(); - } else if (a.done || b.done) { + addInsert(insert2, sections, b3.text); + b3.next(); + } else if (a2.done || b3.done) { throw new Error("Mismatched change set lengths"); } else { - let len = Math.min(a.len2, b.len), sectionLen = sections.length; - if (a.ins == -1) { - let insB = b.ins == -1 ? -1 : b.off ? 0 : b.ins; + let len = Math.min(a2.len2, b3.len), sectionLen = sections.length; + if (a2.ins == -1) { + let insB = b3.ins == -1 ? -1 : b3.off ? 0 : b3.ins; addSection(sections, len, insB, open); if (insert2 && insB) - addInsert(insert2, sections, b.text); - } else if (b.ins == -1) { - addSection(sections, a.off ? 0 : a.len, len, open); + addInsert(insert2, sections, b3.text); + } else if (b3.ins == -1) { + addSection(sections, a2.off ? 0 : a2.len, len, open); if (insert2) - addInsert(insert2, sections, a.textBit(len)); + addInsert(insert2, sections, a2.textBit(len)); } else { - addSection(sections, a.off ? 0 : a.len, b.off ? 0 : b.ins, open); - if (insert2 && !b.off) - addInsert(insert2, sections, b.text); + addSection(sections, a2.off ? 0 : a2.len, b3.off ? 0 : b3.ins, open); + if (insert2 && !b3.off) + addInsert(insert2, sections, b3.text); } - open = (a.ins > len || b.ins >= 0 && b.len > len) && (open || sections.length > sectionLen); - a.forward2(len); - b.forward(len); + open = (a2.ins > len || b3.ins >= 0 && b3.len > len) && (open || sections.length > sectionLen); + a2.forward2(len); + b3.forward(len); } } } @@ -8722,8 +8726,8 @@ var EditorSelection = class _EditorSelection { eq(other) { if (this.ranges.length != other.ranges.length || this.mainIndex != other.mainIndex) return false; - for (let i = 0; i < this.ranges.length; i++) - if (!this.ranges[i].eq(other.ranges[i])) + for (let i2 = 0; i2 < this.ranges.length; i2++) + if (!this.ranges[i2].eq(other.ranges[i2])) return false; return true; } @@ -8785,8 +8789,8 @@ var EditorSelection = class _EditorSelection { static create(ranges, mainIndex = 0) { if (ranges.length == 0) throw new RangeError("A selection needs at least one range"); - for (let pos = 0, i = 0; i < ranges.length; i++) { - let range = ranges[i]; + for (let pos = 0, i2 = 0; i2 < ranges.length; i2++) { + let range = ranges[i2]; if (range.empty ? range.from <= pos : range.from < pos) return _EditorSelection.normalized(ranges.slice(), mainIndex); pos = range.to; @@ -8812,15 +8816,15 @@ var EditorSelection = class _EditorSelection { */ static normalized(ranges, mainIndex = 0) { let main = ranges[mainIndex]; - ranges.sort((a, b) => a.from - b.from); + ranges.sort((a2, b3) => a2.from - b3.from); mainIndex = ranges.indexOf(main); - for (let i = 1; i < ranges.length; i++) { - let range = ranges[i], prev = ranges[i - 1]; + for (let i2 = 1; i2 < ranges.length; i2++) { + let range = ranges[i2], prev = ranges[i2 - 1]; if (range.empty ? range.from <= prev.to : range.from < prev.to) { let from = prev.from, to = Math.max(range.to, prev.to); - if (i <= mainIndex) + if (i2 <= mainIndex) mainIndex--; - ranges.splice(--i, 2, range.anchor > range.head ? _EditorSelection.range(to, from) : _EditorSelection.range(from, to)); + ranges.splice(--i2, 2, range.anchor > range.head ? _EditorSelection.range(to, from) : _EditorSelection.range(from, to)); } } return new _EditorSelection(ranges, mainIndex); @@ -8853,7 +8857,7 @@ var Facet = class _Facet { Define a new facet. */ static define(config2 = {}) { - return new _Facet(config2.combine || ((a) => a), config2.compareInput || ((a, b) => a === b), config2.compare || (!config2.combine ? sameArray : (a, b) => a === b), !!config2.static, config2.enables); + return new _Facet(config2.combine || ((a2) => a2), config2.compareInput || ((a2, b3) => a2 === b3), config2.compare || (!config2.combine ? sameArray : (a2, b3) => a2 === b3), !!config2.static, config2.enables); } /** Returns an extension that adds the given value to this facet. @@ -8890,8 +8894,8 @@ var Facet = class _Facet { return this.compute([field], (state) => get(state.field(field))); } }; -function sameArray(a, b) { - return a == b || a.length == b.length && a.every((e, i) => e === b[i]); +function sameArray(a2, b3) { + return a2 == b3 || a2.length == b3.length && a2.every((e2, i2) => e2 === b3[i2]); } var FacetProvider = class { constructor(dependencies, facet, type, value) { @@ -8949,11 +8953,11 @@ var FacetProvider = class { }; } }; -function compareArray(a, b, compare2) { - if (a.length != b.length) +function compareArray(a2, b3, compare2) { + if (a2.length != b3.length) return false; - for (let i = 0; i < a.length; i++) - if (!compare2(a[i], b[i])) + for (let i2 = 0; i2 < a2.length; i2++) + if (!compare2(a2[i2], b3[i2])) return false; return true; } @@ -8965,15 +8969,15 @@ function ensureAll(state, addrs) { return changed; } function dynamicFacetSlot(addresses, facet, providers) { - let providerAddrs = providers.map((p) => addresses[p.id]); - let providerTypes = providers.map((p) => p.type); - let dynamic = providerAddrs.filter((p) => !(p & 1)); + let providerAddrs = providers.map((p2) => addresses[p2.id]); + let providerTypes = providers.map((p2) => p2.type); + let dynamic = providerAddrs.filter((p2) => !(p2 & 1)); let idx = addresses[facet.id] >> 1; function get(state) { let values2 = []; - for (let i = 0; i < providerAddrs.length; i++) { - let value = getAddr(state, providerAddrs[i]); - if (providerTypes[i] == 2) + for (let i2 = 0; i2 < providerAddrs.length; i2++) { + let value = getAddr(state, providerAddrs[i2]); + if (providerTypes[i2] == 2) for (let val of value) values2.push(val); else @@ -9028,13 +9032,13 @@ var StateField = class _StateField { Define a state field. */ static define(config2) { - let field = new _StateField(nextID++, config2.create, config2.update, config2.compare || ((a, b) => a === b), config2); + let field = new _StateField(nextID++, config2.create, config2.update, config2.compare || ((a2, b3) => a2 === b3), config2); if (config2.provide) field.provides = config2.provide(field); return field; } create(state) { - let init = state.facet(initField).find((i) => i.field == this); + let init = state.facet(initField).find((i2) => i2.field == this); return ((init === null || init === void 0 ? void 0 : init.create) || this.createF)(state); } /** @@ -9181,38 +9185,38 @@ var Configuration = class _Configuration { let dynamicSlots = []; for (let field of fields) { address[field.id] = dynamicSlots.length << 1; - dynamicSlots.push((a) => field.slot(a)); + dynamicSlots.push((a2) => field.slot(a2)); } let oldFacets = oldState === null || oldState === void 0 ? void 0 : oldState.config.facets; for (let id2 in facets) { let providers = facets[id2], facet = providers[0].facet; let oldProviders = oldFacets && oldFacets[id2] || []; if (providers.every( - (p) => p.type == 0 + (p2) => p2.type == 0 /* Provider.Static */ )) { address[facet.id] = staticValues.length << 1 | 1; if (sameArray(oldProviders, providers)) { staticValues.push(oldState.facet(facet)); } else { - let value = facet.combine(providers.map((p) => p.value)); + let value = facet.combine(providers.map((p2) => p2.value)); staticValues.push(oldState && facet.compare(value, oldState.facet(facet)) ? oldState.facet(facet) : value); } } else { - for (let p of providers) { - if (p.type == 0) { - address[p.id] = staticValues.length << 1 | 1; - staticValues.push(p.value); + for (let p2 of providers) { + if (p2.type == 0) { + address[p2.id] = staticValues.length << 1 | 1; + staticValues.push(p2.value); } else { - address[p.id] = dynamicSlots.length << 1; - dynamicSlots.push((a) => p.dynamicSlot(a)); + address[p2.id] = dynamicSlots.length << 1; + dynamicSlots.push((a2) => p2.dynamicSlot(a2)); } } address[facet.id] = dynamicSlots.length << 1; - dynamicSlots.push((a) => dynamicFacetSlot(a, facet, providers)); + dynamicSlots.push((a2) => dynamicFacetSlot(a2, facet, providers)); } } - let dynamic = dynamicSlots.map((f) => f(address)); + let dynamic = dynamicSlots.map((f3) => f3(address)); return new _Configuration(base2, newCompartments, dynamic, address, staticValues, facets); } }; @@ -9232,8 +9236,8 @@ function flatten(extension, compartments, newCompartments) { } seen.set(ext, prec2); if (Array.isArray(ext)) { - for (let e of ext) - inner(e, prec2); + for (let e2 of ext) + inner(e2, prec2); } else if (ext instanceof CompartmentInstance) { if (newCompartments.has(ext.compartment)) throw new RangeError(`Duplicate use of compartment in extensions`); @@ -9258,7 +9262,7 @@ function flatten(extension, compartments, newCompartments) { } } inner(extension, Prec_.default); - return result.reduce((a, b) => a.concat(b)); + return result.reduce((a2, b3) => a2.concat(b3)); } function ensureAddr(state, addr) { if (addr & 1) @@ -9278,7 +9282,7 @@ function getAddr(state, addr) { } var languageData = /* @__PURE__ */ Facet.define(); var allowMultipleSelections = /* @__PURE__ */ Facet.define({ - combine: (values2) => values2.some((v) => v), + combine: (values2) => values2.some((v2) => v2), static: true }); var lineSeparator = /* @__PURE__ */ Facet.define({ @@ -9360,7 +9364,7 @@ var StateEffect = class _StateEffect { removed. */ static define(spec = {}) { - return new StateEffectType(spec.map || ((v) => v)); + return new StateEffectType(spec.map || ((v2) => v2)); } /** Map an array of effects through a change set. @@ -9391,7 +9395,7 @@ var Transaction = class _Transaction { this._state = null; if (selection) checkSelection(selection, changes.newLength); - if (!annotations.some((a) => a.type == _Transaction.time)) + if (!annotations.some((a2) => a2.type == _Transaction.time)) this.annotations = annotations.concat(_Transaction.time.of(Date.now())); } /** @@ -9463,24 +9467,24 @@ var Transaction = class _Transaction { `"select.pointer"` will match it. */ isUserEvent(event) { - let e = this.annotation(_Transaction.userEvent); - return !!(e && (e == event || e.length > event.length && e.slice(0, event.length) == event && e[event.length] == ".")); + let e2 = this.annotation(_Transaction.userEvent); + return !!(e2 && (e2 == event || e2.length > event.length && e2.slice(0, event.length) == event && e2[event.length] == ".")); } }; Transaction.time = /* @__PURE__ */ Annotation.define(); Transaction.userEvent = /* @__PURE__ */ Annotation.define(); Transaction.addToHistory = /* @__PURE__ */ Annotation.define(); Transaction.remote = /* @__PURE__ */ Annotation.define(); -function joinRanges(a, b) { +function joinRanges(a2, b3) { let result = []; for (let iA = 0, iB = 0; ; ) { let from, to; - if (iA < a.length && (iB == b.length || b[iB] >= a[iA])) { - from = a[iA++]; - to = a[iA++]; - } else if (iB < b.length) { - from = b[iB++]; - to = b[iB++]; + if (iA < a2.length && (iB == b3.length || b3[iB] >= a2[iA])) { + from = a2[iA++]; + to = a2[iA++]; + } else if (iB < b3.length) { + from = b3[iB++]; + to = b3[iB++]; } else return result; if (!result.length || result[result.length - 1] < from) @@ -9489,24 +9493,24 @@ function joinRanges(a, b) { result[result.length - 1] = to; } } -function mergeTransaction(a, b, sequential) { +function mergeTransaction(a2, b3, sequential) { var _a3; let mapForA, mapForB, changes; if (sequential) { - mapForA = b.changes; - mapForB = ChangeSet.empty(b.changes.length); - changes = a.changes.compose(b.changes); + mapForA = b3.changes; + mapForB = ChangeSet.empty(b3.changes.length); + changes = a2.changes.compose(b3.changes); } else { - mapForA = b.changes.map(a.changes); - mapForB = a.changes.mapDesc(b.changes, true); - changes = a.changes.compose(mapForA); + mapForA = b3.changes.map(a2.changes); + mapForB = a2.changes.mapDesc(b3.changes, true); + changes = a2.changes.compose(mapForA); } return { changes, - selection: b.selection ? b.selection.map(mapForB) : (_a3 = a.selection) === null || _a3 === void 0 ? void 0 : _a3.map(mapForA), - effects: StateEffect.mapEffects(a.effects, mapForA).concat(StateEffect.mapEffects(b.effects, mapForB)), - annotations: a.annotations.length ? a.annotations.concat(b.annotations) : b.annotations, - scrollIntoView: a.scrollIntoView || b.scrollIntoView + selection: b3.selection ? b3.selection.map(mapForB) : (_a3 = a2.selection) === null || _a3 === void 0 ? void 0 : _a3.map(mapForA), + effects: StateEffect.mapEffects(a2.effects, mapForA).concat(StateEffect.mapEffects(b3.effects, mapForB)), + annotations: a2.annotations.length ? a2.annotations.concat(b3.annotations) : b3.annotations, + scrollIntoView: a2.scrollIntoView || b3.scrollIntoView }; } function resolveTransactionInner(state, spec, docSize) { @@ -9522,16 +9526,16 @@ function resolveTransactionInner(state, spec, docSize) { }; } function resolveTransaction(state, specs, filter) { - let s = resolveTransactionInner(state, specs.length ? specs[0] : {}, state.doc.length); + let s2 = resolveTransactionInner(state, specs.length ? specs[0] : {}, state.doc.length); if (specs.length && specs[0].filter === false) filter = false; - for (let i = 1; i < specs.length; i++) { - if (specs[i].filter === false) + for (let i2 = 1; i2 < specs.length; i2++) { + if (specs[i2].filter === false) filter = false; - let seq = !!specs[i].sequential; - s = mergeTransaction(s, resolveTransactionInner(state, specs[i], seq ? s.changes.newLength : state.doc.length), seq); + let seq = !!specs[i2].sequential; + s2 = mergeTransaction(s2, resolveTransactionInner(state, specs[i2], seq ? s2.changes.newLength : state.doc.length), seq); } - let tr = Transaction.create(state, s.changes, s.selection, s.effects, s.annotations, s.scrollIntoView); + let tr = Transaction.create(state, s2.changes, s2.selection, s2.effects, s2.annotations, s2.scrollIntoView); return extendTransaction(filter ? filterTransaction(tr) : tr); } function filterTransaction(tr) { @@ -9559,8 +9563,8 @@ function filterTransaction(tr) { tr = Transaction.create(state, changes, tr.selection && tr.selection.map(back), StateEffect.mapEffects(tr.effects, back), tr.annotations, tr.scrollIntoView); } let filters = state.facet(transactionFilter); - for (let i = filters.length - 1; i >= 0; i--) { - let filtered = filters[i](tr); + for (let i2 = filters.length - 1; i2 >= 0; i2--) { + let filtered = filters[i2](tr); if (filtered instanceof Transaction) tr = filtered; else if (Array.isArray(filtered) && filtered.length == 1 && filtered[0] instanceof Transaction) @@ -9572,8 +9576,8 @@ function filterTransaction(tr) { } function extendTransaction(tr) { let state = tr.startState, extenders = state.facet(transactionExtender), spec = tr; - for (let i = extenders.length - 1; i >= 0; i--) { - let extension = extenders[i](tr); + for (let i2 = extenders.length - 1; i2 >= 0; i2--) { + let extension = extenders[i2](tr); if (extension && Object.keys(extension).length) spec = mergeTransaction(spec, resolveTransactionInner(state, extension, tr.changes.newLength), true); } @@ -9593,13 +9597,13 @@ var nonASCIISingleCaseWordChar = /[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040- var wordChar; try { wordChar = /* @__PURE__ */ new RegExp("[\\p{Alphabetic}\\p{Number}_]", "u"); -} catch (_) { +} catch (_2) { } function hasWordChar(str) { if (wordChar) return wordChar.test(str); - for (let i = 0; i < str.length; i++) { - let ch = str[i]; + for (let i2 = 0; i2 < str.length; i2++) { + let ch = str[i2]; if (/\w/.test(ch) || ch > "\x80" && (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch))) return true; } @@ -9611,8 +9615,8 @@ function makeCategorizer(wordChars) { return CharCategory.Space; if (hasWordChar(char)) return CharCategory.Word; - for (let i = 0; i < wordChars.length; i++) - if (char.indexOf(wordChars[i]) > -1) + for (let i2 = 0; i2 < wordChars.length; i2++) + if (char.indexOf(wordChars[i2]) > -1) return CharCategory.Word; return CharCategory.Other; }; @@ -9627,8 +9631,8 @@ var EditorState = class _EditorState { this.computeSlot = computeSlot; if (tr) tr._state = this; - for (let i = 0; i < this.config.dynamicSlots.length; i++) - ensureAddr(this, i << 1); + for (let i2 = 0; i2 < this.config.dynamicSlots.length; i2++) + ensureAddr(this, i2 << 1); this.computeSlot = null; } field(field, require2 = true) { @@ -9688,7 +9692,8 @@ var EditorState = class _EditorState { } else { startValues = tr.startState.values.slice(); } - new _EditorState(conf, tr.newDoc, tr.newSelection, startValues, (state, slot) => slot.update(state, tr), tr); + let selection = tr.startState.facet(allowMultipleSelections) ? tr.newSelection : tr.newSelection.asSingle(); + new _EditorState(conf, tr.newDoc, selection, startValues, (state, slot) => slot.update(state, tr), tr); } /** Create a [transaction spec](https://codemirror.net/6/docs/ref/#state.TransactionSpec) that @@ -9713,16 +9718,16 @@ var EditorState = class _EditorState { spec](https://codemirror.net/6/docs/ref/#state.TransactionSpec), which can be passed to [`update`](https://codemirror.net/6/docs/ref/#state.EditorState.update). */ - changeByRange(f) { + changeByRange(f3) { let sel = this.selection; - let result1 = f(sel.ranges[0]); + let result1 = f3(sel.ranges[0]); let changes = this.changes(result1.changes), ranges = [result1.range]; let effects = asArray(result1.effects); - for (let i = 1; i < sel.ranges.length; i++) { - let result = f(sel.ranges[i]); + for (let i2 = 1; i2 < sel.ranges.length; i2++) { + let result = f3(sel.ranges[i2]); let newChanges = this.changes(result.changes), newMapped = newChanges.map(changes); - for (let j = 0; j < i; j++) - ranges[j] = ranges[j].map(newMapped); + for (let j3 = 0; j3 < i2; j3++) + ranges[j3] = ranges[j3].map(newMapped); let mapBy = changes.mapDesc(newChanges, true); ranges.push(result.range.map(mapBy)); changes = changes.compose(newMapped); @@ -9862,11 +9867,11 @@ var EditorState = class _EditorState { break; } if (insert2.length) - phrase2 = phrase2.replace(/\$(\$|\d*)/g, (m, i) => { - if (i == "$") + phrase2 = phrase2.replace(/\$(\$|\d*)/g, (m2, i2) => { + if (i2 == "$") return "$"; - let n = +(i || 1); - return !n || n > insert2.length ? m : insert2[n - 1]; + let n3 = +(i2 || 1); + return !n3 || n3 > insert2.length ? m2 : insert2[n3 - 1]; }); return phrase2; } @@ -9942,9 +9947,9 @@ EditorState.tabSize = /* @__PURE__ */ Facet.define({ EditorState.lineSeparator = lineSeparator; EditorState.readOnly = readOnly; EditorState.phrases = /* @__PURE__ */ Facet.define({ - compare(a, b) { - let kA = Object.keys(a), kB = Object.keys(b); - return kA.length == kB.length && kA.every((k) => a[k] == b[k]); + compare(a2, b3) { + let kA = Object.keys(a2), kB = Object.keys(b3); + return kA.length == kB.length && kA.every((k) => a2[k] == b3[k]); } }); EditorState.languageData = languageData; @@ -10005,8 +10010,8 @@ var Range = class _Range { return new _Range(from, to, value); } }; -function cmpRange(a, b) { - return a.from - b.from || a.value.startSide - b.value.startSide; +function cmpRange(a2, b3) { + return a2.from - b3.from || a2.value.startSide - b3.value.startSide; } var Chunk = class _Chunk { constructor(from, to, value, maxPoint) { @@ -10035,15 +10040,15 @@ var Chunk = class _Chunk { lo = mid + 1; } } - between(offset, from, to, f) { - for (let i = this.findIndex(from, -1e9, true), e = this.findIndex(to, 1e9, false, i); i < e; i++) - if (f(this.from[i] + offset, this.to[i] + offset, this.value[i]) === false) + between(offset, from, to, f3) { + for (let i2 = this.findIndex(from, -1e9, true), e2 = this.findIndex(to, 1e9, false, i2); i2 < e2; i2++) + if (f3(this.from[i2] + offset, this.to[i2] + offset, this.value[i2]) === false) return false; } map(offset, changes) { let value = [], from = [], to = [], newPos = -1, maxPoint = -1; - for (let i = 0; i < this.value.length; i++) { - let val = this.value[i], curFrom = this.from[i] + offset, curTo = this.to[i] + offset, newFrom, newTo; + for (let i2 = 0; i2 < this.value.length; i2++) { + let val = this.value[i2], curFrom = this.from[i2] + offset, curTo = this.to[i2] + offset, newFrom, newTo; if (curFrom == curTo) { let mapped = changes.mapPos(curFrom, val.startSide, val.mapMode); if (mapped == null) @@ -10128,14 +10133,14 @@ var RangeSet = class _RangeSet { add2 = add2.slice().sort(cmpRange); if (this.isEmpty) return add2.length ? _RangeSet.of(add2) : this; - let cur2 = new LayerCursor(this, null, -1).goto(0), i = 0, spill = []; + let cur2 = new LayerCursor(this, null, -1).goto(0), i2 = 0, spill = []; let builder = new RangeSetBuilder(); - while (cur2.value || i < add2.length) { - if (i < add2.length && (cur2.from - add2[i].from || cur2.startSide - add2[i].value.startSide) >= 0) { - let range = add2[i++]; + while (cur2.value || i2 < add2.length) { + if (i2 < add2.length && (cur2.from - add2[i2].from || cur2.startSide - add2[i2].value.startSide) >= 0) { + let range = add2[i2++]; if (!builder.addInner(range.from, range.to, range.value)) spill.push(range); - } else if (cur2.rangeIndex == 1 && cur2.chunkIndex < this.chunk.length && (i == add2.length || this.chunkEnd(cur2.chunkIndex) < add2[i].from) && (!filter || filterFrom > this.chunkEnd(cur2.chunkIndex) || filterTo < this.chunkPos[cur2.chunkIndex]) && builder.addChunk(this.chunkPos[cur2.chunkIndex], this.chunk[cur2.chunkIndex])) { + } else if (cur2.rangeIndex == 1 && cur2.chunkIndex < this.chunk.length && (i2 == add2.length || this.chunkEnd(cur2.chunkIndex) < add2[i2].from) && (!filter || filterFrom > this.chunkEnd(cur2.chunkIndex) || filterTo < this.chunkPos[cur2.chunkIndex]) && builder.addChunk(this.chunkPos[cur2.chunkIndex], this.chunk[cur2.chunkIndex])) { cur2.nextChunk(); } else { if (!filter || filterFrom > cur2.to || filterTo < cur2.from || filter(cur2.from, cur2.to, cur2.value)) { @@ -10154,8 +10159,8 @@ var RangeSet = class _RangeSet { if (changes.empty || this.isEmpty) return this; let chunks = [], chunkPos = [], maxPoint = -1; - for (let i = 0; i < this.chunk.length; i++) { - let start = this.chunkPos[i], chunk = this.chunk[i]; + for (let i2 = 0; i2 < this.chunk.length; i2++) { + let start = this.chunkPos[i2], chunk = this.chunk[i2]; let touch = changes.touchesRange(start, start + chunk.length); if (touch === false) { maxPoint = Math.max(maxPoint, chunk.maxPoint); @@ -10179,15 +10184,15 @@ var RangeSet = class _RangeSet { be reported in any specific order. When the callback returns `false`, iteration stops. */ - between(from, to, f) { + between(from, to, f3) { if (this.isEmpty) return; - for (let i = 0; i < this.chunk.length; i++) { - let start = this.chunkPos[i], chunk = this.chunk[i]; - if (to >= start && from <= start + chunk.length && chunk.between(start, from - start, to - start, f) === false) + for (let i2 = 0; i2 < this.chunk.length; i2++) { + let start = this.chunkPos[i2], chunk = this.chunk[i2]; + if (to >= start && from <= start + chunk.length && chunk.between(start, from - start, to - start, f3) === false) return; } - this.nextLayer.between(from, to, f); + this.nextLayer.between(from, to, f3); } /** Iterate over the ranges in this set, in order, including all @@ -10214,11 +10219,11 @@ var RangeSet = class _RangeSet { to notify it of possible differences. */ static compare(oldSets, newSets, textDiff, comparator, minPointSize = -1) { - let a = oldSets.filter((set) => set.maxPoint > 0 || !set.isEmpty && set.maxPoint >= minPointSize); - let b = newSets.filter((set) => set.maxPoint > 0 || !set.isEmpty && set.maxPoint >= minPointSize); - let sharedChunks = findSharedChunks(a, b, textDiff); - let sideA = new SpanCursor(a, sharedChunks, minPointSize); - let sideB = new SpanCursor(b, sharedChunks, minPointSize); + let a2 = oldSets.filter((set) => set.maxPoint > 0 || !set.isEmpty && set.maxPoint >= minPointSize); + let b3 = newSets.filter((set) => set.maxPoint > 0 || !set.isEmpty && set.maxPoint >= minPointSize); + let sharedChunks = findSharedChunks(a2, b3, textDiff); + let sideA = new SpanCursor(a2, sharedChunks, minPointSize); + let sideB = new SpanCursor(b3, sharedChunks, minPointSize); textDiff.iterGaps((fromA, fromB, length) => compare(sideA, fromA, sideB, fromB, length, comparator)); if (textDiff.empty && textDiff.length == 0) compare(sideA, 0, sideB, 0, 0, comparator); @@ -10230,14 +10235,14 @@ var RangeSet = class _RangeSet { static eq(oldSets, newSets, from = 0, to) { if (to == null) to = 1e9 - 1; - let a = oldSets.filter((set) => !set.isEmpty && newSets.indexOf(set) < 0); - let b = newSets.filter((set) => !set.isEmpty && oldSets.indexOf(set) < 0); - if (a.length != b.length) + let a2 = oldSets.filter((set) => !set.isEmpty && newSets.indexOf(set) < 0); + let b3 = newSets.filter((set) => !set.isEmpty && oldSets.indexOf(set) < 0); + if (a2.length != b3.length) return false; - if (!a.length) + if (!a2.length) return true; - let sharedChunks = findSharedChunks(a, b); - let sideA = new SpanCursor(a, sharedChunks, 0).goto(from), sideB = new SpanCursor(b, sharedChunks, 0).goto(from); + let sharedChunks = findSharedChunks(a2, b3); + let sideA = new SpanCursor(a2, sharedChunks, 0).goto(from), sideB = new SpanCursor(b3, sharedChunks, 0).goto(from); for (; ; ) { if (sideA.to != sideB.to || !sameValues(sideA.active, sideB.active) || sideA.point && (!sideB.point || !sideA.point.eq(sideB.point))) return false; @@ -10291,8 +10296,8 @@ var RangeSet = class _RangeSet { RangeSet.empty = /* @__PURE__ */ new RangeSet([], [], null, -1); function lazySort(ranges) { if (ranges.length > 1) - for (let prev = ranges[0], i = 1; i < ranges.length; i++) { - let cur2 = ranges[i]; + for (let prev = ranges[0], i2 = 1; i2 < ranges.length; i2++) { + let cur2 = ranges[i2]; if (cmpRange(prev, cur2) > 0) return ranges.slice().sort(cmpRange); prev = cur2; @@ -10398,18 +10403,18 @@ var RangeSetBuilder = class _RangeSetBuilder { return result; } }; -function findSharedChunks(a, b, textDiff) { +function findSharedChunks(a2, b3, textDiff) { let inA = /* @__PURE__ */ new Map(); - for (let set of a) - for (let i = 0; i < set.chunk.length; i++) - if (set.chunk[i].maxPoint <= 0) - inA.set(set.chunk[i], set.chunkPos[i]); + for (let set of a2) + for (let i2 = 0; i2 < set.chunk.length; i2++) + if (set.chunk[i2].maxPoint <= 0) + inA.set(set.chunk[i2], set.chunkPos[i2]); let shared = /* @__PURE__ */ new Set(); - for (let set of b) - for (let i = 0; i < set.chunk.length; i++) { - let known = inA.get(set.chunk[i]); - if (known != null && (textDiff ? textDiff.mapPos(known) : known) == set.chunkPos[i] && !(textDiff === null || textDiff === void 0 ? void 0 : textDiff.touchesRange(known, known + set.chunk[i].length))) - shared.add(set.chunk[i]); + for (let set of b3) + for (let i2 = 0; i2 < set.chunk.length; i2++) { + let known = inA.get(set.chunk[i2]); + if (known != null && (textDiff ? textDiff.mapPos(known) : known) == set.chunkPos[i2] && !(textDiff === null || textDiff === void 0 ? void 0 : textDiff.touchesRange(known, known + set.chunk[i2].length))) + shared.add(set.chunk[i2]); } return shared; } @@ -10495,10 +10500,10 @@ var HeapCursor = class _HeapCursor { } static from(sets, skip = null, minPoint = -1) { let heap = []; - for (let i = 0; i < sets.length; i++) { - for (let cur2 = sets[i]; !cur2.isEmpty; cur2 = cur2.nextLayer) { + for (let i2 = 0; i2 < sets.length; i2++) { + for (let cur2 = sets[i2]; !cur2.isEmpty; cur2 = cur2.nextLayer) { if (cur2.maxPoint >= minPoint) - heap.push(new LayerCursor(cur2, skip, minPoint, i)); + heap.push(new LayerCursor(cur2, skip, minPoint, i2)); } } return heap.length == 1 ? heap[0] : new _HeapCursor(heap); @@ -10509,16 +10514,16 @@ var HeapCursor = class _HeapCursor { goto(pos, side = -1e9) { for (let cur2 of this.heap) cur2.goto(pos, side); - for (let i = this.heap.length >> 1; i >= 0; i--) - heapBubble(this.heap, i); + for (let i2 = this.heap.length >> 1; i2 >= 0; i2--) + heapBubble(this.heap, i2); this.next(); return this; } forward(pos, side) { for (let cur2 of this.heap) cur2.forward(pos, side); - for (let i = this.heap.length >> 1; i >= 0; i--) - heapBubble(this.heap, i); + for (let i2 = this.heap.length >> 1; i2 >= 0; i2--) + heapBubble(this.heap, i2); if ((this.to - pos || this.value.endSide - side) < 0) this.next(); } @@ -10593,14 +10598,14 @@ var SpanCursor = class { this.minActive = findMinIndex(this.active, this.activeTo); } addActive(trackOpen) { - let i = 0, { value, to, rank } = this.cursor; - while (i < this.activeRank.length && this.activeRank[i] <= rank) - i++; - insert(this.active, i, value); - insert(this.activeTo, i, to); - insert(this.activeRank, i, rank); + let i2 = 0, { value, to, rank } = this.cursor; + while (i2 < this.activeRank.length && this.activeRank[i2] <= rank) + i2++; + insert(this.active, i2, value); + insert(this.activeTo, i2, to); + insert(this.activeRank, i2, rank); if (trackOpen) - insert(trackOpen, i, this.cursor.from); + insert(trackOpen, i2, this.cursor.from); this.minActive = findMinIndex(this.active, this.activeTo); } // After calling this, if `this.point` != null, the next range is a @@ -10610,16 +10615,16 @@ var SpanCursor = class { this.point = null; let trackOpen = this.openStart < 0 ? [] : null; for (; ; ) { - let a = this.minActive; - if (a > -1 && (this.activeTo[a] - this.cursor.from || this.active[a].endSide - this.cursor.startSide) < 0) { - if (this.activeTo[a] > from) { - this.to = this.activeTo[a]; - this.endSide = this.active[a].endSide; + let a2 = this.minActive; + if (a2 > -1 && (this.activeTo[a2] - this.cursor.from || this.active[a2].endSide - this.cursor.startSide) < 0) { + if (this.activeTo[a2] > from) { + this.to = this.activeTo[a2]; + this.endSide = this.active[a2].endSide; break; } - this.removeActive(a); + this.removeActive(a2); if (trackOpen) - remove(trackOpen, a); + remove(trackOpen, a2); } else if (!this.cursor.value) { this.to = this.endSide = 1e9; break; @@ -10648,7 +10653,7 @@ var SpanCursor = class { } if (trackOpen) { this.openStart = 0; - for (let i = trackOpen.length - 1; i >= 0 && trackOpen[i] < from; i--) + for (let i2 = trackOpen.length - 1; i2 >= 0 && trackOpen[i2] < from; i2--) this.openStart++; } } @@ -10656,93 +10661,93 @@ var SpanCursor = class { if (!this.active.length) return this.active; let active = []; - for (let i = this.active.length - 1; i >= 0; i--) { - if (this.activeRank[i] < this.pointRank) + for (let i2 = this.active.length - 1; i2 >= 0; i2--) { + if (this.activeRank[i2] < this.pointRank) break; - if (this.activeTo[i] > to || this.activeTo[i] == to && this.active[i].endSide >= this.point.endSide) - active.push(this.active[i]); + if (this.activeTo[i2] > to || this.activeTo[i2] == to && this.active[i2].endSide >= this.point.endSide) + active.push(this.active[i2]); } return active.reverse(); } openEnd(to) { let open = 0; - for (let i = this.activeTo.length - 1; i >= 0 && this.activeTo[i] > to; i--) + for (let i2 = this.activeTo.length - 1; i2 >= 0 && this.activeTo[i2] > to; i2--) open++; return open; } }; -function compare(a, startA, b, startB, length, comparator) { - a.goto(startA); - b.goto(startB); +function compare(a2, startA, b3, startB, length, comparator) { + a2.goto(startA); + b3.goto(startB); let endB = startB + length; let pos = startB, dPos = startB - startA; for (; ; ) { - let diff = a.to + dPos - b.to || a.endSide - b.endSide; - let end = diff < 0 ? a.to + dPos : b.to, clipEnd = Math.min(end, endB); - if (a.point || b.point) { - if (!(a.point && b.point && (a.point == b.point || a.point.eq(b.point)) && sameValues(a.activeForPoint(a.to), b.activeForPoint(b.to)))) - comparator.comparePoint(pos, clipEnd, a.point, b.point); + let diff = a2.to + dPos - b3.to || a2.endSide - b3.endSide; + let end = diff < 0 ? a2.to + dPos : b3.to, clipEnd = Math.min(end, endB); + if (a2.point || b3.point) { + if (!(a2.point && b3.point && (a2.point == b3.point || a2.point.eq(b3.point)) && sameValues(a2.activeForPoint(a2.to), b3.activeForPoint(b3.to)))) + comparator.comparePoint(pos, clipEnd, a2.point, b3.point); } else { - if (clipEnd > pos && !sameValues(a.active, b.active)) - comparator.compareRange(pos, clipEnd, a.active, b.active); + if (clipEnd > pos && !sameValues(a2.active, b3.active)) + comparator.compareRange(pos, clipEnd, a2.active, b3.active); } if (end > endB) break; pos = end; if (diff <= 0) - a.next(); + a2.next(); if (diff >= 0) - b.next(); + b3.next(); } } -function sameValues(a, b) { - if (a.length != b.length) +function sameValues(a2, b3) { + if (a2.length != b3.length) return false; - for (let i = 0; i < a.length; i++) - if (a[i] != b[i] && !a[i].eq(b[i])) + for (let i2 = 0; i2 < a2.length; i2++) + if (a2[i2] != b3[i2] && !a2[i2].eq(b3[i2])) return false; return true; } function remove(array, index) { - for (let i = index, e = array.length - 1; i < e; i++) - array[i] = array[i + 1]; + for (let i2 = index, e2 = array.length - 1; i2 < e2; i2++) + array[i2] = array[i2 + 1]; array.pop(); } function insert(array, index, value) { - for (let i = array.length - 1; i >= index; i--) - array[i + 1] = array[i]; + for (let i2 = array.length - 1; i2 >= index; i2--) + array[i2 + 1] = array[i2]; array[index] = value; } function findMinIndex(value, array) { let found = -1, foundPos = 1e9; - for (let i = 0; i < array.length; i++) - if ((array[i] - foundPos || value[i].endSide - value[found].endSide) < 0) { - found = i; - foundPos = array[i]; + for (let i2 = 0; i2 < array.length; i2++) + if ((array[i2] - foundPos || value[i2].endSide - value[found].endSide) < 0) { + found = i2; + foundPos = array[i2]; } return found; } function countColumn(string2, tabSize, to = string2.length) { - let n = 0; - for (let i = 0; i < to; ) { - if (string2.charCodeAt(i) == 9) { - n += tabSize - n % tabSize; - i++; + let n3 = 0; + for (let i2 = 0; i2 < to; ) { + if (string2.charCodeAt(i2) == 9) { + n3 += tabSize - n3 % tabSize; + i2++; } else { - n++; - i = findClusterBreak(string2, i); + n3++; + i2 = findClusterBreak(string2, i2); } } - return n; + return n3; } function findColumn(string2, col, tabSize, strict) { - for (let i = 0, n = 0; ; ) { - if (n >= col) - return i; - if (i == string2.length) + for (let i2 = 0, n3 = 0; ; ) { + if (n3 >= col) + return i2; + if (i2 == string2.length) break; - n += string2.charCodeAt(i) == 9 ? tabSize - n % tabSize : 1; - i = findClusterBreak(string2, i); + n3 += string2.charCodeAt(i2) == 9 ? tabSize - n3 % tabSize : 1; + i2 = findClusterBreak(string2, i2); } return strict === true ? -1 : string2.length; } @@ -10772,7 +10777,7 @@ var StyleModule = class { let value = spec2[prop]; if (/&/.test(prop)) { render( - prop.split(/,\s*/).map((part) => selectors.map((sel) => part.replace(/&/, sel))).reduce((a, b) => a.concat(b)), + prop.split(/,\s*/).map((part) => selectors.map((sel) => part.replace(/&/, sel))).reduce((a2, b3) => a2.concat(b3)), value, target ); @@ -10781,7 +10786,7 @@ var StyleModule = class { throw new RangeError("The value of a property (" + prop + ") should be a primitive value."); render(splitSelector(prop), value, local, keyframes); } else if (value != null) { - local.push(prop.replace(/_.*/, "").replace(/[A-Z]/g, (l) => "-" + l.toLowerCase()) + ": " + value + ";"); + local.push(prop.replace(/_.*/, "").replace(/[A-Z]/g, (l3) => "-" + l3.toLowerCase()) + ": " + value + ";"); } } if (local.length || keyframes) { @@ -10853,30 +10858,30 @@ var StyleSet = class { } mount(modules) { let sheet = this.sheet; - let pos = 0, j = 0; - for (let i = 0; i < modules.length; i++) { - let mod = modules[i], index = this.modules.indexOf(mod); - if (index < j && index > -1) { + let pos = 0, j3 = 0; + for (let i2 = 0; i2 < modules.length; i2++) { + let mod = modules[i2], index = this.modules.indexOf(mod); + if (index < j3 && index > -1) { this.modules.splice(index, 1); - j--; + j3--; index = -1; } if (index == -1) { - this.modules.splice(j++, 0, mod); + this.modules.splice(j3++, 0, mod); if (sheet) for (let k = 0; k < mod.rules.length; k++) sheet.insertRule(mod.rules[k], pos++); } else { - while (j < index) - pos += this.modules[j++].rules.length; + while (j3 < index) + pos += this.modules[j3++].rules.length; pos += mod.rules.length; - j++; + j3++; } } if (!sheet) { let text = ""; - for (let i = 0; i < this.modules.length; i++) - text += this.modules[i].getRules() + "\n"; + for (let i2 = 0; i2 < this.modules.length; i2++) + text += this.modules[i2].getRules() + "\n"; this.styleTag.textContent = text; } } @@ -10969,17 +10974,17 @@ var shift = { }; var mac = typeof navigator != "undefined" && /Mac/.test(navigator.platform); var ie = typeof navigator != "undefined" && /MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent); -for (i = 0; i < 10; i++) - base[48 + i] = base[96 + i] = String(i); -var i; -for (i = 1; i <= 24; i++) - base[i + 111] = "F" + i; -var i; -for (i = 65; i <= 90; i++) { - base[i] = String.fromCharCode(i + 32); - shift[i] = String.fromCharCode(i); -} -var i; +for (i2 = 0; i2 < 10; i2++) + base[48 + i2] = base[96 + i2] = String(i2); +var i2; +for (i2 = 1; i2 <= 24; i2++) + base[i2 + 111] = "F" + i2; +var i2; +for (i2 = 65; i2 <= 90; i2++) { + base[i2] = String.fromCharCode(i2 + 32); + shift[i2] = String.fromCharCode(i2); +} +var i2; for (code in base) if (!shift.hasOwnProperty(code)) shift[code] = base[code]; @@ -11026,7 +11031,7 @@ function hasSelection(dom, selection) { return false; try { return contains(dom, selection.anchorNode); - } catch (_) { + } catch (_2) { return false; } } @@ -11085,7 +11090,7 @@ function windowRect(win) { bottom: win.innerHeight }; } -function scrollRectIntoView(dom, rect, side, x, y, xMargin, yMargin, ltr) { +function scrollRectIntoView(dom, rect, side, x, y2, xMargin, yMargin, ltr) { let doc2 = dom.ownerDocument, win = doc2.defaultView || window; for (let cur2 = dom, stop = false; cur2 && !stop; ) { if (cur2.nodeType == 1) { @@ -11111,7 +11116,7 @@ function scrollRectIntoView(dom, rect, side, x, y, xMargin, yMargin, ltr) { }; } let moveX = 0, moveY = 0; - if (y == "nearest") { + if (y2 == "nearest") { if (rect.top < bounding.top) { moveY = -(bounding.top - rect.top + yMargin); if (side > 0 && rect.bottom > bounding.bottom + moveY) @@ -11123,7 +11128,7 @@ function scrollRectIntoView(dom, rect, side, x, y, xMargin, yMargin, ltr) { } } else { let rectHeight = rect.bottom - rect.top, boundingHeight = bounding.bottom - bounding.top; - let targetTop = y == "center" && rectHeight <= boundingHeight ? rect.top + rectHeight / 2 - boundingHeight / 2 : y == "start" || y == "center" && side < 0 ? rect.top - yMargin : rect.bottom - boundingHeight + yMargin; + let targetTop = y2 == "center" && rectHeight <= boundingHeight ? rect.top + rectHeight / 2 - boundingHeight / 2 : y2 == "start" || y2 == "center" && side < 0 ? rect.top - yMargin : rect.bottom - boundingHeight + yMargin; moveY = targetTop - bounding.top; } if (x == "nearest") { @@ -11164,7 +11169,7 @@ function scrollRectIntoView(dom, rect, side, x, y, xMargin, yMargin, ltr) { if (movedX && Math.abs(movedX - moveX) < 1) x = "nearest"; if (movedY && Math.abs(movedY - moveY) < 1) - y = "nearest"; + y2 = "nearest"; } } if (top2) @@ -11235,8 +11240,8 @@ function focusPreventScroll(dom) { } : void 0); if (!preventScrollSupported) { preventScrollSupported = false; - for (let i = 0; i < stack.length; ) { - let elt = stack[i++], top2 = stack[i++], left = stack[i++]; + for (let i2 = 0; i2 < stack.length; ) { + let elt = stack[i2++], top2 = stack[i2++], left = stack[i2++]; if (elt.scrollTop != top2) elt.scrollTop = top2; if (elt.scrollLeft != left) @@ -11410,8 +11415,8 @@ var ContentView = class _ContentView { after = after.nextSibling; if (!after) return this.length; - for (let i = 0, pos = 0; ; i++) { - let child = this.children[i]; + for (let i2 = 0, pos = 0; ; i2++) { + let child = this.children[i2]; if (child.dom == after) return pos; pos += child.length + child.breakAfter; @@ -11419,16 +11424,16 @@ var ContentView = class _ContentView { } domBoundsAround(from, to, offset = 0) { let fromI = -1, fromStart = -1, toI = -1, toEnd = -1; - for (let i = 0, pos = offset, prevEnd = offset; i < this.children.length; i++) { - let child = this.children[i], end = pos + child.length; + for (let i2 = 0, pos = offset, prevEnd = offset; i2 < this.children.length; i2++) { + let child = this.children[i2], end = pos + child.length; if (pos < from && end > to) return child.domBoundsAround(from, to, pos); if (end >= from && fromI == -1) { - fromI = i; + fromI = i2; fromStart = pos; } if (pos > to && child.dom.parentNode == this.dom) { - toI = i; + toI = i2; toEnd = prevEnd; break; } @@ -11472,23 +11477,23 @@ var ContentView = class _ContentView { dom.cmView = this; } get rootView() { - for (let v = this; ; ) { - let parent = v.parent; + for (let v2 = this; ; ) { + let parent = v2.parent; if (!parent) - return v; - v = parent; + return v2; + v2 = parent; } } replaceChildren(from, to, children = noChildren) { this.markDirty(); - for (let i = from; i < to; i++) { - let child = this.children[i]; - if (child.parent == this) + for (let i2 = from; i2 < to; i2++) { + let child = this.children[i2]; + if (child.parent == this && children.indexOf(child) < 0) child.destroy(); } this.children.splice(from, to - from, ...children); - for (let i = 0; i < children.length; i++) - children[i].setParent(this); + for (let i2 = 0; i2 < children.length; i2++) + children[i2].setParent(this); } ignoreMutation(_rec) { return false; @@ -11534,6 +11539,8 @@ var ContentView = class _ContentView { return 0; } destroy() { + for (let child of this.children) + child.destroy(); this.parent = null; } }; @@ -11544,10 +11551,10 @@ function rm$1(dom) { return next; } var ChildCursor = class { - constructor(children, pos, i) { + constructor(children, pos, i2) { this.children = children; this.pos = pos; - this.i = i; + this.i = i2; this.off = 0; } findPos(pos, bias = 1) { @@ -11751,15 +11758,15 @@ var MarkView = class _MarkView extends ContentView { return true; } split(from) { - let result = [], off = 0, detachFrom = -1, i = 0; + let result = [], off = 0, detachFrom = -1, i2 = 0; for (let elt of this.children) { let end = off + elt.length; if (end > from) result.push(off < from ? elt.split(from - off) : elt); if (detachFrom < 0 && off >= from) - detachFrom = i; + detachFrom = i2; off = end; - i++; + i2++; } let length = this.length - from; this.length = from; @@ -11880,9 +11887,9 @@ var WidgetView = class _WidgetView extends ContentView { if (!rects.length) return null; let fromBack = this.side ? this.side < 0 : pos > 0; - for (let i = fromBack ? rects.length - 1 : 0; ; i += fromBack ? -1 : 1) { - rect = rects[i]; - if (pos > 0 ? i == 0 : i == rects.length - 1 || rect.top < rect.bottom) + for (let i2 = fromBack ? rects.length - 1 : 0; ; i2 += fromBack ? -1 : 1) { + rect = rects[i2]; + if (pos > 0 ? i2 == 0 : i2 == rects.length - 1 || rect.top < rect.bottom) break; } return flattenRect(rect, !fromBack); @@ -11951,9 +11958,9 @@ var WidgetBufferView = class _WidgetBufferView extends ContentView { }; TextView.prototype.children = WidgetView.prototype.children = WidgetBufferView.prototype.children = noChildren; function inlineDOMAtPos(parent, pos) { - let dom = parent.dom, { children } = parent, i = 0; - for (let off = 0; i < children.length; i++) { - let child = children[i], end = off + child.length; + let dom = parent.dom, { children } = parent, i2 = 0; + for (let off = 0; i2 < children.length; i2++) { + let child = children[i2], end = off + child.length; if (end == off && child.getSide() <= 0) continue; if (pos > off && pos < end && child.dom.parentNode == dom) @@ -11962,13 +11969,13 @@ function inlineDOMAtPos(parent, pos) { break; off = end; } - for (let j = i; j > 0; j--) { - let prev = children[j - 1]; + for (let j3 = i2; j3 > 0; j3--) { + let prev = children[j3 - 1]; if (prev.dom.parentNode == dom) return prev.domAtPos(prev.length); } - for (let j = i; j < children.length; j++) { - let next = children[j]; + for (let j3 = i2; j3 < children.length; j3++) { + let next = children[j3]; if (next.dom.parentNode == dom) return next.domAtPos(0); } @@ -11987,8 +11994,8 @@ function joinInlineInto(parent, view, open) { function coordsInChildren(view, pos, side) { let before = null, beforePos = -1, after = null, afterPos = -1; function scan(view2, pos2) { - for (let i = 0, off = 0; i < view2.children.length && off <= pos2; i++) { - let child = view2.children[i], end = off + child.length; + for (let i2 = 0, off = 0; i2 < view2.children.length && off <= pos2; i2++) { + let child = view2.children[i2], end = off + child.length; if (end >= pos2) { if (child.children.length) { scan(child, pos2 - off); @@ -12028,18 +12035,18 @@ function combineAttrs(source, target) { return target; } var noAttrs = /* @__PURE__ */ Object.create(null); -function attrsEq(a, b, ignore) { - if (a == b) +function attrsEq(a2, b3, ignore) { + if (a2 == b3) return true; - if (!a) - a = noAttrs; - if (!b) - b = noAttrs; - let keysA = Object.keys(a), keysB = Object.keys(b); + if (!a2) + a2 = noAttrs; + if (!b3) + b3 = noAttrs; + let keysA = Object.keys(a2), keysB = Object.keys(b3); if (keysA.length - (ignore && keysA.indexOf(ignore) > -1 ? 1 : 0) != keysB.length - (ignore && keysB.indexOf(ignore) > -1 ? 1 : 0)) return false; for (let key of keysA) { - if (key != ignore && (keysB.indexOf(key) == -1 || a[key] !== b[key])) + if (key != ignore && (keysB.indexOf(key) == -1 || a2[key] !== b3[key])) return false; } return true; @@ -12070,8 +12077,8 @@ function updateAttrs(dom, prev, attrs) { } function getAttrs(dom) { let attrs = /* @__PURE__ */ Object.create(null); - for (let i = 0; i < dom.attributes.length; i++) { - let attr = dom.attributes[i]; + for (let i2 = 0; i2 < dom.attributes.length; i2++) { + let attr = dom.attributes[i2]; attrs[attr.name] = attr.value; } return attrs; @@ -12103,17 +12110,17 @@ var LineView = class _LineView extends ContentView { end.breakAfter = this.breakAfter; if (this.length == 0) return end; - let { i, off } = this.childPos(at); + let { i: i2, off } = this.childPos(at); if (off) { - end.append(this.children[i].split(off), 0); - this.children[i].merge(off, this.children[i].length, null, false, 0, 0); - i++; - } - for (let j = i; j < this.children.length; j++) - end.append(this.children[j], 0); - while (i > 0 && this.children[i - 1].length == 0) - this.children[--i].destroy(); - this.children.length = i; + end.append(this.children[i2].split(off), 0); + this.children[i2].merge(off, this.children[i2].length, null, false, 0, 0); + i2++; + } + for (let j3 = i2; j3 < this.children.length; j3++) + end.append(this.children[j3], 0); + while (i2 > 0 && this.children[i2 - 1].length == 0) + this.children[--i2].destroy(); + this.children.length = i2; this.markDirty(); this.length = at; return end; @@ -12219,8 +12226,8 @@ var LineView = class _LineView extends ContentView { return true; } static find(docView, pos) { - for (let i = 0, off = 0; i < docView.children.length; i++) { - let block2 = docView.children[i], end = off + block2.length; + for (let i2 = 0, off = 0; i2 < docView.children.length; i2++) { + let block2 = docView.children[i2], end = off + block2.length; if (end >= pos) { if (block2 instanceof _LineView) return block2; @@ -12541,8 +12548,8 @@ function getInclusive(spec, block2 = false) { end = spec.inclusive; return { start: start !== null && start !== void 0 ? start : block2, end: end !== null && end !== void 0 ? end : block2 }; } -function widgetsEq(a, b) { - return a == b || !!(a && b && a.compare(b)); +function widgetsEq(a2, b3) { + return a2 == b3 || !!(a2 && b3 && a2.compare(b3)); } function addRange(from, to, ranges, margin = 0) { let last = ranges.length - 1; @@ -12739,9 +12746,9 @@ var nativeSelectionHidden = /* @__PURE__ */ Facet.define({ combine: (values2) => values2.some((x) => x) }); var ScrollTarget = class _ScrollTarget { - constructor(range, y = "nearest", x = "nearest", yMargin = 5, xMargin = 5, isSnapshot = false) { + constructor(range, y2 = "nearest", x = "nearest", yMargin = 5, xMargin = 5, isSnapshot = false) { this.range = range; - this.y = y; + this.y = y2; this.x = x; this.yMargin = yMargin; this.xMargin = xMargin; @@ -12754,7 +12761,7 @@ var ScrollTarget = class _ScrollTarget { return this.range.to <= state.doc.length ? this : new _ScrollTarget(EditorSelection.cursor(state.doc.length), this.y, this.x, this.yMargin, this.xMargin, this.isSnapshot); } }; -var scrollIntoView = /* @__PURE__ */ StateEffect.define({ map: (t2, ch) => t2.map(ch) }); +var scrollIntoView = /* @__PURE__ */ StateEffect.define({ map: (t3, ch) => t3.map(ch) }); function logException(state, exception, context) { let handler = state.facet(exceptionSink); if (handler.length) @@ -12814,8 +12821,8 @@ var PluginInstance = class { if (this.spec) { try { this.value = this.spec.create(view); - } catch (e) { - logException(view.state, e, "CodeMirror plugin crashed"); + } catch (e2) { + logException(view.state, e2, "CodeMirror plugin crashed"); this.deactivate(); } } @@ -12825,12 +12832,12 @@ var PluginInstance = class { if (this.value.update) { try { this.value.update(update); - } catch (e) { - logException(update.state, e, "CodeMirror plugin crashed"); + } catch (e2) { + logException(update.state, e2, "CodeMirror plugin crashed"); if (this.value.destroy) try { this.value.destroy(); - } catch (_) { + } catch (_2) { } this.deactivate(); } @@ -12843,8 +12850,8 @@ var PluginInstance = class { if ((_a3 = this.value) === null || _a3 === void 0 ? void 0 : _a3.destroy) { try { this.value.destroy(); - } catch (e) { - logException(view.state, e, "CodeMirror plugin crashed"); + } catch (e2) { + logException(view.state, e2, "CodeMirror plugin crashed"); } } } @@ -12861,15 +12868,15 @@ function getIsolatedRanges(view, from, to) { let isolates = view.state.facet(bidiIsolatedRanges); if (!isolates.length) return isolates; - let sets = isolates.map((i) => i instanceof Function ? i(view) : i); + let sets = isolates.map((i2) => i2 instanceof Function ? i2(view) : i2); let result = []; RangeSet.spans(sets, from, to, { point() { }, span(from2, to2, active, open) { let level = result; - for (let i = active.length - 1; i >= 0; i--, open--) { - let iso = active[i].spec.bidiIsolate, update; + for (let i2 = active.length - 1; i2 >= 0; i2--, open--) { + let iso = active[i2].spec.bidiIsolate, update; if (iso == null) continue; if (open > 0 && level.length && (update = level[level.length - 1]).to == from2 && update.direction == iso) { @@ -12889,16 +12896,16 @@ var scrollMargins = /* @__PURE__ */ Facet.define(); function getScrollMargins(view) { let left = 0, right = 0, top2 = 0, bottom = 0; for (let source of view.state.facet(scrollMargins)) { - let m = source(view); - if (m) { - if (m.left != null) - left = Math.max(left, m.left); - if (m.right != null) - right = Math.max(right, m.right); - if (m.top != null) - top2 = Math.max(top2, m.top); - if (m.bottom != null) - bottom = Math.max(bottom, m.bottom); + let m2 = source(view); + if (m2) { + if (m2.left != null) + left = Math.max(left, m2.left); + if (m2.right != null) + right = Math.max(right, m2.right); + if (m2.top != null) + top2 = Math.max(top2, m2.top); + if (m2.bottom != null) + bottom = Math.max(bottom, m2.bottom); } } return { left, right, top: top2, bottom }; @@ -12915,17 +12922,17 @@ var ChangedRange = class _ChangedRange { return new _ChangedRange(Math.min(this.fromA, other.fromA), Math.max(this.toA, other.toA), Math.min(this.fromB, other.fromB), Math.max(this.toB, other.toB)); } addToSet(set) { - let i = set.length, me = this; - for (; i > 0; i--) { - let range = set[i - 1]; + let i2 = set.length, me = this; + for (; i2 > 0; i2--) { + let range = set[i2 - 1]; if (range.fromA > me.toA) continue; if (range.toA < me.fromA) break; me = me.join(range); - set.splice(i - 1, 1); + set.splice(i2 - 1, 1); } - set.splice(i, 0, me); + set.splice(i2, 0, me); return set; } static extendWithRanges(diff, ranges) { @@ -13029,18 +13036,18 @@ var LTR = Direction.LTR; var RTL = Direction.RTL; function dec(str) { let result = []; - for (let i = 0; i < str.length; i++) - result.push(1 << +str[i]); + for (let i2 = 0; i2 < str.length; i2++) + result.push(1 << +str[i2]); return result; } var LowTypes = /* @__PURE__ */ dec("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"); var ArabicTypes = /* @__PURE__ */ dec("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"); var Brackets = /* @__PURE__ */ Object.create(null); var BracketStack = []; -for (let p of ["()", "[]", "{}"]) { - let l = /* @__PURE__ */ p.charCodeAt(0), r2 = /* @__PURE__ */ p.charCodeAt(1); - Brackets[l] = r2; - Brackets[r2] = -l; +for (let p2 of ["()", "[]", "{}"]) { + let l3 = /* @__PURE__ */ p2.charCodeAt(0), r2 = /* @__PURE__ */ p2.charCodeAt(1); + Brackets[l3] = r2; + Brackets[r2] = -l3; } function charType(ch) { return ch <= 247 ? LowTypes[ch] : 1424 <= ch && ch <= 1524 ? 2 : 1536 <= ch && ch <= 1785 ? ArabicTypes[ch - 1536] : 1774 <= ch && ch <= 2220 ? 4 : 8192 <= ch && ch <= 8203 ? 256 : 64336 <= ch && ch <= 65023 ? 4 : ch == 8204 ? 256 : 1; @@ -13072,13 +13079,13 @@ var BidiSpan = class { */ static find(order, index, level, assoc) { let maybe = -1; - for (let i = 0; i < order.length; i++) { - let span = order[i]; + for (let i2 = 0; i2 < order.length; i2++) { + let span = order[i2]; if (span.from <= index && span.to >= index) { if (span.level == level) - return i; + return i2; if (maybe < 0 || (assoc != 0 ? assoc < 0 ? span.from < index : span.to > index : order[maybe].level > span.level)) - maybe = i; + maybe = i2; } } if (maybe < 0) @@ -13086,11 +13093,11 @@ var BidiSpan = class { return maybe; } }; -function isolatesEq(a, b) { - if (a.length != b.length) +function isolatesEq(a2, b3) { + if (a2.length != b3.length) return false; - for (let i = 0; i < a.length; i++) { - let iA = a[i], iB = b[i]; + for (let i2 = 0; i2 < a2.length; i2++) { + let iA = a2[i2], iB = b3[i2]; if (iA.from != iB.from || iA.to != iB.to || iA.direction != iB.direction || !isolatesEq(iA.inner, iB.inner)) return false; } @@ -13101,34 +13108,34 @@ function computeCharTypes(line, rFrom, rTo, isolates, outerType) { for (let iI = 0; iI <= isolates.length; iI++) { let from = iI ? isolates[iI - 1].to : rFrom, to = iI < isolates.length ? isolates[iI].from : rTo; let prevType = iI ? 256 : outerType; - for (let i = from, prev = prevType, prevStrong = prevType; i < to; i++) { - let type = charType(line.charCodeAt(i)); + for (let i2 = from, prev = prevType, prevStrong = prevType; i2 < to; i2++) { + let type = charType(line.charCodeAt(i2)); if (type == 512) type = prev; else if (type == 8 && prevStrong == 4) type = 16; - types[i] = type == 4 ? 2 : type; + types[i2] = type == 4 ? 2 : type; if (type & 7) prevStrong = type; prev = type; } - for (let i = from, prev = prevType, prevStrong = prevType; i < to; i++) { - let type = types[i]; + for (let i2 = from, prev = prevType, prevStrong = prevType; i2 < to; i2++) { + let type = types[i2]; if (type == 128) { - if (i < to - 1 && prev == types[i + 1] && prev & 24) - type = types[i] = prev; + if (i2 < to - 1 && prev == types[i2 + 1] && prev & 24) + type = types[i2] = prev; else - types[i] = 256; + types[i2] = 256; } else if (type == 64) { - let end = i + 1; + let end = i2 + 1; while (end < to && types[end] == 64) end++; - let replace = i && prev == 8 || end < rTo && types[end] == 8 ? prevStrong == 1 ? 1 : 8 : 256; - for (let j = i; j < end; j++) - types[j] = replace; - i = end - 1; + let replace = i2 && prev == 8 || end < rTo && types[end] == 8 ? prevStrong == 1 ? 1 : 8 : 256; + for (let j3 = i2; j3 < end; j3++) + types[j3] = replace; + i2 = end - 1; } else if (type == 8 && prevStrong == 1) { - types[i] = 1; + types[i2] = 1; } prev = type; if (type & 7) @@ -13140,15 +13147,15 @@ function processBracketPairs(line, rFrom, rTo, isolates, outerType) { let oppositeType = outerType == 1 ? 2 : 1; for (let iI = 0, sI = 0, context = 0; iI <= isolates.length; iI++) { let from = iI ? isolates[iI - 1].to : rFrom, to = iI < isolates.length ? isolates[iI].from : rTo; - for (let i = from, ch, br, type; i < to; i++) { - if (br = Brackets[ch = line.charCodeAt(i)]) { + for (let i2 = from, ch, br, type; i2 < to; i2++) { + if (br = Brackets[ch = line.charCodeAt(i2)]) { if (br < 0) { for (let sJ = sI - 3; sJ >= 0; sJ -= 3) { if (BracketStack[sJ + 1] == -br) { let flags = BracketStack[sJ + 2]; let type2 = flags & 2 ? outerType : !(flags & 4) ? 0 : flags & 1 ? oppositeType : outerType; if (type2) - types[i] = types[BracketStack[sJ]] = type2; + types[i2] = types[BracketStack[sJ]] = type2; sI = sJ; break; } @@ -13156,11 +13163,11 @@ function processBracketPairs(line, rFrom, rTo, isolates, outerType) { } else if (BracketStack.length == 189) { break; } else { - BracketStack[sI++] = i; + BracketStack[sI++] = i2; BracketStack[sI++] = ch; BracketStack[sI++] = context; } - } else if ((type = types[i]) == 2 || type == 1) { + } else if ((type = types[i2]) == 2 || type == 1) { let embed = type == outerType; context = embed ? 0 : 1; for (let sJ = sI - 3; sJ >= 0; sJ -= 3) { @@ -13182,10 +13189,10 @@ function processBracketPairs(line, rFrom, rTo, isolates, outerType) { function processNeutrals(rFrom, rTo, isolates, outerType) { for (let iI = 0, prev = outerType; iI <= isolates.length; iI++) { let from = iI ? isolates[iI - 1].to : rFrom, to = iI < isolates.length ? isolates[iI].from : rTo; - for (let i = from; i < to; ) { - let type = types[i]; + for (let i2 = from; i2 < to; ) { + let type = types[i2]; if (type == 256) { - let end = i + 1; + let end = i2 + 1; for (; ; ) { if (end == to) { if (iI == isolates.length) @@ -13201,17 +13208,17 @@ function processNeutrals(rFrom, rTo, isolates, outerType) { let beforeL = prev == 1; let afterL = (end < rTo ? types[end] : outerType) == 1; let replace = beforeL == afterL ? beforeL ? 1 : 2 : outerType; - for (let j = end, jI = iI, fromJ = jI ? isolates[jI - 1].to : rFrom; j > i; ) { - if (j == fromJ) { - j = isolates[--jI].from; + for (let j3 = end, jI = iI, fromJ = jI ? isolates[jI - 1].to : rFrom; j3 > i2; ) { + if (j3 == fromJ) { + j3 = isolates[--jI].from; fromJ = jI ? isolates[jI - 1].to : rFrom; } - types[--j] = replace; + types[--j3] = replace; } - i = end; + i2 = end; } else { prev = type; - i++; + i2++; } } } @@ -13483,8 +13490,8 @@ var DocView = class extends ContentView { updateChildren(changes, oldLength, composition) { let ranges = composition ? composition.range.addToSet(changes.slice()) : changes; let cursor = this.childCursor(oldLength); - for (let i = ranges.length - 1; ; i--) { - let next = i >= 0 ? ranges[i] : null; + for (let i2 = ranges.length - 1; ; i2--) { + let next = i2 >= 0 ? ranges[i2] : null; if (!next) break; let { fromA, toA, fromB, toB } = next, content2, breakAtStart, openStart, openEnd; @@ -13527,7 +13534,7 @@ var DocView = class extends ContentView { fixCompositionDOM(composition) { let fix = (dom, cView2) => { cView2.flags |= 8 | (cView2.children.some( - (c) => c.flags & 7 + (c2) => c2.flags & 7 /* ViewFlag.Dirty */ ) ? 1 : 0); this.markedForComposition.add(cView2); @@ -13539,10 +13546,10 @@ var DocView = class extends ContentView { let pos = this.childPos(composition.range.fromB, 1); let cView = this.children[pos.i]; fix(composition.line, cView); - for (let i = composition.marks.length - 1; i >= -1; i--) { + for (let i2 = composition.marks.length - 1; i2 >= -1; i2--) { pos = cView.childPos(pos.off, 1); cView = cView.children[pos.i]; - fix(i >= 0 ? composition.marks[i].node : composition.text, cView); + fix(i2 >= 0 ? composition.marks[i2].node : composition.text, cView); } } // Sync the DOM selection to this.state.selection @@ -13590,7 +13597,7 @@ var DocView = class extends ContentView { rawSel.collapse(anchor.node, anchor.offset); try { rawSel.extend(head.node, head.offset); - } catch (_) { + } catch (_2) { } } else { let range = document.createRange(); @@ -13643,13 +13650,13 @@ var DocView = class extends ContentView { let dom = this.dom, newPos; if (pos.node != dom) return pos; - for (let i = pos.offset; !newPos && i < dom.childNodes.length; i++) { - let view = ContentView.get(dom.childNodes[i]); + for (let i2 = pos.offset; !newPos && i2 < dom.childNodes.length; i2++) { + let view = ContentView.get(dom.childNodes[i2]); if (view instanceof LineView) newPos = view.domAtPos(0); } - for (let i = pos.offset - 1; !newPos && i >= 0; i--) { - let view = ContentView.get(dom.childNodes[i]); + for (let i2 = pos.offset - 1; !newPos && i2 >= 0; i2--) { + let view = ContentView.get(dom.childNodes[i2]); if (view instanceof LineView) newPos = view.domAtPos(view.length); } @@ -13671,20 +13678,20 @@ var DocView = class extends ContentView { return view.localPosFromDOM(node, offset) + view.posAtStart; } domAtPos(pos) { - let { i, off } = this.childCursor().findPos(pos, -1); - for (; i < this.children.length - 1; ) { - let child = this.children[i]; + let { i: i2, off } = this.childCursor().findPos(pos, -1); + for (; i2 < this.children.length - 1; ) { + let child = this.children[i2]; if (off < child.length || child instanceof LineView) break; - i++; + i2++; off = 0; } - return this.children[i].domAtPos(off); + return this.children[i2].domAtPos(off); } coordsAt(pos, side) { let best = null, bestPos = 0; - for (let off = this.length, i = this.children.length - 1; i >= 0; i--) { - let child = this.children[i], end = off - child.breakAfter, start = end - child.length; + for (let off = this.length, i2 = this.children.length - 1; i2 >= 0; i2--) { + let child = this.children[i2], end = off - child.breakAfter, start = end - child.length; if (end < pos) break; if (start <= pos && (start < pos || child.covers(-1)) && (end > pos || child.covers(1)) && (!best || child instanceof LineView && !(best instanceof LineView && side >= 0))) { @@ -13696,15 +13703,15 @@ var DocView = class extends ContentView { return best ? best.coordsAt(pos - bestPos, side) : null; } coordsForChar(pos) { - let { i, off } = this.childPos(pos, 1), child = this.children[i]; + let { i: i2, off } = this.childPos(pos, 1), child = this.children[i2]; if (!(child instanceof LineView)) return null; while (child.children.length) { - let { i: i2, off: childOff } = child.childPos(off, 1); - for (; ; i2++) { - if (i2 == child.children.length) + let { i: i3, off: childOff } = child.childPos(off, 1); + for (; ; i3++) { + if (i3 == child.children.length) return null; - if ((child = child.children[i2]).length) + if ((child = child.children[i3]).length) break; } off = childOff; @@ -13715,9 +13722,9 @@ var DocView = class extends ContentView { if (end == off) return null; let rects = textRange(child.dom, off, end).getClientRects(); - for (let i2 = 0; i2 < rects.length; i2++) { - let rect = rects[i2]; - if (i2 == rects.length - 1 || rect.top < rect.bottom && rect.left < rect.right) + for (let i3 = 0; i3 < rects.length; i3++) { + let rect = rects[i3]; + if (i3 == rects.length - 1 || rect.top < rect.bottom && rect.left < rect.right) return rect; } return null; @@ -13727,8 +13734,8 @@ var DocView = class extends ContentView { let contentWidth = this.view.contentDOM.clientWidth; let isWider = contentWidth > Math.max(this.view.scrollDOM.clientWidth, this.minWidth) + 1; let widest = -1, ltr = this.view.textDirection == Direction.LTR; - for (let pos = 0, i = 0; i < this.children.length; i++) { - let child = this.children[i], end = pos + child.length; + for (let pos = 0, i2 = 0; i2 < this.children.length; i2++) { + let child = this.children[i2], end = pos + child.length; if (end > to) break; if (pos >= from) { @@ -13754,8 +13761,8 @@ var DocView = class extends ContentView { return result; } textDirectionAt(pos) { - let { i } = this.childPos(pos, 1); - return getComputedStyle(this.children[i].dom).direction == "rtl" ? Direction.RTL : Direction.LTR; + let { i: i2 } = this.childPos(pos, 1); + return getComputedStyle(this.children[i2].dom).direction == "rtl" ? Direction.RTL : Direction.LTR; } measureTextSize() { for (let child of this.children) { @@ -13781,15 +13788,15 @@ var DocView = class extends ContentView { return { lineHeight, charWidth, textHeight }; } childCursor(pos = this.length) { - let i = this.children.length; - if (i) - pos -= this.children[--i].length; - return new ChildCursor(this.children, pos, i); + let i2 = this.children.length; + if (i2) + pos -= this.children[--i2].length; + return new ChildCursor(this.children, pos, i2); } computeBlockGapDeco() { let deco = [], vs = this.view.viewState; - for (let pos = 0, i = 0; ; i++) { - let next = i == vs.viewports.length ? null : vs.viewports[i]; + for (let pos = 0, i2 = 0; ; i2++) { + let next = i2 == vs.viewports.length ? null : vs.viewports[i2]; let end = next ? next.from - 1 : this.length; if (end > pos) { let height = (vs.lineBlockAt(end).bottom - vs.lineBlockAt(pos).top) / this.view.scaleY; @@ -13807,12 +13814,12 @@ var DocView = class extends ContentView { return Decoration.set(deco); } updateDeco() { - let allDeco = this.view.state.facet(decorations).map((d, i) => { - let dynamic = this.dynamicDecorationMap[i] = typeof d == "function"; - return dynamic ? d(this.view) : d; + let allDeco = this.view.state.facet(decorations).map((d2, i2) => { + let dynamic = this.dynamicDecorationMap[i2] = typeof d2 == "function"; + return dynamic ? d2(this.view) : d2; }); - for (let i = allDeco.length; i < allDeco.length + 3; i++) - this.dynamicDecorationMap[i] = false; + for (let i2 = allDeco.length; i2 < allDeco.length + 3; i2++) + this.dynamicDecorationMap[i2] = false; return this.decorations = [ ...allDeco, this.computeBlockGapDeco(), @@ -13949,9 +13956,9 @@ var DecorationComparator$1 = class DecorationComparator { addRange(from, to, this.changes); } }; -function findChangedDeco(a, b, diff) { +function findChangedDeco(a2, b3, diff) { let comp = new DecorationComparator$1(); - RangeSet.compare(a, b, diff, comp); + RangeSet.compare(a2, b3, diff, comp); return comp.changes; } function inUneditable(node, inside2) { @@ -14003,11 +14010,11 @@ function groupAt(state, pos, bias = 1) { function getdx(x, rect) { return rect.left > x ? rect.left - x : Math.max(0, x - rect.right); } -function getdy(y, rect) { - return rect.top > y ? rect.top - y : Math.max(0, y - rect.bottom); +function getdy(y2, rect) { + return rect.top > y2 ? rect.top - y2 : Math.max(0, y2 - rect.bottom); } -function yOverlap(a, b) { - return a.top < b.bottom - 1 && a.bottom > b.top + 1; +function yOverlap(a2, b3) { + return a2.top < b3.bottom - 1 && a2.bottom > b3.top + 1; } function upTop(rect, top2) { return top2 < rect.top ? { top: top2, left: rect.left, right: rect.right, bottom: rect.bottom } : rect; @@ -14015,31 +14022,31 @@ function upTop(rect, top2) { function upBot(rect, bottom) { return bottom > rect.bottom ? { top: rect.top, left: rect.left, right: rect.right, bottom } : rect; } -function domPosAtCoords(parent, x, y) { +function domPosAtCoords(parent, x, y2) { let closest, closestRect, closestX, closestY, closestOverlap = false; let above, below, aboveRect, belowRect; for (let child = parent.firstChild; child; child = child.nextSibling) { let rects = clientRectsFor(child); - for (let i = 0; i < rects.length; i++) { - let rect = rects[i]; + for (let i2 = 0; i2 < rects.length; i2++) { + let rect = rects[i2]; if (closestRect && yOverlap(closestRect, rect)) rect = upTop(upBot(rect, closestRect.bottom), closestRect.top); - let dx = getdx(x, rect), dy = getdy(y, rect); + let dx = getdx(x, rect), dy = getdy(y2, rect); if (dx == 0 && dy == 0) - return child.nodeType == 3 ? domPosInText(child, x, y) : domPosAtCoords(child, x, y); + return child.nodeType == 3 ? domPosInText(child, x, y2) : domPosAtCoords(child, x, y2); if (!closest || closestY > dy || closestY == dy && closestX > dx) { closest = child; closestRect = rect; closestX = dx; closestY = dy; - let side = dy ? y < rect.top ? -1 : 1 : dx ? x < rect.left ? -1 : 1 : 0; - closestOverlap = !side || (side > 0 ? i < rects.length - 1 : i > 0); + let side = dy ? y2 < rect.top ? -1 : 1 : dx ? x < rect.left ? -1 : 1 : 0; + closestOverlap = !side || (side > 0 ? i2 < rects.length - 1 : i2 > 0); } if (dx == 0) { - if (y > rect.bottom && (!aboveRect || aboveRect.bottom < rect.bottom)) { + if (y2 > rect.bottom && (!aboveRect || aboveRect.bottom < rect.bottom)) { above = child; aboveRect = rect; - } else if (y < rect.top && (!belowRect || belowRect.top > rect.top)) { + } else if (y2 < rect.top && (!belowRect || belowRect.top > rect.top)) { below = child; belowRect = rect; } @@ -14050,10 +14057,10 @@ function domPosAtCoords(parent, x, y) { } } } - if (aboveRect && aboveRect.bottom >= y) { + if (aboveRect && aboveRect.bottom >= y2) { closest = above; closestRect = aboveRect; - } else if (belowRect && belowRect.top <= y) { + } else if (belowRect && belowRect.top <= y2) { closest = below; closestRect = belowRect; } @@ -14061,34 +14068,34 @@ function domPosAtCoords(parent, x, y) { return { node: parent, offset: 0 }; let clipX = Math.max(closestRect.left, Math.min(closestRect.right, x)); if (closest.nodeType == 3) - return domPosInText(closest, clipX, y); + return domPosInText(closest, clipX, y2); if (closestOverlap && closest.contentEditable != "false") - return domPosAtCoords(closest, clipX, y); + return domPosAtCoords(closest, clipX, y2); let offset = Array.prototype.indexOf.call(parent.childNodes, closest) + (x >= (closestRect.left + closestRect.right) / 2 ? 1 : 0); return { node: parent, offset }; } -function domPosInText(node, x, y) { +function domPosInText(node, x, y2) { let len = node.nodeValue.length; let closestOffset = -1, closestDY = 1e9, generalSide = 0; - for (let i = 0; i < len; i++) { - let rects = textRange(node, i, i + 1).getClientRects(); - for (let j = 0; j < rects.length; j++) { - let rect = rects[j]; + for (let i2 = 0; i2 < len; i2++) { + let rects = textRange(node, i2, i2 + 1).getClientRects(); + for (let j3 = 0; j3 < rects.length; j3++) { + let rect = rects[j3]; if (rect.top == rect.bottom) continue; if (!generalSide) generalSide = x - rect.left; - let dy = (rect.top > y ? rect.top - y : y - rect.bottom) - 1; + let dy = (rect.top > y2 ? rect.top - y2 : y2 - rect.bottom) - 1; if (rect.left - 1 <= x && rect.right + 1 >= x && dy < closestDY) { let right = x >= (rect.left + rect.right) / 2, after = right; if (browser.chrome || browser.gecko) { - let rectBefore = textRange(node, i).getBoundingClientRect(); + let rectBefore = textRange(node, i2).getBoundingClientRect(); if (rectBefore.left == rect.right) after = !right; } if (dy <= 0) - return { node, offset: i + (after ? 1 : 0) }; - closestOffset = i + (after ? 1 : 0); + return { node, offset: i2 + (after ? 1 : 0) }; + closestOffset = i2 + (after ? 1 : 0); closestDY = dy; } } @@ -14099,7 +14106,7 @@ function posAtCoords(view, coords, precise, bias = -1) { var _a3, _b2; let content2 = view.contentDOM.getBoundingClientRect(), docTop = content2.top + view.viewState.paddingTop; let block2, { docHeight } = view.viewState; - let { x, y } = coords, yOffset = y - docTop; + let { x, y: y2 } = coords, yOffset = y2 - docTop; if (yOffset < 0) return 0; if (yOffset > docHeight) @@ -14118,31 +14125,31 @@ function posAtCoords(view, coords, precise, bias = -1) { bias = -bias; } } - y = docTop + yOffset; + y2 = docTop + yOffset; let lineStart = block2.from; if (lineStart < view.viewport.from) - return view.viewport.from == 0 ? 0 : precise ? null : posAtCoordsImprecise(view, content2, block2, x, y); + return view.viewport.from == 0 ? 0 : precise ? null : posAtCoordsImprecise(view, content2, block2, x, y2); if (lineStart > view.viewport.to) - return view.viewport.to == view.state.doc.length ? view.state.doc.length : precise ? null : posAtCoordsImprecise(view, content2, block2, x, y); + return view.viewport.to == view.state.doc.length ? view.state.doc.length : precise ? null : posAtCoordsImprecise(view, content2, block2, x, y2); let doc2 = view.dom.ownerDocument; let root = view.root.elementFromPoint ? view.root : doc2; - let element = root.elementFromPoint(x, y); + let element = root.elementFromPoint(x, y2); if (element && !view.contentDOM.contains(element)) element = null; if (!element) { x = Math.max(content2.left + 1, Math.min(content2.right - 1, x)); - element = root.elementFromPoint(x, y); + element = root.elementFromPoint(x, y2); if (element && !view.contentDOM.contains(element)) element = null; } let node, offset = -1; if (element && ((_a3 = view.docView.nearest(element)) === null || _a3 === void 0 ? void 0 : _a3.isEditable) != false) { if (doc2.caretPositionFromPoint) { - let pos = doc2.caretPositionFromPoint(x, y); + let pos = doc2.caretPositionFromPoint(x, y2); if (pos) ({ offsetNode: node, offset } = pos); } else if (doc2.caretRangeFromPoint) { - let range = doc2.caretRangeFromPoint(x, y); + let range = doc2.caretRangeFromPoint(x, y2); if (range) { ({ startContainer: node, startOffset: offset } = range); if (!view.contentDOM.contains(node) || browser.safari && isSuspiciousSafariCaretResult(node, offset, x) || browser.chrome && isSuspiciousChromeCaretResult(node, offset, x)) @@ -14154,7 +14161,7 @@ function posAtCoords(view, coords, precise, bias = -1) { let line = LineView.find(view.docView, lineStart); if (!line) return yOffset > block2.top + block2.height / 2 ? block2.to : block2.from; - ({ node, offset } = domPosAtCoords(line.dom, x, y)); + ({ node, offset } = domPosAtCoords(line.dom, x, y2)); } let nearest = view.docView.nearest(node); if (!nearest) @@ -14166,11 +14173,11 @@ function posAtCoords(view, coords, precise, bias = -1) { return nearest.localPosFromDOM(node, offset) + nearest.posAtStart; } } -function posAtCoordsImprecise(view, contentRect, block2, x, y) { +function posAtCoordsImprecise(view, contentRect, block2, x, y2) { let into = Math.round((x - contentRect.left) * view.defaultCharacterWidth); if (view.lineWrapping && block2.height > view.defaultLineHeight * 1.5) { let textHeight = view.viewState.heightOracle.textHeight; - let line = Math.floor((y - block2.top - (view.defaultLineHeight - textHeight) * 0.5) / textHeight); + let line = Math.floor((y2 - block2.top - (view.defaultLineHeight - textHeight) * 0.5) / textHeight); into += line * view.viewState.heightOracle.lineLength; } let content2 = view.state.sliceDoc(block2.from, block2.to); @@ -14202,9 +14209,9 @@ function isSuspiciousChromeCaretResult(node, offset, x) { function blockAt(view, pos) { let line = view.lineBlockAt(pos); if (Array.isArray(line.type)) - for (let l of line.type) { - if (l.to > pos || l.to == pos && (l.to == line.to || l.type == BlockType.Text)) - return l; + for (let l3 of line.type) { + if (l3.to > pos || l3.to == pos && (l3.to == line.to || l3.type == BlockType.Text)) + return l3; } return line; } @@ -14302,7 +14309,7 @@ function skipAtomicRanges(atoms2, pos, bias) { } } function skipAtoms(view, oldPos, pos) { - let newPos = skipAtomicRanges(view.state.facet(atomicRanges).map((f) => f(view)), pos.from, oldPos.head > pos.from ? -1 : 1); + let newPos = skipAtomicRanges(view.state.facet(atomicRanges).map((f3) => f3(view)), pos.from, oldPos.head > pos.from ? -1 : 1); return newPos == pos.from ? pos : EditorSelection.cursor(newPos, newPos < pos.from ? 1 : -1); } var InputState = class { @@ -14440,8 +14447,8 @@ function bindHandler(plugin, handler) { return (view, event) => { try { return handler.call(plugin, event, view); - } catch (e) { - logException(view.state, e); + } catch (e2) { + logException(view.state, e2); } }; } @@ -14454,15 +14461,15 @@ function computeHandlers(plugins) { let spec = plugin.spec; if (spec && spec.domEventHandlers) for (let type in spec.domEventHandlers) { - let f = spec.domEventHandlers[type]; - if (f) - record(type).handlers.push(bindHandler(plugin.value, f)); + let f3 = spec.domEventHandlers[type]; + if (f3) + record(type).handlers.push(bindHandler(plugin.value, f3)); } if (spec && spec.domEventObservers) for (let type in spec.domEventObservers) { - let f = spec.domEventObservers[type]; - if (f) - record(type).observers.push(bindHandler(plugin.value, f)); + let f3 = spec.domEventObservers[type]; + if (f3) + record(type).observers.push(bindHandler(plugin.value, f3)); } } for (let type in handlers) @@ -14483,8 +14490,8 @@ var dragScrollMargin = 6; function dragScrollSpeed(dist2) { return Math.max(0, dist2) * 0.7 + 8; } -function dist(a, b) { - return Math.max(Math.abs(a.clientX - b.clientX), Math.abs(a.clientY - b.clientY)); +function dist(a2, b3) { + return Math.max(Math.abs(a2.clientX - b3.clientX), Math.abs(a2.clientY - b3.clientY)); } var MouseSelection = class { constructor(view, startEvent, style, mustSelect) { @@ -14496,7 +14503,7 @@ var MouseSelection = class { this.scrolling = -1; this.lastEvent = startEvent; this.scrollParent = scrollableParent(view.contentDOM); - this.atoms = view.state.facet(atomicRanges).map((f) => f(view)); + this.atoms = view.state.facet(atomicRanges).map((f3) => f3(view)); let doc2 = view.contentDOM.ownerDocument; doc2.addEventListener("mousemove", this.move = this.move.bind(this)); doc2.addEventListener("mouseup", this.up = this.up.bind(this)); @@ -14564,8 +14571,8 @@ var MouseSelection = class { } skipAtoms(sel) { let ranges = null; - for (let i = 0; i < sel.ranges.length; i++) { - let range = sel.ranges[i], updated = null; + for (let i2 = 0; i2 < sel.ranges.length; i2++) { + let range = sel.ranges[i2], updated = null; if (range.empty) { let pos = skipAtomicRanges(this.atoms, range.from, 0); if (pos != range.from) @@ -14579,7 +14586,7 @@ var MouseSelection = class { if (updated) { if (!ranges) ranges = sel.ranges.slice(); - ranges[i] = updated; + ranges[i2] = updated; } } return ranges ? EditorSelection.create(ranges, sel.mainIndex) : sel; @@ -14614,8 +14621,8 @@ function isInPrimarySelection(view, event) { if (!sel || sel.rangeCount == 0) return true; let rects = sel.getRangeAt(0).getClientRects(); - for (let i = 0; i < rects.length; i++) { - let rect = rects[i]; + for (let i2 = 0; i2 < rects.length; i2++) { + let rect = rects[i2]; if (rect.left <= event.clientX && rect.right >= event.clientX && rect.top <= event.clientY && rect.bottom >= event.clientY) return true; } @@ -14648,7 +14655,7 @@ function capturePaste(view) { }, 50); } function doPaste(view, input) { - let { state } = view, changes, i = 1, text = state.toText(input); + let { state } = view, changes, i2 = 1, text = state.toText(input); let byLine = text.lines == state.selection.ranges.length; let linewise = lastLinewiseCopy != null && state.selection.ranges.every((r2) => r2.empty) && lastLinewiseCopy == text.toString(); if (linewise) { @@ -14658,7 +14665,7 @@ function doPaste(view, input) { if (line.from == lastLine) return { range }; lastLine = line.from; - let insert2 = state.toText((byLine ? text.line(i++).text : input) + state.lineBreak); + let insert2 = state.toText((byLine ? text.line(i2++).text : input) + state.lineBreak); return { changes: { from: line.from, insert: insert2 }, range: EditorSelection.cursor(range.from + insert2.length) @@ -14666,7 +14673,7 @@ function doPaste(view, input) { }); } else if (byLine) { changes = state.changeByRange((range) => { - let line = text.line(i++); + let line = text.line(i2++); return { changes: { from: range.from, to: range.to, insert: line.text }, range: EditorSelection.cursor(range.from + line.length) @@ -14690,7 +14697,7 @@ handlers.keydown = (view, event) => { view.inputState.lastEscPress = Date.now(); return false; }; -observers.touchstart = (view, e) => { +observers.touchstart = (view, e2) => { view.inputState.lastTouchTime = Date.now(); view.inputState.setSelectionOrigin("select.pointer"); }; @@ -14735,9 +14742,9 @@ function rangeForClick(view, pos, bias, type) { return EditorSelection.range(from, to); } } -var insideY = (y, rect) => y >= rect.top && y <= rect.bottom; -var inside = (x, y, rect) => insideY(y, rect) && x >= rect.left && x <= rect.right; -function findPositionSide(view, pos, x, y) { +var insideY = (y2, rect) => y2 >= rect.top && y2 <= rect.bottom; +var inside = (x, y2, rect) => insideY(y2, rect) && x >= rect.left && x <= rect.right; +function findPositionSide(view, pos, x, y2) { let line = LineView.find(view.docView, pos); if (!line) return 1; @@ -14747,12 +14754,12 @@ function findPositionSide(view, pos, x, y) { if (off == line.length) return -1; let before = line.coordsAt(off, -1); - if (before && inside(x, y, before)) + if (before && inside(x, y2, before)) return -1; let after = line.coordsAt(off, 1); - if (after && inside(x, y, after)) + if (after && inside(x, y2, after)) return 1; - return before && insideY(y, before) ? -1 : 1; + return before && insideY(y2, before) ? -1 : 1; } function queryPos(view, event) { let pos = view.posAtCoords({ x: event.clientX, y: event.clientY }, false); @@ -14800,10 +14807,10 @@ function basicMouseSelection(view, event) { }; } function removeRangeAround(sel, pos) { - for (let i = 0; i < sel.ranges.length; i++) { - let { from, to } = sel.ranges[i]; + for (let i2 = 0; i2 < sel.ranges.length; i2++) { + let { from, to } = sel.ranges[i2]; if (from <= pos && to >= pos) - return EditorSelection.create(sel.ranges.slice(0, i).concat(sel.ranges.slice(i + 1)), sel.mainIndex == i ? 0 : sel.mainIndex - (sel.mainIndex > i ? 1 : 0)); + return EditorSelection.create(sel.ranges.slice(0, i2).concat(sel.ranges.slice(i2 + 1)), sel.mainIndex == i2 ? 0 : sel.mainIndex - (sel.mainIndex > i2 ? 1 : 0)); } return null; } @@ -14857,17 +14864,17 @@ handlers.drop = (view, event) => { let text = Array(files.length), read = 0; let finishFile = () => { if (++read == files.length) - dropText(view, event, text.filter((s) => s != null).join(view.state.lineBreak), false); + dropText(view, event, text.filter((s2) => s2 != null).join(view.state.lineBreak), false); }; - for (let i = 0; i < files.length; i++) { + for (let i2 = 0; i2 < files.length; i2++) { let reader = new FileReader(); reader.onerror = finishFile; reader.onload = () => { if (!/[\x00-\x08\x0e-\x1f]{2}/.test(reader.result)) - text[i] = reader.result; + text[i2] = reader.result; finishFile(); }; - reader.readAsText(files[i]); + reader.readAsText(files[i2]); } return true; } else { @@ -15072,13 +15079,13 @@ var HeightOracle = class { } mustRefreshForHeights(lineHeights) { let newHeight = false; - for (let i = 0; i < lineHeights.length; i++) { - let h = lineHeights[i]; - if (h < 0) { - i++; - } else if (!this.heightSamples[Math.floor(h * 10)]) { + for (let i2 = 0; i2 < lineHeights.length; i2++) { + let h3 = lineHeights[i2]; + if (h3 < 0) { + i2++; + } else if (!this.heightSamples[Math.floor(h3 * 10)]) { newHeight = true; - this.heightSamples[Math.floor(h * 10)] = true; + this.heightSamples[Math.floor(h3 * 10)] = true; } } return newHeight; @@ -15093,12 +15100,12 @@ var HeightOracle = class { this.lineLength = lineLength; if (changed) { this.heightSamples = {}; - for (let i = 0; i < knownHeights.length; i++) { - let h = knownHeights[i]; - if (h < 0) - i++; + for (let i2 = 0; i2 < knownHeights.length; i2++) { + let h3 = knownHeights[i2]; + if (h3 < 0) + i2++; else - this.heightSamples[Math.floor(h * 10)] = true; + this.heightSamples[Math.floor(h3 * 10)] = true; } } return changed; @@ -15207,16 +15214,16 @@ var HeightMap = class _HeightMap { } applyChanges(decorations2, oldDoc, oracle, changes) { let me = this, doc2 = oracle.doc; - for (let i = changes.length - 1; i >= 0; i--) { - let { fromA, toA, fromB, toB } = changes[i]; + for (let i2 = changes.length - 1; i2 >= 0; i2--) { + let { fromA, toA, fromB, toB } = changes[i2]; let start = me.lineAt(fromA, QueryType.ByPosNoHeight, oracle.setDoc(oldDoc), 0, 0); let end = start.to >= toA ? start : me.lineAt(toA, QueryType.ByPosNoHeight, oracle, 0, 0); toB += end.to - toA; toA = end.to; - while (i > 0 && start.from <= changes[i - 1].toA) { - fromA = changes[i - 1].fromA; - fromB = changes[i - 1].fromB; - i--; + while (i2 > 0 && start.from <= changes[i2 - 1].toA) { + fromA = changes[i2 - 1].fromA; + fromB = changes[i2 - 1].fromB; + i2--; if (fromA < start.from) start = me.lineAt(fromA, QueryType.ByPosNoHeight, oracle, 0, 0); } @@ -15237,47 +15244,47 @@ var HeightMap = class _HeightMap { static of(nodes) { if (nodes.length == 1) return nodes[0]; - let i = 0, j = nodes.length, before = 0, after = 0; + let i2 = 0, j3 = nodes.length, before = 0, after = 0; for (; ; ) { - if (i == j) { + if (i2 == j3) { if (before > after * 2) { - let split = nodes[i - 1]; + let split = nodes[i2 - 1]; if (split.break) - nodes.splice(--i, 1, split.left, null, split.right); + nodes.splice(--i2, 1, split.left, null, split.right); else - nodes.splice(--i, 1, split.left, split.right); - j += 1 + split.break; + nodes.splice(--i2, 1, split.left, split.right); + j3 += 1 + split.break; before -= split.size; } else if (after > before * 2) { - let split = nodes[j]; + let split = nodes[j3]; if (split.break) - nodes.splice(j, 1, split.left, null, split.right); + nodes.splice(j3, 1, split.left, null, split.right); else - nodes.splice(j, 1, split.left, split.right); - j += 2 + split.break; + nodes.splice(j3, 1, split.left, split.right); + j3 += 2 + split.break; after -= split.size; } else { break; } } else if (before < after) { - let next = nodes[i++]; + let next = nodes[i2++]; if (next) before += next.size; } else { - let next = nodes[--j]; + let next = nodes[--j3]; if (next) after += next.size; } } let brk = 0; - if (nodes[i - 1] == null) { + if (nodes[i2 - 1] == null) { brk = 1; - i--; - } else if (nodes[i] == null) { + i2--; + } else if (nodes[i2] == null) { brk = 1; - j++; + j3++; } - return new HeightMapBranch(_HeightMap.of(nodes.slice(0, i)), brk, _HeightMap.of(nodes.slice(j))); + return new HeightMapBranch(_HeightMap.of(nodes.slice(0, i2)), brk, _HeightMap.of(nodes.slice(j3))); } }; HeightMap.prototype.size = 1; @@ -15292,9 +15299,9 @@ var HeightMapBlock = class extends HeightMap { lineAt(_value, _type, oracle, top2, offset) { return this.blockAt(0, oracle, top2, offset); } - forEachLine(from, to, oracle, top2, offset, f) { + forEachLine(from, to, oracle, top2, offset, f3) { if (from <= offset + this.length && to >= offset) - f(this.blockAt(0, oracle, top2, offset)); + f3(this.blockAt(0, oracle, top2, offset)); } updateHeight(oracle, offset = 0, _force = false, measured) { if (measured && measured.from <= offset && measured.more) @@ -15386,7 +15393,7 @@ var HeightMapGap = class _HeightMapGap extends HeightMap { let lineTop = top2 + perLine * linesAbove + perChar * (line.from - offset - linesAbove); return new BlockInfo(line.from, line.length, Math.max(top2, Math.min(lineTop, top2 + this.height - lineHeight)), lineHeight, 0); } - forEachLine(from, to, oracle, top2, offset, f) { + forEachLine(from, to, oracle, top2, offset, f3) { from = Math.max(from, offset); to = Math.min(to, offset + this.length); let { firstLine, perLine, perChar } = this.heightMetrics(oracle, offset); @@ -15397,7 +15404,7 @@ var HeightMapGap = class _HeightMapGap extends HeightMap { lineTop += perLine * linesAbove + perChar * (from - offset - linesAbove); } let lineHeight = perLine + perChar * line.length; - f(new BlockInfo(line.from, line.length, lineTop, lineHeight, 0)); + f3(new BlockInfo(line.from, line.length, lineTop, lineHeight, 0)); lineTop += lineHeight; pos = line.to + 1; } @@ -15488,21 +15495,21 @@ var HeightMapBranch = class extends HeightMap { else return this.left.lineAt(rightOffset, subQuery, oracle, top2, offset).join(base2); } - forEachLine(from, to, oracle, top2, offset, f) { + forEachLine(from, to, oracle, top2, offset, f3) { let rightTop = top2 + this.left.height, rightOffset = offset + this.left.length + this.break; if (this.break) { if (from < rightOffset) - this.left.forEachLine(from, to, oracle, top2, offset, f); + this.left.forEachLine(from, to, oracle, top2, offset, f3); if (to >= rightOffset) - this.right.forEachLine(from, to, oracle, rightTop, rightOffset, f); + this.right.forEachLine(from, to, oracle, rightTop, rightOffset, f3); } else { let mid = this.lineAt(rightOffset, QueryType.ByPos, oracle, top2, offset); if (from < mid.from) - this.left.forEachLine(from, mid.from - 1, oracle, top2, offset, f); + this.left.forEachLine(from, mid.from - 1, oracle, top2, offset, f3); if (mid.to >= from && mid.from <= to) - f(mid); + f3(mid); if (to > mid.to) - this.right.forEachLine(mid.to + 1, to, oracle, rightTop, rightOffset, f); + this.right.forEachLine(mid.to + 1, to, oracle, rightTop, rightOffset, f3); } } replace(from, to, nodes) { @@ -15706,9 +15713,9 @@ var NodeBuilder = class _NodeBuilder { return builder.finish(from); } }; -function heightRelevantDecoChanges(a, b, diff) { +function heightRelevantDecoChanges(a2, b3, diff) { let comp = new DecorationComparator2(); - RangeSet.compare(a, b, diff, comp, 0); + RangeSet.compare(a2, b3, diff, comp, 0); return comp.changes; } var DecorationComparator2 = class { @@ -15717,8 +15724,8 @@ var DecorationComparator2 = class { } compareRange() { } - comparePoint(from, to, a, b) { - if (from < to || a && a.heightRelevant || b && b.heightRelevant) + comparePoint(from, to, a2, b3) { + if (from < to || a2 && a2.heightRelevant || b3 && b3.heightRelevant) addRange(from, to, this.changes, 5); } }; @@ -15767,11 +15774,11 @@ var LineGap = class { this.to = to; this.size = size; } - static same(a, b) { - if (a.length != b.length) + static same(a2, b3) { + if (a2.length != b3.length) return false; - for (let i = 0; i < a.length; i++) { - let gA = a[i], gB = b[i]; + for (let i2 = 0; i2 < a2.length; i2++) { + let gA = a2[i2], gB = b3[i2]; if (gA.from != gB.from || gA.to != gB.to || gA.size != gB.size) return false; } @@ -15831,9 +15838,9 @@ var ViewState = class { this.defaultTextDirection = Direction.LTR; this.visibleRanges = []; this.mustEnforceCursorAssoc = false; - let guessWrapping = state.facet(contentAttributes).some((v) => typeof v != "function" && v.class == "cm-lineWrapping"); + let guessWrapping = state.facet(contentAttributes).some((v2) => typeof v2 != "function" && v2.class == "cm-lineWrapping"); this.heightOracle = new HeightOracle(guessWrapping); - this.stateDeco = state.facet(decorations).filter((d) => typeof d != "function"); + this.stateDeco = state.facet(decorations).filter((d2) => typeof d2 != "function"); this.heightMap = HeightMap.empty().applyChanges(this.stateDeco, Text2.empty, this.heightOracle.setDoc(state.doc), [new ChangedRange(0, 0, 0, state.doc.length)]); this.viewport = this.getViewport(0, null); this.updateViewportLines(); @@ -15844,14 +15851,14 @@ var ViewState = class { } updateForViewport() { let viewports = [this.viewport], { main } = this.state.selection; - for (let i = 0; i <= 1; i++) { - let pos = i ? main.head : main.anchor; + for (let i2 = 0; i2 <= 1; i2++) { + let pos = i2 ? main.head : main.anchor; if (!viewports.some(({ from, to }) => pos >= from && pos <= to)) { let { from, to } = this.lineBlockAt(pos); viewports.push(new Viewport(from, to)); } } - this.viewports = viewports.sort((a, b) => a.from - b.from); + this.viewports = viewports.sort((a2, b3) => a2.from - b3.from); this.scaler = this.heightMap.height <= 7e6 ? IdScaler : new BigScaler(this.heightOracle, this.heightMap, this.viewports); } updateViewportLines() { @@ -15863,7 +15870,7 @@ var ViewState = class { update(update, scrollTarget = null) { this.state = update.state; let prevDeco = this.stateDeco; - this.stateDeco = this.state.facet(decorations).filter((d) => typeof d != "function"); + this.stateDeco = this.state.facet(decorations).filter((d2) => typeof d2 != "function"); let contentChanges = update.changedRanges; let heightChanges = ChangedRange.extendWithRanges(contentChanges, heightRelevantDecoChanges(prevDeco, this.stateDeco, update ? update.changes : ChangeSet.empty(this.state.doc.length))); let prevHeight = this.heightMap.height; @@ -16160,12 +16167,12 @@ var ViewState = class { point() { } }, 20); - let changed = ranges.length != this.visibleRanges.length || this.visibleRanges.some((r2, i) => r2.from != ranges[i].from || r2.to != ranges[i].to); + let changed = ranges.length != this.visibleRanges.length || this.visibleRanges.some((r2, i2) => r2.from != ranges[i2].from || r2.to != ranges[i2].to); this.visibleRanges = ranges; return changed ? 4 : 0; } lineBlockAt(pos) { - return pos >= this.viewport.from && pos <= this.viewport.to && this.viewportLines.find((b) => b.from <= pos && b.to >= pos) || scaleBlock(this.heightMap.lineAt(pos, QueryType.ByPos, this.heightOracle, 0, 0), this.scaler); + return pos >= this.viewport.from && pos <= this.viewport.to && this.viewportLines.find((b3) => b3.from <= pos && b3.to >= pos) || scaleBlock(this.heightMap.lineAt(pos, QueryType.ByPos, this.heightOracle, 0, 0), this.scaler); } lineBlockAtHeight(height) { return scaleBlock(this.heightMap.lineAt(this.scaler.fromDOM(height), QueryType.ByHeight, this.heightOracle, 0, 0), this.scaler); @@ -16215,8 +16222,8 @@ function findPosition({ total, ranges }, ratio) { if (ratio >= 1) return ranges[ranges.length - 1].to; let dist2 = Math.floor(total * ratio); - for (let i = 0; ; i++) { - let { from, to } = ranges[i], size = to - from; + for (let i2 = 0; ; i2++) { + let { from, to } = ranges[i2], size = to - from; if (dist2 <= size) return from + dist2; dist2 -= size; @@ -16233,18 +16240,18 @@ function findFraction(structure, pos) { } return counted / structure.total; } -function find(array, f) { +function find(array, f3) { for (let val of array) - if (f(val)) + if (f3(val)) return val; return void 0; } var IdScaler = { - toDOM(n) { - return n; + toDOM(n3) { + return n3; }, - fromDOM(n) { - return n; + fromDOM(n3) { + return n3; }, scale: 1 }; @@ -16264,24 +16271,24 @@ var BigScaler = class { base2 = obj.bottom; } } - toDOM(n) { - for (let i = 0, base2 = 0, domBase = 0; ; i++) { - let vp = i < this.viewports.length ? this.viewports[i] : null; - if (!vp || n < vp.top) - return domBase + (n - base2) * this.scale; - if (n <= vp.bottom) - return vp.domTop + (n - vp.top); + toDOM(n3) { + for (let i2 = 0, base2 = 0, domBase = 0; ; i2++) { + let vp = i2 < this.viewports.length ? this.viewports[i2] : null; + if (!vp || n3 < vp.top) + return domBase + (n3 - base2) * this.scale; + if (n3 <= vp.bottom) + return vp.domTop + (n3 - vp.top); base2 = vp.bottom; domBase = vp.domBottom; } } - fromDOM(n) { - for (let i = 0, base2 = 0, domBase = 0; ; i++) { - let vp = i < this.viewports.length ? this.viewports[i] : null; - if (!vp || n < vp.domTop) - return base2 + (n - domBase) / this.scale; - if (n <= vp.domBottom) - return vp.top + (n - vp.domTop); + fromDOM(n3) { + for (let i2 = 0, base2 = 0, domBase = 0; ; i2++) { + let vp = i2 < this.viewports.length ? this.viewports[i2] : null; + if (!vp || n3 < vp.domTop) + return base2 + (n3 - domBase) / this.scale; + if (n3 <= vp.domBottom) + return vp.top + (n3 - vp.domTop); base2 = vp.bottom; domBase = vp.domBottom; } @@ -16291,7 +16298,7 @@ function scaleBlock(block2, scaler) { if (scaler.scale == 1) return block2; let bTop = scaler.toDOM(block2.top), bBottom = scaler.toDOM(block2.bottom); - return new BlockInfo(block2.from, block2.length, bTop, bBottom - bTop, Array.isArray(block2._content) ? block2._content.map((b) => scaleBlock(b, scaler)) : block2._content); + return new BlockInfo(block2.from, block2.length, bTop, bBottom - bTop, Array.isArray(block2._content) ? block2._content.map((b3) => scaleBlock(b3, scaler)) : block2._content); } var theme = /* @__PURE__ */ Facet.define({ combine: (strs) => strs.join(" ") }); var darkTheme = /* @__PURE__ */ Facet.define({ combine: (values2) => values2.indexOf(true) > -1 }); @@ -16302,12 +16309,12 @@ var lightDarkIDs = { "&light": "." + baseLightID, "&dark": "." + baseDarkID }; function buildTheme(main, spec, scopes) { return new StyleModule(spec, { finish(sel) { - return /&/.test(sel) ? sel.replace(/&\w*/, (m) => { - if (m == "&") + return /&/.test(sel) ? sel.replace(/&\w*/, (m2) => { + if (m2 == "&") return main; - if (!scopes || !scopes[m]) - throw new RangeError(`Unsupported selector: ${m}`); - return scopes[m]; + if (!scopes || !scopes[m2]) + throw new RangeError(`Unsupported selector: ${m2}`); + return scopes[m2]; }) : main + " " + sel; } }); @@ -16417,6 +16424,13 @@ var baseTheme$1 = /* @__PURE__ */ buildTheme("." + baseThemeID, { "&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor": { display: "block" }, + ".cm-announced": { + position: "fixed", + top: "-10000px" + }, + "@media print": { + ".cm-announced": { display: "none" } + }, "&light .cm-activeLine": { backgroundColor: "#cceeff44" }, "&dark .cm-activeLine": { backgroundColor: "#99eeff33" }, "&light .cm-specialChar": { color: "red" }, @@ -16585,14 +16599,14 @@ var DOMReader = class { for (let point of this.points) if (point.node == node) point.pos = this.text.length + Math.min(point.offset, text.length); - for (let off = 0, re = this.lineSeparator ? null : /\r\n?|\n/g; ; ) { - let nextBreak = -1, breakSize = 1, m; + for (let off = 0, re2 = this.lineSeparator ? null : /\r\n?|\n/g; ; ) { + let nextBreak = -1, breakSize = 1, m2; if (this.lineSeparator) { nextBreak = text.indexOf(this.lineSeparator, off); breakSize = this.lineSeparator.length; - } else if (m = re.exec(text)) { - nextBreak = m.index; - breakSize = m[0].length; + } else if (m2 = re2.exec(text)) { + nextBreak = m2.index; + breakSize = m2[0].length; } this.append(text.slice(off, nextBreak < 0 ? text.length : nextBreak)); if (nextBreak < 0) @@ -16613,11 +16627,11 @@ var DOMReader = class { let fromView = view && view.overrideDOMText; if (fromView != null) { this.findPointInside(node, fromView.length); - for (let i = fromView.iter(); !i.next().done; ) { - if (i.lineBreak) + for (let i2 = fromView.iter(); !i2.next().done; ) { + if (i2.lineBreak) this.lineBreak(); else - this.append(i.value); + this.append(i2.value); } } else if (node.nodeType == 3) { this.readTextNode(node); @@ -16734,7 +16748,7 @@ function applyDOMChange(view, domChange) { view.inputState.composing++; let defaultTr; let defaultInsert = () => defaultTr || (defaultTr = applyDefaultInsert(view, change, newSel)); - if (!view.state.facet(inputHandler).some((h) => h(view, change.from, change.to, text, defaultInsert))) + if (!view.state.facet(inputHandler).some((h3) => h3(view, change.from, change.to, text, defaultInsert))) view.dispatch(defaultInsert()); return true; } else if (newSel && !newSel.main.eq(sel)) { @@ -16803,15 +16817,15 @@ function applyDefaultInsert(view, change, newSel) { } return startState.update(tr, { userEvent, scrollIntoView: true }); } -function findDiff(a, b, preferredPos, preferredSide) { - let minLen = Math.min(a.length, b.length); +function findDiff(a2, b3, preferredPos, preferredSide) { + let minLen = Math.min(a2.length, b3.length); let from = 0; - while (from < minLen && a.charCodeAt(from) == b.charCodeAt(from)) + while (from < minLen && a2.charCodeAt(from) == b3.charCodeAt(from)) from++; - if (from == minLen && a.length == b.length) + if (from == minLen && a2.length == b3.length) return null; - let toA = a.length, toB = b.length; - while (toA > 0 && toB > 0 && a.charCodeAt(toA - 1) == b.charCodeAt(toB - 1)) { + let toA = a2.length, toB = b3.length; + while (toA > 0 && toB > 0 && a2.charCodeAt(toA - 1) == b3.charCodeAt(toB - 1)) { toA--; toB--; } @@ -16819,7 +16833,7 @@ function findDiff(a, b, preferredPos, preferredSide) { let adjust = Math.max(0, from - Math.min(toA, toB)); preferredPos -= toA + adjust - from; } - if (toA < from && a.length < b.length) { + if (toA < from && a2.length < b3.length) { let move = preferredPos <= from && preferredPos >= toA ? from - preferredPos : 0; from -= move; toB = from + (toB - toA); @@ -16881,7 +16895,7 @@ var DOMObserver = class { this.observer = new MutationObserver((mutations) => { for (let mut of mutations) this.queue.push(mut); - if ((browser.ie && browser.ie_version <= 11 || browser.ios && view.composing) && mutations.some((m) => m.type == "childList" && m.removedNodes.length || m.type == "characterData" && m.oldValue.length > m.target.nodeValue.length)) + if ((browser.ie && browser.ie_version <= 11 || browser.ios && view.composing) && mutations.some((m2) => m2.type == "childList" && m2.removedNodes.length || m2.type == "characterData" && m2.oldValue.length > m2.target.nodeValue.length)) this.flushSoon(); else this.flush(); @@ -16928,15 +16942,15 @@ var DOMObserver = class { this.listenForScroll(); this.readSelectionRange(); } - onScrollChanged(e) { - this.view.inputState.runHandlers("scroll", e); + onScrollChanged(e2) { + this.view.inputState.runHandlers("scroll", e2); if (this.intersecting) this.view.measure(); } - onScroll(e) { + onScroll(e2) { if (this.intersecting) this.flush(false); - this.onScrollChanged(e); + this.onScrollChanged(e2); } onResize() { if (this.resizeTimeout < 0) @@ -16954,7 +16968,7 @@ var DOMObserver = class { }, 500); } updateGaps(gaps) { - if (this.gapIntersection && (gaps.length != this.gaps.length || this.gaps.some((g, i) => g != gaps[i]))) { + if (this.gapIntersection && (gaps.length != this.gaps.length || this.gaps.some((g2, i2) => g2 != gaps[i2]))) { this.gapIntersection.disconnect(); for (let gap of gaps) this.gapIntersection.observe(gap); @@ -17005,13 +17019,13 @@ var DOMObserver = class { } listenForScroll() { this.parentCheck = -1; - let i = 0, changed = null; + let i2 = 0, changed = null; for (let dom = this.dom; dom; ) { if (dom.nodeType == 1) { - if (!changed && i < this.scrollTargets.length && this.scrollTargets[i] == dom) - i++; + if (!changed && i2 < this.scrollTargets.length && this.scrollTargets[i2] == dom) + i2++; else if (!changed) - changed = this.scrollTargets.slice(0, i); + changed = this.scrollTargets.slice(0, i2); if (changed) changed.push(dom); dom = dom.assignedSlot || dom.parentNode; @@ -17021,8 +17035,8 @@ var DOMObserver = class { break; } } - if (i < this.scrollTargets.length && !changed) - changed = this.scrollTargets.slice(0, i); + if (i2 < this.scrollTargets.length && !changed) + changed = this.scrollTargets.slice(0, i2); if (changed) { for (let dom of this.scrollTargets) dom.removeEventListener("scroll", this.onScroll); @@ -17030,12 +17044,12 @@ var DOMObserver = class { dom.addEventListener("scroll", this.onScroll); } } - ignore(f) { + ignore(f3) { if (!this.active) - return f(); + return f3(); try { this.stop(); - return f(); + return f3(); } finally { this.start(); this.clear(); @@ -17341,7 +17355,7 @@ var EditorView = class _EditorView { this.scrollDOM.className = "cm-scroller"; this.scrollDOM.appendChild(this.contentDOM); this.announceDOM = document.createElement("div"); - this.announceDOM.style.cssText = "position: fixed; top: -10000px"; + this.announceDOM.className = "cm-announced"; this.announceDOM.setAttribute("aria-live", "polite"); this.dom = document.createElement("div"); this.dom.appendChild(this.announceDOM); @@ -17426,9 +17440,9 @@ var EditorView = class _EditorView { let { main } = tr.state.selection; scrollTarget = new ScrollTarget(main.empty ? main : EditorSelection.cursor(main.head, main.head > main.anchor ? -1 : 1)); } - for (let e of tr.effects) - if (e.is(scrollIntoView)) - scrollTarget = e.value.clip(this.state); + for (let e2 of tr.effects) + if (e2.is(scrollIntoView)) + scrollTarget = e2.value.clip(this.state); } this.viewState.update(update, scrollTarget); this.bidiCache = CachedOrder.update(this.bidiCache, update.changes); @@ -17453,8 +17467,8 @@ var EditorView = class _EditorView { for (let listener of this.state.facet(updateListener)) { try { listener(update); - } catch (e) { - logException(this.state, e, "update listener"); + } catch (e2) { + logException(this.state, e2, "update listener"); } } if (dispatchFocus || domChange) @@ -17491,6 +17505,7 @@ var EditorView = class _EditorView { this.pluginMap.clear(); for (let plugin of this.plugins) plugin.update(this); + this.docView.destroy(); this.docView = new DocView(this); this.inputState.ensureHandlers(this.plugins); this.mountStyles(); @@ -17523,11 +17538,11 @@ var EditorView = class _EditorView { this.plugins = newPlugins; this.pluginMap.clear(); } else { - for (let p of this.plugins) - p.mustUpdate = update; + for (let p2 of this.plugins) + p2.mustUpdate = update; } - for (let i = 0; i < this.plugins.length; i++) - this.plugins[i].update(this); + for (let i2 = 0; i2 < this.plugins.length; i2++) + this.plugins[i2].update(this); if (prevSpecs != specs) this.inputState.ensureHandlers(this.plugins); } @@ -17554,7 +17569,7 @@ var EditorView = class _EditorView { scrollAnchorHeight = -1; this.viewState.scrollAnchorHeight = -1; try { - for (let i = 0; ; i++) { + for (let i2 = 0; ; i2++) { if (scrollAnchorHeight < 0) { if (isScrolledToBottom(sDOM)) { scrollAnchorPos = -1; @@ -17569,18 +17584,18 @@ var EditorView = class _EditorView { let changed = this.viewState.measure(this); if (!changed && !this.measureRequests.length && this.viewState.scrollTarget == null) break; - if (i > 5) { + if (i2 > 5) { console.warn(this.measureRequests.length ? "Measure loop restarted more than 5 times" : "Viewport failed to stabilize"); break; } let measuring = []; if (!(changed & 4)) [this.measureRequests, measuring] = [measuring, this.measureRequests]; - let measured = measuring.map((m) => { + let measured = measuring.map((m2) => { try { - return m.read(this); - } catch (e) { - logException(this.state, e); + return m2.read(this); + } catch (e2) { + logException(this.state, e2); return BadMeasure; } }); @@ -17597,14 +17612,14 @@ var EditorView = class _EditorView { this.updateAttrs(); redrawn = this.docView.update(update); } - for (let i2 = 0; i2 < measuring.length; i2++) - if (measured[i2] != BadMeasure) { + for (let i3 = 0; i3 < measuring.length; i3++) + if (measured[i3] != BadMeasure) { try { - let m = measuring[i2]; - if (m.write) - m.write(measured[i2], this); - } catch (e) { - logException(this.state, e); + let m2 = measuring[i3]; + if (m2.write) + m2.write(measured[i3], this); + } catch (e2) { + logException(this.state, e2); } } if (redrawn) @@ -17708,9 +17723,9 @@ var EditorView = class _EditorView { if (this.measureRequests.indexOf(request) > -1) return; if (request.key != null) - for (let i = 0; i < this.measureRequests.length; i++) { - if (this.measureRequests[i].key === request.key) { - this.measureRequests[i] = request; + for (let i2 = 0; i2 < this.measureRequests.length; i2++) { + if (this.measureRequests[i2].key === request.key) { + this.measureRequests[i2] = request; return; } } @@ -17726,7 +17741,7 @@ var EditorView = class _EditorView { plugin(plugin) { let known = this.pluginMap.get(plugin); if (known === void 0 || known && known.spec != plugin) - this.pluginMap.set(plugin, known = this.plugins.find((p) => p.spec == plugin) || null); + this.pluginMap.set(plugin, known = this.plugins.find((p2) => p2.spec == plugin) || null); return known && known.update(this).value; } /** @@ -18015,6 +18030,7 @@ var EditorView = class _EditorView { plugin.destroy(this); this.plugins = []; this.inputState.destroy(); + this.docView.destroy(); this.dom.remove(); this.observer.destroy(); if (this.measureScheduled > -1) @@ -18150,11 +18166,11 @@ var CachedOrder = class _CachedOrder { this.order = order; } static update(cache3, changes) { - if (changes.empty && !cache3.some((c) => c.fresh)) + if (changes.empty && !cache3.some((c2) => c2.fresh)) return cache3; let result = [], lastDir = cache3.length ? cache3[cache3.length - 1].dir : Direction.LTR; - for (let i = Math.max(0, cache3.length - 10); i < cache3.length; i++) { - let entry = cache3[i]; + for (let i2 = Math.max(0, cache3.length - 10); i2 < cache3.length; i2++) { + let entry = cache3[i2]; if (entry.dir == lastDir && !changes.touchesRange(entry.from, entry.to)) result.push(new _CachedOrder(changes.mapPos(entry.from, 1), changes.mapPos(entry.to, -1), entry.dir, entry.isolates, false, entry.order)); } @@ -18162,8 +18178,8 @@ var CachedOrder = class _CachedOrder { } }; function attrsFromFacet(view, facet, base2) { - for (let sources = view.state.facet(facet), i = sources.length - 1; i >= 0; i--) { - let source = sources[i], value = typeof source == "function" ? source(view) : source; + for (let sources = view.state.facet(facet), i2 = sources.length - 1; i2 >= 0; i2--) { + let source = sources[i2], value = typeof source == "function" ? source(view) : source; if (value) combineAttrs(value, base2); } @@ -18176,8 +18192,8 @@ function normalizeKeyName(name2, platform) { if (result == "Space") result = " "; let alt, ctrl, shift2, meta2; - for (let i = 0; i < parts.length - 1; ++i) { - const mod = parts[i]; + for (let i2 = 0; i2 < parts.length - 1; ++i2) { + const mod = parts[i2]; if (/^(cmd|meta|m)$/i.test(mod)) meta2 = true; else if (/^a(lt)?$/i.test(mod)) @@ -18226,7 +18242,7 @@ function getKeymap(state) { let bindings = state.facet(keymap); let map = Keymaps.get(bindings); if (!map) - Keymaps.set(bindings, map = buildKeymap(bindings.reduce((a, b) => a.concat(b), []))); + Keymaps.set(bindings, map = buildKeymap(bindings.reduce((a2, b3) => a2.concat(b3), []))); return map; } function runScopeHandlers(view, event, scope) { @@ -18248,8 +18264,8 @@ function buildKeymap(bindings, platform = currentPlatform) { var _a3, _b2; let scopeObj = bound[scope] || (bound[scope] = /* @__PURE__ */ Object.create(null)); let parts = key.split(/ (?!$)/).map((k) => normalizeKeyName(k, platform)); - for (let i = 1; i < parts.length; i++) { - let prefix = parts.slice(0, i).join(" "); + for (let i2 = 1; i2 < parts.length; i2++) { + let prefix = parts.slice(0, i2).join(" "); checkPrefix(prefix, true); if (!scopeObj[prefix]) scopeObj[prefix] = { @@ -18279,23 +18295,23 @@ function buildKeymap(bindings, platform = currentPlatform) { if (stopPropagation) binding.stopPropagation = true; }; - for (let b of bindings) { - let scopes = b.scope ? b.scope.split(" ") : ["editor"]; - if (b.any) + for (let b3 of bindings) { + let scopes = b3.scope ? b3.scope.split(" ") : ["editor"]; + if (b3.any) for (let scope of scopes) { let scopeObj = bound[scope] || (bound[scope] = /* @__PURE__ */ Object.create(null)); if (!scopeObj._any) scopeObj._any = { preventDefault: false, stopPropagation: false, run: [] }; for (let key in scopeObj) - scopeObj[key].run.push(b.any); + scopeObj[key].run.push(b3.any); } - let name2 = b[platform] || b.key; + let name2 = b3[platform] || b3.key; if (!name2) continue; for (let scope of scopes) { - add2(scope, name2, b.run, b.preventDefault, b.stopPropagation); - if (b.shift) - add2(scope, "Shift-" + name2, b.shift, b.preventDefault, b.stopPropagation); + add2(scope, name2, b3.run, b3.preventDefault, b3.stopPropagation); + if (b3.shift) + add2(scope, "Shift-" + name2, b3.shift, b3.preventDefault, b3.stopPropagation); } } return bound; @@ -18385,8 +18401,8 @@ var RectangleMarker = class _RectangleMarker { elt.style.width = this.width + "px"; elt.style.height = this.height + "px"; } - eq(p) { - return this.left == p.left && this.top == p.top && this.width == p.width && this.height == p.height && this.className == p.className; + eq(p2) { + return this.left == p2.left && this.top == p2.top && this.width == p2.width && this.height == p2.height && this.className == p2.className; } /** Create a set of rectangles for the given selection range, @@ -18460,8 +18476,8 @@ function rectanglesForRange(view, className, range) { } function pieces({ top: top2, bottom, horizontal }) { let pieces2 = []; - for (let i = 0; i < horizontal.length; i += 2) - pieces2.push(piece(horizontal[i], top2, horizontal[i + 1], bottom)); + for (let i2 = 0; i2 < horizontal.length; i2 += 2) + pieces2.push(piece(horizontal[i2], top2, horizontal[i2 + 1], bottom)); return pieces2; } function drawForLine(from2, to2, line) { @@ -18500,12 +18516,12 @@ function rectanglesForRange(view, className, range) { return { top: top2, bottom, horizontal }; } function drawForWidget(block2, top2) { - let y = contentRect.top + (top2 ? block2.top : block2.bottom); - return { top: y, bottom: y, horizontal: [] }; + let y2 = contentRect.top + (top2 ? block2.top : block2.bottom); + return { top: y2, bottom: y2, horizontal: [] }; } } -function sameMarker(a, b) { - return a.constructor == b.constructor && a.eq(b); +function sameMarker(a2, b3) { + return a2.constructor == b3.constructor && a2.eq(b3); } var LayerView = class { constructor(view, layer2) { @@ -18554,7 +18570,7 @@ var LayerView = class { } } draw(markers) { - if (markers.length != this.drawn.length || markers.some((p, i) => !sameMarker(p, this.drawn[i]))) { + if (markers.length != this.drawn.length || markers.some((p2, i2) => !sameMarker(p2, this.drawn[i2]))) { let old = this.dom.firstChild, oldI = 0; for (let marker of markers) { if (marker.update && old && marker.constructor && this.drawn[oldI].constructor && marker.update(old, this.drawn[oldI])) { @@ -18581,7 +18597,7 @@ var LayerView = class { var layerOrder = /* @__PURE__ */ Facet.define(); function layer(config2) { return [ - ViewPlugin.define((v) => new LayerView(v, config2)), + ViewPlugin.define((v2) => new LayerView(v2, config2)), layerOrder.of(config2) ]; } @@ -18592,8 +18608,8 @@ var selectionConfig = /* @__PURE__ */ Facet.define({ cursorBlinkRate: 1200, drawRangeCursor: true }, { - cursorBlinkRate: (a, b) => Math.min(a, b), - drawRangeCursor: (a, b) => a || b + cursorBlinkRate: (a2, b3) => Math.min(a2, b3), + drawRangeCursor: (a2, b3) => a2 || b3 }); } }); @@ -18644,7 +18660,7 @@ function setBlinkRate(state, dom) { var selectionLayer = /* @__PURE__ */ layer({ above: false, markers(view) { - return view.state.selection.ranges.map((r2) => r2.empty ? [] : RectangleMarker.forRange(view, "cm-selectionBackground", r2)).reduce((a, b) => a.concat(b)); + return view.state.selection.ranges.map((r2) => r2.empty ? [] : RectangleMarker.forRange(view, "cm-selectionBackground", r2)).reduce((a2, b3) => a2.concat(b3)); }, update(update, dom) { return update.docChanged || update.selectionSet || update.viewportChanged || configChanged(update); @@ -18657,8 +18673,10 @@ var themeSpec = { "&::selection": { backgroundColor: "transparent !important" } } }; -if (CanHidePrimary) +if (CanHidePrimary) { themeSpec[".cm-line"].caretColor = "transparent !important"; + themeSpec[".cm-content"] = { caretColor: "transparent !important" }; +} var hideNativeSelection = /* @__PURE__ */ Prec.highest(/* @__PURE__ */ EditorView.theme(themeSpec)); var setDropCursorPos = /* @__PURE__ */ StateEffect.define({ map(pos, mapping) { @@ -18672,7 +18690,7 @@ var dropCursorPos = /* @__PURE__ */ StateField.define({ update(pos, tr) { if (pos != null) pos = tr.changes.mapPos(pos); - return tr.effects.reduce((pos2, e) => e.is(setDropCursorPos) ? e.value : pos2, pos); + return tr.effects.reduce((pos2, e2) => e2.is(setDropCursorPos) ? e2.value : pos2, pos); } }); var drawDropCursor = /* @__PURE__ */ ViewPlugin.fromClass(class { @@ -18751,12 +18769,12 @@ var drawDropCursor = /* @__PURE__ */ ViewPlugin.fromClass(class { function dropCursor() { return [dropCursorPos, drawDropCursor]; } -function iterMatches(doc2, re, from, to, f) { - re.lastIndex = 0; - for (let cursor = doc2.iterRange(from, to), pos = from, m; !cursor.next().done; pos += cursor.value.length) { +function iterMatches(doc2, re2, from, to, f3) { + re2.lastIndex = 0; + for (let cursor = doc2.iterRange(from, to), pos = from, m2; !cursor.next().done; pos += cursor.value.length) { if (!cursor.lineBreak) - while (m = re.exec(cursor.value)) - f(pos + m.index, m); + while (m2 = re2.exec(cursor.value)) + f3(pos + m2.index, m2); } } function matchRanges(view, maxLength) { @@ -18807,7 +18825,7 @@ var MatchDecorator = class { createDeco(view) { let build = new RangeSetBuilder(), add2 = build.add.bind(build); for (let { from, to } of matchRanges(view, this.maxLength)) - iterMatches(view.state.doc, this.regexp, from, to, (from2, m) => this.addMatch(m, view, from2, add2)); + iterMatches(view.state.doc, this.regexp, from, to, (from2, m2) => this.addMatch(m2, view, from2, add2)); return build.finish(); } /** @@ -18818,7 +18836,7 @@ var MatchDecorator = class { updateDeco(update, deco) { let changeFrom = 1e9, changeTo = -1; if (update.docChanged) - update.changes.iterChanges((_f, _t, from, to) => { + update.changes.iterChanges((_f, _t2, from, to) => { if (to > update.view.viewport.from && from < update.view.viewport.to) { changeFrom = Math.min(from, changeFrom); changeTo = Math.max(to, changeTo); @@ -18848,14 +18866,14 @@ var MatchDecorator = class { break; } } - let ranges = [], m; + let ranges = [], m2; let add2 = (from2, to2, deco2) => ranges.push(deco2.range(from2, to2)); if (fromLine == toLine) { this.regexp.lastIndex = start - fromLine.from; - while ((m = this.regexp.exec(fromLine.text)) && m.index < end - fromLine.from) - this.addMatch(m, view, m.index + fromLine.from, add2); + while ((m2 = this.regexp.exec(fromLine.text)) && m2.index < end - fromLine.from) + this.addMatch(m2, view, m2.index + fromLine.from, add2); } else { - iterMatches(view.state.doc, this.regexp, start, end, (from2, m2) => this.addMatch(m2, view, from2, add2)); + iterMatches(view.state.doc, this.regexp, start, end, (from2, m3) => this.addMatch(m3, view, from2, add2)); } deco = deco.update({ filterFrom: start, filterTo: end, filter: (from2, to2) => from2 < start || to2 > end, add: ranges }); } @@ -18927,9 +18945,9 @@ function specialCharPlugin() { makeDecorator(conf) { return new MatchDecorator({ regexp: conf.specialChars, - decoration: (m, view, pos) => { + decoration: (m2, view, pos) => { let { doc: doc2 } = view.state; - let code = codePointAt(m[0], 0); + let code = codePointAt(m2[0], 0); if (code == 9) { let line = doc2.lineAt(pos); let size = view.state.tabSize, col = countColumn(line.text, size, pos - line.from); @@ -18952,7 +18970,7 @@ function specialCharPlugin() { } } }, { - decorations: (v) => v.decorations + decorations: (v2) => v2.decorations })); } var DefaultPlaceholder = "\u2022"; @@ -19009,20 +19027,20 @@ var TabWidget = class extends WidgetType { } }; var MaxOff = 2e3; -function rectangleFor(state, a, b) { - let startLine = Math.min(a.line, b.line), endLine = Math.max(a.line, b.line); +function rectangleFor(state, a2, b3) { + let startLine = Math.min(a2.line, b3.line), endLine = Math.max(a2.line, b3.line); let ranges = []; - if (a.off > MaxOff || b.off > MaxOff || a.col < 0 || b.col < 0) { - let startOff = Math.min(a.off, b.off), endOff = Math.max(a.off, b.off); - for (let i = startLine; i <= endLine; i++) { - let line = state.doc.line(i); + if (a2.off > MaxOff || b3.off > MaxOff || a2.col < 0 || b3.col < 0) { + let startOff = Math.min(a2.off, b3.off), endOff = Math.max(a2.off, b3.off); + for (let i2 = startLine; i2 <= endLine; i2++) { + let line = state.doc.line(i2); if (line.length <= endOff) ranges.push(EditorSelection.range(line.from + startOff, line.to + endOff)); } } else { - let startCol = Math.min(a.col, b.col), endCol = Math.max(a.col, b.col); - for (let i = startLine; i <= endLine; i++) { - let line = state.doc.line(i); + let startCol = Math.min(a2.col, b3.col), endCol = Math.max(a2.col, b3.col); + for (let i2 = startLine; i2 <= endLine; i2++) { + let line = state.doc.line(i2); let start = findColumn(line.text, startCol, state.tabSize, true); if (start < 0) { ranges.push(EditorSelection.cursor(line.to)); @@ -19072,7 +19090,7 @@ function rectangleSelectionStyle(view, event) { }; } function rectangularSelection(options2) { - let filter = (options2 === null || options2 === void 0 ? void 0 : options2.eventFilter) || ((e) => e.altKey && e.button == 0); + let filter = (options2 === null || options2 === void 0 ? void 0 : options2.eventFilter) || ((e2) => e2.altKey && e2.button == 0); return EditorView.mouseSelectionStyle.of((view, event) => filter(event) ? rectangleSelectionStyle(view, event) : null); } var Outside = "-10000px"; @@ -19081,7 +19099,7 @@ var TooltipViewManager = class { this.facet = facet; this.createTooltipView = createTooltipView; this.input = view.state.facet(facet); - this.tooltips = this.input.filter((t2) => t2); + this.tooltips = this.input.filter((t3) => t3); this.tooltipViews = this.tooltips.map(createTooltipView); } update(update, above) { @@ -19089,40 +19107,40 @@ var TooltipViewManager = class { let input = update.state.facet(this.facet); let tooltips = input.filter((x) => x); if (input === this.input) { - for (let t2 of this.tooltipViews) - if (t2.update) - t2.update(update); + for (let t3 of this.tooltipViews) + if (t3.update) + t3.update(update); return false; } let tooltipViews = [], newAbove = above ? [] : null; - for (let i = 0; i < tooltips.length; i++) { - let tip = tooltips[i], known = -1; + for (let i2 = 0; i2 < tooltips.length; i2++) { + let tip = tooltips[i2], known = -1; if (!tip) continue; - for (let i2 = 0; i2 < this.tooltips.length; i2++) { - let other = this.tooltips[i2]; + for (let i3 = 0; i3 < this.tooltips.length; i3++) { + let other = this.tooltips[i3]; if (other && other.create == tip.create) - known = i2; + known = i3; } if (known < 0) { - tooltipViews[i] = this.createTooltipView(tip); + tooltipViews[i2] = this.createTooltipView(tip); if (newAbove) - newAbove[i] = !!tip.above; + newAbove[i2] = !!tip.above; } else { - let tooltipView = tooltipViews[i] = this.tooltipViews[known]; + let tooltipView = tooltipViews[i2] = this.tooltipViews[known]; if (newAbove) - newAbove[i] = above[known]; + newAbove[i2] = above[known]; if (tooltipView.update) tooltipView.update(update); } } - for (let t2 of this.tooltipViews) - if (tooltipViews.indexOf(t2) < 0) { - t2.dom.remove(); - (_a3 = t2.destroy) === null || _a3 === void 0 ? void 0 : _a3.call(t2); + for (let t3 of this.tooltipViews) + if (tooltipViews.indexOf(t3) < 0) { + t3.dom.remove(); + (_a3 = t3.destroy) === null || _a3 === void 0 ? void 0 : _a3.call(t3); } if (above) { - newAbove.forEach((val, i) => above[i] = val); + newAbove.forEach((val, i2) => above[i2] = val); above.length = newAbove.length; } this.input = input; @@ -19160,7 +19178,7 @@ var tooltipPlugin = /* @__PURE__ */ ViewPlugin.fromClass(class { this.classes = view.themeClasses; this.createContainer(); this.measureReq = { read: this.readMeasure.bind(this), write: this.writeMeasure.bind(this), key: this }; - this.manager = new TooltipViewManager(view, showTooltip, (t2) => this.createTooltip(t2)); + this.manager = new TooltipViewManager(view, showTooltip, (t3) => this.createTooltip(t3)); this.intersectionObserver = typeof IntersectionObserver == "function" ? new IntersectionObserver((entries) => { if (Date.now() > this.lastTransaction - 50 && entries.length > 0 && entries[entries.length - 1].intersectionRatio < 1) this.measureSoon(); @@ -19203,8 +19221,8 @@ var tooltipPlugin = /* @__PURE__ */ ViewPlugin.fromClass(class { let newConfig = update.state.facet(tooltipConfig); if (newConfig.position != this.position && !this.madeAbsolute) { this.position = newConfig.position; - for (let t2 of this.manager.tooltipViews) - t2.dom.style.position = this.position; + for (let t3 of this.manager.tooltipViews) + t3.dom.style.position = this.position; shouldMeasure = true; } if (newConfig.parent != this.parent) { @@ -19212,8 +19230,8 @@ var tooltipPlugin = /* @__PURE__ */ ViewPlugin.fromClass(class { this.container.remove(); this.parent = newConfig.parent; this.createContainer(); - for (let t2 of this.manager.tooltipViews) - this.container.appendChild(t2.dom); + for (let t3 of this.manager.tooltipViews) + this.container.appendChild(t3.dom); shouldMeasure = true; } else if (this.parent && this.view.themeClasses != this.classes) { this.classes = this.container.className = this.view.themeClasses; @@ -19279,9 +19297,9 @@ var tooltipPlugin = /* @__PURE__ */ ViewPlugin.fromClass(class { return { editor, parent: this.parent ? this.container.getBoundingClientRect() : editor, - pos: this.manager.tooltips.map((t2, i) => { - let tv = this.manager.tooltipViews[i]; - return tv.getCoords ? tv.getCoords(t2.pos) : this.view.coordsAtPos(t2.pos); + pos: this.manager.tooltips.map((t3, i2) => { + let tv = this.manager.tooltipViews[i2]; + return tv.getCoords ? tv.getCoords(t3.pos) : this.view.coordsAtPos(t3.pos); }), size: this.manager.tooltipViews.map(({ dom }) => dom.getBoundingClientRect()), space: this.view.state.facet(tooltipConfig).tooltipSpace(this.view), @@ -19295,14 +19313,14 @@ var tooltipPlugin = /* @__PURE__ */ ViewPlugin.fromClass(class { if (measured.makeAbsolute) { this.madeAbsolute = true; this.position = "absolute"; - for (let t2 of this.manager.tooltipViews) - t2.dom.style.position = "absolute"; + for (let t3 of this.manager.tooltipViews) + t3.dom.style.position = "absolute"; } let { editor, space: space4, scaleX, scaleY } = measured; let others = []; - for (let i = 0; i < this.manager.tooltips.length; i++) { - let tooltip = this.manager.tooltips[i], tView = this.manager.tooltipViews[i], { dom } = tView; - let pos = measured.pos[i], size = measured.size[i]; + for (let i2 = 0; i2 < this.manager.tooltips.length; i2++) { + let tooltip = this.manager.tooltips[i2], tView = this.manager.tooltipViews[i2], { dom } = tView; + let pos = measured.pos[i2], size = measured.size[i2]; if (!pos || pos.bottom <= Math.max(editor.top, space4.top) || pos.top >= Math.min(editor.bottom, space4.bottom) || pos.right < Math.max(editor.left, space4.left) - 0.1 || pos.left > Math.min(editor.right, space4.right) + 0.1) { dom.style.top = Outside; continue; @@ -19312,9 +19330,9 @@ var tooltipPlugin = /* @__PURE__ */ ViewPlugin.fromClass(class { let width = size.right - size.left, height = (_a3 = knownHeight.get(tView)) !== null && _a3 !== void 0 ? _a3 : size.bottom - size.top; let offset = tView.offset || noOffset, ltr = this.view.textDirection == Direction.LTR; let left = size.width > space4.right - space4.left ? ltr ? space4.left : space4.right - size.width : ltr ? Math.min(pos.left - (arrow ? 14 : 0) + offset.x, space4.right - width) : Math.max(space4.left, pos.left - width + (arrow ? 14 : 0) - offset.x); - let above = this.above[i]; + let above = this.above[i2]; if (!tooltip.strictSide && (above ? pos.top - (size.bottom - size.top) - offset.y < space4.top : pos.bottom + (size.bottom - size.top) + offset.y > space4.bottom) && above == space4.bottom - pos.bottom > pos.top - space4.top) - above = this.above[i] = !above; + above = this.above[i2] = !above; let spaceVert = (above ? pos.top - space4.top : space4.bottom - pos.bottom) - arrowHeight; if (spaceVert < height && tView.resize !== false) { if (spaceVert < this.view.defaultLineHeight) { @@ -19448,7 +19466,7 @@ var HoverTooltipHost = class _HoverTooltipHost { this.mounted = false; this.dom = document.createElement("div"); this.dom.classList.add("cm-tooltip-hover"); - this.manager = new TooltipViewManager(view, showHoverTooltip, (t2) => this.createHostedView(t2)); + this.manager = new TooltipViewManager(view, showHoverTooltip, (t3) => this.createHostedView(t3)); } createHostedView(tooltip) { let hostedView = tooltip.create(this.view); @@ -19476,8 +19494,8 @@ var HoverTooltipHost = class _HoverTooltipHost { } destroy() { var _a3; - for (let t2 of this.manager.tooltipViews) - (_a3 = t2.destroy) === null || _a3 === void 0 ? void 0 : _a3.call(t2); + for (let t3 of this.manager.tooltipViews) + (_a3 = t3.destroy) === null || _a3 === void 0 ? void 0 : _a3.call(t3); } passProp(name2) { let value = void 0; @@ -19506,15 +19524,18 @@ var HoverTooltipHost = class _HoverTooltipHost { } }; var showHoverTooltipHost = /* @__PURE__ */ showTooltip.compute([showHoverTooltip], (state) => { - let tooltips = state.facet(showHoverTooltip).filter((t2) => t2); + let tooltips = state.facet(showHoverTooltip).filter((t3) => t3); if (tooltips.length === 0) return null; return { - pos: Math.min(...tooltips.map((t2) => t2.pos)), - end: Math.max(...tooltips.filter((t2) => t2.end != null).map((t2) => t2.end)), + pos: Math.min(...tooltips.map((t3) => t3.pos)), + end: Math.max(...tooltips.map((t3) => { + var _a3; + return (_a3 = t3.end) !== null && _a3 !== void 0 ? _a3 : t3.pos; + })), create: HoverTooltipHost.create, above: tooltips[0].above, - arrow: tooltips.some((t2) => t2.arrow) + arrow: tooltips.some((t3) => t3.arrow) }; }); var HoverPlugin = class { @@ -19568,7 +19589,7 @@ var HoverPlugin = class { let posCoords = view.coordsAtPos(pos); if (!posCoords || lastMove.y < posCoords.top || lastMove.y > posCoords.bottom || lastMove.x < posCoords.left - view.defaultCharacterWidth || lastMove.x > posCoords.right + view.defaultCharacterWidth) return; - let bidi = view.bidiSpans(view.state.doc.lineAt(pos)).find((s) => s.from <= pos && s.to >= pos); + let bidi = view.bidiSpans(view.state.doc.lineAt(pos)).find((s2) => s2.from <= pos && s2.to >= pos); let rtl = bidi && bidi.dir == Direction.RTL ? -1 : 1; side = lastMove.x < posCoords.left ? -rtl : rtl; } @@ -19581,30 +19602,50 @@ var HoverPlugin = class { if (result) view.dispatch({ effects: this.setHover.of(result) }); } - }, (e) => logException(view.state, e, "hover tooltip")); + }, (e2) => logException(view.state, e2, "hover tooltip")); } else if (open) { view.dispatch({ effects: this.setHover.of(open) }); } } + get tooltip() { + let plugin = this.view.plugin(tooltipPlugin); + let index = plugin ? plugin.manager.tooltips.findIndex((t3) => t3.create == HoverTooltipHost.create) : -1; + return index > -1 ? plugin.manager.tooltipViews[index] : null; + } mousemove(event) { var _a3; this.lastMove = { x: event.clientX, y: event.clientY, target: event.target, time: Date.now() }; if (this.hoverTimeout < 0) this.hoverTimeout = setTimeout(this.checkHover, this.hoverTime); - let tooltip = this.active; - if (tooltip && !isInTooltip(this.lastMove.target) || this.pending) { - let { pos } = tooltip || this.pending, end = (_a3 = tooltip === null || tooltip === void 0 ? void 0 : tooltip.end) !== null && _a3 !== void 0 ? _a3 : pos; + let { active, tooltip } = this; + if (active && tooltip && !isInTooltip(tooltip.dom, event) || this.pending) { + let { pos } = active || this.pending, end = (_a3 = active === null || active === void 0 ? void 0 : active.end) !== null && _a3 !== void 0 ? _a3 : pos; if (pos == end ? this.view.posAtCoords(this.lastMove) != pos : !isOverRange(this.view, pos, end, event.clientX, event.clientY)) { this.view.dispatch({ effects: this.setHover.of(null) }); this.pending = null; } } } - mouseleave(e) { + mouseleave(event) { clearTimeout(this.hoverTimeout); this.hoverTimeout = -1; - if (this.active && !isInTooltip(e.relatedTarget)) - this.view.dispatch({ effects: this.setHover.of(null) }); + let { active } = this; + if (active) { + let { tooltip } = this; + let inTooltip = tooltip && tooltip.dom.contains(event.relatedTarget); + if (!inTooltip) + this.view.dispatch({ effects: this.setHover.of(null) }); + else + this.watchTooltipLeave(tooltip.dom); + } + } + watchTooltipLeave(tooltip) { + let watch = (event) => { + tooltip.removeEventListener("mouseleave", watch); + if (this.active && !this.view.dom.contains(event.relatedTarget)) + this.view.dispatch({ effects: this.setHover.of(null) }); + }; + tooltip.addEventListener("mouseleave", watch); } destroy() { clearTimeout(this.hoverTimeout); @@ -19612,18 +19653,17 @@ var HoverPlugin = class { this.view.dom.removeEventListener("mousemove", this.mousemove); } }; -function isInTooltip(elt) { - for (let cur2 = elt; cur2; cur2 = cur2.parentNode) - if (cur2.nodeType == 1 && cur2.classList.contains("cm-tooltip")) - return true; - return false; +var tooltipMargin = 4; +function isInTooltip(tooltip, event) { + let rect = tooltip.getBoundingClientRect(); + return event.clientX >= rect.left - tooltipMargin && event.clientX <= rect.right + tooltipMargin && event.clientY >= rect.top - tooltipMargin && event.clientY <= rect.bottom + tooltipMargin; } -function isOverRange(view, from, to, x, y, margin) { +function isOverRange(view, from, to, x, y2, margin) { let rect = view.scrollDOM.getBoundingClientRect(); let docBottom = view.documentTop + view.documentPadding.top + view.contentHeight; - if (rect.left > x || rect.right < x || rect.top > y || Math.min(rect.bottom, docBottom) < y) + if (rect.left > x || rect.right < x || rect.top > y2 || Math.min(rect.bottom, docBottom) < y2) return false; - let pos = view.posAtCoords({ x, y }, false); + let pos = view.posAtCoords({ x, y: y2 }, false); return pos >= from && pos <= to; } function hoverTooltip(source, options2 = {}) { @@ -19653,7 +19693,7 @@ function hoverTooltip(source, options2 = {}) { } return value; }, - provide: (f) => showHoverTooltip.from(f) + provide: (f3) => showHoverTooltip.from(f3) }); return [ hoverState, @@ -19679,9 +19719,9 @@ var closeHoverTooltipEffect = /* @__PURE__ */ StateEffect.define(); var panelConfig = /* @__PURE__ */ Facet.define({ combine(configs) { let topContainer, bottomContainer; - for (let c of configs) { - topContainer = topContainer || c.topContainer; - bottomContainer = bottomContainer || c.bottomContainer; + for (let c2 of configs) { + topContainer = topContainer || c2.topContainer; + bottomContainer = bottomContainer || c2.bottomContainer; } return { topContainer, bottomContainer }; } @@ -19694,17 +19734,17 @@ function getPanel(view, panel) { var panelPlugin = /* @__PURE__ */ ViewPlugin.fromClass(class { constructor(view) { this.input = view.state.facet(showPanel); - this.specs = this.input.filter((s) => s); + this.specs = this.input.filter((s2) => s2); this.panels = this.specs.map((spec) => spec(view)); let conf = view.state.facet(panelConfig); this.top = new PanelGroup(view, true, conf.topContainer); this.bottom = new PanelGroup(view, false, conf.bottomContainer); - this.top.sync(this.panels.filter((p) => p.top)); - this.bottom.sync(this.panels.filter((p) => !p.top)); - for (let p of this.panels) { - p.dom.classList.add("cm-panel"); - if (p.mount) - p.mount(); + this.top.sync(this.panels.filter((p2) => p2.top)); + this.bottom.sync(this.panels.filter((p2) => !p2.top)); + for (let p2 of this.panels) { + p2.dom.classList.add("cm-panel"); + if (p2.mount) + p2.mount(); } } update(update) { @@ -19740,15 +19780,15 @@ var panelPlugin = /* @__PURE__ */ ViewPlugin.fromClass(class { this.panels = panels; this.top.sync(top2); this.bottom.sync(bottom); - for (let p of mount) { - p.dom.classList.add("cm-panel"); - if (p.mount) - p.mount(); + for (let p2 of mount) { + p2.dom.classList.add("cm-panel"); + if (p2.mount) + p2.mount(); } } else { - for (let p of this.panels) - if (p.update) - p.update(update); + for (let p2 of this.panels) + if (p2.update) + p2.update(update); } } destroy() { @@ -19772,9 +19812,9 @@ var PanelGroup = class { this.syncClasses(); } sync(panels) { - for (let p of this.panels) - if (p.destroy && panels.indexOf(p) < 0) - p.destroy(); + for (let p2 of this.panels) + if (p2.destroy && panels.indexOf(p2) < 0) + p2.destroy(); this.panels = panels; this.syncDOM(); } @@ -19925,15 +19965,15 @@ var gutterView = /* @__PURE__ */ ViewPlugin.fromClass(class { classSet = []; if (Array.isArray(line.type)) { let first = true; - for (let b of line.type) { - if (b.type == BlockType.Text && first) { - advanceCursor(lineClasses, classSet, b.from); + for (let b3 of line.type) { + if (b3.type == BlockType.Text && first) { + advanceCursor(lineClasses, classSet, b3.from); for (let cx of contexts) - cx.line(this.view, b, classSet); + cx.line(this.view, b3, classSet); first = false; - } else if (b.widget) { + } else if (b3.widget) { for (let cx of contexts) - cx.widget(this.view, b); + cx.widget(this.view, b3); } } } else if (line.type == BlockType.Text) { @@ -19969,13 +20009,13 @@ var gutterView = /* @__PURE__ */ ViewPlugin.fromClass(class { gutters2.push(this.gutters[known]); } } - for (let g of this.gutters) { - g.dom.remove(); - if (gutters2.indexOf(g) < 0) - g.destroy(); + for (let g2 of this.gutters) { + g2.dom.remove(); + if (gutters2.indexOf(g2) < 0) + g2.destroy(); } - for (let g of gutters2) - this.dom.appendChild(g.dom); + for (let g2 of gutters2) + this.dom.appendChild(g2.dom); this.gutters = gutters2; } return change; @@ -20059,16 +20099,16 @@ var SingleGutterView = class { this.dom.className = "cm-gutter" + (this.config.class ? " " + this.config.class : ""); for (let prop in config2.domEventHandlers) { this.dom.addEventListener(prop, (event) => { - let target = event.target, y; + let target = event.target, y2; if (target != this.dom && this.dom.contains(target)) { while (target.parentNode != this.dom) target = target.parentNode; let rect = target.getBoundingClientRect(); - y = (rect.top + rect.bottom) / 2; + y2 = (rect.top + rect.bottom) / 2; } else { - y = event.clientY; + y2 = event.clientY; } - let line = view.lineBlockAtHeight(y - view.documentTop); + let line = view.lineBlockAtHeight(y2 - view.documentTop); if (config2.domEventHandlers[prop](view, line, event)) event.preventDefault(); }); @@ -20120,12 +20160,12 @@ var GutterElement = class { for (let iNew = 0, iOld = 0; ; ) { let skipTo = iOld, marker = iNew < markers.length ? markers[iNew++] : null, matched = false; if (marker) { - let c = marker.elementClass; - if (c) - cls += " " + c; - for (let i = iOld; i < this.markers.length; i++) - if (this.markers[i].compare(marker)) { - skipTo = i; + let c2 = marker.elementClass; + if (c2) + cls += " " + c2; + for (let i2 = iOld; i2 < this.markers.length; i2++) + if (this.markers[i2].compare(marker)) { + skipTo = i2; matched = true; break; } @@ -20159,11 +20199,11 @@ var GutterElement = class { this.setMarkers(null, []); } }; -function sameMarkers(a, b) { - if (a.length != b.length) +function sameMarkers(a2, b3) { + if (a2.length != b3.length) return false; - for (let i = 0; i < a.length; i++) - if (!a[i].compare(b[i])) + for (let i2 = 0; i2 < a2.length; i2++) + if (!a2[i2].compare(b3[i2])) return false; return true; } @@ -20171,10 +20211,10 @@ var lineNumberMarkers = /* @__PURE__ */ Facet.define(); var lineNumberConfig = /* @__PURE__ */ Facet.define({ combine(values2) { return combineConfig(values2, { formatNumber: String, domEventHandlers: {} }, { - domEventHandlers(a, b) { - let result = Object.assign({}, a); - for (let event in b) { - let exists = result[event], add2 = b[event]; + domEventHandlers(a2, b3) { + let result = Object.assign({}, a2); + for (let event in b3) { + let exists = result[event], add2 = b3[event]; result[event] = exists ? (view, line, event2) => exists(view, line, event2) || add2(view, line, event2) : add2; } return result; @@ -20204,7 +20244,7 @@ var lineNumberGutter = /* @__PURE__ */ activeGutters.compute([lineNumberConfig], return view.state.facet(lineNumberMarkers); }, lineMarker(view, line, others) { - if (others.some((m) => m.toDOM)) + if (others.some((m2) => m2.toDOM)) return null; return new NumberMarker(formatNumber(view, view.state.doc.lineAt(line.from).number)); }, @@ -20330,17 +20370,17 @@ var fdeb = new u8([ ]); var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]); var freb = function(eb, start) { - var b = new u16(31); - for (var i = 0; i < 31; ++i) { - b[i] = start += 1 << eb[i - 1]; + var b3 = new u16(31); + for (var i2 = 0; i2 < 31; ++i2) { + b3[i2] = start += 1 << eb[i2 - 1]; } - var r2 = new i32(b[30]); - for (var i = 1; i < 30; ++i) { - for (var j = b[i]; j < b[i + 1]; ++j) { - r2[j] = j - b[i] << 5 | i; + var r2 = new i32(b3[30]); + for (var i2 = 1; i2 < 30; ++i2) { + for (var j3 = b3[i2]; j3 < b3[i2 + 1]; ++j3) { + r2[j3] = j3 - b3[i2] << 5 | i2; } } - return { b, r: r2 }; + return { b: b3, r: r2 }; }; var _a = freb(fleb, 2); var fl = _a.b; @@ -20350,78 +20390,78 @@ var _b = freb(fdeb, 0); var fd = _b.b; var revfd = _b.r; var rev = new u16(32768); -for (i = 0; i < 32768; ++i) { - x = (i & 43690) >> 1 | (i & 21845) << 1; +for (i2 = 0; i2 < 32768; ++i2) { + x = (i2 & 43690) >> 1 | (i2 & 21845) << 1; x = (x & 52428) >> 2 | (x & 13107) << 2; x = (x & 61680) >> 4 | (x & 3855) << 4; - rev[i] = ((x & 65280) >> 8 | (x & 255) << 8) >> 1; + rev[i2] = ((x & 65280) >> 8 | (x & 255) << 8) >> 1; } var x; -var i; +var i2; var hMap = function(cd, mb, r2) { - var s = cd.length; - var i = 0; - var l = new u16(mb); - for (; i < s; ++i) { - if (cd[i]) - ++l[cd[i] - 1]; + var s2 = cd.length; + var i2 = 0; + var l3 = new u16(mb); + for (; i2 < s2; ++i2) { + if (cd[i2]) + ++l3[cd[i2] - 1]; } - var le = new u16(mb); - for (i = 1; i < mb; ++i) { - le[i] = le[i - 1] + l[i - 1] << 1; + var le2 = new u16(mb); + for (i2 = 1; i2 < mb; ++i2) { + le2[i2] = le2[i2 - 1] + l3[i2 - 1] << 1; } var co; if (r2) { co = new u16(1 << mb); var rvb = 15 - mb; - for (i = 0; i < s; ++i) { - if (cd[i]) { - var sv = i << 4 | cd[i]; - var r_1 = mb - cd[i]; - var v = le[cd[i] - 1]++ << r_1; - for (var m = v | (1 << r_1) - 1; v <= m; ++v) { - co[rev[v] >> rvb] = sv; + for (i2 = 0; i2 < s2; ++i2) { + if (cd[i2]) { + var sv = i2 << 4 | cd[i2]; + var r_1 = mb - cd[i2]; + var v2 = le2[cd[i2] - 1]++ << r_1; + for (var m2 = v2 | (1 << r_1) - 1; v2 <= m2; ++v2) { + co[rev[v2] >> rvb] = sv; } } } } else { - co = new u16(s); - for (i = 0; i < s; ++i) { - if (cd[i]) { - co[i] = rev[le[cd[i] - 1]++] >> 15 - cd[i]; + co = new u16(s2); + for (i2 = 0; i2 < s2; ++i2) { + if (cd[i2]) { + co[i2] = rev[le2[cd[i2] - 1]++] >> 15 - cd[i2]; } } } return co; }; var flt = new u8(288); -for (i = 0; i < 144; ++i) - flt[i] = 8; -var i; -for (i = 144; i < 256; ++i) - flt[i] = 9; -var i; -for (i = 256; i < 280; ++i) - flt[i] = 7; -var i; -for (i = 280; i < 288; ++i) - flt[i] = 8; -var i; +for (i2 = 0; i2 < 144; ++i2) + flt[i2] = 8; +var i2; +for (i2 = 144; i2 < 256; ++i2) + flt[i2] = 9; +var i2; +for (i2 = 256; i2 < 280; ++i2) + flt[i2] = 7; +var i2; +for (i2 = 280; i2 < 288; ++i2) + flt[i2] = 8; +var i2; var fdt = new u8(32); -for (i = 0; i < 32; ++i) - fdt[i] = 5; -var i; +for (i2 = 0; i2 < 32; ++i2) + fdt[i2] = 5; +var i2; var flm = /* @__PURE__ */ hMap(flt, 9, 0); var fdm = /* @__PURE__ */ hMap(fdt, 5, 0); -var shft = function(p) { - return (p + 7) / 8 | 0; +var shft = function(p2) { + return (p2 + 7) / 8 | 0; }; -var slc = function(v, s, e) { - if (s == null || s < 0) - s = 0; - if (e == null || e > v.length) - e = v.length; - return new u8(v.subarray(s, e)); +var slc = function(v2, s2, e2) { + if (s2 == null || s2 < 0) + s2 = 0; + if (e2 == null || e2 > v2.length) + e2 = v2.length; + return new u8(v2.subarray(s2, e2)); }; var ec = [ "unexpected EOF", @@ -20441,68 +20481,68 @@ var ec = [ // determined by unknown compression method ]; var err = function(ind, msg, nt) { - var e = new Error(msg || ec[ind]); - e.code = ind; + var e2 = new Error(msg || ec[ind]); + e2.code = ind; if (Error.captureStackTrace) - Error.captureStackTrace(e, err); + Error.captureStackTrace(e2, err); if (!nt) - throw e; - return e; -}; -var wbits = function(d, p, v) { - v <<= p & 7; - var o = p / 8 | 0; - d[o] |= v; - d[o + 1] |= v >> 8; -}; -var wbits16 = function(d, p, v) { - v <<= p & 7; - var o = p / 8 | 0; - d[o] |= v; - d[o + 1] |= v >> 8; - d[o + 2] |= v >> 16; -}; -var hTree = function(d, mb) { - var t2 = []; - for (var i = 0; i < d.length; ++i) { - if (d[i]) - t2.push({ s: i, f: d[i] }); - } - var s = t2.length; - var t22 = t2.slice(); - if (!s) + throw e2; + return e2; +}; +var wbits = function(d2, p2, v2) { + v2 <<= p2 & 7; + var o2 = p2 / 8 | 0; + d2[o2] |= v2; + d2[o2 + 1] |= v2 >> 8; +}; +var wbits16 = function(d2, p2, v2) { + v2 <<= p2 & 7; + var o2 = p2 / 8 | 0; + d2[o2] |= v2; + d2[o2 + 1] |= v2 >> 8; + d2[o2 + 2] |= v2 >> 16; +}; +var hTree = function(d2, mb) { + var t3 = []; + for (var i2 = 0; i2 < d2.length; ++i2) { + if (d2[i2]) + t3.push({ s: i2, f: d2[i2] }); + } + var s2 = t3.length; + var t22 = t3.slice(); + if (!s2) return { t: et, l: 0 }; - if (s == 1) { - var v = new u8(t2[0].s + 1); - v[t2[0].s] = 1; - return { t: v, l: 1 }; + if (s2 == 1) { + var v2 = new u8(t3[0].s + 1); + v2[t3[0].s] = 1; + return { t: v2, l: 1 }; } - t2.sort(function(a, b) { - return a.f - b.f; + t3.sort(function(a2, b3) { + return a2.f - b3.f; }); - t2.push({ s: -1, f: 25001 }); - var l = t2[0], r2 = t2[1], i0 = 0, i1 = 1, i2 = 2; - t2[0] = { s: -1, f: l.f + r2.f, l, r: r2 }; - while (i1 != s - 1) { - l = t2[t2[i0].f < t2[i2].f ? i0++ : i2++]; - r2 = t2[i0 != i1 && t2[i0].f < t2[i2].f ? i0++ : i2++]; - t2[i1++] = { s: -1, f: l.f + r2.f, l, r: r2 }; + t3.push({ s: -1, f: 25001 }); + var l3 = t3[0], r2 = t3[1], i0 = 0, i1 = 1, i22 = 2; + t3[0] = { s: -1, f: l3.f + r2.f, l: l3, r: r2 }; + while (i1 != s2 - 1) { + l3 = t3[t3[i0].f < t3[i22].f ? i0++ : i22++]; + r2 = t3[i0 != i1 && t3[i0].f < t3[i22].f ? i0++ : i22++]; + t3[i1++] = { s: -1, f: l3.f + r2.f, l: l3, r: r2 }; } var maxSym = t22[0].s; - for (var i = 1; i < s; ++i) { - if (t22[i].s > maxSym) - maxSym = t22[i].s; + for (var i2 = 1; i2 < s2; ++i2) { + if (t22[i2].s > maxSym) + maxSym = t22[i2].s; } var tr = new u16(maxSym + 1); - var mbt = ln(t2[i1 - 1], tr, 0); + var mbt = ln(t3[i1 - 1], tr, 0); if (mbt > mb) { - var i = 0, dt = 0; + var i2 = 0, dt = 0; var lft = mbt - mb, cst = 1 << lft; - t22.sort(function(a, b) { - return tr[b.s] - tr[a.s] || a.f - b.f; + t22.sort(function(a2, b3) { + return tr[b3.s] - tr[a2.s] || a2.f - b3.f; }); - for (; i < s; ++i) { - var i2_1 = t22[i].s; + for (; i2 < s2; ++i2) { + var i2_1 = t22[i2].s; if (tr[i2_1] > mb) { dt += cst - (1 << mbt - tr[i2_1]); tr[i2_1] = mb; @@ -20511,14 +20551,14 @@ var hTree = function(d, mb) { } dt >>= lft; while (dt > 0) { - var i2_2 = t22[i].s; + var i2_2 = t22[i2].s; if (tr[i2_2] < mb) dt -= 1 << mb - tr[i2_2]++ - 1; else - ++i; + ++i2; } - for (; i >= 0 && dt; --i) { - var i2_3 = t22[i].s; + for (; i2 >= 0 && dt; --i2) { + var i2_3 = t22[i2].s; if (tr[i2_3] == mb) { --tr[i2_3]; ++dt; @@ -20528,73 +20568,73 @@ var hTree = function(d, mb) { } return { t: new u8(tr), l: mbt }; }; -var ln = function(n, l, d) { - return n.s == -1 ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1)) : l[n.s] = d; +var ln = function(n3, l3, d2) { + return n3.s == -1 ? Math.max(ln(n3.l, l3, d2 + 1), ln(n3.r, l3, d2 + 1)) : l3[n3.s] = d2; }; -var lc = function(c) { - var s = c.length; - while (s && !c[--s]) +var lc = function(c2) { + var s2 = c2.length; + while (s2 && !c2[--s2]) ; - var cl = new u16(++s); - var cli = 0, cln = c[0], cls = 1; - var w = function(v) { - cl[cli++] = v; + var cl = new u16(++s2); + var cli = 0, cln = c2[0], cls = 1; + var w2 = function(v2) { + cl[cli++] = v2; }; - for (var i = 1; i <= s; ++i) { - if (c[i] == cln && i != s) + for (var i2 = 1; i2 <= s2; ++i2) { + if (c2[i2] == cln && i2 != s2) ++cls; else { if (!cln && cls > 2) { for (; cls > 138; cls -= 138) - w(32754); + w2(32754); if (cls > 2) { - w(cls > 10 ? cls - 11 << 5 | 28690 : cls - 3 << 5 | 12305); + w2(cls > 10 ? cls - 11 << 5 | 28690 : cls - 3 << 5 | 12305); cls = 0; } } else if (cls > 3) { - w(cln), --cls; + w2(cln), --cls; for (; cls > 6; cls -= 6) - w(8304); + w2(8304); if (cls > 2) - w(cls - 3 << 5 | 8208), cls = 0; + w2(cls - 3 << 5 | 8208), cls = 0; } while (cls--) - w(cln); + w2(cln); cls = 1; - cln = c[i]; + cln = c2[i2]; } } - return { c: cl.subarray(0, cli), n: s }; + return { c: cl.subarray(0, cli), n: s2 }; }; var clen = function(cf, cl) { - var l = 0; - for (var i = 0; i < cl.length; ++i) - l += cf[i] * cl[i]; - return l; + var l3 = 0; + for (var i2 = 0; i2 < cl.length; ++i2) + l3 += cf[i2] * cl[i2]; + return l3; }; var wfblk = function(out, pos, dat) { - var s = dat.length; - var o = shft(pos + 2); - out[o] = s & 255; - out[o + 1] = s >> 8; - out[o + 2] = out[o] ^ 255; - out[o + 3] = out[o + 1] ^ 255; - for (var i = 0; i < s; ++i) - out[o + i + 4] = dat[i]; - return (o + 4 + s) * 8; -}; -var wblk = function(dat, out, final, syms, lf, df, eb, li, bs, bl, p) { - wbits(out, p++, final); + var s2 = dat.length; + var o2 = shft(pos + 2); + out[o2] = s2 & 255; + out[o2 + 1] = s2 >> 8; + out[o2 + 2] = out[o2] ^ 255; + out[o2 + 3] = out[o2 + 1] ^ 255; + for (var i2 = 0; i2 < s2; ++i2) + out[o2 + i2 + 4] = dat[i2]; + return (o2 + 4 + s2) * 8; +}; +var wblk = function(dat, out, final, syms, lf, df, eb, li, bs, bl, p2) { + wbits(out, p2++, final); ++lf[256]; var _a3 = hTree(lf, 15), dlt = _a3.t, mlb = _a3.l; var _b2 = hTree(df, 15), ddt = _b2.t, mdb = _b2.l; var _c = lc(dlt), lclt = _c.c, nlc = _c.n; var _d = lc(ddt), lcdt = _d.c, ndc = _d.n; var lcfreq = new u16(19); - for (var i = 0; i < lclt.length; ++i) - ++lcfreq[lclt[i] & 31]; - for (var i = 0; i < lcdt.length; ++i) - ++lcfreq[lcdt[i] & 31]; + for (var i2 = 0; i2 < lclt.length; ++i2) + ++lcfreq[lclt[i2] & 31]; + for (var i2 = 0; i2 < lcdt.length; ++i2) + ++lcfreq[lcdt[i2] & 31]; var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l; var nlcc = 19; for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc) @@ -20603,105 +20643,105 @@ var wblk = function(dat, out, final, syms, lf, df, eb, li, bs, bl, p) { var ftlen = clen(lf, flt) + clen(df, fdt) + eb; var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]; if (bs >= 0 && flen <= ftlen && flen <= dtlen) - return wfblk(out, p, dat.subarray(bs, bs + bl)); + return wfblk(out, p2, dat.subarray(bs, bs + bl)); var lm, ll, dm, dl; - wbits(out, p, 1 + (dtlen < ftlen)), p += 2; + wbits(out, p2, 1 + (dtlen < ftlen)), p2 += 2; if (dtlen < ftlen) { lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt; var llm = hMap(lct, mlcb, 0); - wbits(out, p, nlc - 257); - wbits(out, p + 5, ndc - 1); - wbits(out, p + 10, nlcc - 4); - p += 14; - for (var i = 0; i < nlcc; ++i) - wbits(out, p + 3 * i, lct[clim[i]]); - p += 3 * nlcc; + wbits(out, p2, nlc - 257); + wbits(out, p2 + 5, ndc - 1); + wbits(out, p2 + 10, nlcc - 4); + p2 += 14; + for (var i2 = 0; i2 < nlcc; ++i2) + wbits(out, p2 + 3 * i2, lct[clim[i2]]); + p2 += 3 * nlcc; var lcts = [lclt, lcdt]; for (var it = 0; it < 2; ++it) { var clct = lcts[it]; - for (var i = 0; i < clct.length; ++i) { - var len = clct[i] & 31; - wbits(out, p, llm[len]), p += lct[len]; + for (var i2 = 0; i2 < clct.length; ++i2) { + var len = clct[i2] & 31; + wbits(out, p2, llm[len]), p2 += lct[len]; if (len > 15) - wbits(out, p, clct[i] >> 5 & 127), p += clct[i] >> 12; + wbits(out, p2, clct[i2] >> 5 & 127), p2 += clct[i2] >> 12; } } } else { lm = flm, ll = flt, dm = fdm, dl = fdt; } - for (var i = 0; i < li; ++i) { - var sym = syms[i]; + for (var i2 = 0; i2 < li; ++i2) { + var sym = syms[i2]; if (sym > 255) { var len = sym >> 18 & 31; - wbits16(out, p, lm[len + 257]), p += ll[len + 257]; + wbits16(out, p2, lm[len + 257]), p2 += ll[len + 257]; if (len > 7) - wbits(out, p, sym >> 23 & 31), p += fleb[len]; + wbits(out, p2, sym >> 23 & 31), p2 += fleb[len]; var dst = sym & 31; - wbits16(out, p, dm[dst]), p += dl[dst]; + wbits16(out, p2, dm[dst]), p2 += dl[dst]; if (dst > 3) - wbits16(out, p, sym >> 5 & 8191), p += fdeb[dst]; + wbits16(out, p2, sym >> 5 & 8191), p2 += fdeb[dst]; } else { - wbits16(out, p, lm[sym]), p += ll[sym]; + wbits16(out, p2, lm[sym]), p2 += ll[sym]; } } - wbits16(out, p, lm[256]); - return p + ll[256]; + wbits16(out, p2, lm[256]); + return p2 + ll[256]; }; var deo = /* @__PURE__ */ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]); var et = /* @__PURE__ */ new u8(0); var dflt = function(dat, lvl, plvl, pre, post, st) { - var s = st.z || dat.length; - var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7e3)) + post); - var w = o.subarray(pre, o.length - post); + var s2 = st.z || dat.length; + var o2 = new u8(pre + s2 + 5 * (1 + Math.ceil(s2 / 7e3)) + post); + var w2 = o2.subarray(pre, o2.length - post); var lst = st.l; var pos = (st.r || 0) & 7; if (lvl) { if (pos) - w[0] = st.r >> 3; + w2[0] = st.r >> 3; var opt = deo[lvl - 1]; - var n = opt >> 13, c = opt & 8191; + var n3 = opt >> 13, c2 = opt & 8191; var msk_1 = (1 << plvl) - 1; var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1); var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1; - var hsh = function(i2) { - return (dat[i2] ^ dat[i2 + 1] << bs1_1 ^ dat[i2 + 2] << bs2_1) & msk_1; + var hsh = function(i3) { + return (dat[i3] ^ dat[i3 + 1] << bs1_1 ^ dat[i3 + 2] << bs2_1) & msk_1; }; var syms = new i32(25e3); var lf = new u16(288), df = new u16(32); - var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0; - for (; i + 2 < s; ++i) { - var hv = hsh(i); - var imod = i & 32767, pimod = head[hv]; + var lc_1 = 0, eb = 0, i2 = st.i || 0, li = 0, wi = st.w || 0, bs = 0; + for (; i2 + 2 < s2; ++i2) { + var hv = hsh(i2); + var imod = i2 & 32767, pimod = head[hv]; prev[imod] = pimod; head[hv] = imod; - if (wi <= i) { - var rem = s - i; + if (wi <= i2) { + var rem = s2 - i2; if ((lc_1 > 7e3 || li > 24576) && (rem > 423 || !lst)) { - pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos); - li = lc_1 = eb = 0, bs = i; - for (var j = 0; j < 286; ++j) - lf[j] = 0; - for (var j = 0; j < 30; ++j) - df[j] = 0; - } - var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767; - if (rem > 2 && hv == hsh(i - dif)) { - var maxn = Math.min(n, rem) - 1; - var maxd = Math.min(32767, i); + pos = wblk(dat, w2, 0, syms, lf, df, eb, li, bs, i2 - bs, pos); + li = lc_1 = eb = 0, bs = i2; + for (var j3 = 0; j3 < 286; ++j3) + lf[j3] = 0; + for (var j3 = 0; j3 < 30; ++j3) + df[j3] = 0; + } + var l3 = 2, d2 = 0, ch_1 = c2, dif = imod - pimod & 32767; + if (rem > 2 && hv == hsh(i2 - dif)) { + var maxn = Math.min(n3, rem) - 1; + var maxd = Math.min(32767, i2); var ml = Math.min(258, rem); while (dif <= maxd && --ch_1 && imod != pimod) { - if (dat[i + l] == dat[i + l - dif]) { + if (dat[i2 + l3] == dat[i2 + l3 - dif]) { var nl = 0; - for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl) + for (; nl < ml && dat[i2 + nl] == dat[i2 + nl - dif]; ++nl) ; - if (nl > l) { - l = nl, d = dif; + if (nl > l3) { + l3 = nl, d2 = dif; if (nl > maxn) break; var mmd = Math.min(dif, nl - 2); var md = 0; - for (var j = 0; j < mmd; ++j) { - var ti = i - dif + j & 32767; + for (var j3 = 0; j3 < mmd; ++j3) { + var ti = i2 - dif + j3 & 32767; var pti = prev[ti]; var cd = ti - pti & 32767; if (cd > md) @@ -20713,64 +20753,64 @@ var dflt = function(dat, lvl, plvl, pre, post, st) { dif += imod - pimod & 32767; } } - if (d) { - syms[li++] = 268435456 | revfl[l] << 18 | revfd[d]; - var lin = revfl[l] & 31, din = revfd[d] & 31; + if (d2) { + syms[li++] = 268435456 | revfl[l3] << 18 | revfd[d2]; + var lin = revfl[l3] & 31, din = revfd[d2] & 31; eb += fleb[lin] + fdeb[din]; ++lf[257 + lin]; ++df[din]; - wi = i + l; + wi = i2 + l3; ++lc_1; } else { - syms[li++] = dat[i]; - ++lf[dat[i]]; + syms[li++] = dat[i2]; + ++lf[dat[i2]]; } } } - for (i = Math.max(i, wi); i < s; ++i) { - syms[li++] = dat[i]; - ++lf[dat[i]]; + for (i2 = Math.max(i2, wi); i2 < s2; ++i2) { + syms[li++] = dat[i2]; + ++lf[dat[i2]]; } - pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos); + pos = wblk(dat, w2, lst, syms, lf, df, eb, li, bs, i2 - bs, pos); if (!lst) { - st.r = pos & 7 | w[pos / 8 | 0] << 3; + st.r = pos & 7 | w2[pos / 8 | 0] << 3; pos -= 7; - st.h = head, st.p = prev, st.i = i, st.w = wi; + st.h = head, st.p = prev, st.i = i2, st.w = wi; } } else { - for (var i = st.w || 0; i < s + lst; i += 65535) { - var e = i + 65535; - if (e >= s) { - w[pos / 8 | 0] = lst; - e = s; + for (var i2 = st.w || 0; i2 < s2 + lst; i2 += 65535) { + var e2 = i2 + 65535; + if (e2 >= s2) { + w2[pos / 8 | 0] = lst; + e2 = s2; } - pos = wfblk(w, pos + 1, dat.subarray(i, e)); + pos = wfblk(w2, pos + 1, dat.subarray(i2, e2)); } - st.i = s; + st.i = s2; } - return slc(o, 0, pre + shft(pos) + post); + return slc(o2, 0, pre + shft(pos) + post); }; var crct = /* @__PURE__ */ function() { - var t2 = new Int32Array(256); - for (var i = 0; i < 256; ++i) { - var c = i, k = 9; + var t3 = new Int32Array(256); + for (var i2 = 0; i2 < 256; ++i2) { + var c2 = i2, k = 9; while (--k) - c = (c & 1 && -306674912) ^ c >>> 1; - t2[i] = c; + c2 = (c2 & 1 && -306674912) ^ c2 >>> 1; + t3[i2] = c2; } - return t2; + return t3; }(); var crc = function() { - var c = -1; + var c2 = -1; return { - p: function(d) { - var cr = c; - for (var i = 0; i < d.length; ++i) - cr = crct[cr & 255 ^ d[i]] ^ cr >>> 8; - c = cr; + p: function(d2) { + var cr = c2; + for (var i2 = 0; i2 < d2.length; ++i2) + cr = crct[cr & 255 ^ d2[i2]] ^ cr >>> 8; + c2 = cr; }, d: function() { - return ~c; + return ~c2; } }; }; @@ -20788,31 +20828,31 @@ var dopt = function(dat, opt, pre, post, st) { } return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 12 + opt.mem, pre, post, st); }; -var mrg = function(a, b) { - var o = {}; - for (var k in a) - o[k] = a[k]; - for (var k in b) - o[k] = b[k]; - return o; +var mrg = function(a2, b3) { + var o2 = {}; + for (var k in a2) + o2[k] = a2[k]; + for (var k in b3) + o2[k] = b3[k]; + return o2; }; -var wbytes = function(d, b, v) { - for (; v; ++b) - d[b] = v, v >>>= 8; +var wbytes = function(d2, b3, v2) { + for (; v2; ++b3) + d2[b3] = v2, v2 >>>= 8; }; function deflateSync(data, opts) { return dopt(data, opts || {}, 0, 0); } -var fltn = function(d, p, t2, o) { - for (var k in d) { - var val = d[k], n = p + k, op = o; +var fltn = function(d2, p2, t3, o2) { + for (var k in d2) { + var val = d2[k], n3 = p2 + k, op = o2; if (Array.isArray(val)) - op = mrg(o, val[1]), val = val[0]; + op = mrg(o2, val[1]), val = val[0]; if (val instanceof u8) - t2[n] = [val, op]; + t3[n3] = [val, op]; else { - t2[n += "/"] = [new u8(0), op]; - fltn(val, n, t2, o); + t3[n3 += "/"] = [new u8(0), op]; + fltn(val, n3, t3, o2); } } }; @@ -20822,98 +20862,98 @@ var tds = 0; try { td.decode(et, { stream: true }); tds = 1; -} catch (e) { +} catch (e2) { } function strToU8(str, latin1) { if (latin1) { var ar_1 = new u8(str.length); - for (var i = 0; i < str.length; ++i) - ar_1[i] = str.charCodeAt(i); + for (var i2 = 0; i2 < str.length; ++i2) + ar_1[i2] = str.charCodeAt(i2); return ar_1; } if (te) return te.encode(str); - var l = str.length; + var l3 = str.length; var ar = new u8(str.length + (str.length >> 1)); var ai = 0; - var w = function(v) { - ar[ai++] = v; + var w2 = function(v2) { + ar[ai++] = v2; }; - for (var i = 0; i < l; ++i) { + for (var i2 = 0; i2 < l3; ++i2) { if (ai + 5 > ar.length) { - var n = new u8(ai + 8 + (l - i << 1)); - n.set(ar); - ar = n; - } - var c = str.charCodeAt(i); - if (c < 128 || latin1) - w(c); - else if (c < 2048) - w(192 | c >> 6), w(128 | c & 63); - else if (c > 55295 && c < 57344) - c = 65536 + (c & 1023 << 10) | str.charCodeAt(++i) & 1023, w(240 | c >> 18), w(128 | c >> 12 & 63), w(128 | c >> 6 & 63), w(128 | c & 63); + var n3 = new u8(ai + 8 + (l3 - i2 << 1)); + n3.set(ar); + ar = n3; + } + var c2 = str.charCodeAt(i2); + if (c2 < 128 || latin1) + w2(c2); + else if (c2 < 2048) + w2(192 | c2 >> 6), w2(128 | c2 & 63); + else if (c2 > 55295 && c2 < 57344) + c2 = 65536 + (c2 & 1023 << 10) | str.charCodeAt(++i2) & 1023, w2(240 | c2 >> 18), w2(128 | c2 >> 12 & 63), w2(128 | c2 >> 6 & 63), w2(128 | c2 & 63); else - w(224 | c >> 12), w(128 | c >> 6 & 63), w(128 | c & 63); + w2(224 | c2 >> 12), w2(128 | c2 >> 6 & 63), w2(128 | c2 & 63); } return slc(ar, 0, ai); } var exfl = function(ex) { - var le = 0; + var le2 = 0; if (ex) { for (var k in ex) { - var l = ex[k].length; - if (l > 65535) + var l3 = ex[k].length; + if (l3 > 65535) err(9); - le += l + 4; + le2 += l3 + 4; } } - return le; + return le2; }; -var wzh = function(d, b, f, fn, u, c, ce, co) { - var fl2 = fn.length, ex = f.extra, col = co && co.length; +var wzh = function(d2, b3, f3, fn, u3, c2, ce, co) { + var fl2 = fn.length, ex = f3.extra, col = co && co.length; var exl = exfl(ex); - wbytes(d, b, ce != null ? 33639248 : 67324752), b += 4; + wbytes(d2, b3, ce != null ? 33639248 : 67324752), b3 += 4; if (ce != null) - d[b++] = 20, d[b++] = f.os; - d[b] = 20, b += 2; - d[b++] = f.flag << 1 | (c < 0 && 8), d[b++] = u && 8; - d[b++] = f.compression & 255, d[b++] = f.compression >> 8; - var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980; - if (y < 0 || y > 119) + d2[b3++] = 20, d2[b3++] = f3.os; + d2[b3] = 20, b3 += 2; + d2[b3++] = f3.flag << 1 | (c2 < 0 && 8), d2[b3++] = u3 && 8; + d2[b3++] = f3.compression & 255, d2[b3++] = f3.compression >> 8; + var dt = new Date(f3.mtime == null ? Date.now() : f3.mtime), y2 = dt.getFullYear() - 1980; + if (y2 < 0 || y2 > 119) err(10); - wbytes(d, b, y << 25 | dt.getMonth() + 1 << 21 | dt.getDate() << 16 | dt.getHours() << 11 | dt.getMinutes() << 5 | dt.getSeconds() >> 1), b += 4; - if (c != -1) { - wbytes(d, b, f.crc); - wbytes(d, b + 4, c < 0 ? -c - 2 : c); - wbytes(d, b + 8, f.size); - } - wbytes(d, b + 12, fl2); - wbytes(d, b + 14, exl), b += 16; + wbytes(d2, b3, y2 << 25 | dt.getMonth() + 1 << 21 | dt.getDate() << 16 | dt.getHours() << 11 | dt.getMinutes() << 5 | dt.getSeconds() >> 1), b3 += 4; + if (c2 != -1) { + wbytes(d2, b3, f3.crc); + wbytes(d2, b3 + 4, c2 < 0 ? -c2 - 2 : c2); + wbytes(d2, b3 + 8, f3.size); + } + wbytes(d2, b3 + 12, fl2); + wbytes(d2, b3 + 14, exl), b3 += 16; if (ce != null) { - wbytes(d, b, col); - wbytes(d, b + 6, f.attrs); - wbytes(d, b + 10, ce), b += 14; + wbytes(d2, b3, col); + wbytes(d2, b3 + 6, f3.attrs); + wbytes(d2, b3 + 10, ce), b3 += 14; } - d.set(fn, b); - b += fl2; + d2.set(fn, b3); + b3 += fl2; if (exl) { for (var k in ex) { - var exf = ex[k], l = exf.length; - wbytes(d, b, +k); - wbytes(d, b + 2, l); - d.set(exf, b + 4), b += 4 + l; + var exf = ex[k], l3 = exf.length; + wbytes(d2, b3, +k); + wbytes(d2, b3 + 2, l3); + d2.set(exf, b3 + 4), b3 += 4 + l3; } } if (col) - d.set(co, b), b += col; - return b; + d2.set(co, b3), b3 += col; + return b3; }; -var wzf = function(o, b, c, d, e) { - wbytes(o, b, 101010256); - wbytes(o, b + 8, c); - wbytes(o, b + 10, c); - wbytes(o, b + 12, d); - wbytes(o, b + 16, e); +var wzf = function(o2, b3, c2, d2, e2) { + wbytes(o2, b3, 101010256); + wbytes(o2, b3 + 8, c2); + wbytes(o2, b3 + 10, c2); + wbytes(o2, b3 + 12, d2); + wbytes(o2, b3 + 16, e2); }; function zipSync(data, opts) { if (!opts) @@ -20921,55 +20961,504 @@ function zipSync(data, opts) { var r2 = {}; var files = []; fltn(data, "", r2, opts); - var o = 0; + var o2 = 0; var tot = 0; for (var fn in r2) { - var _a3 = r2[fn], file = _a3[0], p = _a3[1]; - var compression = p.level == 0 ? 0 : 8; - var f = strToU8(fn), s = f.length; - var com = p.comment, m = com && strToU8(com), ms = m && m.length; - var exl = exfl(p.extra); - if (s > 65535) + var _a3 = r2[fn], file = _a3[0], p2 = _a3[1]; + var compression = p2.level == 0 ? 0 : 8; + var f3 = strToU8(fn), s2 = f3.length; + var com = p2.comment, m2 = com && strToU8(com), ms = m2 && m2.length; + var exl = exfl(p2.extra); + if (s2 > 65535) err(11); - var d = compression ? deflateSync(file, p) : file, l = d.length; - var c = crc(); - c.p(file); - files.push(mrg(p, { + var d2 = compression ? deflateSync(file, p2) : file, l3 = d2.length; + var c2 = crc(); + c2.p(file); + files.push(mrg(p2, { size: file.length, - crc: c.d(), - c: d, - f, - m, - u: s != fn.length || m && com.length != ms, - o, + crc: c2.d(), + c: d2, + f: f3, + m: m2, + u: s2 != fn.length || m2 && com.length != ms, + o: o2, compression })); - o += 30 + s + exl + l; - tot += 76 + 2 * (s + exl) + (ms || 0) + l; - } - var out = new u8(tot + 22), oe = o, cdl = tot - o; - for (var i = 0; i < files.length; ++i) { - var f = files[i]; - wzh(out, f.o, f, f.f, f.u, f.c.length); - var badd = 30 + f.f.length + exfl(f.extra); - out.set(f.c, f.o + badd); - wzh(out, o, f, f.f, f.u, f.c.length, f.o, f.m), o += 16 + badd + (f.m ? f.m.length : 0); - } - wzf(out, o, files.length, cdl, oe); + o2 += 30 + s2 + exl + l3; + tot += 76 + 2 * (s2 + exl) + (ms || 0) + l3; + } + var out = new u8(tot + 22), oe2 = o2, cdl = tot - o2; + for (var i2 = 0; i2 < files.length; ++i2) { + var f3 = files[i2]; + wzh(out, f3.o, f3, f3.f, f3.u, f3.c.length); + var badd = 30 + f3.f.length + exfl(f3.extra); + out.set(f3.c, f3.o + badd); + wzh(out, o2, f3, f3.f, f3.u, f3.c.length, f3.o, f3.m), o2 += 16 + badd + (f3.m ? f3.m.length : 0); + } + wzf(out, o2, files.length, cdl, oe2); return out; } // src/Components/Editor.tsx var React4 = __toESM(require_react()); +// node_modules/react-hot-toast/dist/index.mjs +var import_react = __toESM(require_react(), 1); +var import_react2 = __toESM(require_react(), 1); +var l2 = __toESM(require_react(), 1); + +// node_modules/goober/dist/goober.modern.js +var e = { data: "" }; +var t = (t3) => "object" == typeof window ? ((t3 ? t3.querySelector("#_goober") : window._goober) || Object.assign((t3 || document.head).appendChild(document.createElement("style")), { innerHTML: " ", id: "_goober" })).firstChild : t3 || e; +var l = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g; +var a = /\/\*[^]*?\*\/| +/g; +var n = /\n+/g; +var o = (e2, t3) => { + let r2 = "", l3 = "", a2 = ""; + for (let n3 in e2) { + let c2 = e2[n3]; + "@" == n3[0] ? "i" == n3[1] ? r2 = n3 + " " + c2 + ";" : l3 += "f" == n3[1] ? o(c2, n3) : n3 + "{" + o(c2, "k" == n3[1] ? "" : t3) + "}" : "object" == typeof c2 ? l3 += o(c2, t3 ? t3.replace(/([^,])+/g, (e3) => n3.replace(/(^:.*)|([^,])+/g, (t4) => /&/.test(t4) ? t4.replace(/&/g, e3) : e3 ? e3 + " " + t4 : t4)) : n3) : null != c2 && (n3 = /^--/.test(n3) ? n3 : n3.replace(/[A-Z]/g, "-$&").toLowerCase(), a2 += o.p ? o.p(n3, c2) : n3 + ":" + c2 + ";"); + } + return r2 + (t3 && a2 ? t3 + "{" + a2 + "}" : a2) + l3; +}; +var c = {}; +var s = (e2) => { + if ("object" == typeof e2) { + let t3 = ""; + for (let r2 in e2) + t3 += r2 + s(e2[r2]); + return t3; + } + return e2; +}; +var i = (e2, t3, r2, i2, p2) => { + let u3 = s(e2), d2 = c[u3] || (c[u3] = ((e3) => { + let t4 = 0, r3 = 11; + for (; t4 < e3.length; ) + r3 = 101 * r3 + e3.charCodeAt(t4++) >>> 0; + return "go" + r3; + })(u3)); + if (!c[d2]) { + let t4 = u3 !== e2 ? e2 : ((e3) => { + let t5, r3, o2 = [{}]; + for (; t5 = l.exec(e3.replace(a, "")); ) + t5[4] ? o2.shift() : t5[3] ? (r3 = t5[3].replace(n, " ").trim(), o2.unshift(o2[0][r3] = o2[0][r3] || {})) : o2[0][t5[1]] = t5[2].replace(n, " ").trim(); + return o2[0]; + })(e2); + c[d2] = o(p2 ? { ["@keyframes " + d2]: t4 } : t4, r2 ? "" : "." + d2); + } + let f3 = r2 && c.g ? c.g : null; + return r2 && (c.g = c[d2]), ((e3, t4, r3, l3) => { + l3 ? t4.data = t4.data.replace(l3, e3) : -1 === t4.data.indexOf(e3) && (t4.data = r3 ? e3 + t4.data : t4.data + e3); + })(c[d2], t3, i2, f3), d2; +}; +var p = (e2, t3, r2) => e2.reduce((e3, l3, a2) => { + let n3 = t3[a2]; + if (n3 && n3.call) { + let e4 = n3(r2), t4 = e4 && e4.props && e4.props.className || /^go/.test(e4) && e4; + n3 = t4 ? "." + t4 : e4 && "object" == typeof e4 ? e4.props ? "" : o(e4, "") : false === e4 ? "" : e4; + } + return e3 + l3 + (null == n3 ? "" : n3); +}, ""); +function u(e2) { + let r2 = this || {}, l3 = e2.call ? e2(r2.p) : e2; + return i(l3.unshift ? l3.raw ? p(l3, [].slice.call(arguments, 1), r2.p) : l3.reduce((e3, t3) => Object.assign(e3, t3 && t3.call ? t3(r2.p) : t3), {}) : l3, t(r2.target), r2.g, r2.o, r2.k); +} +var d; +var f; +var g; +var b = u.bind({ g: 1 }); +var h = u.bind({ k: 1 }); +function m(e2, t3, r2, l3) { + o.p = t3, d = e2, f = r2, g = l3; +} +function j(e2, t3) { + let r2 = this || {}; + return function() { + let l3 = arguments; + function a2(n3, o2) { + let c2 = Object.assign({}, n3), s2 = c2.className || a2.className; + r2.p = Object.assign({ theme: f && f() }, c2), r2.o = / *go\d+/.test(s2), c2.className = u.apply(r2, l3) + (s2 ? " " + s2 : ""), t3 && (c2.ref = o2); + let i2 = e2; + return e2[0] && (i2 = c2.as || e2, delete c2.as), g && i2[0] && g(c2), d(i2, c2); + } + return t3 ? t3(a2) : a2; + }; +} + +// node_modules/react-hot-toast/dist/index.mjs +var y = __toESM(require_react(), 1); +var f2 = __toESM(require_react(), 1); +var W = (e2) => typeof e2 == "function"; +var T = (e2, t3) => W(e2) ? e2(t3) : e2; +var U = (() => { + let e2 = 0; + return () => (++e2).toString(); +})(); +var b2 = (() => { + let e2; + return () => { + if (e2 === void 0 && typeof window < "u") { + let t3 = matchMedia("(prefers-reduced-motion: reduce)"); + e2 = !t3 || t3.matches; + } + return e2; + }; +})(); +var Q = 20; +var S = /* @__PURE__ */ new Map(); +var X = 1e3; +var $ = (e2) => { + if (S.has(e2)) + return; + let t3 = setTimeout(() => { + S.delete(e2), u2({ type: 4, toastId: e2 }); + }, X); + S.set(e2, t3); +}; +var J = (e2) => { + let t3 = S.get(e2); + t3 && clearTimeout(t3); +}; +var v = (e2, t3) => { + switch (t3.type) { + case 0: + return { ...e2, toasts: [t3.toast, ...e2.toasts].slice(0, Q) }; + case 1: + return t3.toast.id && J(t3.toast.id), { ...e2, toasts: e2.toasts.map((r2) => r2.id === t3.toast.id ? { ...r2, ...t3.toast } : r2) }; + case 2: + let { toast: o2 } = t3; + return e2.toasts.find((r2) => r2.id === o2.id) ? v(e2, { type: 1, toast: o2 }) : v(e2, { type: 0, toast: o2 }); + case 3: + let { toastId: s2 } = t3; + return s2 ? $(s2) : e2.toasts.forEach((r2) => { + $(r2.id); + }), { ...e2, toasts: e2.toasts.map((r2) => r2.id === s2 || s2 === void 0 ? { ...r2, visible: false } : r2) }; + case 4: + return t3.toastId === void 0 ? { ...e2, toasts: [] } : { ...e2, toasts: e2.toasts.filter((r2) => r2.id !== t3.toastId) }; + case 5: + return { ...e2, pausedAt: t3.time }; + case 6: + let a2 = t3.time - (e2.pausedAt || 0); + return { ...e2, pausedAt: void 0, toasts: e2.toasts.map((r2) => ({ ...r2, pauseDuration: r2.pauseDuration + a2 })) }; + } +}; +var A = []; +var P = { toasts: [], pausedAt: void 0 }; +var u2 = (e2) => { + P = v(P, e2), A.forEach((t3) => { + t3(P); + }); +}; +var Y = { blank: 4e3, error: 4e3, success: 2e3, loading: 1 / 0, custom: 4e3 }; +var I = (e2 = {}) => { + let [t3, o2] = (0, import_react.useState)(P); + (0, import_react.useEffect)(() => (A.push(o2), () => { + let a2 = A.indexOf(o2); + a2 > -1 && A.splice(a2, 1); + }), [t3]); + let s2 = t3.toasts.map((a2) => { + var r2, c2; + return { ...e2, ...e2[a2.type], ...a2, duration: a2.duration || ((r2 = e2[a2.type]) == null ? void 0 : r2.duration) || (e2 == null ? void 0 : e2.duration) || Y[a2.type], style: { ...e2.style, ...(c2 = e2[a2.type]) == null ? void 0 : c2.style, ...a2.style } }; + }); + return { ...t3, toasts: s2 }; +}; +var G = (e2, t3 = "blank", o2) => ({ createdAt: Date.now(), visible: true, type: t3, ariaProps: { role: "status", "aria-live": "polite" }, message: e2, pauseDuration: 0, ...o2, id: (o2 == null ? void 0 : o2.id) || U() }); +var h2 = (e2) => (t3, o2) => { + let s2 = G(t3, e2, o2); + return u2({ type: 2, toast: s2 }), s2.id; +}; +var n2 = (e2, t3) => h2("blank")(e2, t3); +n2.error = h2("error"); +n2.success = h2("success"); +n2.loading = h2("loading"); +n2.custom = h2("custom"); +n2.dismiss = (e2) => { + u2({ type: 3, toastId: e2 }); +}; +n2.remove = (e2) => u2({ type: 4, toastId: e2 }); +n2.promise = (e2, t3, o2) => { + let s2 = n2.loading(t3.loading, { ...o2, ...o2 == null ? void 0 : o2.loading }); + return e2.then((a2) => (n2.success(T(t3.success, a2), { id: s2, ...o2, ...o2 == null ? void 0 : o2.success }), a2)).catch((a2) => { + n2.error(T(t3.error, a2), { id: s2, ...o2, ...o2 == null ? void 0 : o2.error }); + }), e2; +}; +var Z = (e2, t3) => { + u2({ type: 1, toast: { id: e2, height: t3 } }); +}; +var ee = () => { + u2({ type: 5, time: Date.now() }); +}; +var D = (e2) => { + let { toasts: t3, pausedAt: o2 } = I(e2); + (0, import_react2.useEffect)(() => { + if (o2) + return; + let r2 = Date.now(), c2 = t3.map((i2) => { + if (i2.duration === 1 / 0) + return; + let d2 = (i2.duration || 0) + i2.pauseDuration - (r2 - i2.createdAt); + if (d2 < 0) { + i2.visible && n2.dismiss(i2.id); + return; + } + return setTimeout(() => n2.dismiss(i2.id), d2); + }); + return () => { + c2.forEach((i2) => i2 && clearTimeout(i2)); + }; + }, [t3, o2]); + let s2 = (0, import_react2.useCallback)(() => { + o2 && u2({ type: 6, time: Date.now() }); + }, [o2]), a2 = (0, import_react2.useCallback)((r2, c2) => { + let { reverseOrder: i2 = false, gutter: d2 = 8, defaultPosition: p2 } = c2 || {}, g2 = t3.filter((m2) => (m2.position || p2) === (r2.position || p2) && m2.height), E = g2.findIndex((m2) => m2.id === r2.id), x = g2.filter((m2, R) => R < E && m2.visible).length; + return g2.filter((m2) => m2.visible).slice(...i2 ? [x + 1] : [0, x]).reduce((m2, R) => m2 + (R.height || 0) + d2, 0); + }, [t3]); + return { toasts: t3, handlers: { updateHeight: Z, startPause: ee, endPause: s2, calculateOffset: a2 } }; +}; +var oe = h` +from { + transform: scale(0) rotate(45deg); + opacity: 0; +} +to { + transform: scale(1) rotate(45deg); + opacity: 1; +}`; +var re = h` +from { + transform: scale(0); + opacity: 0; +} +to { + transform: scale(1); + opacity: 1; +}`; +var se = h` +from { + transform: scale(0) rotate(90deg); + opacity: 0; +} +to { + transform: scale(1) rotate(90deg); + opacity: 1; +}`; +var _ = j("div")` + width: 20px; + opacity: 0; + height: 20px; + border-radius: 10px; + background: ${(e2) => e2.primary || "#ff4b4b"}; + position: relative; + transform: rotate(45deg); + + animation: ${oe} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) + forwards; + animation-delay: 100ms; + + &:after, + &:before { + content: ''; + animation: ${re} 0.15s ease-out forwards; + animation-delay: 150ms; + position: absolute; + border-radius: 3px; + opacity: 0; + background: ${(e2) => e2.secondary || "#fff"}; + bottom: 9px; + left: 4px; + height: 2px; + width: 12px; + } + + &:before { + animation: ${se} 0.15s ease-out forwards; + animation-delay: 180ms; + transform: rotate(90deg); + } +`; +var ne = h` + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +`; +var V = j("div")` + width: 12px; + height: 12px; + box-sizing: border-box; + border: 2px solid; + border-radius: 100%; + border-color: ${(e2) => e2.secondary || "#e0e0e0"}; + border-right-color: ${(e2) => e2.primary || "#616161"}; + animation: ${ne} 1s linear infinite; +`; +var pe = h` +from { + transform: scale(0) rotate(45deg); + opacity: 0; +} +to { + transform: scale(1) rotate(45deg); + opacity: 1; +}`; +var de = h` +0% { + height: 0; + width: 0; + opacity: 0; +} +40% { + height: 0; + width: 6px; + opacity: 1; +} +100% { + opacity: 1; + height: 10px; +}`; +var w = j("div")` + width: 20px; + opacity: 0; + height: 20px; + border-radius: 10px; + background: ${(e2) => e2.primary || "#61d345"}; + position: relative; + transform: rotate(45deg); + + animation: ${pe} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) + forwards; + animation-delay: 100ms; + &:after { + content: ''; + box-sizing: border-box; + animation: ${de} 0.2s ease-out forwards; + opacity: 0; + animation-delay: 200ms; + position: absolute; + border-right: 2px solid; + border-bottom: 2px solid; + border-color: ${(e2) => e2.secondary || "#fff"}; + bottom: 6px; + left: 6px; + height: 10px; + width: 6px; + } +`; +var ue = j("div")` + position: absolute; +`; +var le = j("div")` + position: relative; + display: flex; + justify-content: center; + align-items: center; + min-width: 20px; + min-height: 20px; +`; +var Te = h` +from { + transform: scale(0.6); + opacity: 0.4; +} +to { + transform: scale(1); + opacity: 1; +}`; +var fe = j("div")` + position: relative; + transform: scale(0.6); + opacity: 0.4; + min-width: 20px; + animation: ${Te} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275) + forwards; +`; +var M = ({ toast: e2 }) => { + let { icon: t3, type: o2, iconTheme: s2 } = e2; + return t3 !== void 0 ? typeof t3 == "string" ? y.createElement(fe, null, t3) : t3 : o2 === "blank" ? null : y.createElement(le, null, y.createElement(V, { ...s2 }), o2 !== "loading" && y.createElement(ue, null, o2 === "error" ? y.createElement(_, { ...s2 }) : y.createElement(w, { ...s2 }))); +}; +var ye = (e2) => ` +0% {transform: translate3d(0,${e2 * -200}%,0) scale(.6); opacity:.5;} +100% {transform: translate3d(0,0,0) scale(1); opacity:1;} +`; +var ge = (e2) => ` +0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;} +100% {transform: translate3d(0,${e2 * -150}%,-1px) scale(.6); opacity:0;} +`; +var he = "0%{opacity:0;} 100%{opacity:1;}"; +var xe = "0%{opacity:1;} 100%{opacity:0;}"; +var be = j("div")` + display: flex; + align-items: center; + background: #fff; + color: #363636; + line-height: 1.3; + will-change: transform; + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05); + max-width: 350px; + pointer-events: auto; + padding: 8px 10px; + border-radius: 8px; +`; +var Se = j("div")` + display: flex; + justify-content: center; + margin: 4px 10px; + color: inherit; + flex: 1 1 auto; + white-space: pre-line; +`; +var Ae = (e2, t3) => { + let s2 = e2.includes("top") ? 1 : -1, [a2, r2] = b2() ? [he, xe] : [ye(s2), ge(s2)]; + return { animation: t3 ? `${h(a2)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards` : `${h(r2)} 0.4s forwards cubic-bezier(.06,.71,.55,1)` }; +}; +var F = l2.memo(({ toast: e2, position: t3, style: o2, children: s2 }) => { + let a2 = e2.height ? Ae(e2.position || t3 || "top-center", e2.visible) : { opacity: 0 }, r2 = l2.createElement(M, { toast: e2 }), c2 = l2.createElement(Se, { ...e2.ariaProps }, T(e2.message, e2)); + return l2.createElement(be, { className: e2.className, style: { ...a2, ...o2, ...e2.style } }, typeof s2 == "function" ? s2({ icon: r2, message: c2 }) : l2.createElement(l2.Fragment, null, r2, c2)); +}); +m(f2.createElement); +var Ee = ({ id: e2, className: t3, style: o2, onHeightUpdate: s2, children: a2 }) => { + let r2 = f2.useCallback((c2) => { + if (c2) { + let i2 = () => { + let d2 = c2.getBoundingClientRect().height; + s2(e2, d2); + }; + i2(), new MutationObserver(i2).observe(c2, { subtree: true, childList: true, characterData: true }); + } + }, [e2, s2]); + return f2.createElement("div", { ref: r2, className: t3, style: o2 }, a2); +}; +var Re = (e2, t3) => { + let o2 = e2.includes("top"), s2 = o2 ? { top: 0 } : { bottom: 0 }, a2 = e2.includes("center") ? { justifyContent: "center" } : e2.includes("right") ? { justifyContent: "flex-end" } : {}; + return { left: 0, right: 0, display: "flex", position: "absolute", transition: b2() ? void 0 : "all 230ms cubic-bezier(.21,1.02,.73,1)", transform: `translateY(${t3 * (o2 ? 1 : -1)}px)`, ...s2, ...a2 }; +}; +var ve = u` + z-index: 9999; + > * { + pointer-events: auto; + } +`; +var O = 16; +var Ie = ({ reverseOrder: e2, position: t3 = "top-center", toastOptions: o2, gutter: s2, children: a2, containerStyle: r2, containerClassName: c2 }) => { + let { toasts: i2, handlers: d2 } = D(o2); + return f2.createElement("div", { style: { position: "fixed", zIndex: 9999, top: O, left: O, right: O, bottom: O, pointerEvents: "none", ...r2 }, className: c2, onMouseEnter: d2.startPause, onMouseLeave: d2.endPause }, i2.map((p2) => { + let g2 = p2.position || t3, E = d2.calculateOffset(p2, { reverseOrder: e2, gutter: s2, defaultPosition: t3 }), x = Re(g2, E); + return f2.createElement(Ee, { id: p2.id, key: p2.id, onHeightUpdate: d2.updateHeight, className: p2.visible ? ve : "", style: x }, p2.type === "custom" ? T(p2.message, p2) : a2 ? a2(p2) : f2.createElement(F, { toast: p2, position: g2 })); + })); +}; +var _t = n2; + // src/fileio.ts var MAX_FILE_SIZE = 20 * 1024 * 1024; var MAX_FILES = 20; var IGNORE_PATTERNS = [/^\./, /^_/]; var FILE_SYSTEM_API_ERROR_MESSAGE = "Sorry, this browser does not support the File System Access API. This feature requires Chrome or Edge."; -function matches_ignore_pattern(s) { - for (const p of IGNORE_PATTERNS) { - if (p.test(s)) +function matches_ignore_pattern(s2) { + for (const p2 of IGNORE_PATTERNS) { + if (p2.test(s2)) return true; } return false; @@ -21098,7 +21587,7 @@ var LanguageServerClient = class extends import_events.EventEmitter { } errorCount() { return this.allDiagnostics().filter( - (e) => e.severity === import_vscode_languageserver_protocol.DiagnosticSeverity.Error + (e2) => e2.severity === import_vscode_languageserver_protocol.DiagnosticSeverity.Error ).length; } /** @@ -21338,12 +21827,12 @@ var pyright = (language2) => { ); const workers = [foreground]; connection.onDispose(() => { - workers.forEach((w) => w.terminate()); + workers.forEach((w2) => w2.terminate()); }); let backgroundWorkerCount = 0; - foreground.addEventListener("message", (e) => { - if (e.data && e.data.type === "browser/newWorker") { - const { initialData, port } = e.data; + foreground.addEventListener("message", (e2) => { + if (e2.data && e2.data.type === "browser/newWorker") { + const { initialData, port } = e2.data; const background = new Worker(workerScript, { name: `Pyright-background-${++backgroundWorkerCount}` }); @@ -21409,9 +21898,9 @@ async function getInitializationOptions() { var React2 = __toESM(require_react()); // src/hooks/useOnEscOrClickOutside.tsx -var import_react = __toESM(require_react()); +var import_react3 = __toESM(require_react()); function useOnEscOrClickOutside(ref, handler) { - import_react.default.useEffect(() => { + import_react3.default.useEffect(() => { const listener = (event) => { if (event instanceof KeyboardEvent) { if (event.key === "Escape") { @@ -21466,7 +21955,7 @@ function ShareModal({ value: editorUrl, ref: editorUrlInputRef, className: "ShareModal--urlinput", - onFocus: (e) => e.target.select(), + onFocus: (e2) => e2.target.select(), readOnly: true } ) }), @@ -21521,7 +22010,7 @@ function ShareModal({ value: appUrl, ref: appUrlInputRef, className: "ShareModal--urlinput", - onFocus: (e) => e.target.select(), + onFocus: (e2) => e2.target.select(), readOnly: true } ) }), @@ -21563,14 +22052,14 @@ function FileTabs({ const moreThanOneFile = files.length > 1; const inNameEditMode = editingFilename !== null; return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "editor-files", children: [ - files.map((f, index) => { - const isActiveFile = activeFile.name === f.name; + files.map((f3, index) => { + const isActiveFile = activeFile.name === f3.name; const editingCurrentFilename = inNameEditMode && isActiveFile; const validFileName = ( // It's not being edited !editingCurrentFilename || // or it has no conflicts with the names of the other files files.every( - (file, i) => i === index || // Can't conflict with its own name + (file, i2) => i2 === index || // Can't conflict with its own name file.name.toLowerCase() !== editingFilename.toLowerCase() ) ); @@ -21579,22 +22068,22 @@ function FileTabs({ { className: isActiveFile ? "selected" : void 0, onClick: () => { - selectFile(f.name); + selectFile(f3.name); setFocusOnEditor(true); }, children: [ - /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "editor-filename", children: editingCurrentFilename ? editingFilename : f.name }), + /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "editor-filename", children: editingCurrentFilename ? editingFilename : f3.name }), moreThanOneFile ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)( "span", { className: "editor-closebutton", "aria-label": "Close file", - onClick: (e) => { - if (!confirm("Close " + f.name + "?")) { - e.stopPropagation(); + onClick: (e2) => { + if (!confirm("Close " + f3.name + "?")) { + e2.stopPropagation(); return; } - closeFile(e, index); + closeFile(e2, index); }, children: "\xD7" } @@ -21607,22 +22096,22 @@ function FileTabs({ className: validFileName ? void 0 : "invalid-filename", value: editingFilename, spellCheck: "false", - onChange: (e) => enterNameEditMode(e.target.value), - onKeyPress: (e) => { - if (e.key === "Enter" && validFileName) { + onChange: (e2) => enterNameEditMode(e2.target.value), + onKeyPress: (e2) => { + if (e2.key === "Enter" && validFileName) { renameFile(activeFile.name, editingFilename); - } else if (!/^[a-zA-Z0-9/_.-]$/.test(e.key)) { - e.preventDefault(); + } else if (!/^[a-zA-Z0-9/_.-]$/.test(e2.key)) { + e2.preventDefault(); } }, - onKeyDown: (e) => { - if (e.key === "Escape") { + onKeyDown: (e2) => { + if (e2.key === "Escape") { enterNameEditMode(null); - } else if (e.key == " ") { - e.preventDefault(); + } else if (e2.key == " ") { + e2.preventDefault(); } }, - onBlur: (e) => { + onBlur: (e2) => { if (editingFilename) { if (validFileName) { renameFile(activeFile.name, editingFilename); @@ -21635,7 +22124,7 @@ function FileTabs({ ) : null ] }, - f.name + f3.name ); }), /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { className: "editor-addtab", children: [ @@ -21811,8 +22300,8 @@ var NodeType = class _NodeType { for (let name2 of prop.split(" ")) direct[name2] = map[prop]; return (node) => { - for (let groups = node.prop(NodeProp.group), i = -1; i < (groups ? groups.length : 0); i++) { - let found = direct[i < 0 ? node.name : groups[i]]; + for (let groups = node.prop(NodeProp.group), i2 = -1; i2 < (groups ? groups.length : 0); i2++) { + let found = direct[i2 < 0 ? node.name : groups[i2]]; if (found) return found; } @@ -21833,8 +22322,8 @@ var NodeSet = class _NodeSet { */ constructor(types2) { this.types = types2; - for (let i = 0; i < types2.length; i++) - if (types2[i].id != i) + for (let i2 = 0; i2 < types2.length; i2++) + if (types2[i2].id != i2) throw new RangeError("Node type ids should correspond to array positions when creating a node set"); } /** @@ -21977,19 +22466,19 @@ var Tree = class _Tree { iterate(spec) { let { enter, leave, from = 0, to = this.length } = spec; let mode = spec.mode || 0, anon = (mode & IterMode.IncludeAnonymous) > 0; - for (let c = this.cursor(mode | IterMode.IncludeAnonymous); ; ) { + for (let c2 = this.cursor(mode | IterMode.IncludeAnonymous); ; ) { let entered = false; - if (c.from <= to && c.to >= from && (!anon && c.type.isAnonymous || enter(c) !== false)) { - if (c.firstChild()) + if (c2.from <= to && c2.to >= from && (!anon && c2.type.isAnonymous || enter(c2) !== false)) { + if (c2.firstChild()) continue; entered = true; } for (; ; ) { - if (entered && leave && (anon || !c.type.isAnonymous)) - leave(c); - if (c.nextSibling()) + if (entered && leave && (anon || !c2.type.isAnonymous)) + leave(c2); + if (c2.nextSibling()) break; - if (!c.parent()) + if (!c2.parent()) return; entered = true; } @@ -22107,9 +22596,9 @@ var TreeBuffer = class _TreeBuffer { */ findChild(startIndex, endIndex, dir, pos, side) { let { buffer } = this, pick = -1; - for (let i = startIndex; i != endIndex; i = buffer[i + 3]) { - if (checkSide(side, pos, buffer[i + 1], buffer[i + 2])) { - pick = i; + for (let i2 = startIndex; i2 != endIndex; i2 = buffer[i2 + 3]) { + if (checkSide(side, pos, buffer[i2 + 1], buffer[i2 + 2])) { + pick = i2; if (dir > 0) break; } @@ -22120,13 +22609,13 @@ var TreeBuffer = class _TreeBuffer { @internal */ slice(startI, endI, from) { - let b = this.buffer; + let b3 = this.buffer; let copy = new Uint16Array(endI - startI), len = 0; - for (let i = startI, j = 0; i < endI; ) { - copy[j++] = b[i++]; - copy[j++] = b[i++] - from; - let to = copy[j++] = b[i++] - from; - copy[j++] = b[i++] - startI; + for (let i2 = startI, j3 = 0; i2 < endI; ) { + copy[j3++] = b3[i2++]; + copy[j3++] = b3[i2++] - from; + let to = copy[j3++] = b3[i2++] - from; + copy[j3++] = b3[i2++] - startI; len = Math.max(len, to); } return new _TreeBuffer(copy, len, this.set); @@ -22228,10 +22717,10 @@ var TreeNode = class _TreeNode extends BaseNode { get to() { return this.from + this._tree.length; } - nextChild(i, dir, pos, side, mode = 0) { + nextChild(i2, dir, pos, side, mode = 0) { for (let parent = this; ; ) { - for (let { children, positions } = parent._tree, e = dir > 0 ? children.length : -1; i != e; i += dir) { - let next = children[i], start = positions[i] + parent.from; + for (let { children, positions } = parent._tree, e2 = dir > 0 ? children.length : -1; i2 != e2; i2 += dir) { + let next = children[i2], start = positions[i2] + parent.from; if (!checkSide(side, pos, start, start + next.length)) continue; if (next instanceof TreeBuffer) { @@ -22239,21 +22728,21 @@ var TreeNode = class _TreeNode extends BaseNode { continue; let index = next.findChild(0, next.buffer.length, dir, pos - start, side); if (index > -1) - return new BufferNode(new BufferContext(parent, next, i, start), null, index); + return new BufferNode(new BufferContext(parent, next, i2, start), null, index); } else if (mode & IterMode.IncludeAnonymous || (!next.type.isAnonymous || hasChild(next))) { let mounted; if (!(mode & IterMode.IgnoreMounts) && (mounted = MountedTree.get(next)) && !mounted.overlay) - return new _TreeNode(mounted.tree, start, i, parent); - let inner = new _TreeNode(next, start, i, parent); + return new _TreeNode(mounted.tree, start, i2, parent); + let inner = new _TreeNode(next, start, i2, parent); return mode & IterMode.IncludeAnonymous || !inner.type.isAnonymous ? inner : inner.nextChild(dir < 0 ? next.children.length - 1 : 0, dir, pos, side); } } if (mode & IterMode.IncludeAnonymous || !parent.type.isAnonymous) return null; if (parent.index >= 0) - i = parent.index + dir; + i2 = parent.index + dir; else - i = dir < 0 ? -1 : parent._parent._tree.children.length; + i2 = dir < 0 ? -1 : parent._parent._tree.children.length; parent = parent._parent; if (!parent) return null; @@ -22364,14 +22853,14 @@ function getChildren(node, type, before, after) { return after == null ? result : []; } } -function matchNodeContext(node, context, i = context.length - 1) { - for (let p = node.parent; i >= 0; p = p.parent) { - if (!p) +function matchNodeContext(node, context, i2 = context.length - 1) { + for (let p2 = node.parent; i2 >= 0; p2 = p2.parent) { + if (!p2) return false; - if (!p.type.isAnonymous) { - if (context[i] && context[i] != p.name) + if (!p2.type.isAnonymous) { + if (context[i2] && context[i2] != p2.name) return false; - i--; + i2--; } } return true; @@ -22503,11 +22992,11 @@ function iterStack(heads) { if (!heads.length) return null; let pick = 0, picked = heads[0]; - for (let i = 1; i < heads.length; i++) { - let node = heads[i]; + for (let i2 = 1; i2 < heads.length; i2++) { + let node = heads[i2]; if (node.from > picked.from || node.to < picked.to) { picked = node; - pick = i; + pick = i2; } } let next = picked instanceof TreeNode && picked.index < 0 ? null : picked.parent; @@ -22565,8 +23054,8 @@ var TreeCursor = class { } else { this._tree = node.context.parent; this.buffer = node.context; - for (let n = node._parent; n; n = n._parent) - this.stack.unshift(n.index); + for (let n3 = node._parent; n3; n3 = n3._parent) + this.stack.unshift(n3.index); this.bufferNode = node; this.yieldBuf(node.index); } @@ -22695,9 +23184,9 @@ var TreeCursor = class { sibling(dir) { if (!this.buffer) return !this._tree._parent ? false : this.yield(this._tree.index < 0 ? null : this._tree._parent.nextChild(this._tree.index + dir, dir, 0, 4, this.mode)); - let { buffer } = this.buffer, d = this.stack.length - 1; + let { buffer } = this.buffer, d2 = this.stack.length - 1; if (dir < 0) { - let parentStart = d < 0 ? 0 : this.stack[d] + 4; + let parentStart = d2 < 0 ? 0 : this.stack[d2] + 4; if (this.index != parentStart) return this.yieldBuf(buffer.findChild( parentStart, @@ -22709,10 +23198,10 @@ var TreeCursor = class { )); } else { let after = buffer.buffer[this.index + 3]; - if (after < (d < 0 ? buffer.buffer.length : buffer.buffer[this.stack[d] + 3])) + if (after < (d2 < 0 ? buffer.buffer.length : buffer.buffer[this.stack[d2] + 3])) return this.yieldBuf(after); } - return d < 0 ? this.yield(this.buffer.parent.nextChild(this.buffer.index + dir, dir, 0, 4, this.mode)) : false; + return d2 < 0 ? this.yield(this.buffer.parent.nextChild(this.buffer.index + dir, dir, 0, 4, this.mode)) : false; } /** Move to this node's next sibling, if any. @@ -22733,8 +23222,8 @@ var TreeCursor = class { if (this.index < buffer.buffer.buffer.length) return false; } else { - for (let i = 0; i < this.index; i++) - if (buffer.buffer.buffer[i + 3] < this.index) + for (let i2 = 0; i2 < this.index; i2++) + if (buffer.buffer.buffer[i2 + 3] < this.index) return false; } ({ index, parent } = buffer); @@ -22743,8 +23232,8 @@ var TreeCursor = class { } for (; parent; { index, _parent: parent } = parent) { if (index > -1) - for (let i = index + dir, e = dir < 0 ? -1 : parent._tree.children.length; i != e; i += dir) { - let child = parent._tree.children[i]; + for (let i2 = index + dir, e2 = dir < 0 ? -1 : parent._tree.children.length; i2 != e2; i2 += dir) { + let child = parent._tree.children[i2]; if (this.mode & IterMode.IncludeAnonymous || child instanceof TreeBuffer || !child.type.isAnonymous || hasChild(child)) return false; } @@ -22808,20 +23297,20 @@ var TreeCursor = class { let cache3 = this.bufferNode, result = null, depth = 0; if (cache3 && cache3.context == this.buffer) { scan: - for (let index = this.index, d = this.stack.length; d >= 0; ) { - for (let c = cache3; c; c = c._parent) - if (c.index == index) { + for (let index = this.index, d2 = this.stack.length; d2 >= 0; ) { + for (let c2 = cache3; c2; c2 = c2._parent) + if (c2.index == index) { if (index == this.index) - return c; - result = c; - depth = d + 1; + return c2; + result = c2; + depth = d2 + 1; break scan; } - index = this.stack[--d]; + index = this.stack[--d2]; } } - for (let i = depth; i < this.stack.length; i++) - result = new BufferNode(this.buffer, result, this.stack[i]); + for (let i2 = depth; i2 < this.stack.length; i2++) + result = new BufferNode(this.buffer, result, this.stack[i2]); return this.bufferNode = new BufferNode(this.buffer, result, this.index); } /** @@ -22872,14 +23361,14 @@ var TreeCursor = class { if (!this.buffer) return matchNodeContext(this.node, context); let { buffer } = this.buffer, { types: types2 } = buffer.set; - for (let i = context.length - 1, d = this.stack.length - 1; i >= 0; d--) { - if (d < 0) - return matchNodeContext(this.node, context, i); - let type = types2[buffer.buffer[this.stack[d]]]; + for (let i2 = context.length - 1, d2 = this.stack.length - 1; i2 >= 0; d2--) { + if (d2 < 0) + return matchNodeContext(this.node, context, i2); + let type = types2[buffer.buffer[this.stack[d2]]]; if (!type.isAnonymous) { - if (context[i] && context[i] != type.name) + if (context[i2] && context[i2] != type.name) return false; - i--; + i2--; } } return true; @@ -22977,11 +23466,11 @@ function buildTree(data) { if (nodeCount) { let buffer2 = new Uint16Array(nodeCount * 4); let start = nodes[nodes.length - 2]; - for (let i = nodes.length - 3, j = 0; i >= 0; i -= 3) { - buffer2[j++] = nodes[i]; - buffer2[j++] = nodes[i + 1] - start; - buffer2[j++] = nodes[i + 2] - start; - buffer2[j++] = j; + for (let i2 = nodes.length - 3, j3 = 0; i2 >= 0; i2 -= 3) { + buffer2[j3++] = nodes[i2]; + buffer2[j3++] = nodes[i2 + 1] - start; + buffer2[j3++] = nodes[i2 + 2] - start; + buffer2[j3++] = j3; } children2.push(new TreeBuffer(buffer2, nodes[2] - start, nodeSet2)); positions2.push(start - parentStart); @@ -22999,9 +23488,9 @@ function buildTree(data) { return makeTree(type, children2, positions2, length2, lookAhead2); }; } - function makeRepeatLeaf(children2, positions2, base2, i, from, to, type, lookAhead2) { + function makeRepeatLeaf(children2, positions2, base2, i2, from, to, type, lookAhead2) { let localChildren = [], localPositions = []; - while (children2.length > i) { + while (children2.length > i2) { localChildren.push(children2.pop()); localPositions.push(positions2.pop() + base2 - from); } @@ -23110,24 +23599,24 @@ function nodeSize(balanceType, node) { } function balanceRange(balanceType, children, positions, from, to, start, length, mkTop, mkTree) { let total = 0; - for (let i = from; i < to; i++) - total += nodeSize(balanceType, children[i]); + for (let i2 = from; i2 < to; i2++) + total += nodeSize(balanceType, children[i2]); let maxChild = Math.ceil( total * 1.5 / 8 /* Balance.BranchFactor */ ); let localChildren = [], localPositions = []; function divide(children2, positions2, from2, to2, offset) { - for (let i = from2; i < to2; ) { - let groupFrom = i, groupStart = positions2[i], groupSize = nodeSize(balanceType, children2[i]); - i++; - for (; i < to2; i++) { - let nextSize = nodeSize(balanceType, children2[i]); + for (let i2 = from2; i2 < to2; ) { + let groupFrom = i2, groupStart = positions2[i2], groupSize = nodeSize(balanceType, children2[i2]); + i2++; + for (; i2 < to2; i2++) { + let nextSize = nodeSize(balanceType, children2[i2]); if (groupSize + nextSize >= maxChild) break; groupSize += nextSize; } - if (i == groupFrom + 1) { + if (i2 == groupFrom + 1) { if (groupSize > maxChild) { let only = children2[groupFrom]; divide(only.children, only.positions, 0, only.children.length, positions2[groupFrom] + offset); @@ -23135,8 +23624,8 @@ function balanceRange(balanceType, children, positions, from, to, start, length, } localChildren.push(children2[groupFrom]); } else { - let length2 = positions2[i - 1] + children2[i - 1].length - groupStart; - localChildren.push(balanceRange(balanceType, children2, positions2, groupFrom, i, groupStart, length2, null, mkTree)); + let length2 = positions2[i2 - 1] + children2[i2 - 1].length - groupStart; + localChildren.push(balanceRange(balanceType, children2, positions2, groupFrom, i2, groupStart, length2, null, mkTree)); } localPositions.push(groupStart + offset - start); } @@ -23230,9 +23719,9 @@ var TreeFragment = class _TreeFragment { */ static addTree(tree, fragments = [], partial = false) { let result = [new _TreeFragment(0, tree.length, tree, 0, false, partial)]; - for (let f of fragments) - if (f.to > tree.length) - result.push(f); + for (let f3 of fragments) + if (f3.to > tree.length) + result.push(f3); return result; } /** @@ -23388,9 +23877,9 @@ var MixedParse = class { if (this.baseParse) return 0; let pos = this.input.length; - for (let i = this.innerDone; i < this.inner.length; i++) { - if (this.inner[i].from < pos) - pos = Math.min(pos, this.inner[i].parse.parsedPos); + for (let i2 = this.innerDone; i2 < this.inner.length; i2++) { + if (this.inner[i2].from < pos) + pos = Math.min(pos, this.inner[i2].parse.parsedPos); } return pos; } @@ -23399,8 +23888,8 @@ var MixedParse = class { if (this.baseParse) this.baseParse.stopAt(pos); else - for (let i = this.innerDone; i < this.inner.length; i++) - this.inner[i].parse.stopAt(pos); + for (let i2 = this.innerDone; i2 < this.inner.length; i2++) + this.inner[i2].parse.stopAt(pos); } startInner() { let fragmentCursor = new FragmentCursor(this.fragments); @@ -23414,7 +23903,7 @@ var MixedParse = class { enter = false; } else if (fragmentCursor.hasNode(cursor)) { if (overlay) { - let match = overlay.mounts.find((m) => m.frag.from <= cursor.from && m.frag.to >= cursor.to && m.mount.overlay); + let match = overlay.mounts.find((m2) => m2.frag.from <= cursor.from && m2.frag.to >= cursor.to && m2.mount.overlay); if (match) for (let r2 of match.mount.overlay) { let from = r2.from + match.pos, to = r2.to + match.pos; @@ -23496,26 +23985,26 @@ function materialize(cursor) { stack.push(cursor.index); cursor.parent(); } while (!cursor.tree); - let i = 0, base2 = cursor.tree, off = 0; - for (; ; i++) { - off = base2.positions[i] + cursor.from; - if (off <= node.from && off + base2.children[i].length >= node.to) + let i2 = 0, base2 = cursor.tree, off = 0; + for (; ; i2++) { + off = base2.positions[i2] + cursor.from; + if (off <= node.from && off + base2.children[i2].length >= node.to) break; } - let buf = base2.children[i], b = buf.buffer, newStack = [i]; + let buf = base2.children[i2], b3 = buf.buffer, newStack = [i2]; function split(startI, endI, type, innerOffset, length, stackPos) { let targetI = stack[stackPos]; let children = [], positions = []; sliceBuf(buf, startI, targetI, children, positions, innerOffset); - let from = b[targetI + 1], to = b[targetI + 2]; + let from = b3[targetI + 1], to = b3[targetI + 2]; newStack.push(children.length); - let child = stackPos ? split(targetI + 4, b[targetI + 3], buf.set.types[b[targetI]], from, to - from, stackPos - 1) : node.toTree(); + let child = stackPos ? split(targetI + 4, b3[targetI + 3], buf.set.types[b3[targetI]], from, to - from, stackPos - 1) : node.toTree(); children.push(child); positions.push(from - innerOffset); - sliceBuf(buf, b[targetI + 3], endI, children, positions, innerOffset); + sliceBuf(buf, b3[targetI + 3], endI, children, positions, innerOffset); return new Tree(type, children, positions, length); } - base2.children[i] = split(0, b.length, NodeType.none, 0, buf.length, stack.length - 1); + base2.children[i2] = split(0, b3.length, NodeType.none, 0, buf.length, stack.length - 1); for (let index of newStack) { let tree = cursor.tree.children[index], pos = cursor.tree.positions[index]; cursor.yield(new TreeNode(tree, pos + cursor.from, index, cursor._tree)); @@ -23529,9 +24018,9 @@ var StructureCursor = class { } // Move to the first node (in pre-order) that starts at or after `pos`. moveTo(pos) { - let { cursor } = this, p = pos - this.offset; - while (!this.done && cursor.from < p) { - if (cursor.to >= pos && cursor.enter(p, 1, IterMode.IgnoreOverlays | IterMode.ExcludeBuffers)) + let { cursor } = this, p2 = pos - this.offset; + while (!this.done && cursor.from < p2) { + if (cursor.to >= pos && cursor.enter(p2, 1, IterMode.IgnoreOverlays | IterMode.ExcludeBuffers)) ; else if (!cursor.next(false)) this.done = true; @@ -23590,8 +24079,8 @@ var FragmentCursor = class { for (let pos2 = this.inner.cursor.node; pos2; pos2 = pos2.parent) { let mount = (_a3 = pos2.tree) === null || _a3 === void 0 ? void 0 : _a3.prop(NodeProp.mounted); if (mount && mount.parser == parser6) { - for (let i = this.fragI; i < this.fragments.length; i++) { - let frag = this.fragments[i]; + for (let i2 = this.fragI; i2 < this.fragments.length; i2++) { + let frag = this.fragments[i2]; if (frag.from >= pos2.to) break; if (frag.tree == this.curFrag.tree) @@ -23609,10 +24098,10 @@ var FragmentCursor = class { }; function punchRanges(outer, ranges) { let copy = null, current = ranges; - for (let i = 1, j = 0; i < outer.length; i++) { - let gapFrom = outer[i - 1].to, gapTo = outer[i].from; - for (; j < current.length; j++) { - let r2 = current[j]; + for (let i2 = 1, j3 = 0; i2 < outer.length; i2++) { + let gapFrom = outer[i2 - 1].to, gapTo = outer[i2].from; + for (; j3 < current.length; j3++) { + let r2 = current[j3]; if (r2.from >= gapTo) break; if (r2.to <= gapFrom) @@ -23620,24 +24109,24 @@ function punchRanges(outer, ranges) { if (!copy) current = copy = ranges.slice(); if (r2.from < gapFrom) { - copy[j] = new Range3(r2.from, gapFrom); + copy[j3] = new Range3(r2.from, gapFrom); if (r2.to > gapTo) - copy.splice(j + 1, 0, new Range3(gapTo, r2.to)); + copy.splice(j3 + 1, 0, new Range3(gapTo, r2.to)); } else if (r2.to > gapTo) { - copy[j--] = new Range3(gapTo, r2.to); + copy[j3--] = new Range3(gapTo, r2.to); } else { - copy.splice(j--, 1); + copy.splice(j3--, 1); } } } return current; } -function findCoverChanges(a, b, from, to) { +function findCoverChanges(a2, b3, from, to) { let iA = 0, iB = 0, inA = false, inB = false, pos = -1e9; let result = []; for (; ; ) { - let nextA = iA == a.length ? 1e9 : inA ? a[iA].to : a[iA].from; - let nextB = iB == b.length ? 1e9 : inB ? b[iB].to : b[iB].from; + let nextA = iA == a2.length ? 1e9 : inA ? a2[iA].to : a2[iA].from; + let nextB = iB == b3.length ? 1e9 : inB ? b3[iB].to : b3[iB].from; if (inA != inB) { let start = Math.max(pos, from), end = Math.min(nextA, nextB, to); if (start < end) @@ -23673,13 +24162,13 @@ function enterFragments(mounts, ranges) { if (mount.overlay) { let overlay = mount.overlay.map((r2) => new Range3(r2.from + pos, r2.to + pos)); let changes = findCoverChanges(ranges, overlay, from, to); - for (let i = 0, pos2 = from; ; i++) { - let last = i == changes.length, end = last ? to : changes[i].from; + for (let i2 = 0, pos2 = from; ; i2++) { + let last = i2 == changes.length, end = last ? to : changes[i2].from; if (end > pos2) result.push(new TreeFragment(pos2, end, mount.tree, -startPos, frag.from >= pos2 || frag.openStart, frag.to <= end || frag.openEnd)); if (last) break; - pos2 = changes[i].to; + pos2 = changes[i2].to; } } else { result.push(new TreeFragment(from, to, mount.tree, -startPos, frag.from >= startPos || frag.openStart, frag.to <= endPos || frag.openEnd)); @@ -23713,8 +24202,8 @@ var Tag = class _Tag { let tag = new _Tag([], null, []); tag.set.push(tag); if (parent) - for (let t2 of parent.set) - tag.set.push(t2); + for (let t3 of parent.set) + tag.set.push(t3); return tag; } /** @@ -23734,7 +24223,7 @@ var Tag = class _Tag { return (tag) => { if (tag.modified.indexOf(mod) > -1) return tag; - return Modifier.get(tag.base || tag, tag.modified.concat(mod).sort((a, b) => a.id - b.id)); + return Modifier.get(tag.base || tag, tag.modified.concat(mod).sort((a2, b3) => a2.id - b3.id)); }; } }; @@ -23747,12 +24236,12 @@ var Modifier = class _Modifier { static get(base2, mods) { if (!mods.length) return base2; - let exists = mods[0].instances.find((t2) => t2.base == base2 && sameArray2(mods, t2.modified)); + let exists = mods[0].instances.find((t3) => t3.base == base2 && sameArray2(mods, t3.modified)); if (exists) return exists; let set = [], tag = new Tag(set, base2, mods); - for (let m of mods) - m.instances.push(tag); + for (let m2 of mods) + m2.instances.push(tag); let configs = powerSet(mods); for (let parent of base2.set) if (!parent.modified.length) @@ -23761,17 +24250,17 @@ var Modifier = class _Modifier { return tag; } }; -function sameArray2(a, b) { - return a.length == b.length && a.every((x, i) => x == b[i]); +function sameArray2(a2, b3) { + return a2.length == b3.length && a2.every((x, i2) => x == b3[i2]); } function powerSet(array) { let sets = [[]]; - for (let i = 0; i < array.length; i++) { - for (let j = 0, e = sets.length; j < e; j++) { - sets.push(sets[j].concat(array[i])); + for (let i2 = 0; i2 < array.length; i2++) { + for (let j3 = 0, e2 = sets.length; j3 < e2; j3++) { + sets.push(sets[j3].concat(array[i2])); } } - return sets.sort((a, b) => b.length - a.length); + return sets.sort((a2, b3) => b3.length - a2.length); } function styleTags(spec) { let byName = /* @__PURE__ */ Object.create(null); @@ -23787,11 +24276,11 @@ function styleTags(spec) { mode = 1; break; } - let m = /^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(rest); - if (!m) + let m2 = /^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(rest); + if (!m2) throw new RangeError("Invalid path: " + part); - pieces.push(m[0] == "*" ? "" : m[0][0] == '"' ? JSON.parse(m[0]) : m[0]); - pos += m[0].length; + pieces.push(m2[0] == "*" ? "" : m2[0][0] == '"' ? JSON.parse(m2[0]) : m2[0]); + pos += m2[0].length; if (pos == part.length) break; let next = part[pos++]; @@ -23904,7 +24393,7 @@ var HighlightBuilder = class { if (start >= to || end <= from) return; if (type.isTop) - highlighters = this.highlighters.filter((h) => !h.scope || h.scope(type)); + highlighters = this.highlighters.filter((h3) => !h3.scope || h3.scope(type)); let cls = inheritedClass; let rule = getStyleTags(cursor) || Rule.empty; let tagCls = highlightTags(highlighters, rule.tags); @@ -23921,10 +24410,10 @@ var HighlightBuilder = class { let mounted = cursor.tree && cursor.tree.prop(NodeProp.mounted); if (mounted && mounted.overlay) { let inner = cursor.node.enter(mounted.overlay[0].from + start, 1); - let innerHighlighters = this.highlighters.filter((h) => !h.scope || h.scope(mounted.tree.type)); + let innerHighlighters = this.highlighters.filter((h3) => !h3.scope || h3.scope(mounted.tree.type)); let hasChild2 = cursor.firstChild(); - for (let i = 0, pos = start; ; i++) { - let next = i < mounted.overlay.length ? mounted.overlay[i] : null; + for (let i2 = 0, pos = start; ; i2++) { + let next = i2 < mounted.overlay.length ? mounted.overlay[i2] : null; let nextPos = next ? next.from + start : end; let rangeFrom = Math.max(from, pos), rangeTo = Math.min(to, nextPos); if (rangeFrom < rangeTo && hasChild2) { @@ -23966,21 +24455,21 @@ function getStyleTags(node) { rule = rule.next; return rule || null; } -var t = Tag.define; -var comment = t(); -var name = t(); -var typeName = t(name); -var propertyName = t(name); -var literal = t(); -var string = t(literal); -var number = t(literal); -var content = t(); -var heading = t(content); -var keyword = t(); -var operator = t(); -var punctuation = t(); -var bracket = t(punctuation); -var meta = t(); +var t2 = Tag.define; +var comment = t2(); +var name = t2(); +var typeName = t2(name); +var propertyName = t2(name); +var literal = t2(); +var string = t2(literal); +var number = t2(literal); +var content = t2(); +var heading = t2(content); +var keyword = t2(); +var operator = t2(); +var punctuation = t2(); +var bracket = t2(punctuation); +var meta = t2(); var tags = { /** A comment. @@ -23989,15 +24478,15 @@ var tags = { /** A line [comment](#highlight.tags.comment). */ - lineComment: t(comment), + lineComment: t2(comment), /** A block [comment](#highlight.tags.comment). */ - blockComment: t(comment), + blockComment: t2(comment), /** A documentation [comment](#highlight.tags.comment). */ - docComment: t(comment), + docComment: t2(comment), /** Any kind of identifier. */ @@ -24005,7 +24494,7 @@ var tags = { /** The [name](#highlight.tags.name) of a variable. */ - variableName: t(name), + variableName: t2(name), /** A type [name](#highlight.tags.name). */ @@ -24013,7 +24502,7 @@ var tags = { /** A tag name (subtag of [`typeName`](#highlight.tags.typeName)). */ - tagName: t(typeName), + tagName: t2(typeName), /** A property or field [name](#highlight.tags.name). */ @@ -24021,23 +24510,23 @@ var tags = { /** An attribute name (subtag of [`propertyName`](#highlight.tags.propertyName)). */ - attributeName: t(propertyName), + attributeName: t2(propertyName), /** The [name](#highlight.tags.name) of a class. */ - className: t(name), + className: t2(name), /** A label [name](#highlight.tags.name). */ - labelName: t(name), + labelName: t2(name), /** A namespace [name](#highlight.tags.name). */ - namespace: t(name), + namespace: t2(name), /** The [name](#highlight.tags.name) of a macro. */ - macroName: t(name), + macroName: t2(name), /** A literal value. */ @@ -24049,15 +24538,15 @@ var tags = { /** A documentation [string](#highlight.tags.string). */ - docString: t(string), + docString: t2(string), /** A character literal (subtag of [string](#highlight.tags.string)). */ - character: t(string), + character: t2(string), /** An attribute value (subtag of [string](#highlight.tags.string)). */ - attributeValue: t(string), + attributeValue: t2(string), /** A number [literal](#highlight.tags.literal). */ @@ -24065,32 +24554,32 @@ var tags = { /** An integer [number](#highlight.tags.number) literal. */ - integer: t(number), + integer: t2(number), /** A floating-point [number](#highlight.tags.number) literal. */ - float: t(number), + float: t2(number), /** A boolean [literal](#highlight.tags.literal). */ - bool: t(literal), + bool: t2(literal), /** Regular expression [literal](#highlight.tags.literal). */ - regexp: t(literal), + regexp: t2(literal), /** An escape [literal](#highlight.tags.literal), for example a backslash escape in a string. */ - escape: t(literal), + escape: t2(literal), /** A color [literal](#highlight.tags.literal). */ - color: t(literal), + color: t2(literal), /** A URL [literal](#highlight.tags.literal). */ - url: t(literal), + url: t2(literal), /** A language keyword. */ @@ -24099,40 +24588,40 @@ var tags = { The [keyword](#highlight.tags.keyword) for the self or this object. */ - self: t(keyword), + self: t2(keyword), /** The [keyword](#highlight.tags.keyword) for null. */ - null: t(keyword), + null: t2(keyword), /** A [keyword](#highlight.tags.keyword) denoting some atomic value. */ - atom: t(keyword), + atom: t2(keyword), /** A [keyword](#highlight.tags.keyword) that represents a unit. */ - unit: t(keyword), + unit: t2(keyword), /** A modifier [keyword](#highlight.tags.keyword). */ - modifier: t(keyword), + modifier: t2(keyword), /** A [keyword](#highlight.tags.keyword) that acts as an operator. */ - operatorKeyword: t(keyword), + operatorKeyword: t2(keyword), /** A control-flow related [keyword](#highlight.tags.keyword). */ - controlKeyword: t(keyword), + controlKeyword: t2(keyword), /** A [keyword](#highlight.tags.keyword) that defines something. */ - definitionKeyword: t(keyword), + definitionKeyword: t2(keyword), /** A [keyword](#highlight.tags.keyword) related to defining or interfacing with modules. */ - moduleKeyword: t(keyword), + moduleKeyword: t2(keyword), /** An operator. */ @@ -24140,39 +24629,39 @@ var tags = { /** An [operator](#highlight.tags.operator) that dereferences something. */ - derefOperator: t(operator), + derefOperator: t2(operator), /** Arithmetic-related [operator](#highlight.tags.operator). */ - arithmeticOperator: t(operator), + arithmeticOperator: t2(operator), /** Logical [operator](#highlight.tags.operator). */ - logicOperator: t(operator), + logicOperator: t2(operator), /** Bit [operator](#highlight.tags.operator). */ - bitwiseOperator: t(operator), + bitwiseOperator: t2(operator), /** Comparison [operator](#highlight.tags.operator). */ - compareOperator: t(operator), + compareOperator: t2(operator), /** [Operator](#highlight.tags.operator) that updates its operand. */ - updateOperator: t(operator), + updateOperator: t2(operator), /** [Operator](#highlight.tags.operator) that defines something. */ - definitionOperator: t(operator), + definitionOperator: t2(operator), /** Type-related [operator](#highlight.tags.operator). */ - typeOperator: t(operator), + typeOperator: t2(operator), /** Control-flow [operator](#highlight.tags.operator). */ - controlOperator: t(operator), + controlOperator: t2(operator), /** Program or markup punctuation. */ @@ -24181,7 +24670,7 @@ var tags = { [Punctuation](#highlight.tags.punctuation) that separates things. */ - separator: t(punctuation), + separator: t2(punctuation), /** Bracket-style [punctuation](#highlight.tags.punctuation). */ @@ -24190,22 +24679,22 @@ var tags = { Angle [brackets](#highlight.tags.bracket) (usually `<` and `>` tokens). */ - angleBracket: t(bracket), + angleBracket: t2(bracket), /** Square [brackets](#highlight.tags.bracket) (usually `[` and `]` tokens). */ - squareBracket: t(bracket), + squareBracket: t2(bracket), /** Parentheses (usually `(` and `)` tokens). Subtag of [bracket](#highlight.tags.bracket). */ - paren: t(bracket), + paren: t2(bracket), /** Braces (usually `{` and `}` tokens). Subtag of [bracket](#highlight.tags.bracket). */ - brace: t(bracket), + brace: t2(bracket), /** Content, for example plain text in XML or markup documents. */ @@ -24217,77 +24706,77 @@ var tags = { /** A level 1 [heading](#highlight.tags.heading). */ - heading1: t(heading), + heading1: t2(heading), /** A level 2 [heading](#highlight.tags.heading). */ - heading2: t(heading), + heading2: t2(heading), /** A level 3 [heading](#highlight.tags.heading). */ - heading3: t(heading), + heading3: t2(heading), /** A level 4 [heading](#highlight.tags.heading). */ - heading4: t(heading), + heading4: t2(heading), /** A level 5 [heading](#highlight.tags.heading). */ - heading5: t(heading), + heading5: t2(heading), /** A level 6 [heading](#highlight.tags.heading). */ - heading6: t(heading), + heading6: t2(heading), /** A prose separator (such as a horizontal rule). */ - contentSeparator: t(content), + contentSeparator: t2(content), /** [Content](#highlight.tags.content) that represents a list. */ - list: t(content), + list: t2(content), /** [Content](#highlight.tags.content) that represents a quote. */ - quote: t(content), + quote: t2(content), /** [Content](#highlight.tags.content) that is emphasized. */ - emphasis: t(content), + emphasis: t2(content), /** [Content](#highlight.tags.content) that is styled strong. */ - strong: t(content), + strong: t2(content), /** [Content](#highlight.tags.content) that is part of a link. */ - link: t(content), + link: t2(content), /** [Content](#highlight.tags.content) that is styled as code or monospace. */ - monospace: t(content), + monospace: t2(content), /** [Content](#highlight.tags.content) that has a strike-through style. */ - strikethrough: t(content), + strikethrough: t2(content), /** Inserted text in a change-tracking format. */ - inserted: t(), + inserted: t2(), /** Deleted text. */ - deleted: t(), + deleted: t2(), /** Changed text. */ - changed: t(), + changed: t2(), /** An invalid or unsyntactic element. */ - invalid: t(), + invalid: t2(), /** Metadata or meta-instruction. */ @@ -24296,17 +24785,17 @@ var tags = { [Metadata](#highlight.tags.meta) that applies to the entire document. */ - documentMeta: t(meta), + documentMeta: t2(meta), /** [Metadata](#highlight.tags.meta) that annotates or adds attributes to a given syntactic element. */ - annotation: t(meta), + annotation: t2(meta), /** Processing instruction or preprocessor directive. Subtag of [meta](#highlight.tags.meta). */ - processingInstruction: t(meta), + processingInstruction: t2(meta), /** [Modifier](#highlight.Tag^defineModifier) that indicates that a given element is being defined. Expected to be used with the @@ -24463,10 +24952,10 @@ var Language = class { return; } } - for (let i = 0; i < tree.children.length; i++) { - let ch = tree.children[i]; + for (let i2 = 0; i2 < tree.children.length; i2++) { + let ch = tree.children[i2]; if (ch instanceof Tree) - explore(ch, tree.positions[i] + from); + explore(ch, tree.positions[i2] + from); } }; explore(syntaxTree(state), 0); @@ -24630,11 +25119,11 @@ var ParseContext = class _ParseContext { this.parse = null; } } - withContext(f) { + withContext(f3) { let prev = currentContext; currentContext = this; try { - return f(); + return f3(); } finally { currentContext = prev; } @@ -24676,11 +25165,11 @@ var ParseContext = class _ParseContext { return false; this.viewport = viewport; let startLen = this.skipped.length; - for (let i = 0; i < this.skipped.length; i++) { - let { from, to } = this.skipped[i]; + for (let i2 = 0; i2 < this.skipped.length; i2++) { + let { from, to } = this.skipped[i2]; if (from < viewport.to && to > viewport.from) { this.fragments = cutFragments(this.fragments, from, to); - this.skipped.splice(i--, 1); + this.skipped.splice(i2--, 1); } } if (this.skipped.length >= startLen) @@ -24783,9 +25272,9 @@ var LanguageState = class _LanguageState { Language.state = /* @__PURE__ */ StateField.define({ create: LanguageState.init, update(value, tr) { - for (let e of tr.effects) - if (e.is(Language.setState)) - return e.value; + for (let e2 of tr.effects) + if (e2.is(Language.setState)) + return e2.value; if (tr.startState.facet(language) != tr.state.facet(language)) return LanguageState.init(tr.state); return value.apply(tr); @@ -24919,7 +25408,7 @@ var indentUnit = /* @__PURE__ */ Facet.define({ if (!values2.length) return " "; let unit = values2[0]; - if (!unit || /\S/.test(unit) || Array.from(unit).some((e) => e != unit[0])) + if (!unit || /\S/.test(unit) || Array.from(unit).some((e2) => e2 != unit[0])) throw new Error("Invalid indent unit: " + JSON.stringify(values2[0])); return unit; } @@ -24937,7 +25426,7 @@ function indentString(state, cols) { } ch = " "; } - for (let i = 0; i < cols; i++) + for (let i2 = 0; i2 < cols; i2++) result += ch; return result; } @@ -25040,8 +25529,8 @@ function syntaxIndentation(cx, ast, pos) { let add2 = []; for (let cur2 = inner; cur2 != stack.node; cur2 = cur2.parent) add2.push(cur2); - for (let i = add2.length - 1; i >= 0; i--) - stack = { node: add2[i], next: stack }; + for (let i2 = add2.length - 1; i2 >= 0; i2--) + stack = { node: add2[i2], next: stack }; } return indentFor(stack, cx, pos); } @@ -25251,7 +25740,7 @@ var unfoldEffect = /* @__PURE__ */ StateEffect.define({ map: mapRange }); function selectedLines(view) { let lines = []; for (let { head } of view.state.selection.ranges) { - if (lines.some((l) => l.from <= head && l.to >= head)) + if (lines.some((l3) => l3.from <= head && l3.to >= head)) continue; lines.push(view.lineBlockAt(head)); } @@ -25263,35 +25752,35 @@ var foldState = /* @__PURE__ */ StateField.define({ }, update(folded, tr) { folded = folded.map(tr.changes); - for (let e of tr.effects) { - if (e.is(foldEffect) && !foldExists(folded, e.value.from, e.value.to)) { + for (let e2 of tr.effects) { + if (e2.is(foldEffect) && !foldExists(folded, e2.value.from, e2.value.to)) { let { preparePlaceholder } = tr.state.facet(foldConfig); - let widget = !preparePlaceholder ? foldWidget : Decoration.replace({ widget: new PreparedFoldWidget(preparePlaceholder(tr.state, e.value)) }); - folded = folded.update({ add: [widget.range(e.value.from, e.value.to)] }); - } else if (e.is(unfoldEffect)) { + let widget = !preparePlaceholder ? foldWidget : Decoration.replace({ widget: new PreparedFoldWidget(preparePlaceholder(tr.state, e2.value)) }); + folded = folded.update({ add: [widget.range(e2.value.from, e2.value.to)] }); + } else if (e2.is(unfoldEffect)) { folded = folded.update({ - filter: (from, to) => e.value.from != from || e.value.to != to, - filterFrom: e.value.from, - filterTo: e.value.to + filter: (from, to) => e2.value.from != from || e2.value.to != to, + filterFrom: e2.value.from, + filterTo: e2.value.to }); } } if (tr.selection) { let onSelection = false, { head } = tr.selection.main; - folded.between(head, head, (a, b) => { - if (a < head && b > head) + folded.between(head, head, (a2, b3) => { + if (a2 < head && b3 > head) onSelection = true; }); if (onSelection) folded = folded.update({ filterFrom: head, filterTo: head, - filter: (a, b) => b <= head || a >= head + filter: (a2, b3) => b3 <= head || a2 >= head }); } return folded; }, - provide: (f) => EditorView.decorations.from(f), + provide: (f3) => EditorView.decorations.from(f3), toJSON(folded, state) { let ranges = []; folded.between(0, state.doc.length, (from, to) => { @@ -25303,8 +25792,8 @@ var foldState = /* @__PURE__ */ StateField.define({ if (!Array.isArray(value) || value.length % 2) throw new RangeError("Invalid JSON for fold state"); let ranges = []; - for (let i = 0; i < value.length; ) { - let from = value[i++], to = value[i++]; + for (let i2 = 0; i2 < value.length; ) { + let from = value[i2++], to = value[i2++]; if (typeof from != "number" || typeof to != "number") throw new RangeError("Invalid JSON for fold state"); ranges.push(foldWidget.range(from, to)); @@ -25323,8 +25812,8 @@ function findFold(state, from, to) { } function foldExists(folded, from, to) { let found = false; - folded.between(from, from, (a, b) => { - if (a == from && b == to) + folded.between(from, from, (a2, b3) => { + if (a2 == from && b3 == to) found = true; }); return found; @@ -25551,7 +26040,7 @@ var TreeHighlighter = class { } }; var treeHighlighter = /* @__PURE__ */ Prec.high(/* @__PURE__ */ ViewPlugin.fromClass(TreeHighlighter, { - decorations: (v) => v.decorations + decorations: (v2) => v2.decorations })); var defaultHighlightStyle = /* @__PURE__ */ HighlightStyle.define([ { @@ -25676,7 +26165,7 @@ var bracketMatchingState = /* @__PURE__ */ StateField.define({ } return Decoration.set(decorations2, true); }, - provide: (f) => EditorView.decorations.from(f) + provide: (f3) => EditorView.decorations.from(f3) }); var bracketMatchingUnique = [ bracketMatchingState, @@ -25775,14 +26264,14 @@ function countCol(string2, end, tabSize, startIndex = 0, startValue = 0) { if (end == -1) end = string2.length; } - let n = startValue; - for (let i = startIndex; i < end; i++) { - if (string2.charCodeAt(i) == 9) - n += tabSize - n % tabSize; + let n3 = startValue; + for (let i2 = startIndex; i2 < end; i2++) { + if (string2.charCodeAt(i2) == 9) + n3 += tabSize - n3 % tabSize; else - n++; + n3++; } - return n; + return n3; } var StringStream = class { /** @@ -25881,8 +26370,8 @@ var StringStream = class { /** Move back `n` characters. */ - backUp(n) { - this.pos -= n; + backUp(n3) { + this.pos -= n3; } /** Get the column position at `this.pos`. @@ -25965,7 +26454,7 @@ var IndentedFrom = /* @__PURE__ */ new WeakMap(); var StreamLanguage = class _StreamLanguage extends Language { constructor(parser6) { let data = defineLanguageFacet(parser6.languageData); - let p = fullParser(parser6), self2; + let p2 = fullParser(parser6), self2; let impl = new class extends Parser { createParse(input, fragments, ranges) { return new Parse(self2, input, fragments, ranges); @@ -25974,9 +26463,9 @@ var StreamLanguage = class _StreamLanguage extends Language { super(data, impl, [indentService.of((cx, pos) => this.getIndent(cx, pos))], parser6.name); this.topNode = docID(data); self2 = this; - this.streamParser = p; + this.streamParser = p2; this.stateAfter = new NodeProp({ perNode: true }); - this.tokenTable = parser6.tokenTable ? new TokenTable(p.tokenTable) : defaultTokenTable; + this.tokenTable = parser6.tokenTable ? new TokenTable(p2.tokenTable) : defaultTokenTable; } /** Define a stream language. @@ -26034,8 +26523,8 @@ function findState(lang, tree, off, startPos, before) { let state = off >= startPos && off + tree.length <= before && tree.prop(lang.stateAfter); if (state) return { state: lang.streamParser.copyState(state), pos: off + tree.length }; - for (let i = tree.children.length - 1; i >= 0; i--) { - let child = tree.children[i], pos = off + tree.positions[i]; + for (let i2 = tree.children.length - 1; i2 >= 0; i2--) { + let child = tree.children[i2], pos = off + tree.positions[i2]; let found = child instanceof Tree && pos < before && findState(lang, child, pos, startPos, before); if (found) return found; @@ -26047,21 +26536,21 @@ function cutTree(lang, tree, from, to, inside2) { return tree; if (!inside2 && tree.type == lang.topNode) inside2 = true; - for (let i = tree.children.length - 1; i >= 0; i--) { - let pos = tree.positions[i], child = tree.children[i], inner; + for (let i2 = tree.children.length - 1; i2 >= 0; i2--) { + let pos = tree.positions[i2], child = tree.children[i2], inner; if (pos < to && child instanceof Tree) { if (!(inner = cutTree(lang, child, from - pos, to - pos, inside2))) break; - return !inside2 ? inner : new Tree(tree.type, tree.children.slice(0, i).concat(inner), tree.positions.slice(0, i + 1), pos + inner.length); + return !inside2 ? inner : new Tree(tree.type, tree.children.slice(0, i2).concat(inner), tree.positions.slice(0, i2 + 1), pos + inner.length); } } return null; } function findStartInFragments(lang, fragments, startPos, editorState) { - for (let f of fragments) { - let from = f.from + (f.openStart ? 25 : 0), to = f.to - (f.openEnd ? 25 : 0); - let found = from <= startPos && to > startPos && findState(lang, f.tree, 0 - f.offset, startPos, to), tree; - if (found && (tree = cutTree(lang, f.tree, startPos + f.offset, found.pos + f.offset, false))) + for (let f3 of fragments) { + let from = f3.from + (f3.openStart ? 25 : 0), to = f3.to - (f3.openEnd ? 25 : 0); + let found = from <= startPos && to > startPos && findState(lang, f3.tree, 0 - f3.offset, startPos, to), tree; + if (found && (tree = cutTree(lang, f3.tree, startPos + f3.offset, found.pos + f3.offset, false))) return { state: found.state, tree }; } return { state: lang.streamParser.startState(editorState ? getIndentUnit(editorState) : 4), tree: Tree.empty }; @@ -26083,9 +26572,9 @@ var Parse = class { let { state, tree } = findStartInFragments(lang, fragments, from, context === null || context === void 0 ? void 0 : context.state); this.state = state; this.parsedPos = this.chunkStart = from + tree.length; - for (let i = 0; i < tree.children.length; i++) { - this.chunks.push(tree.children[i]); - this.chunkPos.push(tree.positions[i]); + for (let i2 = 0; i2 < tree.children.length; i2++) { + this.chunks.push(tree.children[i2]); + this.chunkPos.push(tree.positions[i2]); } if (context && this.parsedPos < context.viewport.from - 1e5) { this.state = this.lang.streamParser.startState(getIndentUnit(context.state)); @@ -26215,7 +26704,7 @@ var Parse = class { }; function readToken(token, stream, state) { stream.start = stream.pos; - for (let i = 0; i < 10; i++) { + for (let i2 = 0; i2 < 10; i2++) { let result = token(stream, state); if (stream.pos > stream.start) return result; @@ -26226,6 +26715,7 @@ var noTokens = /* @__PURE__ */ Object.create(null); var typeArray = [NodeType.none]; var nodeSet = /* @__PURE__ */ new NodeSet(typeArray); var warned = []; +var byTag = /* @__PURE__ */ Object.create(null); var defaultTable = /* @__PURE__ */ Object.create(null); for (let [legacyName, name2] of [ ["variable", "variableName"], @@ -26283,7 +26773,11 @@ function createTokenType(extra, tagStr) { } if (!tags$1.length) return 0; - let name2 = tagStr.replace(/ /g, "_"), type = NodeType.define({ + let name2 = tagStr.replace(/ /g, "_"), key = name2 + " " + tags$1.map((t3) => t3.id); + let known = byTag[key]; + if (known) + return known.id; + let type = byTag[key] = NodeType.define({ id: typeArray.length, name: name2, props: [styleTags({ [name2]: tags$1 })] @@ -26364,15 +26858,15 @@ function prefixMatch(options2) { let first = /* @__PURE__ */ Object.create(null), rest = /* @__PURE__ */ Object.create(null); for (let { label } of options2) { first[label[0]] = true; - for (let i = 1; i < label.length; i++) - rest[label[i]] = true; + for (let i2 = 1; i2 < label.length; i2++) + rest[label[i2]] = true; } let source = toSet(first) + toSet(rest) + "*$"; return [new RegExp("^" + source), new RegExp(source)]; } function completeFromList(list) { - let options2 = list.map((o) => typeof o == "string" ? { label: o } : o); - let [validFor, match] = options2.every((o) => /^\w+$/.test(o.label)) ? [/\w*$/, /\w+$/] : prefixMatch(options2); + let options2 = list.map((o2) => typeof o2 == "string" ? { label: o2 } : o2); + let [validFor, match] = options2.every((o2) => /^\w+$/.test(o2.label)) ? [/\w*$/, /\w+$/] : prefixMatch(options2); return (context) => { let token = context.matchBefore(match); return token || context.explicit ? { from: token ? token.from : context.pos, options: options2, validFor } : null; @@ -26441,12 +26935,12 @@ var FuzzyMatcher = class { this.byWord = []; this.score = 0; this.matched = []; - for (let p = 0; p < pattern.length; ) { - let char = codePointAt(pattern, p), size = codePointSize(char); + for (let p2 = 0; p2 < pattern.length; ) { + let char = codePointAt(pattern, p2), size = codePointSize(char); this.chars.push(char); - let part = pattern.slice(p, p + size), upper = part.toUpperCase(); + let part = pattern.slice(p2, p2 + size), upper = part.toUpperCase(); this.folded.push(codePointAt(upper == part ? part.toLowerCase() : upper, 0)); - p += size; + p2 += size; } this.astral = pattern.length != this.chars.length; } @@ -26484,11 +26978,11 @@ var FuzzyMatcher = class { return this.ret(word.length == this.pattern.length ? 0 : -100, [0, this.pattern.length]); let len = chars.length, anyTo = 0; if (direct < 0) { - for (let i = 0, e = Math.min(word.length, 200); i < e && anyTo < len; ) { - let next = codePointAt(word, i); + for (let i2 = 0, e2 = Math.min(word.length, 200); i2 < e2 && anyTo < len; ) { + let next = codePointAt(word, i2); if (next == chars[anyTo] || next == folded[anyTo]) - any[anyTo++] = i; - i += codePointSize(next); + any[anyTo++] = i2; + i2 += codePointSize(next); } if (anyTo < len) return false; @@ -26497,16 +26991,16 @@ var FuzzyMatcher = class { let byWordTo = 0, byWordFolded = false; let adjacentTo = 0, adjacentStart = -1, adjacentEnd = -1; let hasLower = /[a-z]/.test(word), wordAdjacent = true; - for (let i = 0, e = Math.min(word.length, 200), prevType = 0; i < e && byWordTo < len; ) { - let next = codePointAt(word, i); + for (let i2 = 0, e2 = Math.min(word.length, 200), prevType = 0; i2 < e2 && byWordTo < len; ) { + let next = codePointAt(word, i2); if (direct < 0) { if (preciseTo < len && next == chars[preciseTo]) - precise[preciseTo++] = i; + precise[preciseTo++] = i2; if (adjacentTo < len) { if (next == chars[adjacentTo] || next == folded[adjacentTo]) { if (adjacentTo == 0) - adjacentStart = i; - adjacentEnd = i + 1; + adjacentStart = i2; + adjacentEnd = i2 + 1; adjacentTo++; } else { adjacentTo = 0; @@ -26514,14 +27008,14 @@ var FuzzyMatcher = class { } } let ch, type = next < 255 ? next >= 48 && next <= 57 || next >= 97 && next <= 122 ? 2 : next >= 65 && next <= 90 ? 1 : 0 : (ch = fromCodePoint(next)) != ch.toLowerCase() ? 1 : ch != ch.toUpperCase() ? 2 : 0; - if (!i || type == 1 && hasLower || prevType == 0 && type != 0) { + if (!i2 || type == 1 && hasLower || prevType == 0 && type != 0) { if (chars[byWordTo] == next || folded[byWordTo] == next && (byWordFolded = true)) - byWord[byWordTo++] = i; + byWord[byWordTo++] = i2; else if (byWord.length) wordAdjacent = false; } prevType = type; - i += codePointSize(next); + i2 += codePointSize(next); } if (byWordTo == len && byWord[0] == 0 && wordAdjacent) return this.result(-100 + (byWordFolded ? -200 : 0), byWord, word); @@ -26536,14 +27030,14 @@ var FuzzyMatcher = class { return chars.length == 2 ? false : this.result((any[0] ? -700 : 0) + -200 + -1100, any, word); } result(score2, positions, word) { - let result = [], i = 0; + let result = [], i2 = 0; for (let pos of positions) { let to = pos + (this.astral ? codePointSize(codePointAt(word, pos)) : 1); - if (i && result[i - 1] == pos) - result[i - 1] = to; + if (i2 && result[i2 - 1] == pos) + result[i2 - 1] = to; else { - result[i++] = pos; - result[i++] = to; + result[i2++] = pos; + result[i2++] = to; } } return this.ret(score2 - word.length, result); @@ -26564,21 +27058,21 @@ var completionConfig = /* @__PURE__ */ Facet.define({ icons: true, addToOptions: [], positionInfo: defaultPositionInfo, - compareCompletions: (a, b) => a.label.localeCompare(b.label), + compareCompletions: (a2, b3) => a2.label.localeCompare(b3.label), interactionDelay: 75, updateSyncTime: 100 }, { - defaultKeymap: (a, b) => a && b, - closeOnBlur: (a, b) => a && b, - icons: (a, b) => a && b, - tooltipClass: (a, b) => (c) => joinClass(a(c), b(c)), - optionClass: (a, b) => (c) => joinClass(a(c), b(c)), - addToOptions: (a, b) => a.concat(b) + defaultKeymap: (a2, b3) => a2 && b3, + closeOnBlur: (a2, b3) => a2 && b3, + icons: (a2, b3) => a2 && b3, + tooltipClass: (a2, b3) => (c2) => joinClass(a2(c2), b3(c2)), + optionClass: (a2, b3) => (c2) => joinClass(a2(c2), b3(c2)), + addToOptions: (a2, b3) => a2.concat(b3) }); } }); -function joinClass(a, b) { - return a ? b ? a + " " + b : a : b; +function joinClass(a2, b3) { + return a2 ? b3 ? a2 + " " + b3 : a2 : b3; } function defaultPositionInfo(view, list, option, info, space4, tooltip) { let rtl = view.textDirection == Direction.RTL, left = rtl, narrow = false; @@ -26633,8 +27127,8 @@ function optionContent(config2) { let labelElt = document.createElement("span"); labelElt.className = "cm-completionLabel"; let label = completion.displayLabel || completion.label, off = 0; - for (let j = 0; j < match.length; ) { - let from = match[j++], to = match[j++]; + for (let j3 = 0; j3 < match.length; ) { + let from = match[j3++], to = match[j3++]; if (from > off) labelElt.appendChild(document.createTextNode(label.slice(off, from))); let span = labelElt.appendChild(document.createElement("span")); @@ -26658,7 +27152,7 @@ function optionContent(config2) { }, position: 80 }); - return content2.sort((a, b) => a.position - b.position).map((a) => a.render); + return content2.sort((a2, b3) => a2.position - b3.position).map((a2) => a2.render); } function rangeAroundSelected(total, selected, max) { if (total <= max) @@ -26696,19 +27190,19 @@ var CompletionTooltip = class { this.dom = document.createElement("div"); this.dom.className = "cm-tooltip-autocomplete"; this.updateTooltipClass(view.state); - this.dom.addEventListener("mousedown", (e) => { + this.dom.addEventListener("mousedown", (e2) => { let { options: options3 } = view.state.field(stateField).open; - for (let dom = e.target, match; dom && dom != this.dom; dom = dom.parentNode) { + for (let dom = e2.target, match; dom && dom != this.dom; dom = dom.parentNode) { if (dom.nodeName == "LI" && (match = /-(\d+)$/.exec(dom.id)) && +match[1] < options3.length) { this.applyCompletion(view, options3[+match[1]]); - e.preventDefault(); + e2.preventDefault(); return; } } }); - this.dom.addEventListener("focusout", (e) => { + this.dom.addEventListener("focusout", (e2) => { let state = view.state.field(this.stateField, false); - if (state && state.tooltip && view.state.facet(completionConfig).closeOnBlur && e.relatedTarget != view.contentDOM) + if (state && state.tooltip && view.state.facet(completionConfig).closeOnBlur && e2.relatedTarget != view.contentDOM) view.dispatch({ effects: closeCompletionEffect.of(null) }); }); this.showOptions(options2, cState.id); @@ -26744,12 +27238,12 @@ var CompletionTooltip = class { updateTooltipClass(state) { let cls = this.tooltipClass(state); if (cls != this.currentClass) { - for (let c of this.currentClass.split(" ")) - if (c) - this.dom.classList.remove(c); - for (let c of cls.split(" ")) - if (c) - this.dom.classList.add(c); + for (let c2 of this.currentClass.split(" ")) + if (c2) + this.dom.classList.remove(c2); + for (let c2 of cls.split(" ")) + if (c2) + this.dom.classList.add(c2); this.currentClass = cls; } } @@ -26777,7 +27271,7 @@ var CompletionTooltip = class { infoResult.then((obj) => { if (obj && this.view.state.field(this.stateField, false) == cState) this.addInfoPane(obj, completion); - }).catch((e) => logException(this.view.state, e, "completion info")); + }).catch((e2) => logException(this.view.state, e2, "completion info")); } else { this.addInfoPane(infoResult, completion); } @@ -26800,10 +27294,10 @@ var CompletionTooltip = class { } updateSelectedOption(selected) { let set = null; - for (let opt = this.list.firstChild, i = this.range.from; opt; opt = opt.nextSibling, i++) { + for (let opt = this.list.firstChild, i2 = this.range.from; opt; opt = opt.nextSibling, i2++) { if (opt.nodeName != "LI" || !opt.id) { - i--; - } else if (i == selected) { + i2--; + } else if (i2 == selected) { if (!opt.hasAttribute("aria-selected")) { opt.setAttribute("aria-selected", "true"); set = opt; @@ -26851,11 +27345,11 @@ var CompletionTooltip = class { ul.setAttribute("aria-expanded", "true"); ul.setAttribute("aria-label", this.view.state.phrase("Completions")); let curSection = null; - for (let i = range.from; i < range.to; i++) { - let { completion, match } = options2[i], { section } = completion; + for (let i2 = range.from; i2 < range.to; i2++) { + let { completion, match } = options2[i2], { section } = completion; if (section) { let name2 = typeof section == "string" ? section : section.name; - if (name2 != curSection && (i > range.from || range.from == 0)) { + if (name2 != curSection && (i2 > range.from || range.from == 0)) { curSection = name2; if (typeof section != "string" && section.header) { ul.appendChild(section.header(section)); @@ -26866,7 +27360,7 @@ var CompletionTooltip = class { } } const li = ul.appendChild(document.createElement("li")); - li.id = id2 + "-" + i; + li.id = id2 + "-" + i2; li.setAttribute("role", "option"); let cls = this.optionClass(completion); if (cls) @@ -26920,35 +27414,35 @@ function sortOptions(active, state) { if (!sections) sections = []; let name2 = typeof section == "string" ? section : section.name; - if (!sections.some((s) => s.name == name2)) + if (!sections.some((s2) => s2.name == name2)) sections.push(typeof section == "string" ? { name: name2 } : section); } }; - for (let a of active) - if (a.hasResult()) { - let getMatch = a.result.getMatch; - if (a.result.filter === false) { - for (let option of a.result.options) { - addOption(new Option(option, a.source, getMatch ? getMatch(option) : [], 1e9 - options2.length)); + for (let a2 of active) + if (a2.hasResult()) { + let getMatch = a2.result.getMatch; + if (a2.result.filter === false) { + for (let option of a2.result.options) { + addOption(new Option(option, a2.source, getMatch ? getMatch(option) : [], 1e9 - options2.length)); } } else { - let matcher = new FuzzyMatcher(state.sliceDoc(a.from, a.to)); - for (let option of a.result.options) + let matcher = new FuzzyMatcher(state.sliceDoc(a2.from, a2.to)); + for (let option of a2.result.options) if (matcher.match(option.label)) { let matched = !option.displayLabel ? matcher.matched : getMatch ? getMatch(option, matcher.matched) : []; - addOption(new Option(option, a.source, matched, matcher.score + (option.boost || 0))); + addOption(new Option(option, a2.source, matched, matcher.score + (option.boost || 0))); } } } if (sections) { let sectionOrder = /* @__PURE__ */ Object.create(null), pos = 0; - let cmp = (a, b) => { + let cmp = (a2, b3) => { var _a3, _b2; - return ((_a3 = a.rank) !== null && _a3 !== void 0 ? _a3 : 1e9) - ((_b2 = b.rank) !== null && _b2 !== void 0 ? _b2 : 1e9) || (a.name < b.name ? -1 : 1); + return ((_a3 = a2.rank) !== null && _a3 !== void 0 ? _a3 : 1e9) - ((_b2 = b3.rank) !== null && _b2 !== void 0 ? _b2 : 1e9) || (a2.name < b3.name ? -1 : 1); }; - for (let s of sections.sort(cmp)) { + for (let s2 of sections.sort(cmp)) { pos -= 1e5; - sectionOrder[s.name] = pos; + sectionOrder[s2.name] = pos; } for (let option of options2) { let { section } = option.completion; @@ -26958,7 +27452,7 @@ function sortOptions(active, state) { } let result = [], prev = null; let compare2 = state.facet(completionConfig).compareCompletions; - for (let opt of options2.sort((a, b) => b.score - a.score || compare2(a.completion, b.completion))) { + for (let opt of options2.sort((a2, b3) => b3.score - a2.score || compare2(a2.completion, b3.completion))) { let cur2 = opt.completion; if (!prev || prev.label != cur2.label || prev.detail != cur2.detail || prev.type != null && cur2.type != null && prev.type != cur2.type || prev.apply != cur2.apply || prev.boost != cur2.boost) result.push(opt); @@ -26984,21 +27478,21 @@ var CompletionDialog = class _CompletionDialog { let options2 = sortOptions(active, state); if (!options2.length) { return prev && active.some( - (a) => a.state == 1 + (a2) => a2.state == 1 /* State.Pending */ ) ? new _CompletionDialog(prev.options, prev.attrs, prev.tooltip, prev.timestamp, prev.selected, true) : null; } let selected = state.facet(completionConfig).selectOnOpen ? 0 : -1; if (prev && prev.selected != selected && prev.selected != -1) { let selectedValue = prev.options[prev.selected].completion; - for (let i = 0; i < options2.length; i++) - if (options2[i].completion == selectedValue) { - selected = i; + for (let i2 = 0; i2 < options2.length; i2++) + if (options2[i2].completion == selectedValue) { + selected = i2; break; } } return new _CompletionDialog(options2, makeAttrs(id2, selected), { - pos: active.reduce((a, b) => b.hasResult() ? Math.min(a, b.from) : a, 1e8), + pos: active.reduce((a2, b3) => b3.hasResult() ? Math.min(a2, b3.from) : a2, 1e8), create: createTooltip, above: conf.aboveCursor }, prev ? prev.timestamp : Date.now(), selected, false); @@ -27020,37 +27514,37 @@ var CompletionState = class _CompletionState { let { state } = tr, conf = state.facet(completionConfig); let sources = conf.override || state.languageDataAt("autocomplete", cur(state)).map(asSource); let active = sources.map((source) => { - let value = this.active.find((s) => s.source == source) || new ActiveSource( + let value = this.active.find((s2) => s2.source == source) || new ActiveSource( source, this.active.some( - (a) => a.state != 0 + (a2) => a2.state != 0 /* State.Inactive */ ) ? 1 : 0 /* State.Inactive */ ); return value.update(tr, conf); }); - if (active.length == this.active.length && active.every((a, i) => a == this.active[i])) + if (active.length == this.active.length && active.every((a2, i2) => a2 == this.active[i2])) active = this.active; let open = this.open; if (open && tr.docChanged) open = open.map(tr.changes); - if (tr.selection || active.some((a) => a.hasResult() && tr.changes.touchesRange(a.from, a.to)) || !sameResults(active, this.active)) + if (tr.selection || active.some((a2) => a2.hasResult() && tr.changes.touchesRange(a2.from, a2.to)) || !sameResults(active, this.active)) open = CompletionDialog.build(active, state, this.id, open, conf); else if (open && open.disabled && !active.some( - (a) => a.state == 1 + (a2) => a2.state == 1 /* State.Pending */ )) open = null; if (!open && active.every( - (a) => a.state != 1 + (a2) => a2.state != 1 /* State.Pending */ - ) && active.some((a) => a.hasResult())) - active = active.map((a) => a.hasResult() ? new ActiveSource( - a.source, + ) && active.some((a2) => a2.hasResult())) + active = active.map((a2) => a2.hasResult() ? new ActiveSource( + a2.source, 0 /* State.Inactive */ - ) : a); + ) : a2); for (let effect of tr.effects) if (effect.is(setSelectedEffect)) open = open && open.setSelected(effect.value, this.id); @@ -27063,18 +27557,18 @@ var CompletionState = class _CompletionState { return this.open ? this.open.attrs : baseAttrs; } }; -function sameResults(a, b) { - if (a == b) +function sameResults(a2, b3) { + if (a2 == b3) return true; for (let iA = 0, iB = 0; ; ) { - while (iA < a.length && !a[iA].hasResult) + while (iA < a2.length && !a2[iA].hasResult) iA++; - while (iB < b.length && !b[iB].hasResult) + while (iB < b3.length && !b3[iB].hasResult) iB++; - let endA = iA == a.length, endB = iB == b.length; + let endA = iA == a2.length, endB = iB == b3.length; if (endA || endB) return endA == endB; - if (a[iA++].result != b[iB++].result) + if (a2[iA++].result != b3[iB++].result) return false; } } @@ -27197,7 +27691,7 @@ function checkValid(validFor, state, from, to) { } var setActiveEffect = /* @__PURE__ */ StateEffect.define({ map(sources, mapping) { - return sources.map((s) => s.map(mapping)); + return sources.map((s2) => s2.map(mapping)); } }); var setSelectedEffect = /* @__PURE__ */ StateEffect.define(); @@ -27208,14 +27702,14 @@ var completionState = /* @__PURE__ */ StateField.define({ update(value, tr) { return value.update(tr); }, - provide: (f) => [ - showTooltip.from(f, (val) => val.tooltip), - EditorView.contentAttributes.from(f, (state) => state.attrs) + provide: (f3) => [ + showTooltip.from(f3, (val) => val.tooltip), + EditorView.contentAttributes.from(f3, (state) => state.attrs) ] }); function applyCompletion(view, option) { const apply = option.completion.apply || option.completion.label; - let result = view.state.field(completionState).active.find((a) => a.source == option.source); + let result = view.state.field(completionState).active.find((a2) => a2.source == option.source); if (!(result instanceof ActiveResult)) return false; if (typeof apply == "string") @@ -27259,7 +27753,7 @@ var startCompletion = (view) => { var closeCompletion = (view) => { let cState = view.state.field(completionState, false); if (!cState || !cState.active.some( - (a) => a.state != 0 + (a2) => a2.state != 0 /* State.Inactive */ )) return false; @@ -27295,25 +27789,25 @@ var completionPlugin = /* @__PURE__ */ ViewPlugin.fromClass(class { let doesReset = update.transactions.some((tr) => { return (tr.selection || tr.docChanged) && !getUserEvent(tr); }); - for (let i = 0; i < this.running.length; i++) { - let query = this.running[i]; + for (let i2 = 0; i2 < this.running.length; i2++) { + let query = this.running[i2]; if (doesReset || query.updates.length + update.transactions.length > MaxUpdateCount && Date.now() - query.time > MinAbortTime) { for (let handler of query.context.abortListeners) { try { handler(); - } catch (e) { - logException(this.view.state, e); + } catch (e2) { + logException(this.view.state, e2); } } query.context.abortListeners = null; - this.running.splice(i--, 1); + this.running.splice(i2--, 1); } else { query.updates.push(...update.transactions); } } if (this.debounceUpdate > -1) clearTimeout(this.debounceUpdate); - this.debounceUpdate = cState.active.some((a) => a.state == 1 && !this.running.some((q) => q.active.source == a.source)) ? setTimeout(() => this.startUpdate(), 50) : -1; + this.debounceUpdate = cState.active.some((a2) => a2.state == 1 && !this.running.some((q) => q.active.source == a2.source)) ? setTimeout(() => this.startUpdate(), 50) : -1; if (this.composing != 0) for (let tr of update.transactions) { if (getUserEvent(tr) == "input") @@ -27360,11 +27854,11 @@ var completionPlugin = /* @__PURE__ */ ViewPlugin.fromClass(class { this.debounceAccept = -1; let updated = []; let conf = this.view.state.facet(completionConfig); - for (let i = 0; i < this.running.length; i++) { - let query = this.running[i]; + for (let i2 = 0; i2 < this.running.length; i2++) { + let query = this.running[i2]; if (query.done === void 0) continue; - this.running.splice(i--, 1); + this.running.splice(i2--, 1); if (query.done) { let active = new ActiveResult(query.active.source, query.active.explicitPos, query.done, query.done.from, (_a3 = query.done.to) !== null && _a3 !== void 0 ? _a3 : cur(query.updates.length ? query.updates[0].startState : this.view.state)); for (let tr of query.updates) @@ -27374,7 +27868,7 @@ var completionPlugin = /* @__PURE__ */ ViewPlugin.fromClass(class { continue; } } - let current = this.view.state.field(completionState).active.find((a) => a.source == query.active.source); + let current = this.view.state.field(completionState).active.find((a2) => a2.source == query.active.source); if (current && current.state == 1) { if (query.done == null) { let active = new ActiveSource( @@ -27569,7 +28063,7 @@ var Snippet = class _Snippet { for (let line of this.lines) { if (text.length) { let indent2 = baseIndent, tabs = /^\t*/.exec(line)[0].length; - for (let i = 0; i < tabs; i++) + for (let i2 = 0; i2 < tabs; i2++) indent2 += state.facet(indentUnit); lineStart.push(pos + indent2.length - tabs); line = indent2 + line.slice(tabs); @@ -27582,26 +28076,26 @@ var Snippet = class _Snippet { } static parse(template) { let fields = []; - let lines = [], positions = [], m; + let lines = [], positions = [], m2; for (let line of template.split(/\r\n?|\n/)) { - while (m = /[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(line)) { - let seq = m[1] ? +m[1] : null, name2 = m[2] || m[3] || "", found = -1; - for (let i = 0; i < fields.length; i++) { - if (seq != null ? fields[i].seq == seq : name2 ? fields[i].name == name2 : false) - found = i; + while (m2 = /[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(line)) { + let seq = m2[1] ? +m2[1] : null, name2 = m2[2] || m2[3] || "", found = -1; + for (let i2 = 0; i2 < fields.length; i2++) { + if (seq != null ? fields[i2].seq == seq : name2 ? fields[i2].name == name2 : false) + found = i2; } if (found < 0) { - let i = 0; - while (i < fields.length && (seq == null || fields[i].seq != null && fields[i].seq < seq)) - i++; - fields.splice(i, 0, { seq, name: name2 }); - found = i; + let i2 = 0; + while (i2 < fields.length && (seq == null || fields[i2].seq != null && fields[i2].seq < seq)) + i2++; + fields.splice(i2, 0, { seq, name: name2 }); + found = i2; for (let pos of positions) if (pos.field >= found) pos.field++; } - positions.push(new FieldPos(found, lines.length, m.index, m.index + name2.length)); - line = line.slice(0, m.index) + name2 + line.slice(m.index + m[0].length); + positions.push(new FieldPos(found, lines.length, m2.index, m2.index + name2.length)); + line = line.slice(0, m2.index) + name2 + line.slice(m2.index + m2[0].length); } for (let esc; esc = /\\([{}])/.exec(line); ) { line = line.slice(0, esc.index) + esc[1] + line.slice(esc.index + esc[0].length); @@ -27670,7 +28164,7 @@ var snippetState = /* @__PURE__ */ StateField.define({ value = null; return value; }, - provide: (f) => EditorView.decorations.from(f, (val) => val ? val.deco : Decoration.none) + provide: (f3) => EditorView.decorations.from(f3, (val) => val ? val.deco : Decoration.none) }); function fieldSelection(ranges, field) { return EditorSelection.create(ranges.filter((r2) => r2.field == field).map((r2) => EditorSelection.range(r2.from, r2.to))); @@ -27767,11 +28261,11 @@ var bracketState = /* @__PURE__ */ StateField.define({ return RangeSet.empty; }, update(value, tr) { + value = value.map(tr.changes); if (tr.selection) { let line = tr.state.doc.lineAt(tr.selection.main.head); value = value.update({ filter: (from) => from >= line.from && from <= line.to }); } - value = value.map(tr.changes); for (let effect of tr.effects) if (effect.is(closeBracketEffect)) value = value.update({ add: [closedBracket.range(effect.value, effect.value + 1)] }); @@ -27783,9 +28277,9 @@ function closeBrackets() { } var definedClosing = "()[]{}<>"; function closing(ch) { - for (let i = 0; i < definedClosing.length; i += 2) - if (definedClosing.charCodeAt(i) == ch) - return definedClosing.charAt(i + 1); + for (let i2 = 0; i2 < definedClosing.length; i2 += 2) + if (definedClosing.charCodeAt(i2) == ch) + return definedClosing.charAt(i2 + 1); return fromCodePoint(ch < 128 ? ch : ch + 1); } function config(state, pos) { @@ -27945,8 +28439,8 @@ function nodeStart(state, pos) { } function probablyInString(state, pos, quoteToken, prefixes) { let node = syntaxTree(state).resolveInner(pos, -1); - let maxPrefix = prefixes.reduce((m, p) => Math.max(m, p.length), 0); - for (let i = 0; i < 5; i++) { + let maxPrefix = prefixes.reduce((m2, p2) => Math.max(m2, p2.length), 0); + for (let i2 = 0; i2 < 5; i2++) { let start = state.sliceDoc(node.from, Math.min(node.to, node.from + quoteToken.length + maxPrefix)); let quotePos = start.indexOf(quoteToken); if (!quotePos || quotePos > -1 && prefixes.indexOf(start.slice(0, quotePos)) > -1) { @@ -28001,11 +28495,11 @@ var toggleComment = (target) => { let { state } = target, line = state.doc.lineAt(state.selection.main.head), config2 = getConfig(target.state, line.from); return config2.line ? toggleLineComment(target) : config2.block ? toggleBlockCommentByLine(target) : false; }; -function command(f, option) { +function command(f3, option) { return ({ state, dispatch }) => { if (state.readOnly) return false; - let tr = f(option, state); + let tr = f3(option, state); if (!tr) return false; dispatch(state.update(tr)); @@ -28023,7 +28517,7 @@ var toggleBlockComment = /* @__PURE__ */ command( /* CommentOption.Toggle */ ); var toggleBlockCommentByLine = /* @__PURE__ */ command( - (o, s) => changeBlockComment(o, s, selectedLineRanges(s)), + (o2, s2) => changeBlockComment(o2, s2, selectedLineRanges(s2)), 0 /* CommentOption.Toggle */ ); @@ -28081,20 +28575,20 @@ function selectedLineRanges(state) { } function changeBlockComment(option, state, ranges = state.selection.ranges) { let tokens = ranges.map((r2) => getConfig(state, r2.from).block); - if (!tokens.every((c) => c)) + if (!tokens.every((c2) => c2)) return null; - let comments = ranges.map((r2, i) => findBlockComment(state, tokens[i], r2.from, r2.to)); - if (option != 2 && !comments.every((c) => c)) { - return { changes: state.changes(ranges.map((range, i) => { - if (comments[i]) + let comments = ranges.map((r2, i2) => findBlockComment(state, tokens[i2], r2.from, r2.to)); + if (option != 2 && !comments.every((c2) => c2)) { + return { changes: state.changes(ranges.map((range, i2) => { + if (comments[i2]) return []; - return [{ from: range.from, insert: tokens[i].open + " " }, { from: range.to, insert: " " + tokens[i].close }]; + return [{ from: range.from, insert: tokens[i2].open + " " }, { from: range.to, insert: " " + tokens[i2].close }]; })) }; - } else if (option != 1 && comments.some((c) => c)) { + } else if (option != 1 && comments.some((c2) => c2)) { let changes = []; - for (let i = 0, comment2; i < comments.length; i++) - if (comment2 = comments[i]) { - let token = tokens[i], { open, close } = comment2; + for (let i2 = 0, comment2; i2 < comments.length; i2++) + if (comment2 = comments[i2]) { + let token = tokens[i2], { open, close } = comment2; changes.push({ from: open.pos - token.open.length, to: open.pos + open.margin }, { from: close.pos - close.margin, to: close.pos + token.close.length }); } return { changes }; @@ -28123,21 +28617,21 @@ function changeLineComment(option, state, ranges = state.selection.ranges) { pos = line.to + 1; } if (minIndent < 1e9) { - for (let i = startI; i < lines.length; i++) - if (lines[i].indent < lines[i].line.text.length) - lines[i].indent = minIndent; + for (let i2 = startI; i2 < lines.length; i2++) + if (lines[i2].indent < lines[i2].line.text.length) + lines[i2].indent = minIndent; } if (lines.length == startI + 1) lines[startI].single = true; } - if (option != 2 && lines.some((l) => l.comment < 0 && (!l.empty || l.single))) { + if (option != 2 && lines.some((l3) => l3.comment < 0 && (!l3.empty || l3.single))) { let changes = []; for (let { line, token, indent: indent2, empty: empty2, single } of lines) if (single || !empty2) changes.push({ from: line.from + indent2, insert: token + " " }); let changeSet = state.changes(changes); return { changes: changeSet, selection: state.selection.map(changeSet, 1) }; - } else if (option != 1 && lines.some((l) => l.comment >= 0)) { + } else if (option != 1 && lines.some((l3) => l3.comment >= 0)) { let changes = []; for (let { line, comment: comment2, token } of lines) if (comment2 >= 0) { @@ -28158,17 +28652,17 @@ var historyConfig = /* @__PURE__ */ Facet.define({ return combineConfig(configs, { minDepth: 100, newGroupDelay: 500, - joinToEvent: (_t, isAdjacent2) => isAdjacent2 + joinToEvent: (_t2, isAdjacent2) => isAdjacent2 }, { minDepth: Math.max, newGroupDelay: Math.min, - joinToEvent: (a, b) => (tr, adj) => a(tr, adj) || b(tr, adj) + joinToEvent: (a2, b3) => (tr, adj) => a2(tr, adj) || b3(tr, adj) }); } }); function changeEnd(changes) { let end = 0; - changes.iterChangedRanges((_, to) => end = to); + changes.iterChangedRanges((_2, to) => end = to); return end; } var historyField_ = /* @__PURE__ */ StateField.define({ @@ -28204,22 +28698,22 @@ var historyField_ = /* @__PURE__ */ StateField.define({ return state; }, toJSON(value) { - return { done: value.done.map((e) => e.toJSON()), undone: value.undone.map((e) => e.toJSON()) }; + return { done: value.done.map((e2) => e2.toJSON()), undone: value.undone.map((e2) => e2.toJSON()) }; }, fromJSON(json) { return new HistoryState(json.done.map(HistEvent.fromJSON), json.undone.map(HistEvent.fromJSON)); } }); -function history(config2 = {}) { +function history2(config2 = {}) { return [ historyField_, historyConfig.of(config2), EditorView.domEventHandlers({ - beforeinput(e, view) { - let command2 = e.inputType == "historyUndo" ? undo : e.inputType == "historyRedo" ? redo : null; + beforeinput(e2, view) { + let command2 = e2.inputType == "historyUndo" ? undo : e2.inputType == "historyRedo" ? redo : null; if (!command2) return false; - e.preventDefault(); + e2.preventDefault(); return command2(view); } }) @@ -28260,7 +28754,7 @@ var HistEvent = class _HistEvent { changes: (_a3 = this.changes) === null || _a3 === void 0 ? void 0 : _a3.toJSON(), mapped: (_b2 = this.mapped) === null || _b2 === void 0 ? void 0 : _b2.toJSON(), startSelection: (_c = this.startSelection) === null || _c === void 0 ? void 0 : _c.toJSON(), - selectionsAfter: this.selectionsAfter.map((s) => s.toJSON()) + selectionsAfter: this.selectionsAfter.map((s2) => s2.toJSON()) }; } static fromJSON(json) { @@ -28290,23 +28784,23 @@ function updateBranch(branch, to, maxLen, newEvent) { newBranch.push(newEvent); return newBranch; } -function isAdjacent(a, b) { +function isAdjacent(a2, b3) { let ranges = [], isAdjacent2 = false; - a.iterChangedRanges((f, t2) => ranges.push(f, t2)); - b.iterChangedRanges((_f, _t, f, t2) => { - for (let i = 0; i < ranges.length; ) { - let from = ranges[i++], to = ranges[i++]; - if (t2 >= from && f <= to) + a2.iterChangedRanges((f3, t3) => ranges.push(f3, t3)); + b3.iterChangedRanges((_f, _t2, f3, t3) => { + for (let i2 = 0; i2 < ranges.length; ) { + let from = ranges[i2++], to = ranges[i2++]; + if (t3 >= from && f3 <= to) isAdjacent2 = true; } }); return isAdjacent2; } -function eqSelectionShape(a, b) { - return a.ranges.length == b.ranges.length && a.ranges.filter((r2, i) => r2.empty != b.ranges[i].empty).length === 0; +function eqSelectionShape(a2, b3) { + return a2.ranges.length == b3.ranges.length && a2.ranges.filter((r2, i2) => r2.empty != b3.ranges[i2].empty).length === 0; } -function conc(a, b) { - return !a.length ? b : !b.length ? a : a.concat(b); +function conc(a2, b3) { + return !a2.length ? b3 : !b3.length ? a2 : a2.concat(b3); } var none3 = []; var MaxSelectionsPerEvent = 200; @@ -28347,7 +28841,7 @@ function addMappingToBranch(branch, mapping) { return selections.length ? [HistEvent.selection(selections)] : none3; } function mapEvent(event, mapping, extraSelections) { - let selections = conc(event.selectionsAfter.length ? event.selectionsAfter.map((s) => s.map(mapping)) : none3, extraSelections); + let selections = conc(event.selectionsAfter.length ? event.selectionsAfter.map((s2) => s2.map(mapping)) : none3, extraSelections); if (!event.changes) return HistEvent.selection(selections); let mappedChanges = event.changes.map(mapping), before = mapping.mapDesc(event.changes, true); @@ -28681,7 +29175,7 @@ function deleteBy(target, by) { } function skipAtomic(target, pos, forward) { if (target instanceof EditorView) - for (let ranges of target.state.facet(EditorView.atomicRanges).map((f) => f(target))) + for (let ranges of target.state.facet(EditorView.atomicRanges).map((f3) => f3(target))) ranges.between(pos, pos, (from, to) => { if (from < pos && to > pos) pos = forward ? to : from; @@ -28694,7 +29188,7 @@ var deleteByChar = (target, forward) => deleteBy(target, (pos) => { if (before[before.length - 1] == " ") return pos - 1; let col = countColumn(before, state.tabSize), drop = col % getIndentUnit(state) || getIndentUnit(state); - for (let i = 0; i < drop && before[before.length - 1 - i] == " "; i++) + for (let i2 = 0; i2 < drop && before[before.length - 1 - i2] == " "; i2++) pos--; targetPos = pos; } else { @@ -28886,14 +29380,14 @@ function newlineAndIndent(atEof) { return true; }; } -function changeBySelectedLine(state, f) { +function changeBySelectedLine(state, f3) { let atLine = -1; return state.changeByRange((range) => { let changes = []; for (let pos = range.from; pos <= range.to; ) { let line = state.doc.lineAt(pos); if (line.number > atLine && (range.empty || range.to > line.from)) { - f(line, changes, range); + f3(line, changes, range); atLine = line.number; } pos = line.to + 1; @@ -28995,7 +29489,7 @@ var standardKeymap = /* @__PURE__ */ [ { key: "Mod-Delete", mac: "Alt-Delete", run: deleteGroupForward }, { mac: "Mod-Backspace", run: deleteToLineStart }, { mac: "Mod-Delete", run: deleteToLineEnd } -].concat(/* @__PURE__ */ emacsStyleKeymap.map((b) => ({ mac: b.key, run: b.run, shift: b.shift }))); +].concat(/* @__PURE__ */ emacsStyleKeymap.map((b3) => ({ mac: b3.key, run: b3.run, shift: b3.shift }))); var defaultKeymap = /* @__PURE__ */ [ { key: "Alt-ArrowLeft", mac: "Ctrl-ArrowLeft", run: cursorSyntaxLeft, shift: selectSyntaxLeft }, { key: "Alt-ArrowRight", mac: "Ctrl-ArrowRight", run: cursorSyntaxRight, shift: selectSyntaxRight }, @@ -29022,8 +29516,8 @@ var Stack = class _Stack { /** @internal */ - constructor(p, stack, state, reducePos, pos, score2, buffer, bufferBase, curContext, lookAhead = 0, parent) { - this.p = p; + constructor(p2, stack, state, reducePos, pos, score2, buffer, bufferBase, curContext, lookAhead = 0, parent) { + this.p = p2; this.stack = stack; this.state = state; this.reducePos = reducePos; @@ -29039,15 +29533,15 @@ var Stack = class _Stack { @internal */ toString() { - return `[${this.stack.filter((_, i) => i % 3 == 0).concat(this.state)}]@${this.pos}${this.score ? "!" + this.score : ""}`; + return `[${this.stack.filter((_2, i2) => i2 % 3 == 0).concat(this.state)}]@${this.pos}${this.score ? "!" + this.score : ""}`; } // Start an empty stack /** @internal */ - static start(p, state, pos = 0) { - let cx = p.parser.context; - return new _Stack(p, [], state, pos, pos, 0, [], 0, cx ? new StackContext(cx, cx.start) : null, 0, null); + static start(p2, state, pos = 0) { + let cx = p2.parser.context; + return new _Stack(p2, [], state, pos, pos, 0, [], 0, cx ? new StackContext(cx, cx.start) : null, 0, null); } /** The stack's current [context](#lr.ContextTracker) value, if @@ -29277,27 +29771,27 @@ var Stack = class _Stack { let nextStates = this.p.parser.nextStates(this.state); if (nextStates.length > 4 << 1 || this.stack.length >= 120) { let best = []; - for (let i = 0, s; i < nextStates.length; i += 2) { - if ((s = nextStates[i + 1]) != this.state && this.p.parser.hasAction(s, next)) - best.push(nextStates[i], s); + for (let i2 = 0, s2; i2 < nextStates.length; i2 += 2) { + if ((s2 = nextStates[i2 + 1]) != this.state && this.p.parser.hasAction(s2, next)) + best.push(nextStates[i2], s2); } if (this.stack.length < 120) - for (let i = 0; best.length < 4 << 1 && i < nextStates.length; i += 2) { - let s = nextStates[i + 1]; - if (!best.some((v, i2) => i2 & 1 && v == s)) - best.push(nextStates[i], s); + for (let i2 = 0; best.length < 4 << 1 && i2 < nextStates.length; i2 += 2) { + let s2 = nextStates[i2 + 1]; + if (!best.some((v2, i3) => i3 & 1 && v2 == s2)) + best.push(nextStates[i2], s2); } nextStates = best; } let result = []; - for (let i = 0; i < nextStates.length && result.length < 4; i += 2) { - let s = nextStates[i + 1]; - if (s == this.state) + for (let i2 = 0; i2 < nextStates.length && result.length < 4; i2 += 2) { + let s2 = nextStates[i2 + 1]; + if (s2 == this.state) continue; let stack = this.split(); - stack.pushState(s, this.pos); + stack.pushState(s2, this.pos); stack.storeNode(0, stack.pos, stack.pos, 4, true); - stack.shiftContext(nextStates[i], this.pos); + stack.shiftContext(nextStates[i2], this.pos); stack.reducePos = this.pos; stack.score -= 200; result.push(stack); @@ -29415,8 +29909,8 @@ var Stack = class _Stack { sameState(other) { if (this.state != other.state || this.stack.length != other.stack.length) return false; - for (let i = 0; i < this.stack.length; i += 3) - if (this.stack[i] != other.stack[i]) + for (let i2 = 0; i2 < this.stack.length; i2 += 3) + if (this.stack[i2] != other.stack[i2]) return false; return true; } @@ -29675,9 +30169,9 @@ var InputStream = class { if (pos >= this.chunk2Pos && pos < this.chunk2Pos + this.chunk2.length) { result = this.chunk2.charCodeAt(pos - this.chunk2Pos); } else { - let i = this.rangeIndex, range = this.range; + let i2 = this.rangeIndex, range = this.range; while (range.to <= pos) - range = this.ranges[++i]; + range = this.ranges[++i2]; this.chunk2 = this.input.chunk(this.chunk2Pos = pos); if (pos + this.chunk2.length > range.to) this.chunk2 = this.chunk2.slice(0, range.to - pos); @@ -29730,16 +30224,16 @@ var InputStream = class { Move the stream forward N (defaults to 1) code units. Returns the new value of [`next`](#lr.InputStream.next). */ - advance(n = 1) { - this.chunkOff += n; - while (this.pos + n >= this.range.to) { + advance(n3 = 1) { + this.chunkOff += n3; + while (this.pos + n3 >= this.range.to) { if (this.rangeIndex == this.ranges.length - 1) return this.setDone(); - n -= this.range.to - this.pos; + n3 -= this.range.to - this.pos; this.range = this.ranges[++this.rangeIndex]; this.pos = this.range.from; } - this.pos += n; + this.pos += n3; if (this.pos >= this.token.lookAhead) this.token.lookAhead = this.pos + 1; return this.readNext(); @@ -29863,9 +30357,9 @@ function readToken2(data, input, stack, group, precTable, precOffset) { if ((groupMask & data[state]) == 0) break; let accEnd = data[state + 1]; - for (let i = state + 3; i < accEnd; i += 2) - if ((data[i + 1] & groupMask) > 0) { - let term = data[i]; + for (let i2 = state + 3; i2 < accEnd; i2 += 2) + if ((data[i2 + 1] & groupMask) > 0) { + let term = data[i2]; if (dialect.allows(term) && (input.token.value == -1 || input.token.value == term || overrides(term, input.token.value, precTable, precOffset))) { input.acceptToken(term); break; @@ -29894,9 +30388,9 @@ function readToken2(data, input, stack, group, precTable, precOffset) { } } function findOffset(data, start, term) { - for (let i = start, next; (next = data[i]) != 65535; i++) + for (let i2 = start, next; (next = data[i2]) != 65535; i2++) if (next == term) - return i - start; + return i2 - start; return -1; } function overrides(token, prev, tableData, tableOffset) { @@ -30016,7 +30510,7 @@ var TokenCache = class { this.tokens = []; this.mainToken = null; this.actions = []; - this.tokens = parser6.tokenizers.map((_) => new CachedToken()); + this.tokens = parser6.tokenizers.map((_2) => new CachedToken()); } getActions(stack) { let actionIndex = 0; @@ -30029,10 +30523,10 @@ var TokenCache = class { ); let context = stack.curContext ? stack.curContext.hash : 0; let lookAhead = 0; - for (let i = 0; i < tokenizers.length; i++) { - if ((1 << i & mask) == 0) + for (let i2 = 0; i2 < tokenizers.length; i2++) { + if ((1 << i2 & mask) == 0) continue; - let tokenizer = tokenizers[i], token = this.tokens[i]; + let tokenizer = tokenizers[i2], token = this.tokens[i2]; if (main && !tokenizer.fallback) continue; if (tokenizer.contextual || token.start != stack.pos || token.mask != mask || token.context != context) { @@ -30070,10 +30564,10 @@ var TokenCache = class { getMainToken(stack) { if (this.mainToken) return this.mainToken; - let main = new CachedToken(), { pos, p } = stack; + let main = new CachedToken(), { pos, p: p2 } = stack; main.start = pos; - main.end = Math.min(pos + 1, p.stream.end); - main.value = pos == p.stream.end ? p.parser.eofTerm : 0; + main.end = Math.min(pos + 1, p2.stream.end); + main.value = pos == p2.stream.end ? p2.parser.eofTerm : 0; return main; } updateCachedToken(token, tokenizer, stack) { @@ -30081,9 +30575,9 @@ var TokenCache = class { tokenizer.token(this.stream.reset(start, token), stack); if (token.value > -1) { let { parser: parser6 } = stack.p; - for (let i = 0; i < parser6.specialized.length; i++) - if (parser6.specialized[i] == token.value) { - let result = parser6.specializers[i](this.stream.read(token.start, token.end), stack); + for (let i2 = 0; i2 < parser6.specialized.length; i2++) + if (parser6.specialized[i2] == token.value) { + let result = parser6.specializers[i2](this.stream.read(token.start, token.end), stack); if (result >= 0 && stack.p.parser.dialect.allows(result >> 1)) { if ((result & 1) == 0) token.value = result >> 1; @@ -30098,8 +30592,8 @@ var TokenCache = class { } } putAction(action, token, end, index) { - for (let i = 0; i < index; i += 3) - if (this.actions[i] == action) + for (let i2 = 0; i2 < index; i2 += 3) + if (this.actions[i2] == action) return index; this.actions[index++] = action; this.actions[index++] = token; @@ -30109,22 +30603,22 @@ var TokenCache = class { addActions(stack, token, end, index) { let { state } = stack, { parser: parser6 } = stack.p, { data } = parser6; for (let set = 0; set < 2; set++) { - for (let i = parser6.stateSlot( + for (let i2 = parser6.stateSlot( state, set ? 2 : 1 /* ParseState.Actions */ - ); ; i += 3) { - if (data[i] == 65535) { - if (data[i + 1] == 1) { - i = pair(data, i + 2); + ); ; i2 += 3) { + if (data[i2] == 65535) { + if (data[i2 + 1] == 1) { + i2 = pair(data, i2 + 2); } else { - if (index == 0 && data[i + 1] == 2) - index = this.putAction(pair(data, i + 2), token, end, index); + if (index == 0 && data[i2 + 1] == 2) + index = this.putAction(pair(data, i2 + 2), token, end, index); break; } } - if (data[i] == token) - index = this.putAction(pair(data, i + 1), token, end, index); + if (data[i2] == token) + index = this.putAction(pair(data, i2 + 1), token, end, index); } } return index; @@ -30164,13 +30658,13 @@ var Parse2 = class { let newStacks = this.stacks = []; let stopped, stoppedTokens; if (this.bigReductionCount > 300 && stacks.length == 1) { - let [s] = stacks; - while (s.forceReduce() && s.stack.length && s.stack[s.stack.length - 2] >= this.lastBigReductionStart) { + let [s2] = stacks; + while (s2.forceReduce() && s2.stack.length && s2.stack[s2.stack.length - 2] >= this.lastBigReductionStart) { } this.bigReductionCount = this.lastBigReductionSize = 0; } - for (let i = 0; i < stacks.length; i++) { - let stack = stacks[i]; + for (let i2 = 0; i2 < stacks.length; i2++) { + let stack = stacks[i2]; for (; ; ) { this.tokens.mainToken = null; if (stack.pos > pos) { @@ -30215,23 +30709,23 @@ var Parse2 = class { if (this.recovering) { let maxRemaining = this.recovering == 1 ? 1 : this.recovering * 3; if (newStacks.length > maxRemaining) { - newStacks.sort((a, b) => b.score - a.score); + newStacks.sort((a2, b3) => b3.score - a2.score); while (newStacks.length > maxRemaining) newStacks.pop(); } - if (newStacks.some((s) => s.reducePos > pos)) + if (newStacks.some((s2) => s2.reducePos > pos)) this.recovering--; } else if (newStacks.length > 1) { outer: - for (let i = 0; i < newStacks.length - 1; i++) { - let stack = newStacks[i]; - for (let j = i + 1; j < newStacks.length; j++) { - let other = newStacks[j]; + for (let i2 = 0; i2 < newStacks.length - 1; i2++) { + let stack = newStacks[i2]; + for (let j3 = i2 + 1; j3 < newStacks.length; j3++) { + let other = newStacks[j3]; if (stack.sameState(other) || stack.buffer.length > 500 && other.buffer.length > 500) { if ((stack.score - other.score || stack.buffer.length - other.buffer.length) > 0) { - newStacks.splice(j--, 1); + newStacks.splice(j3--, 1); } else { - newStacks.splice(i--, 1); + newStacks.splice(i2--, 1); continue outer; } } @@ -30245,9 +30739,9 @@ var Parse2 = class { ); } this.minStackPos = newStacks[0].pos; - for (let i = 1; i < newStacks.length; i++) - if (newStacks[i].pos < this.minStackPos) - this.minStackPos = newStacks[i].pos; + for (let i2 = 1; i2 < newStacks.length; i2++) + if (newStacks[i2].pos < this.minStackPos) + this.minStackPos = newStacks[i2].pos; return null; } stopAt(pos) { @@ -30302,9 +30796,9 @@ var Parse2 = class { } } let actions = this.tokens.getActions(stack); - for (let i = 0; i < actions.length; ) { - let action = actions[i++], term = actions[i++], end = actions[i++]; - let last = i == actions.length || !split; + for (let i2 = 0; i2 < actions.length; ) { + let action = actions[i2++], term = actions[i2++], end = actions[i2++]; + let last = i2 == actions.length || !split; let localStack = last ? stack : stack.split(); let main = this.tokens.mainToken; localStack.apply(action, term, main ? main.start : localStack.pos, end); @@ -30338,8 +30832,8 @@ var Parse2 = class { } runRecovery(stacks, tokens, newStacks) { let finished = null, restarted = false; - for (let i = 0; i < stacks.length; i++) { - let stack = stacks[i], token = tokens[i << 1], tokenEnd = tokens[(i << 1) + 1]; + for (let i2 = 0; i2 < stacks.length; i2++) { + let stack = stacks[i2], token = tokens[i2 << 1], tokenEnd = tokens[(i2 << 1) + 1]; let base2 = verbose ? this.stackID(stack) + " -> " : ""; if (stack.deadEnd) { if (restarted) @@ -30353,7 +30847,7 @@ var Parse2 = class { continue; } let force = stack.split(), forceBase = base2; - for (let j = 0; force.forceReduce() && j < 10; j++) { + for (let j3 = 0; force.forceReduce() && j3 < 10; j3++) { if (verbose) console.log(forceBase + this.stackID(force) + " (via force-reduce)"); let done = this.advanceFully(force, newStacks); @@ -30404,11 +30898,11 @@ var Parse2 = class { } }; function pushStackDedup(stack, newStacks) { - for (let i = 0; i < newStacks.length; i++) { - let other = newStacks[i]; + for (let i2 = 0; i2 < newStacks.length; i2++) { + let other = newStacks[i2]; if (other.pos == stack.pos && other.sameState(stack)) { - if (newStacks[i].score < stack.score) - newStacks[i] = stack; + if (newStacks[i2].score < stack.score) + newStacks[i2] = stack; return; } } @@ -30449,11 +30943,11 @@ var LRParser = class _LRParser extends Parser { throw new RangeError(`Parser version (${spec.version}) doesn't match runtime version (${14})`); let nodeNames = spec.nodeNames.split(" "); this.minRepeatTerm = nodeNames.length; - for (let i = 0; i < spec.repeatNodeCount; i++) + for (let i2 = 0; i2 < spec.repeatNodeCount; i2++) nodeNames.push(""); let topTerms = Object.keys(spec.topRules).map((r2) => spec.topRules[r2][1]); let nodeProps = []; - for (let i = 0; i < nodeNames.length; i++) + for (let i2 = 0; i2 < nodeNames.length; i2++) nodeProps.push([]); function setProp(nodeID, prop, value) { nodeProps[nodeID].push([prop, prop.deserialize(String(value))]); @@ -30463,25 +30957,25 @@ var LRParser = class _LRParser extends Parser { let prop = propSpec[0]; if (typeof prop == "string") prop = NodeProp[prop]; - for (let i = 1; i < propSpec.length; ) { - let next = propSpec[i++]; + for (let i2 = 1; i2 < propSpec.length; ) { + let next = propSpec[i2++]; if (next >= 0) { - setProp(next, prop, propSpec[i++]); + setProp(next, prop, propSpec[i2++]); } else { - let value = propSpec[i + -next]; - for (let j = -next; j > 0; j--) - setProp(propSpec[i++], prop, value); - i++; + let value = propSpec[i2 + -next]; + for (let j3 = -next; j3 > 0; j3--) + setProp(propSpec[i2++], prop, value); + i2++; } } } - this.nodeSet = new NodeSet(nodeNames.map((name2, i) => NodeType.define({ - name: i >= this.minRepeatTerm ? void 0 : name2, - id: i, - props: nodeProps[i], - top: topTerms.indexOf(i) > -1, - error: i == 0, - skipped: spec.skippedNodes && spec.skippedNodes.indexOf(i) > -1 + this.nodeSet = new NodeSet(nodeNames.map((name2, i2) => NodeType.define({ + name: i2 >= this.minRepeatTerm ? void 0 : name2, + id: i2, + props: nodeProps[i2], + top: topTerms.indexOf(i2) > -1, + error: i2 == 0, + skipped: spec.skippedNodes && spec.skippedNodes.indexOf(i2) > -1 }))); if (spec.propSources) this.nodeSet = this.nodeSet.extend(...spec.propSources); @@ -30491,8 +30985,8 @@ var LRParser = class _LRParser extends Parser { this.context = spec.context; this.specializerSpecs = spec.specialized || []; this.specialized = new Uint16Array(this.specializerSpecs.length); - for (let i = 0; i < this.specializerSpecs.length; i++) - this.specialized[i] = this.specializerSpecs[i].term; + for (let i2 = 0; i2 < this.specializerSpecs.length; i2++) + this.specialized[i2] = this.specializerSpecs[i2].term; this.specializers = this.specializerSpecs.map(getSpecializer); this.states = decodeArray(spec.states, Uint32Array); this.data = decodeArray(spec.stateData); @@ -30510,8 +31004,8 @@ var LRParser = class _LRParser extends Parser { } createParse(input, fragments, ranges) { let parse = new Parse2(this, input, fragments, ranges); - for (let w of this.wrappers) - parse = w(parse, input, fragments, ranges); + for (let w2 of this.wrappers) + parse = w2(parse, input, fragments, ranges); return parse; } /** @@ -30539,21 +31033,21 @@ var LRParser = class _LRParser extends Parser { hasAction(state, terminal) { let data = this.data; for (let set = 0; set < 2; set++) { - for (let i = this.stateSlot( + for (let i2 = this.stateSlot( state, set ? 2 : 1 /* ParseState.Actions */ - ), next; ; i += 3) { - if ((next = data[i]) == 65535) { - if (data[i + 1] == 1) - next = data[i = pair(data, i + 2)]; - else if (data[i + 1] == 2) - return pair(data, i + 2); + ), next; ; i2 += 3) { + if ((next = data[i2]) == 65535) { + if (data[i2 + 1] == 1) + next = data[i2 = pair(data, i2 + 2)]; + else if (data[i2 + 1] == 2) + return pair(data, i2 + 2); else break; } if (next == terminal || next == 0) - return pair(data, i + 1); + return pair(data, i2 + 1); } } return 0; @@ -30578,7 +31072,7 @@ var LRParser = class _LRParser extends Parser { @internal */ validAction(state, action) { - return !!this.allActions(state, (a) => a == action ? true : null); + return !!this.allActions(state, (a2) => a2 == action ? true : null); } /** @internal @@ -30590,18 +31084,18 @@ var LRParser = class _LRParser extends Parser { /* ParseState.DefaultReduce */ ); let result = deflt ? action(deflt) : void 0; - for (let i = this.stateSlot( + for (let i2 = this.stateSlot( state, 1 /* ParseState.Actions */ - ); result == null; i += 3) { - if (this.data[i] == 65535) { - if (this.data[i + 1] == 1) - i = pair(this.data, i + 2); + ); result == null; i2 += 3) { + if (this.data[i2] == 65535) { + if (this.data[i2 + 1] == 1) + i2 = pair(this.data, i2 + 2); else break; } - result = action(pair(this.data, i + 1)); + result = action(pair(this.data, i2 + 1)); } return result; } @@ -30611,21 +31105,21 @@ var LRParser = class _LRParser extends Parser { */ nextStates(state) { let result = []; - for (let i = this.stateSlot( + for (let i2 = this.stateSlot( state, 1 /* ParseState.Actions */ - ); ; i += 3) { - if (this.data[i] == 65535) { - if (this.data[i + 1] == 1) - i = pair(this.data, i + 2); + ); ; i2 += 3) { + if (this.data[i2] == 65535) { + if (this.data[i2 + 1] == 1) + i2 = pair(this.data, i2 + 2); else break; } - if ((this.data[i + 2] & 65536 >> 16) == 0) { - let value = this.data[i + 1]; - if (!result.some((v, i2) => i2 & 1 && v == value)) - result.push(this.data[i], value); + if ((this.data[i2 + 2] & 65536 >> 16) == 0) { + let value = this.data[i2 + 1]; + if (!result.some((v2, i3) => i3 & 1 && v2 == value)) + result.push(this.data[i2], value); } } return result; @@ -30646,18 +31140,18 @@ var LRParser = class _LRParser extends Parser { copy.top = info; } if (config2.tokenizers) - copy.tokenizers = this.tokenizers.map((t2) => { - let found = config2.tokenizers.find((r2) => r2.from == t2); - return found ? found.to : t2; + copy.tokenizers = this.tokenizers.map((t3) => { + let found = config2.tokenizers.find((r2) => r2.from == t3); + return found ? found.to : t3; }); if (config2.specializers) { copy.specializers = this.specializers.slice(); - copy.specializerSpecs = this.specializerSpecs.map((s, i) => { - let found = config2.specializers.find((r2) => r2.from == s.external); + copy.specializerSpecs = this.specializerSpecs.map((s2, i2) => { + let found = config2.specializers.find((r2) => r2.from == s2.external); if (!found) - return s; - let spec = Object.assign(Object.assign({}, s), { external: found.to }); - copy.specializers[i] = getSpecializer(spec); + return s2; + let spec = Object.assign(Object.assign({}, s2), { external: found.to }); + copy.specializers[i2] = getSpecializer(spec); return spec; }); } @@ -30721,9 +31215,9 @@ var LRParser = class _LRParser extends Parser { flags[id2] = true; } let disabled = null; - for (let i = 0; i < values2.length; i++) - if (!flags[i]) { - for (let j = this.dialects[values2[i]], id2; (id2 = this.data[j++]) != 65535; ) + for (let i2 = 0; i2 < values2.length; i2++) + if (!flags[i2]) { + for (let j3 = this.dialects[values2[i2]], id2; (id2 = this.data[j3++]) != 65535; ) (disabled || (disabled = new Uint8Array(this.maxTerm + 1)))[id2] = 1; } return new Dialect(dialect, flags, disabled); @@ -30811,12 +31305,12 @@ function isDigit(ch) { return ch >= 48 && ch <= 57; } var identifiers = new ExternalTokenizer((input, stack) => { - for (let inside2 = false, dashes = 0, i = 0; ; i++) { + for (let inside2 = false, dashes = 0, i2 = 0; ; i2++) { let { next } = input; if (isAlpha(next) || next == dash || next == underscore || inside2 && isDigit(next)) { - if (!inside2 && (next != dash || i > 0)) + if (!inside2 && (next != dash || i2 > 0)) inside2 = true; - if (dashes === i && next == dash) + if (dashes === i2 && next == dash) dashes++; input.advance(); } else if (next == backslash && input.peek(1) != newline) { @@ -31726,7 +32220,7 @@ var defineCSSCompletionSource = (isVariable) => (context) => { return { from: pos, options: properties(), validFor: identifier2 }; return null; }; -var cssCompletionSource = /* @__PURE__ */ defineCSSCompletionSource((n) => n.name == "VariableName"); +var cssCompletionSource = /* @__PURE__ */ defineCSSCompletionSource((n3) => n3.name == "VariableName"); var cssLanguage = /* @__PURE__ */ LRLanguage.define({ name: "css", parser: /* @__PURE__ */ parser.configure({ @@ -31897,8 +32391,8 @@ function ElementContext(name2, parent) { this.name = name2; this.parent = parent; this.hash = parent ? parent.hash : 0; - for (let i = 0; i < name2.length; i++) - this.hash += (this.hash << 4) + name2.charCodeAt(i) + (name2.charCodeAt(i) << 8); + for (let i2 = 0; i2 < name2.length; i2++) + this.hash += (this.hash << 4) + name2.charCodeAt(i2) + (name2.charCodeAt(i2) << 8); } var startTagTerms = [StartTag, StartSelfClosingTag, StartScriptTag, StartStyleTag, StartTextareaTag]; var elementContext = new ContextTracker({ @@ -31961,16 +32455,16 @@ var tagStart = new ExternalTokenizer((input, stack) => { } }, { contextual: true }); var commentContent = new ExternalTokenizer((input) => { - for (let dashes = 0, i = 0; ; i++) { + for (let dashes = 0, i2 = 0; ; i2++) { if (input.next < 0) { - if (i) + if (i2) input.acceptToken(commentContent$1); break; } if (input.next == dash2) { dashes++; } else if (input.next == greaterThan && dashes >= 2) { - if (i > 3) + if (i2 >= 3) input.acceptToken(commentContent$1, -2); break; } else { @@ -31996,9 +32490,9 @@ var endTag = new ExternalTokenizer((input, stack) => { function contentTokenizer(tag, textToken, endToken) { let lastState = 2 + tag.length; return new ExternalTokenizer((input) => { - for (let state = 0, matchedLen = 0, i = 0; ; i++) { + for (let state = 0, matchedLen = 0, i2 = 0; ; i2++) { if (input.next < 0) { - if (i) + if (i2) input.acceptToken(textToken); break; } @@ -32008,12 +32502,12 @@ function contentTokenizer(tag, textToken, endToken) { } else if ((state == 2 || state == lastState) && isSpace(input.next)) { matchedLen++; } else if (state == lastState && input.next == greaterThan) { - if (i > matchedLen) + if (i2 > matchedLen) input.acceptToken(textToken, -matchedLen); else input.acceptToken(endToken, -(matchedLen - 2)); break; - } else if ((input.next == 10 || input.next == 13) && i) { + } else if ((input.next == 10 || input.next == 13) && i2) { input.acceptToken(textToken, 1); break; } else { @@ -32100,24 +32594,26 @@ function configureNesting(tags3 = [], attributes = []) { if (id2 == TextareaText) return maybeNest(node, input, textarea); if (id2 == Element && other.length) { - let n = node.node, open = n.firstChild, tagName = open && findTagName(open, input), attrs2; + let n3 = node.node, open = n3.firstChild, tagName = open && findTagName(open, input), attrs2; if (tagName) for (let tag of other) { - if (tag.tag == tagName && (!tag.attrs || tag.attrs(attrs2 || (attrs2 = getAttrs2(n, input))))) { - let close = n.lastChild; - return { parser: tag.parser, overlay: [{ from: open.to, to: close.type.id == CloseTag ? close.from : n.to }] }; + if (tag.tag == tagName && (!tag.attrs || tag.attrs(attrs2 || (attrs2 = getAttrs2(n3, input))))) { + let close = n3.lastChild; + let to = close.type.id == CloseTag ? close.from : n3.to; + if (to > open.to) + return { parser: tag.parser, overlay: [{ from: open.to, to }] }; } } } if (attrs && id2 == Attribute) { - let n = node.node, nameNode; - if (nameNode = n.firstChild) { + let n3 = node.node, nameNode; + if (nameNode = n3.firstChild) { let matches = attrs[input.read(nameNode.from, nameNode.to)]; if (matches) for (let attr of matches) { - if (attr.tagName && attr.tagName != findTagName(n.parent, input)) + if (attr.tagName && attr.tagName != findTagName(n3.parent, input)) continue; - let value = n.lastChild; + let value = n3.lastChild; if (value.type.id == AttributeValue) { let from = value.from + 1; let last = value.lastChild, to = value.to - (last && last.isError ? 0 : 1); @@ -32419,8 +32915,8 @@ function getScope(doc2, node) { if (gather && gather(node2, def) || ScopeNodes.has(node2.name)) return false; } else if (node2.to - node2.from > 8192) { - for (let c of getScope(doc2, node2.node)) - completions.push(c); + for (let c2 of getScope(doc2, node2.node)) + completions.push(c2); return false; } }); @@ -32512,11 +33008,11 @@ var jsxSublanguage = { var typescriptLanguage = /* @__PURE__ */ javascriptLanguage.configure({ dialect: "ts" }, "typescript"); var jsxLanguage = /* @__PURE__ */ javascriptLanguage.configure({ dialect: "jsx", - props: [/* @__PURE__ */ sublanguageProp.add((n) => n.isTop ? [jsxSublanguage] : void 0)] + props: [/* @__PURE__ */ sublanguageProp.add((n3) => n3.isTop ? [jsxSublanguage] : void 0)] }); var tsxLanguage = /* @__PURE__ */ javascriptLanguage.configure({ dialect: "jsx ts", - props: [/* @__PURE__ */ sublanguageProp.add((n) => n.isTop ? [jsxSublanguage] : void 0)] + props: [/* @__PURE__ */ sublanguageProp.add((n3) => n3.isTop ? [jsxSublanguage] : void 0)] }, "typescript"); var kwCompletion = (name2) => ({ label: name2, type: "keyword" }); var keywords = /* @__PURE__ */ "break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(kwCompletion); @@ -32592,7 +33088,7 @@ var Charsets = ["ascii", "utf-8", "utf-16", "latin1", "latin1"]; var Methods = ["get", "post", "put", "delete"]; var Encs = ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"]; var Bool = ["true", "false"]; -var S = {}; +var S2 = {}; var Tags = { a: { attrs: { @@ -32604,8 +33100,8 @@ var Tags = { hreflang: null } }, - abbr: S, - address: S, + abbr: S2, + address: S2, area: { attrs: { alt: null, @@ -32619,8 +33115,8 @@ var Tags = { shape: ["default", "rect", "circle", "poly"] } }, - article: S, - aside: S, + article: S2, + aside: S2, audio: { attrs: { src: null, @@ -32632,13 +33128,13 @@ var Tags = { controls: ["controls"] } }, - b: S, + b: S2, base: { attrs: { href: null, target: Targets } }, - bdi: S, - bdo: S, + bdi: S2, + bdo: S2, blockquote: { attrs: { cite: null } }, - body: S, - br: S, + body: S2, + br: S2, button: { attrs: { form: null, @@ -32655,10 +33151,10 @@ var Tags = { } }, canvas: { attrs: { width: null, height: null } }, - caption: S, - center: S, - cite: S, - code: S, + caption: S2, + center: S2, + cite: S2, + code: S2, col: { attrs: { span: null } }, colgroup: { attrs: { span: null } }, command: { @@ -32676,20 +33172,20 @@ var Tags = { data: { attrs: { value: null } }, datagrid: { attrs: { disabled: ["disabled"], multiple: ["multiple"] } }, datalist: { attrs: { data: null } }, - dd: S, + dd: S2, del: { attrs: { cite: null, datetime: null } }, details: { attrs: { open: ["open"] } }, - dfn: S, - div: S, - dl: S, - dt: S, - em: S, + dfn: S2, + div: S2, + dl: S2, + dt: S2, + em: S2, embed: { attrs: { src: null, type: null, width: null, height: null } }, eventsource: { attrs: { src: null } }, fieldset: { attrs: { disabled: ["disabled"], form: null, name: null } }, - figcaption: S, - figure: S, - footer: S, + figcaption: S2, + figure: S2, + footer: S2, form: { attrs: { action: null, @@ -32702,22 +33198,22 @@ var Tags = { target: Targets } }, - h1: S, - h2: S, - h3: S, - h4: S, - h5: S, - h6: S, + h1: S2, + h2: S2, + h3: S2, + h4: S2, + h5: S2, + h6: S2, head: { children: ["title", "base", "link", "style", "meta", "script", "noscript", "command"] }, - header: S, - hgroup: S, - hr: S, + header: S2, + hgroup: S2, + hr: S2, html: { attrs: { manifest: null } }, - i: S, + i: S2, iframe: { attrs: { src: null, @@ -32799,7 +33295,7 @@ var Tags = { } }, ins: { attrs: { cite: null, datetime: null } }, - kbd: S, + kbd: S2, keygen: { attrs: { challenge: null, @@ -32811,7 +33307,7 @@ var Tags = { } }, label: { attrs: { for: null, form: null } }, - legend: S, + legend: S2, li: { attrs: { value: null } }, link: { attrs: { @@ -32823,7 +33319,7 @@ var Tags = { } }, map: { attrs: { name: null } }, - mark: S, + mark: S2, menu: { attrs: { label: null, type: ["list", "context", "toolbar"] } }, meta: { attrs: { @@ -32834,8 +33330,8 @@ var Tags = { } }, meter: { attrs: { value: null, min: null, low: null, high: null, max: null, optimum: null } }, - nav: S, - noscript: S, + nav: S2, + noscript: S2, object: { attrs: { data: null, @@ -32855,15 +33351,15 @@ var Tags = { optgroup: { attrs: { disabled: ["disabled"], label: null } }, option: { attrs: { disabled: ["disabled"], label: null, selected: ["selected"], value: null } }, output: { attrs: { for: null, form: null, name: null } }, - p: S, + p: S2, param: { attrs: { name: null, value: null } }, - pre: S, + pre: S2, progress: { attrs: { value: null, max: null } }, q: { attrs: { cite: null } }, - rp: S, - rt: S, - ruby: S, - samp: S, + rp: S2, + rt: S2, + ruby: S2, + samp: S2, script: { attrs: { type: ["text/javascript"], @@ -32873,7 +33369,7 @@ var Tags = { charset: Charsets } }, - section: S, + section: S2, select: { attrs: { form: null, @@ -32885,10 +33381,10 @@ var Tags = { } }, slot: { attrs: { name: null } }, - small: S, + small: S2, source: { attrs: { src: null, type: null, media: null } }, - span: S, - strong: S, + span: S2, + strong: S2, style: { attrs: { type: ["text/css"], @@ -32896,13 +33392,13 @@ var Tags = { scoped: null } }, - sub: S, - summary: S, - sup: S, - table: S, - tbody: S, + sub: S2, + summary: S2, + sup: S2, + table: S2, + tbody: S2, td: { attrs: { colspan: null, rowspan: null, headers: null } }, - template: S, + template: S2, textarea: { attrs: { dirname: null, @@ -32919,12 +33415,12 @@ var Tags = { wrap: ["soft", "hard"] } }, - tfoot: S, + tfoot: S2, th: { attrs: { colspan: null, rowspan: null, headers: null, scope: ["row", "col", "rowgroup", "colgroup"] } }, - thead: S, + thead: S2, time: { attrs: { datetime: null } }, - title: S, - tr: S, + title: S2, + tr: S2, track: { attrs: { src: null, @@ -32935,7 +33431,7 @@ var Tags = { } }, ul: { children: ["li", "script", "template", "ul", "ol"] }, - var: S, + var: S2, video: { attrs: { src: null, @@ -32950,7 +33446,7 @@ var Tags = { controls: ["controls"] } }, - wbr: S + wbr: S2 }; var GlobalAttrs = { accesskey: null, @@ -33013,9 +33509,9 @@ var GlobalAttrs = { "aria-valuenow": null, "aria-valuetext": null }; -var eventAttributes = /* @__PURE__ */ "beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((n) => "on" + n); -for (let a of eventAttributes) - GlobalAttrs[a] = null; +var eventAttributes = /* @__PURE__ */ "beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((n3) => "on" + n3); +for (let a2 of eventAttributes) + GlobalAttrs[a2] = null; var Schema = class { constructor(extraTags, extraAttrs) { this.tags = Object.assign(Object.assign({}, Tags), extraTags); @@ -33064,11 +33560,11 @@ function completeTag(state, schema, tree, from, to) { return { from, to, - options: allowedChildren(state.doc, parent, schema).map((tagName) => ({ label: tagName, type: "type" })).concat(openTags(state.doc, tree).map((tag, i) => ({ + options: allowedChildren(state.doc, parent, schema).map((tagName) => ({ label: tagName, type: "type" })).concat(openTags(state.doc, tree).map((tag, i2) => ({ label: "/" + tag, apply: "/" + tag + end, type: "type", - boost: 99 - i + boost: 99 - i2 }))), validFor: /^\/?[:\-\.\w\u00b7-\uffff]*$/ }; @@ -33078,7 +33574,7 @@ function completeCloseTag(state, tree, from, to) { return { from, to, - options: openTags(state.doc, tree).map((tag, i) => ({ label: tag, apply: tag + end, type: "type", boost: 99 - i })), + options: openTags(state.doc, tree).map((tag, i2) => ({ label: tag, apply: tag + end, type: "type", boost: 99 - i2 })), validFor: identifier3 }; } @@ -33178,7 +33674,9 @@ var defaultNesting = [ }, { tag: "script", - attrs: (attrs) => attrs.type == "importmap" || attrs.type == "speculationrules", + attrs(attrs) { + return /^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(attrs.type); + }, parser: jsonParser }, { @@ -33438,8 +33936,8 @@ function IndentLevel(parent, depth) { var topIndent2 = new IndentLevel(null, 0); function countIndent(space4) { let depth = 0; - for (let i = 0; i < space4.length; i++) - depth += space4.charCodeAt(i) == tab ? 8 - depth % 8 : 1; + for (let i2 = 0; i2 < space4.length; i2++) + depth += space4.charCodeAt(i2) == tab ? 8 - depth % 8 : 1; return depth; } var trackIndent = new ContextTracker({ @@ -33461,8 +33959,8 @@ var trackIndent = new ContextTracker({ } }); var legacyPrint = new ExternalTokenizer((input) => { - for (let i = 0; i < 5; i++) { - if (input.next != "print".charCodeAt(i)) + for (let i2 = 0; i2 < 5; i2++) { + if (input.next != "print".charCodeAt(i2)) return; input.advance(); } @@ -33648,8 +34146,8 @@ function getScope2(doc2, node) { return false; top2 = false; } else if (node2.to - node2.from > 8192) { - for (let c of getScope2(doc2, node2.node)) - completions.push(c); + for (let c2 of getScope2(doc2, node2.node)) + completions.push(c2); return false; } }); @@ -33689,7 +34187,7 @@ var globals = /* @__PURE__ */ [ "False", "None", "True" -].map((n) => ({ label: n, type: "constant" })).concat(/* @__PURE__ */ [ +].map((n3) => ({ label: n3, type: "constant" })).concat(/* @__PURE__ */ [ "ArithmeticError", "AssertionError", "AttributeError", @@ -33759,7 +34257,7 @@ var globals = /* @__PURE__ */ [ "ValueError", "Warning", "ZeroDivisionError" -].map((n) => ({ label: n, type: "type" }))).concat(/* @__PURE__ */ [ +].map((n3) => ({ label: n3, type: "type" }))).concat(/* @__PURE__ */ [ "bool", "bytearray", "bytes", @@ -33779,7 +34277,7 @@ var globals = /* @__PURE__ */ [ "super", "tuple", "type" -].map((n) => ({ label: n, type: "class" }))).concat(/* @__PURE__ */ [ +].map((n3) => ({ label: n3, type: "class" }))).concat(/* @__PURE__ */ [ "abs", "aiter", "all", @@ -33834,7 +34332,7 @@ var globals = /* @__PURE__ */ [ "sum", "vars", "zip" -].map((n) => ({ label: n, type: "function" }))); +].map((n3) => ({ label: n3, type: "function" }))); var snippets2 = [ /* @__PURE__ */ snippetCompletion("def ${name}(${params}):\n ${}", { label: "def", @@ -33968,8 +34466,8 @@ function python() { // node_modules/@codemirror/legacy-modes/mode/r.js function wordObj(words) { var res = {}; - for (var i = 0; i < words.length; ++i) - res[words[i]] = true; + for (var i2 = 0; i2 < words.length; ++i2) + res[words[i2]] = true; return res; } var commonAtoms = ["NULL", "NA", "Inf", "NaN", "NA_integer_", "NA_real_", "NA_complex_", "NA_character_", "TRUE", "FALSE"]; @@ -34168,7 +34666,7 @@ function crelt() { var elt = arguments[0]; if (typeof elt == "string") elt = document.createElement(elt); - var i = 1, next = arguments[1]; + var i2 = 1, next = arguments[1]; if (next && typeof next == "object" && next.nodeType == null && !Array.isArray(next)) { for (var name2 in next) if (Object.prototype.hasOwnProperty.call(next, name2)) { @@ -34178,10 +34676,10 @@ function crelt() { else if (value != null) elt[name2] = value; } - i++; + i2++; } - for (; i < arguments.length; i++) - add(elt, arguments[i]); + for (; i2 < arguments.length; i2++) + add(elt, arguments[i2]); return elt; } function add(elt, child) { @@ -34191,8 +34689,8 @@ function add(elt, child) { } else if (child.nodeType != null) { elt.appendChild(child); } else if (Array.isArray(child)) { - for (var i = 0; i < child.length; i++) - add(elt, child[i]); + for (var i2 = 0; i2 < child.length; i2++) + add(elt, child[i2]); } else { throw new RangeError("Unsupported child node: " + child); } @@ -34217,14 +34715,14 @@ var LintState = class _LintState { let diagnosticFilter2 = state.facet(lintConfig).markerFilter; if (diagnosticFilter2) markedDiagnostics = diagnosticFilter2(markedDiagnostics); - let ranges = Decoration.set(markedDiagnostics.map((d) => { - return d.from == d.to || d.from == d.to - 1 && state.doc.lineAt(d.from).to == d.from ? Decoration.widget({ - widget: new DiagnosticWidget(d), - diagnostic: d - }).range(d.from) : Decoration.mark({ - attributes: { class: "cm-lintRange cm-lintRange-" + d.severity + (d.markClass ? " " + d.markClass : "") }, - diagnostic: d - }).range(d.from, d.to); + let ranges = Decoration.set(markedDiagnostics.map((d2) => { + return d2.from == d2.to || d2.from == d2.to - 1 && state.doc.lineAt(d2.from).to == d2.from ? Decoration.widget({ + widget: new DiagnosticWidget(d2), + diagnostic: d2 + }).range(d2.from) : Decoration.mark({ + attributes: { class: "cm-lintRange cm-lintRange-" + d2.severity + (d2.markClass ? " " + d2.markClass : "") }, + diagnostic: d2 + }).range(d2.from, d2.to); }), true); return new _LintState(ranges, panel, findDiagnostic(ranges)); } @@ -34241,7 +34739,7 @@ function findDiagnostic(diagnostics, diagnostic = null, after = 0) { } function hideTooltip(tr, tooltip) { let line = tr.startState.doc.lineAt(tooltip.pos); - return !!(tr.effects.some((e) => e.is(setDiagnosticsEffect)) || tr.changes.touchesRange(line.from, line.to)); + return !!(tr.effects.some((e2) => e2.is(setDiagnosticsEffect)) || tr.changes.touchesRange(line.from, line.to)); } function maybeEnableLint(state, effects) { return state.field(lintState, false) ? effects : effects.concat(StateEffect.appendConfig.of(lintExtensions)); @@ -34278,9 +34776,9 @@ var lintState = /* @__PURE__ */ StateField.define({ } return value; }, - provide: (f) => [ - showPanel.from(f, (val) => val.panel), - EditorView.decorations.from(f, (s) => s.diagnostics) + provide: (f3) => [ + showPanel.from(f3, (val) => val.panel), + EditorView.decorations.from(f3, (s2) => s2.diagnostics) ] }); var activeMark = /* @__PURE__ */ Decoration.mark({ class: "cm-lintRange cm-lintRange-active" }); @@ -34309,7 +34807,7 @@ function lintTooltip(view, pos, side) { }; } function diagnosticsTooltip(view, diagnostics) { - return crelt("ul", { class: "cm-tooltip-lint" }, diagnostics.map((d) => renderDiagnostic(view, d, false))); + return crelt("ul", { class: "cm-tooltip-lint" }, diagnostics.map((d2) => renderDiagnostic(view, d2, false))); } var openLintPanel = (view) => { let field = view.state.field(lintState, false); @@ -34346,13 +34844,13 @@ var lintKeymap = [ ]; var lintConfig = /* @__PURE__ */ Facet.define({ combine(input) { - return Object.assign({ sources: input.map((i) => i.source) }, combineConfig(input.map((i) => i.config), { + return Object.assign({ sources: input.map((i2) => i2.source) }, combineConfig(input.map((i2) => i2.config), { delay: 750, markerFilter: null, tooltipFilter: null, needsRefresh: null }, { - needsRefresh: (a, b) => !a ? b : !b ? a : (u) => a(u) || b(u) + needsRefresh: (a2, b3) => !a2 ? b3 : !b3 ? a2 : (u3) => a2(u3) || b3(u3) })); } }); @@ -34361,9 +34859,9 @@ function assignKeys(actions) { if (actions) actions: for (let { name: name2 } of actions) { - for (let i = 0; i < name2.length; i++) { - let ch = name2[i]; - if (/[a-zA-Z]/.test(ch) && !assigned.some((c) => c.toLowerCase() == ch.toLowerCase())) { + for (let i2 = 0; i2 < name2.length; i2++) { + let ch = name2[i2]; + if (/[a-zA-Z]/.test(ch) && !assigned.some((c2) => c2.toLowerCase() == ch.toLowerCase())) { assigned.push(ch); continue actions; } @@ -34375,9 +34873,9 @@ function assignKeys(actions) { function renderDiagnostic(view, diagnostic, inPanel) { var _a3; let keys = inPanel ? assignKeys(diagnostic.actions) : []; - return crelt("li", { class: "cm-diagnostic cm-diagnostic-" + diagnostic.severity }, crelt("span", { class: "cm-diagnosticText" }, diagnostic.renderMessage ? diagnostic.renderMessage() : diagnostic.message), (_a3 = diagnostic.actions) === null || _a3 === void 0 ? void 0 : _a3.map((action, i) => { - let fired = false, click = (e) => { - e.preventDefault(); + return crelt("li", { class: "cm-diagnostic cm-diagnostic-" + diagnostic.severity }, crelt("span", { class: "cm-diagnosticText" }, diagnostic.renderMessage ? diagnostic.renderMessage() : diagnostic.message), (_a3 = diagnostic.actions) === null || _a3 === void 0 ? void 0 : _a3.map((action, i2) => { + let fired = false, click = (e2) => { + e2.preventDefault(); if (fired) return; fired = true; @@ -34385,7 +34883,7 @@ function renderDiagnostic(view, diagnostic, inPanel) { if (found) action.apply(view, found.from, found.to); }; - let { name: name2 } = action, keyIndex = keys[i] ? name2.indexOf(keys[i]) : -1; + let { name: name2 } = action, keyIndex = keys[i2] ? name2.indexOf(keys[i2]) : -1; let nameElt = keyIndex < 0 ? name2 : [ name2.slice(0, keyIndex), crelt("u", name2.slice(keyIndex, keyIndex + 1)), @@ -34396,7 +34894,7 @@ function renderDiagnostic(view, diagnostic, inPanel) { class: "cm-diagnosticAction", onclick: click, onmousedown: click, - "aria-label": ` Action: ${name2}${keyIndex < 0 ? "" : ` (access key "${keys[i]})"`}.` + "aria-label": ` Action: ${name2}${keyIndex < 0 ? "" : ` (access key "${keys[i2]})"`}.` }, nameElt); }), diagnostic.source && crelt("div", { class: "cm-diagnosticSource" }, diagnostic.source)); } @@ -34441,11 +34939,11 @@ var LintPanel = class _LintPanel { this.view.focus(); } else if (event.keyCode >= 65 && event.keyCode <= 90 && this.selectedIndex >= 0) { let { diagnostic } = this.items[this.selectedIndex], keys = assignKeys(diagnostic.actions); - for (let i = 0; i < keys.length; i++) - if (keys[i].toUpperCase().charCodeAt(0) == event.keyCode) { + for (let i2 = 0; i2 < keys.length; i2++) + if (keys[i2].toUpperCase().charCodeAt(0) == event.keyCode) { let found = findDiagnostic(this.view.state.field(lintState).diagnostics, diagnostic); if (found) - diagnostic.actions[i].apply(view, found.from, found.to); + diagnostic.actions[i2].apply(view, found.from, found.to); } } else { return; @@ -34453,9 +34951,9 @@ var LintPanel = class _LintPanel { event.preventDefault(); }; let onclick = (event) => { - for (let i = 0; i < this.items.length; i++) { - if (this.items[i].dom.contains(event.target)) - this.moveSelection(i); + for (let i2 = 0; i2 < this.items.length; i2++) { + if (this.items[i2].dom.contains(event.target)) + this.moveSelection(i2); } }; this.list = crelt("ul", { @@ -34477,29 +34975,29 @@ var LintPanel = class _LintPanel { let selected = this.view.state.field(lintState).selected; if (!selected) return -1; - for (let i = 0; i < this.items.length; i++) - if (this.items[i].diagnostic == selected.diagnostic) - return i; + for (let i2 = 0; i2 < this.items.length; i2++) + if (this.items[i2].diagnostic == selected.diagnostic) + return i2; return -1; } update() { let { diagnostics, selected } = this.view.state.field(lintState); - let i = 0, needsSync = false, newSelectedItem = null; + let i2 = 0, needsSync = false, newSelectedItem = null; diagnostics.between(0, this.view.state.doc.length, (_start, _end, { spec }) => { let found = -1, item; - for (let j = i; j < this.items.length; j++) - if (this.items[j].diagnostic == spec.diagnostic) { - found = j; + for (let j3 = i2; j3 < this.items.length; j3++) + if (this.items[j3].diagnostic == spec.diagnostic) { + found = j3; break; } if (found < 0) { item = new PanelItem(this.view, spec.diagnostic); - this.items.splice(i, 0, item); + this.items.splice(i2, 0, item); needsSync = true; } else { item = this.items[found]; - if (found > i) { - this.items.splice(i, found - i); + if (found > i2) { + this.items.splice(i2, found - i2); needsSync = true; } } @@ -34511,9 +35009,9 @@ var LintPanel = class _LintPanel { } else if (item.dom.hasAttribute("aria-selected")) { item.dom.removeAttribute("aria-selected"); } - i++; + i2++; }); - while (i < this.items.length && !(this.items.length == 1 && this.items[0].diagnostic.from < 0)) { + while (i2 < this.items.length && !(this.items.length == 1 && this.items[0].diagnostic.from < 0)) { needsSync = true; this.items.pop(); } @@ -34685,7 +35183,7 @@ var LintGutterMarker = class extends GutterMarker { constructor(diagnostics) { super(); this.diagnostics = diagnostics; - this.severity = diagnostics.reduce((max, d) => severityWeight(max) < severityWeight(d.severity) ? d.severity : max, "hint"); + this.severity = diagnostics.reduce((max, d2) => severityWeight(max) < severityWeight(d2.severity) ? d2.severity : max, "hint"); } toDOM(view) { let elt = document.createElement("div"); @@ -34786,7 +35284,7 @@ var lintGutterTooltip = /* @__PURE__ */ StateField.define({ update(tooltip, tr) { if (tooltip && tr.docChanged) tooltip = hideTooltip(tr, tooltip) ? null : Object.assign(Object.assign({}, tooltip), { pos: tr.changes.mapPos(tooltip.pos) }); - return tr.effects.reduce((t2, e) => e.is(setLintGutterTooltip) ? e.value : t2, tooltip); + return tr.effects.reduce((t3, e2) => e2.is(setLintGutterTooltip) ? e2.value : t3, tooltip); }, provide: (field) => showTooltip.from(field) }); @@ -34900,36 +35398,36 @@ var SearchCursor = class { let str = fromCodePoint(next), start = this.bufferStart + this.bufferPos; this.bufferPos += codePointSize(next); let norm = this.normalize(str); - for (let i = 0, pos = start; ; i++) { - let code = norm.charCodeAt(i); + for (let i2 = 0, pos = start; ; i2++) { + let code = norm.charCodeAt(i2); let match = this.match(code, pos); - if (i == norm.length - 1) { + if (i2 == norm.length - 1) { if (match) { this.value = match; return this; } break; } - if (pos == start && i < str.length && str.charCodeAt(i) == code) + if (pos == start && i2 < str.length && str.charCodeAt(i2) == code) pos++; } } } match(code, pos) { let match = null; - for (let i = 0; i < this.matches.length; i += 2) { - let index = this.matches[i], keep = false; + for (let i2 = 0; i2 < this.matches.length; i2 += 2) { + let index = this.matches[i2], keep = false; if (this.query.charCodeAt(index) == code) { if (index == this.query.length - 1) { - match = { from: this.matches[i + 1], to: pos + 1 }; + match = { from: this.matches[i2 + 1], to: pos + 1 }; } else { - this.matches[i]++; + this.matches[i2]++; keep = true; } } if (!keep) { - this.matches.splice(i, 2); - i -= 2; + this.matches.splice(i2, 2); + i2 -= 2; } } if (this.query.charCodeAt(0) == code) { @@ -35159,12 +35657,12 @@ var dialogField = /* @__PURE__ */ StateField.define({ return true; }, update(value, tr) { - for (let e of tr.effects) - if (e.is(dialogEffect)) - value = e.value; + for (let e2 of tr.effects) + if (e2.is(dialogEffect)) + value = e2.value; return value; }, - provide: (f) => showPanel.from(f, (val) => val ? createLineDialog : null) + provide: (f3) => showPanel.from(f3, (val) => val ? createLineDialog : null) }); var gotoLine = (view) => { let panel = getPanel(view, createLineDialog); @@ -35194,7 +35692,7 @@ var defaultHighlightOptions = { var highlightConfig = /* @__PURE__ */ Facet.define({ combine(options2) { return combineConfig(options2, defaultHighlightOptions, { - highlightWordAroundCursor: (a, b) => a || b, + highlightWordAroundCursor: (a2, b3) => a2 || b3, minSelectionLength: Math.min, maxMatches: Math.min }); @@ -35269,7 +35767,7 @@ var matchHighlighter = /* @__PURE__ */ ViewPlugin.fromClass(class { return Decoration.set(deco); } }, { - decorations: (v) => v.decorations + decorations: (v2) => v2.decorations }); var defaultTheme = /* @__PURE__ */ EditorView.baseTheme({ ".cm-selectionMatch": { backgroundColor: "#99ff7780" }, @@ -35352,7 +35850,7 @@ var SearchQuery = class { @internal */ unquote(text) { - return this.literal ? text : text.replace(/\\([nrt\\])/g, (_, ch) => ch == "n" ? "\n" : ch == "r" ? "\r" : ch == "t" ? " " : "\\"); + return this.literal ? text : text.replace(/\\([nrt\\])/g, (_2, ch) => ch == "n" ? "\n" : ch == "r" ? "\r" : ch == "t" ? " " : "\\"); } /** Compare this query to another query. @@ -35482,7 +35980,7 @@ var RegExpQuery = class extends QueryType2 { return this.prevMatchInRange(state, 0, curFrom) || this.prevMatchInRange(state, curTo, state.doc.length); } getReplacement(result) { - return this.spec.unquote(this.spec.replace.replace(/\$([$&\d+])/g, (m, i) => i == "$" ? "$" : i == "&" ? result.match[0] : i != "0" && +i < result.match.length ? result.match[i] : m)); + return this.spec.unquote(this.spec.replace).replace(/\$([$&\d+])/g, (m2, i2) => i2 == "$" ? "$" : i2 == "&" ? result.match[0] : i2 != "0" && +i2 < result.match.length ? result.match[i2] : m2); } matchAll(state, limit) { let cursor = regexpCursor(this.spec, state, 0, state.doc.length), ranges = []; @@ -35518,7 +36016,7 @@ var searchState = /* @__PURE__ */ StateField.define({ } return value; }, - provide: (f) => showPanel.from(f, (val) => val.panel) + provide: (f3) => showPanel.from(f3, (val) => val.panel) }); var SearchState = class { constructor(query, panel) { @@ -35543,10 +36041,10 @@ var searchHighlighter = /* @__PURE__ */ ViewPlugin.fromClass(class { return Decoration.none; let { view } = this; let builder = new RangeSetBuilder(); - for (let i = 0, ranges = view.visibleRanges, l = ranges.length; i < l; i++) { - let { from, to } = ranges[i]; - while (i < l - 1 && to > ranges[i + 1].from - 2 * 250) - to = ranges[++i].to; + for (let i2 = 0, ranges = view.visibleRanges, l3 = ranges.length; i2 < l3; i2++) { + let { from, to } = ranges[i2]; + while (i2 < l3 - 1 && to > ranges[i2 + 1].from - 2 * 250) + to = ranges[++i2].to; query.highlight(view.state, from, to, (from2, to2) => { let selected = view.state.selection.ranges.some((r2) => r2.from == from2 && r2.to == to2); builder.add(from2, to2, selected ? selectedMatchMark : matchMark); @@ -35555,12 +36053,12 @@ var searchHighlighter = /* @__PURE__ */ ViewPlugin.fromClass(class { return builder.finish(); } }, { - decorations: (v) => v.decorations + decorations: (v2) => v2.decorations }); -function searchCommand(f) { +function searchCommand(f3) { return (view) => { let state = view.state.field(searchState, false); - return state && state.query.spec.valid ? f(view, state) : openSearchPanel(view); + return state && state.query.spec.valid ? f3(view, state) : openSearchPanel(view); }; } var findNext = /* @__PURE__ */ searchCommand((view, { query }) => { @@ -35730,7 +36228,7 @@ var searchKeymap = [ { key: "Mod-g", run: findNext, shift: findPrevious, scope: "editor search-panel", preventDefault: true }, { key: "Escape", run: closeSearchPanel, scope: "editor search-panel" }, { key: "Mod-Shift-l", run: selectSelectionMatches }, - { key: "Alt-g", run: gotoLine }, + { key: "Mod-Alt-g", run: gotoLine }, { key: "Mod-d", run: selectNextOccurrence, preventDefault: true } ]; var SearchPanel = class { @@ -35783,7 +36281,7 @@ var SearchPanel = class { function button(name2, onclick, content2) { return crelt("button", { class: "cm-button", name: name2, onclick, type: "button" }, content2); } - this.dom = crelt("div", { onkeydown: (e) => this.keydown(e), class: "cm-search" }, [ + this.dom = crelt("div", { onkeydown: (e2) => this.keydown(e2), class: "cm-search" }, [ this.searchField, button("next", () => findNext(view), [phrase(view, "next")]), button("prev", () => findPrevious(view), [phrase(view, "previous")]), @@ -35818,14 +36316,14 @@ var SearchPanel = class { this.view.dispatch({ effects: setSearchQuery.of(query) }); } } - keydown(e) { - if (runScopeHandlers(this.view, e, "search-panel")) { - e.preventDefault(); - } else if (e.keyCode == 13 && e.target == this.searchField) { - e.preventDefault(); - (e.shiftKey ? findPrevious : findNext)(this.view); - } else if (e.keyCode == 13 && e.target == this.replaceField) { - e.preventDefault(); + keydown(e2) { + if (runScopeHandlers(this.view, e2, "search-panel")) { + e2.preventDefault(); + } else if (e2.keyCode == 13 && e2.target == this.searchField) { + e2.preventDefault(); + (e2.shiftKey ? findPrevious : findNext)(this.view); + } else if (e2.keyCode == 13 && e2.target == this.replaceField) { + e2.preventDefault(); replaceNext(this.view); } } @@ -35864,16 +36362,16 @@ function announceMatch(view, { from, to }) { let start = Math.max(line.from, from - AnnounceMargin), end = Math.min(lineEnd, to + AnnounceMargin); let text = view.state.sliceDoc(start, end); if (start != line.from) { - for (let i = 0; i < AnnounceMargin; i++) - if (!Break.test(text[i + 1]) && Break.test(text[i])) { - text = text.slice(i); + for (let i2 = 0; i2 < AnnounceMargin; i2++) + if (!Break.test(text[i2 + 1]) && Break.test(text[i2])) { + text = text.slice(i2); break; } } if (end != lineEnd) { - for (let i = text.length - 1; i > text.length - AnnounceMargin; i--) - if (!Break.test(text[i - 1]) && Break.test(text[i])) { - text = text.slice(0, i); + for (let i2 = text.length - 1; i2 > text.length - AnnounceMargin; i2--) + if (!Break.test(text[i2 - 1]) && Break.test(text[i2])) { + text = text.slice(0, i2); break; } } @@ -35916,18 +36414,21 @@ var searchExtensions = [ ]; // src/Components/codeMirror/extensions.ts -function getExtensions(opts = { lineNumbers: true }) { +function getExtensions({ + indentSpaces = 4, + lineNumbers: lineNumbers2 = true +} = {}) { const extensions = [ // lineNumbers(), highlightActiveLineGutter(), highlightSpecialChars(), - history(), + history2(), // foldGutter(), drawSelection(), dropCursor(), EditorState.allowMultipleSelections.of(true), indentOnInput(), - indentUnit.of(" "), + indentUnit.of(" ".repeat(indentSpaces)), syntaxHighlighting(defaultHighlightStyle, { fallback: true }), bracketMatching(), closeBrackets(), @@ -35947,7 +36448,7 @@ function getExtensions(opts = { lineNumbers: true }) { ...lintKeymap ]) ]; - if (opts.lineNumbers) { + if (lineNumbers2) { extensions.push(lineNumbers(), lintGutterWithCustomTheme()); } return extensions; @@ -35957,7 +36458,7 @@ function getBinaryFileExtensions() { return [EditorView.editable.of(false)]; } function getMinimalExtensions() { - return [history()]; + return [history2()]; } var LANG_EXTENSIONS = { python, @@ -36224,12 +36725,12 @@ function escape(html2, encode) { } var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig; function unescape(html2) { - return html2.replace(unescapeTest, (_, n) => { - n = n.toLowerCase(); - if (n === "colon") + return html2.replace(unescapeTest, (_2, n3) => { + n3 = n3.toLowerCase(); + if (n3 === "colon") return ":"; - if (n.charAt(0) === "#") { - return n.charAt(1) === "x" ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1)); + if (n3.charAt(0) === "#") { + return n3.charAt(1) === "x" ? String.fromCharCode(parseInt(n3.substring(2), 16)) : String.fromCharCode(+n3.substring(1)); } return ""; }); @@ -36258,7 +36759,7 @@ function cleanUrl(sanitize, base2, href) { let prot; try { prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, "").toLowerCase(); - } catch (e) { + } catch (e2) { return null; } if (prot.indexOf("javascript:") === 0 || prot.indexOf("vbscript:") === 0 || prot.indexOf("data:") === 0) { @@ -36270,7 +36771,7 @@ function cleanUrl(sanitize, base2, href) { } try { href = encodeURI(href).replace(/%25/g, "%"); - } catch (e) { + } catch (e2) { return null; } return href; @@ -36316,7 +36817,7 @@ function splitCells(tableRow, count) { return " |"; } }), cells = row.split(/ \|/); - let i = 0; + let i2 = 0; if (!cells[0].trim()) { cells.shift(); } @@ -36329,44 +36830,44 @@ function splitCells(tableRow, count) { while (cells.length < count) cells.push(""); } - for (; i < cells.length; i++) { - cells[i] = cells[i].trim().replace(/\\\|/g, "|"); + for (; i2 < cells.length; i2++) { + cells[i2] = cells[i2].trim().replace(/\\\|/g, "|"); } return cells; } -function rtrim(str, c, invert) { - const l = str.length; - if (l === 0) { +function rtrim(str, c2, invert) { + const l3 = str.length; + if (l3 === 0) { return ""; } let suffLen = 0; - while (suffLen < l) { - const currChar = str.charAt(l - suffLen - 1); - if (currChar === c && !invert) { + while (suffLen < l3) { + const currChar = str.charAt(l3 - suffLen - 1); + if (currChar === c2 && !invert) { suffLen++; - } else if (currChar !== c && invert) { + } else if (currChar !== c2 && invert) { suffLen++; } else { break; } } - return str.slice(0, l - suffLen); + return str.slice(0, l3 - suffLen); } -function findClosingBracket(str, b) { - if (str.indexOf(b[1]) === -1) { +function findClosingBracket(str, b3) { + if (str.indexOf(b3[1]) === -1) { return -1; } - const l = str.length; - let level = 0, i = 0; - for (; i < l; i++) { - if (str[i] === "\\") { - i++; - } else if (str[i] === b[0]) { + const l3 = str.length; + let level = 0, i2 = 0; + for (; i2 < l3; i2++) { + if (str[i2] === "\\") { + i2++; + } else if (str[i2] === b3[0]) { level++; - } else if (str[i] === b[1]) { + } else if (str[i2] === b3[1]) { level--; if (level < 0) { - return i; + return i2; } } } @@ -36531,7 +37032,7 @@ var Tokenizer = class { list(src) { let cap = this.rules.block.list.exec(src); if (cap) { - let raw, istask, ischecked, indent2, i, blankLine, endsWithBlankLine, line, nextLine, rawLine, itemContents, endEarly; + let raw, istask, ischecked, indent2, i2, blankLine, endsWithBlankLine, line, nextLine, rawLine, itemContents, endEarly; let bull = cap[1].trim(); const isordered = bull.length > 1; const list = { @@ -36557,7 +37058,7 @@ var Tokenizer = class { } raw = cap[0]; src = src.substring(raw.length); - line = cap[2].split("\n", 1)[0].replace(/^\t+/, (t2) => " ".repeat(3 * t2.length)); + line = cap[2].split("\n", 1)[0].replace(/^\t+/, (t3) => " ".repeat(3 * t3.length)); nextLine = src.split("\n", 1)[0]; if (this.options.pedantic) { indent2 = 2; @@ -36652,19 +37153,19 @@ var Tokenizer = class { list.items[list.items.length - 1].raw = raw.trimRight(); list.items[list.items.length - 1].text = itemContents.trimRight(); list.raw = list.raw.trimRight(); - const l = list.items.length; - for (i = 0; i < l; i++) { + const l3 = list.items.length; + for (i2 = 0; i2 < l3; i2++) { this.lexer.state.top = false; - list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []); + list.items[i2].tokens = this.lexer.blockTokens(list.items[i2].text, []); if (!list.loose) { - const spacers = list.items[i].tokens.filter((t2) => t2.type === "space"); - const hasMultipleLineBreaks = spacers.length > 0 && spacers.some((t2) => /\n.*\n/.test(t2.raw)); + const spacers = list.items[i2].tokens.filter((t3) => t3.type === "space"); + const hasMultipleLineBreaks = spacers.length > 0 && spacers.some((t3) => /\n.*\n/.test(t3.raw)); list.loose = hasMultipleLineBreaks; } } if (list.loose) { - for (i = 0; i < l; i++) { - list.items[i].loose = true; + for (i2 = 0; i2 < l3; i2++) { + list.items[i2].loose = true; } } return list; @@ -36709,40 +37210,40 @@ var Tokenizer = class { if (cap) { const item = { type: "table", - header: splitCells(cap[1]).map((c) => { - return { text: c }; + header: splitCells(cap[1]).map((c2) => { + return { text: c2 }; }), align: cap[2].replace(/^ *|\| *$/g, "").split(/ *\| */), rows: cap[3] && cap[3].trim() ? cap[3].replace(/\n[ \t]*$/, "").split("\n") : [] }; if (item.header.length === item.align.length) { item.raw = cap[0]; - let l = item.align.length; - let i, j, k, row; - for (i = 0; i < l; i++) { - if (/^ *-+: *$/.test(item.align[i])) { - item.align[i] = "right"; - } else if (/^ *:-+: *$/.test(item.align[i])) { - item.align[i] = "center"; - } else if (/^ *:-+ *$/.test(item.align[i])) { - item.align[i] = "left"; + let l3 = item.align.length; + let i2, j3, k, row; + for (i2 = 0; i2 < l3; i2++) { + if (/^ *-+: *$/.test(item.align[i2])) { + item.align[i2] = "right"; + } else if (/^ *:-+: *$/.test(item.align[i2])) { + item.align[i2] = "center"; + } else if (/^ *:-+ *$/.test(item.align[i2])) { + item.align[i2] = "left"; } else { - item.align[i] = null; + item.align[i2] = null; } } - l = item.rows.length; - for (i = 0; i < l; i++) { - item.rows[i] = splitCells(item.rows[i], item.header.length).map((c) => { - return { text: c }; + l3 = item.rows.length; + for (i2 = 0; i2 < l3; i2++) { + item.rows[i2] = splitCells(item.rows[i2], item.header.length).map((c2) => { + return { text: c2 }; }); } - l = item.header.length; - for (j = 0; j < l; j++) { - item.header[j].tokens = this.lexer.inline(item.header[j].text); + l3 = item.header.length; + for (j3 = 0; j3 < l3; j3++) { + item.header[j3].tokens = this.lexer.inline(item.header[j3].text); } - l = item.rows.length; - for (j = 0; j < l; j++) { - row = item.rows[j]; + l3 = item.rows.length; + for (j3 = 0; j3 < l3; j3++) { + row = item.rows[j3]; for (k = 0; k < row.length; k++) { row[k].tokens = this.lexer.inline(row[k].text); } @@ -37181,10 +37682,10 @@ function smartypants(text) { return text.replace(/---/g, "\u2014").replace(/--/g, "\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g, "$1\u2018").replace(/'/g, "\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g, "$1\u201C").replace(/"/g, "\u201D").replace(/\.{3}/g, "\u2026"); } function mangle(text) { - let out = "", i, ch; - const l = text.length; - for (i = 0; i < l; i++) { - ch = text.charCodeAt(i); + let out = "", i2, ch; + const l3 = text.length; + for (i2 = 0; i2 < l3; i2++) { + ch = text.charCodeAt(i2); if (Math.random() > 0.5) { ch = "x" + ch.toString(16); } @@ -37266,7 +37767,7 @@ var Lexer = class _Lexer { if (this.options.pedantic) { src = src.replace(/\t/g, " ").replace(/^ +$/gm, ""); } else { - src = src.replace(/^( *)(\t+)/gm, (_, leading, tabs) => { + src = src.replace(/^( *)(\t+)/gm, (_2, leading, tabs) => { return leading + " ".repeat(tabs.length); }); } @@ -37818,10 +38319,10 @@ var Parser2 = class _Parser { * Parse Loop */ parse(tokens, top2 = true) { - let out = "", i, j, k, l2, l3, row, cell, header, body, token, ordered, start, loose, itemBody, item, checked, task, checkbox, ret; - const l = tokens.length; - for (i = 0; i < l; i++) { - token = tokens[i]; + let out = "", i2, j3, k, l22, l3, row, cell, header, body, token, ordered, start, loose, itemBody, item, checked, task, checkbox, ret; + const l4 = tokens.length; + for (i2 = 0; i2 < l4; i2++) { + token = tokens[i2]; if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) { ret = this.options.extensions.renderers[token.type].call({ parser: this }, token); if (ret !== false || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "paragraph", "text"].includes(token.type)) { @@ -37857,18 +38358,18 @@ var Parser2 = class _Parser { case "table": { header = ""; cell = ""; - l2 = token.header.length; - for (j = 0; j < l2; j++) { + l22 = token.header.length; + for (j3 = 0; j3 < l22; j3++) { cell += this.renderer.tablecell( - this.parseInline(token.header[j].tokens), - { header: true, align: token.align[j] } + this.parseInline(token.header[j3].tokens), + { header: true, align: token.align[j3] } ); } header += this.renderer.tablerow(cell); body = ""; - l2 = token.rows.length; - for (j = 0; j < l2; j++) { - row = token.rows[j]; + l22 = token.rows.length; + for (j3 = 0; j3 < l22; j3++) { + row = token.rows[j3]; cell = ""; l3 = row.length; for (k = 0; k < l3; k++) { @@ -37891,10 +38392,10 @@ var Parser2 = class _Parser { ordered = token.ordered; start = token.start; loose = token.loose; - l2 = token.items.length; + l22 = token.items.length; body = ""; - for (j = 0; j < l2; j++) { - item = token.items[j]; + for (j3 = 0; j3 < l22; j3++) { + item = token.items[j3]; checked = item.checked; task = item.task; itemBody = ""; @@ -37932,8 +38433,8 @@ var Parser2 = class _Parser { } case "text": { body = token.tokens ? this.parseInline(token.tokens) : token.text; - while (i + 1 < l && tokens[i + 1].type === "text") { - token = tokens[++i]; + while (i2 + 1 < l4 && tokens[i2 + 1].type === "text") { + token = tokens[++i2]; body += "\n" + (token.tokens ? this.parseInline(token.tokens) : token.text); } out += top2 ? this.renderer.paragraph(body) : body; @@ -37957,10 +38458,10 @@ var Parser2 = class _Parser { */ parseInline(tokens, renderer) { renderer = renderer || this.renderer; - let out = "", i, token, ret; - const l = tokens.length; - for (i = 0; i < l; i++) { - token = tokens[i]; + let out = "", i2, token, ret; + const l3 = tokens.length; + for (i2 = 0; i2 < l3; i2++) { + token = tokens[i2]; if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) { ret = this.options.extensions.renderers[token.type].call({ parser: this }, token); if (ret !== false || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(token.type)) { @@ -38254,8 +38755,8 @@ parseMarkdown_fn = function(lexer2, parser6) { src = opt.hooks.preprocess(src); } tokens = lexer2(src, opt); - } catch (e) { - return throwError(e); + } catch (e2) { + return throwError(e2); } const done = (err2) => { let out; @@ -38268,8 +38769,8 @@ parseMarkdown_fn = function(lexer2, parser6) { if (opt.hooks) { out = opt.hooks.postprocess(out); } - } catch (e) { - err2 = e; + } catch (e2) { + err2 = e2; } } opt.highlight = highlight; @@ -38323,17 +38824,17 @@ parseMarkdown_fn = function(lexer2, parser6) { html2 = opt.hooks.postprocess(html2); } return html2; - } catch (e) { - return throwError(e); + } catch (e2) { + return throwError(e2); } }; }; _onError = new WeakSet(); onError_fn = function(silent, async, callback) { - return (e) => { - e.message += "\nPlease report this to https://github.com/markedjs/marked."; + return (e2) => { + e2.message += "\nPlease report this to https://github.com/markedjs/marked."; if (silent) { - const msg = "

An error occurred:

" + escape(e.message + "", true) + "
"; + const msg = "

An error occurred:

" + escape(e2.message + "", true) + "
"; if (async) { return Promise.resolve(msg); } @@ -38344,13 +38845,13 @@ onError_fn = function(silent, async, callback) { return msg; } if (async) { - return Promise.reject(e); + return Promise.reject(e2); } if (callback) { - callback(e); + callback(e2); return; } - throw e; + throw e2; }; }; var markedInstance = new Marked(defaults3); @@ -38405,12 +38906,12 @@ var renderDocumentation = (documentation) => { try { div.innerHTML = renderMarkdown(documentation.value).__html; return div; - } catch (e) { + } catch (e2) { } } const fallbackContent = MarkupContent.is(documentation) ? documentation.value : documentation; - const p = div.appendChild(document.createElement("p")); - p.appendChild(new Text(fallbackContent)); + const p2 = div.appendChild(document.createElement("p")); + p2.appendChild(new Text(fallbackContent)); return div; }; import_dompurify.default.addHook("afterSanitizeAttributes", function(node) { @@ -38420,7 +38921,9 @@ import_dompurify.default.addHook("afterSanitizeAttributes", function(node) { } }); var renderMarkdown = (markdown) => { - const html2 = import_dompurify.default.sanitize(marked.parse(markdown, { gfm: true })); + const html2 = import_dompurify.default.sanitize( + marked.parse(markdown, { gfm: true, headerIds: false, mangle: false }) + ); return { __html: html2 }; @@ -38510,8 +39013,8 @@ var triggerSignatureHelpRequest = async (view, client, uri) => { view.dispatch({ effects: [setSignatureHelpEffect.of({ pos, result })] }); - } catch (e) { - logException(view.state, e, "signature-help"); + } catch (e2) { + logException(view.state, e2, "signature-help"); view.dispatch({ effects: [setSignatureHelpEffect.of({ pos, result: null })] }); @@ -38542,7 +39045,7 @@ var signatureHelpTooltipField = StateField.define({ } return state; }, - provide: (f) => showTooltip.from(f, (val) => val.tooltip) + provide: (f3) => showTooltip.from(f3, (val) => val.tooltip) }); var reduceSignatureHelpState = (state, effect) => { if (state.tooltip && !effect.result) { @@ -38654,18 +39157,18 @@ function languageServerExtensions(lspClient, filename) { return []; } return [ - EditorView.updateListener.of((u) => { - if (u.docChanged) { + EditorView.updateListener.of((u3) => { + if (u3.docChanged) { let changeEvent = null; let nChanges = 0; - u.changes.iterChanges((fromA, toA, fromB, toB, inserted) => { + u3.changes.iterChanges((fromA, toA, fromB, toB, inserted) => { if (nChanges >= 2) return; nChanges += 1; changeEvent = { range: { - start: offsetToPosition(u.startState.doc, fromA), - end: offsetToPosition(u.startState.doc, toA) + start: offsetToPosition(u3.startState.doc, fromA), + end: offsetToPosition(u3.startState.doc, toA) }, text: inserted.sliceString(0) }; @@ -38674,7 +39177,7 @@ function languageServerExtensions(lspClient, filename) { if (nChanges === 1) { lspClient.changeFile(filename, changeEvent); } else { - lspClient.changeFile(filename, { text: u.view.state.doc.toString() }); + lspClient.changeFile(filename, { text: u3.view.state.doc.toString() }); } } }), @@ -38708,8 +39211,8 @@ function useTabbedCodeMirror({ setActiveFileIdx(0); setNewFileCounter(1); }, [currentFilesFromApp, inferEditorExtensions]); - function closeFile(e, index) { - e.stopPropagation(); + function closeFile(e2, index) { + e2.stopPropagation(); const updatedFiles = [...files]; const filename = updatedFiles[index].name; updatedFiles.splice(index, 1); @@ -38748,7 +39251,7 @@ function useTabbedCodeMirror({ ); const updatedFiles = [...files]; const filenameMatchIdx = updatedFiles.findIndex( - (f) => f.name === newFile.name + (f3) => f3.name === newFile.name ); if (filenameMatchIdx === -1) { updatedFiles.push(newFile); @@ -38762,7 +39265,7 @@ function useTabbedCodeMirror({ }, [files, inferEditorExtensions, setFilesHaveChanged]); function renameFile(oldFileName, newFileName) { const updatedFiles = [...files]; - const fileIndex = updatedFiles.findIndex((f) => f.name === oldFileName); + const fileIndex = updatedFiles.findIndex((f3) => f3.name === oldFileName); updatedFiles[fileIndex].name = newFileName; if (cmView) { cmView.dispatch({ @@ -38789,7 +39292,7 @@ function useTabbedCodeMirror({ } } function selectFile(fileName) { - const fileIndex = files.findIndex((f) => f.name === fileName); + const fileIndex = files.findIndex((f3) => f3.name === fileName); if (activeFileIdx === fileIndex) { setEditingFilename(fileName); } else { @@ -38869,6 +39372,7 @@ function moveCursorToNextLine(cmView) { // src/Components/Editor.tsx var import_jsx_runtime3 = __toESM(require_jsx_runtime()); +var UPDATE_URL_SIZE_THRESHOLD = 25e4; function Editor({ currentFilesFromApp, setCurrentFiles, @@ -38882,23 +39386,34 @@ function Editor({ lineNumbers: lineNumbers2 = true, showHeaderBar = true, floatingButtons = false, + updateUrlHashOnRerun = false, appEngine }) { const lspClient = appEngine === "python" ? ensurePyrightClient() : ensureNullClient(); const editorInstanceId = useInstanceCounter(); const lspPathPrefix = `editor${editorInstanceId}/`; + const [filesHaveChangedSinceLastRun, setFilesHaveChangedSinceLastRun] = React4.useState(false); + const setFilesHaveChangedCombined = React4.useCallback( + (value) => { + setFilesHaveChanged(value); + setFilesHaveChangedSinceLastRun(value); + }, + [setFilesHaveChanged, setFilesHaveChangedSinceLastRun] + ); + const [hasShownUrlTooLargeMessage, setHasShownUrlTooLargeMessage] = React4.useState(false); const inferEditorExtensions = React4.useCallback( (file) => { if (file.type === "binary") { return getBinaryFileExtensions(); } const language2 = inferFiletype(file.name); + const indentSpaces = language2 === "r" ? 2 : 4; return [ - getExtensions({ lineNumbers: lineNumbers2 }), + getExtensions({ lineNumbers: lineNumbers2, indentSpaces }), getLanguageExtension(language2), - EditorView.updateListener.of((u) => { - if (u.docChanged) { - setFilesHaveChanged(true); + EditorView.updateListener.of((u3) => { + if (u3.docChanged) { + setFilesHaveChangedCombined(true); } }), languageServerExtensions(lspClient, lspPathPrefix + file.name), @@ -38907,14 +39422,14 @@ function Editor({ ) ]; }, - [lineNumbers2, setFilesHaveChanged, lspClient, lspPathPrefix] + [lineNumbers2, setFilesHaveChangedCombined, lspClient, lspPathPrefix] ); const [cmView, setCmView] = React4.useState(); const tabbedFiles = useTabbedCodeMirror({ currentFilesFromApp, cmView, inferEditorExtensions, - setFilesHaveChanged, + setFilesHaveChanged: setFilesHaveChangedCombined, lspClient, lspPathPrefix }); @@ -38923,7 +39438,7 @@ function Editor({ React4.useEffect(() => { setIsShinyApp( files.some( - (f) => f.name === "app.py" || f.name === "app.R" || f.name === "server.R" + (f3) => f3.name === "app.py" || f3.name === "app.R" || f3.name === "server.R" ) ); }, [files]); @@ -38939,11 +39454,33 @@ function Editor({ if (!viewerMethods || !viewerMethods.ready) return; syncActiveFileState(); + const fileContents = editorFilesToFileContents(files); + if (updateUrlHashOnRerun && filesHaveChangedSinceLastRun) { + const filesSize = fileContentsSize(fileContents); + if (!hasShownUrlTooLargeMessage && filesSize > UPDATE_URL_SIZE_THRESHOLD) { + _t( + "Auto-updating the app link is disabled because the app is very large. If you want the sharing URL, click the Share button." + ); + setHasShownUrlTooLargeMessage(true); + } else { + updateBrowserUrlHash(fileContents); + } + } + setFilesHaveChangedCombined(false); (async () => { await viewerMethods.stopApp(); - await viewerMethods.runApp(editorFilesToFileContents(files)); + await viewerMethods.runApp(fileContents); })(); - }, [viewerMethods, syncActiveFileState, files]); + }, [ + viewerMethods, + syncActiveFileState, + updateUrlHashOnRerun, + filesHaveChangedSinceLastRun, + setFilesHaveChangedCombined, + hasShownUrlTooLargeMessage, + setHasShownUrlTooLargeMessage, + files + ]); const runAllCode = React4.useCallback(() => { if (!cmView) return; @@ -38964,7 +39501,7 @@ function Editor({ if (!runOnLoad) return; const isShinyCode = currentFilesFromApp.some( - (f) => f.name === "app.py" || f.name === "app.R" || f.name === "server.R" + (f3) => f3.name === "app.py" || f3.name === "app.R" || f3.name === "server.R" ); if (isShinyCode) { await viewerMethods.runApp(currentFilesFromApp); @@ -38985,7 +39522,7 @@ function Editor({ return; (async () => { const isShinyCode = currentFilesFromApp.some( - (f) => f.name === "app.py" || f.name === "app.R" || f.name === "server.R" + (f3) => f3.name === "app.py" || f3.name === "app.R" || f3.name === "server.R" ); if (!isShinyCode) { if (currentFilesFromApp[0].type === "text") { @@ -39210,11 +39747,21 @@ function Editor({ ] }) ] }) : null, /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "editor-container", ref: cmDivRef }), + /* @__PURE__ */ (0, import_jsx_runtime3.jsx)( + Ie, + { + toastOptions: { + duration: 5e3, + position: "top-center", + style: { fontFamily: "var(--font-face)" } + } + } + ), floatingButtons ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "floating-buttons", children: runButton }) : null ] }); } function fileContentsToEditorFiles(files, inferEditorExtensions) { - return files.map((f) => fileContentToEditorFile(f, inferEditorExtensions)); + return files.map((f3) => fileContentToEditorFile(f3, inferEditorExtensions)); } function fileContentToEditorFile(file, inferEditorExtensions) { if (file.type === "binary") { @@ -39272,6 +39819,17 @@ function editorFilesToFflateZippable(files) { } return res; } +function fileContentsSize(files) { + let size = 0; + for (const file of files) { + if (file.type === "binary") { + size += file.content.length; + } else { + size += file.content.length; + } + } + return size; +} function diagnosticFilter(diagnostic) { if (diagnostic.severity === 4 && /is unused$/.test(diagnostic.message)) { return false; @@ -39319,6 +39877,11 @@ function keyBindings({ } ]; } +async function updateBrowserUrlHash(fileContents) { + const encodedFileContents = await fileContentsToUrlStringInWebWorker(fileContents); + const hash3 = "#code=" + encodedFileContents; + history.replaceState(null, "", hash3); +} export { Editor as default, editorFileToFileContent, diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/chunk-HW2MHHPP.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/chunk-HW2MHHPP.js new file mode 100644 index 0000000..ed2ed24 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/chunk-HW2MHHPP.js @@ -0,0 +1,3636 @@ +// Shinylive 0.4.1 +// Copyright 2024 Posit, PBC +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { + get: (a, b) => (typeof require !== "undefined" ? require : a)[b] +}) : x)(function(x) { + if (typeof require !== "undefined") + return require.apply(this, arguments); + throw Error('Dynamic require of "' + x + '" is not supported'); +}); +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require2() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +var __accessCheck = (obj, member, msg) => { + if (!member.has(obj)) + throw TypeError("Cannot " + msg); +}; +var __privateAdd = (obj, member, value) => { + if (member.has(obj)) + throw TypeError("Cannot add the same private member more than once"); + member instanceof WeakSet ? member.add(obj) : member.set(obj, value); +}; +var __privateMethod = (obj, member, method) => { + __accessCheck(obj, member, "access private method"); + return method; +}; + +// node_modules/lz-string/libs/lz-string.js +var require_lz_string = __commonJS({ + "node_modules/lz-string/libs/lz-string.js"(exports, module) { + var LZString2 = function() { + var f = String.fromCharCode; + var keyStrBase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var keyStrUriSafe = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$"; + var baseReverseDic = {}; + function getBaseValue(alphabet, character) { + if (!baseReverseDic[alphabet]) { + baseReverseDic[alphabet] = {}; + for (var i = 0; i < alphabet.length; i++) { + baseReverseDic[alphabet][alphabet.charAt(i)] = i; + } + } + return baseReverseDic[alphabet][character]; + } + var LZString3 = { + compressToBase64: function(input) { + if (input == null) + return ""; + var res = LZString3._compress(input, 6, function(a) { + return keyStrBase64.charAt(a); + }); + switch (res.length % 4) { + default: + case 0: + return res; + case 1: + return res + "==="; + case 2: + return res + "=="; + case 3: + return res + "="; + } + }, + decompressFromBase64: function(input) { + if (input == null) + return ""; + if (input == "") + return null; + return LZString3._decompress(input.length, 32, function(index) { + return getBaseValue(keyStrBase64, input.charAt(index)); + }); + }, + compressToUTF16: function(input) { + if (input == null) + return ""; + return LZString3._compress(input, 15, function(a) { + return f(a + 32); + }) + " "; + }, + decompressFromUTF16: function(compressed) { + if (compressed == null) + return ""; + if (compressed == "") + return null; + return LZString3._decompress(compressed.length, 16384, function(index) { + return compressed.charCodeAt(index) - 32; + }); + }, + //compress into uint8array (UCS-2 big endian format) + compressToUint8Array: function(uncompressed) { + var compressed = LZString3.compress(uncompressed); + var buf = new Uint8Array(compressed.length * 2); + for (var i = 0, TotalLen = compressed.length; i < TotalLen; i++) { + var current_value = compressed.charCodeAt(i); + buf[i * 2] = current_value >>> 8; + buf[i * 2 + 1] = current_value % 256; + } + return buf; + }, + //decompress from uint8array (UCS-2 big endian format) + decompressFromUint8Array: function(compressed) { + if (compressed === null || compressed === void 0) { + return LZString3.decompress(compressed); + } else { + var buf = new Array(compressed.length / 2); + for (var i = 0, TotalLen = buf.length; i < TotalLen; i++) { + buf[i] = compressed[i * 2] * 256 + compressed[i * 2 + 1]; + } + var result = []; + buf.forEach(function(c) { + result.push(f(c)); + }); + return LZString3.decompress(result.join("")); + } + }, + //compress into a string that is already URI encoded + compressToEncodedURIComponent: function(input) { + if (input == null) + return ""; + return LZString3._compress(input, 6, function(a) { + return keyStrUriSafe.charAt(a); + }); + }, + //decompress from an output of compressToEncodedURIComponent + decompressFromEncodedURIComponent: function(input) { + if (input == null) + return ""; + if (input == "") + return null; + input = input.replace(/ /g, "+"); + return LZString3._decompress(input.length, 32, function(index) { + return getBaseValue(keyStrUriSafe, input.charAt(index)); + }); + }, + compress: function(uncompressed) { + return LZString3._compress(uncompressed, 16, function(a) { + return f(a); + }); + }, + _compress: function(uncompressed, bitsPerChar, getCharFromInt) { + if (uncompressed == null) + return ""; + var i, value, context_dictionary = {}, context_dictionaryToCreate = {}, context_c = "", context_wc = "", context_w = "", context_enlargeIn = 2, context_dictSize = 3, context_numBits = 2, context_data = [], context_data_val = 0, context_data_position = 0, ii; + for (ii = 0; ii < uncompressed.length; ii += 1) { + context_c = uncompressed.charAt(ii); + if (!Object.prototype.hasOwnProperty.call(context_dictionary, context_c)) { + context_dictionary[context_c] = context_dictSize++; + context_dictionaryToCreate[context_c] = true; + } + context_wc = context_w + context_c; + if (Object.prototype.hasOwnProperty.call(context_dictionary, context_wc)) { + context_w = context_wc; + } else { + if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) { + if (context_w.charCodeAt(0) < 256) { + for (i = 0; i < context_numBits; i++) { + context_data_val = context_data_val << 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + } + value = context_w.charCodeAt(0); + for (i = 0; i < 8; i++) { + context_data_val = context_data_val << 1 | value & 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = value >> 1; + } + } else { + value = 1; + for (i = 0; i < context_numBits; i++) { + context_data_val = context_data_val << 1 | value; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = 0; + } + value = context_w.charCodeAt(0); + for (i = 0; i < 16; i++) { + context_data_val = context_data_val << 1 | value & 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = value >> 1; + } + } + context_enlargeIn--; + if (context_enlargeIn == 0) { + context_enlargeIn = Math.pow(2, context_numBits); + context_numBits++; + } + delete context_dictionaryToCreate[context_w]; + } else { + value = context_dictionary[context_w]; + for (i = 0; i < context_numBits; i++) { + context_data_val = context_data_val << 1 | value & 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = value >> 1; + } + } + context_enlargeIn--; + if (context_enlargeIn == 0) { + context_enlargeIn = Math.pow(2, context_numBits); + context_numBits++; + } + context_dictionary[context_wc] = context_dictSize++; + context_w = String(context_c); + } + } + if (context_w !== "") { + if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) { + if (context_w.charCodeAt(0) < 256) { + for (i = 0; i < context_numBits; i++) { + context_data_val = context_data_val << 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + } + value = context_w.charCodeAt(0); + for (i = 0; i < 8; i++) { + context_data_val = context_data_val << 1 | value & 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = value >> 1; + } + } else { + value = 1; + for (i = 0; i < context_numBits; i++) { + context_data_val = context_data_val << 1 | value; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = 0; + } + value = context_w.charCodeAt(0); + for (i = 0; i < 16; i++) { + context_data_val = context_data_val << 1 | value & 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = value >> 1; + } + } + context_enlargeIn--; + if (context_enlargeIn == 0) { + context_enlargeIn = Math.pow(2, context_numBits); + context_numBits++; + } + delete context_dictionaryToCreate[context_w]; + } else { + value = context_dictionary[context_w]; + for (i = 0; i < context_numBits; i++) { + context_data_val = context_data_val << 1 | value & 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = value >> 1; + } + } + context_enlargeIn--; + if (context_enlargeIn == 0) { + context_enlargeIn = Math.pow(2, context_numBits); + context_numBits++; + } + } + value = 2; + for (i = 0; i < context_numBits; i++) { + context_data_val = context_data_val << 1 | value & 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = value >> 1; + } + while (true) { + context_data_val = context_data_val << 1; + if (context_data_position == bitsPerChar - 1) { + context_data.push(getCharFromInt(context_data_val)); + break; + } else + context_data_position++; + } + return context_data.join(""); + }, + decompress: function(compressed) { + if (compressed == null) + return ""; + if (compressed == "") + return null; + return LZString3._decompress(compressed.length, 32768, function(index) { + return compressed.charCodeAt(index); + }); + }, + _decompress: function(length, resetValue, getNextValue) { + var dictionary = [], next, enlargeIn = 4, dictSize = 4, numBits = 3, entry = "", result = [], i, w, bits, resb, maxpower, power, c, data = { val: getNextValue(0), position: resetValue, index: 1 }; + for (i = 0; i < 3; i += 1) { + dictionary[i] = i; + } + bits = 0; + maxpower = Math.pow(2, 2); + power = 1; + while (power != maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb > 0 ? 1 : 0) * power; + power <<= 1; + } + switch (next = bits) { + case 0: + bits = 0; + maxpower = Math.pow(2, 8); + power = 1; + while (power != maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb > 0 ? 1 : 0) * power; + power <<= 1; + } + c = f(bits); + break; + case 1: + bits = 0; + maxpower = Math.pow(2, 16); + power = 1; + while (power != maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb > 0 ? 1 : 0) * power; + power <<= 1; + } + c = f(bits); + break; + case 2: + return ""; + } + dictionary[3] = c; + w = c; + result.push(c); + while (true) { + if (data.index > length) { + return ""; + } + bits = 0; + maxpower = Math.pow(2, numBits); + power = 1; + while (power != maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb > 0 ? 1 : 0) * power; + power <<= 1; + } + switch (c = bits) { + case 0: + bits = 0; + maxpower = Math.pow(2, 8); + power = 1; + while (power != maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb > 0 ? 1 : 0) * power; + power <<= 1; + } + dictionary[dictSize++] = f(bits); + c = dictSize - 1; + enlargeIn--; + break; + case 1: + bits = 0; + maxpower = Math.pow(2, 16); + power = 1; + while (power != maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb > 0 ? 1 : 0) * power; + power <<= 1; + } + dictionary[dictSize++] = f(bits); + c = dictSize - 1; + enlargeIn--; + break; + case 2: + return result.join(""); + } + if (enlargeIn == 0) { + enlargeIn = Math.pow(2, numBits); + numBits++; + } + if (dictionary[c]) { + entry = dictionary[c]; + } else { + if (c === dictSize) { + entry = w + w.charAt(0); + } else { + return null; + } + } + result.push(entry); + dictionary[dictSize++] = w + entry.charAt(0); + enlargeIn--; + w = entry; + if (enlargeIn == 0) { + enlargeIn = Math.pow(2, numBits); + numBits++; + } + } + } + }; + return LZString3; + }(); + if (typeof define === "function" && define.amd) { + define(function() { + return LZString2; + }); + } else if (typeof module !== "undefined" && module != null) { + module.exports = LZString2; + } else if (typeof angular !== "undefined" && angular != null) { + angular.module("LZString", []).factory("LZString", function() { + return LZString2; + }); + } + } +}); + +// node_modules/react/cjs/react.development.js +var require_react_development = __commonJS({ + "node_modules/react/cjs/react.development.js"(exports, module) { + "use strict"; + if (true) { + (function() { + "use strict"; + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") { + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); + } + var ReactVersion = "18.2.0"; + var REACT_ELEMENT_TYPE = Symbol.for("react.element"); + var REACT_PORTAL_TYPE = Symbol.for("react.portal"); + var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); + var REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"); + var REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + var REACT_PROVIDER_TYPE = Symbol.for("react.provider"); + var REACT_CONTEXT_TYPE = Symbol.for("react.context"); + var REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"); + var REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"); + var REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"); + var REACT_MEMO_TYPE = Symbol.for("react.memo"); + var REACT_LAZY_TYPE = Symbol.for("react.lazy"); + var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"); + var MAYBE_ITERATOR_SYMBOL = Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = "@@iterator"; + function getIteratorFn(maybeIterable) { + if (maybeIterable === null || typeof maybeIterable !== "object") { + return null; + } + var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; + if (typeof maybeIterator === "function") { + return maybeIterator; + } + return null; + } + var ReactCurrentDispatcher = { + /** + * @internal + * @type {ReactComponent} + */ + current: null + }; + var ReactCurrentBatchConfig = { + transition: null + }; + var ReactCurrentActQueue = { + current: null, + // Used to reproduce behavior of `batchedUpdates` in legacy mode. + isBatchingLegacy: false, + didScheduleLegacyUpdate: false + }; + var ReactCurrentOwner = { + /** + * @internal + * @type {ReactComponent} + */ + current: null + }; + var ReactDebugCurrentFrame = {}; + var currentExtraStackFrame = null; + function setExtraStackFrame(stack) { + { + currentExtraStackFrame = stack; + } + } + { + ReactDebugCurrentFrame.setExtraStackFrame = function(stack) { + { + currentExtraStackFrame = stack; + } + }; + ReactDebugCurrentFrame.getCurrentStack = null; + ReactDebugCurrentFrame.getStackAddendum = function() { + var stack = ""; + if (currentExtraStackFrame) { + stack += currentExtraStackFrame; + } + var impl = ReactDebugCurrentFrame.getCurrentStack; + if (impl) { + stack += impl() || ""; + } + return stack; + }; + } + var enableScopeAPI = false; + var enableCacheElement = false; + var enableTransitionTracing = false; + var enableLegacyHidden = false; + var enableDebugTracing = false; + var ReactSharedInternals = { + ReactCurrentDispatcher, + ReactCurrentBatchConfig, + ReactCurrentOwner + }; + { + ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame; + ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue; + } + function warn(format) { + { + { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + printWarning("warn", format, args); + } + } + } + function error(format) { + { + { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + printWarning("error", format, args); + } + } + } + function printWarning(level, format, args) { + { + var ReactDebugCurrentFrame2 = ReactSharedInternals.ReactDebugCurrentFrame; + var stack = ReactDebugCurrentFrame2.getStackAddendum(); + if (stack !== "") { + format += "%s"; + args = args.concat([stack]); + } + var argsWithFormat = args.map(function(item) { + return String(item); + }); + argsWithFormat.unshift("Warning: " + format); + Function.prototype.apply.call(console[level], console, argsWithFormat); + } + } + var didWarnStateUpdateForUnmountedComponent = {}; + function warnNoop(publicInstance, callerName) { + { + var _constructor = publicInstance.constructor; + var componentName = _constructor && (_constructor.displayName || _constructor.name) || "ReactClass"; + var warningKey = componentName + "." + callerName; + if (didWarnStateUpdateForUnmountedComponent[warningKey]) { + return; + } + error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", callerName, componentName); + didWarnStateUpdateForUnmountedComponent[warningKey] = true; + } + } + var ReactNoopUpdateQueue = { + /** + * Checks whether or not this composite component is mounted. + * @param {ReactClass} publicInstance The instance we want to test. + * @return {boolean} True if mounted, false otherwise. + * @protected + * @final + */ + isMounted: function(publicInstance) { + return false; + }, + /** + * Forces an update. This should only be invoked when it is known with + * certainty that we are **not** in a DOM transaction. + * + * You may want to call this when you know that some deeper aspect of the + * component's state has changed but `setState` was not called. + * + * This will not invoke `shouldComponentUpdate`, but it will invoke + * `componentWillUpdate` and `componentDidUpdate`. + * + * @param {ReactClass} publicInstance The instance that should rerender. + * @param {?function} callback Called after component is updated. + * @param {?string} callerName name of the calling function in the public API. + * @internal + */ + enqueueForceUpdate: function(publicInstance, callback, callerName) { + warnNoop(publicInstance, "forceUpdate"); + }, + /** + * Replaces all of the state. Always use this or `setState` to mutate state. + * You should treat `this.state` as immutable. + * + * There is no guarantee that `this.state` will be immediately updated, so + * accessing `this.state` after calling this method may return the old value. + * + * @param {ReactClass} publicInstance The instance that should rerender. + * @param {object} completeState Next state. + * @param {?function} callback Called after component is updated. + * @param {?string} callerName name of the calling function in the public API. + * @internal + */ + enqueueReplaceState: function(publicInstance, completeState, callback, callerName) { + warnNoop(publicInstance, "replaceState"); + }, + /** + * Sets a subset of the state. This only exists because _pendingState is + * internal. This provides a merging strategy that is not available to deep + * properties which is confusing. TODO: Expose pendingState or don't use it + * during the merge. + * + * @param {ReactClass} publicInstance The instance that should rerender. + * @param {object} partialState Next partial state to be merged with state. + * @param {?function} callback Called after component is updated. + * @param {?string} Name of the calling function in the public API. + * @internal + */ + enqueueSetState: function(publicInstance, partialState, callback, callerName) { + warnNoop(publicInstance, "setState"); + } + }; + var assign = Object.assign; + var emptyObject = {}; + { + Object.freeze(emptyObject); + } + function Component(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + Component.prototype.isReactComponent = {}; + Component.prototype.setState = function(partialState, callback) { + if (typeof partialState !== "object" && typeof partialState !== "function" && partialState != null) { + throw new Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables."); + } + this.updater.enqueueSetState(this, partialState, callback, "setState"); + }; + Component.prototype.forceUpdate = function(callback) { + this.updater.enqueueForceUpdate(this, callback, "forceUpdate"); + }; + { + var deprecatedAPIs = { + isMounted: ["isMounted", "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."], + replaceState: ["replaceState", "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."] + }; + var defineDeprecationWarning = function(methodName, info) { + Object.defineProperty(Component.prototype, methodName, { + get: function() { + warn("%s(...) is deprecated in plain JavaScript React classes. %s", info[0], info[1]); + return void 0; + } + }); + }; + for (var fnName in deprecatedAPIs) { + if (deprecatedAPIs.hasOwnProperty(fnName)) { + defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); + } + } + } + function ComponentDummy() { + } + ComponentDummy.prototype = Component.prototype; + function PureComponent(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + var pureComponentPrototype = PureComponent.prototype = new ComponentDummy(); + pureComponentPrototype.constructor = PureComponent; + assign(pureComponentPrototype, Component.prototype); + pureComponentPrototype.isPureReactComponent = true; + function createRef() { + var refObject = { + current: null + }; + { + Object.seal(refObject); + } + return refObject; + } + var isArrayImpl = Array.isArray; + function isArray(a) { + return isArrayImpl(a); + } + function typeName(value) { + { + var hasToStringTag = typeof Symbol === "function" && Symbol.toStringTag; + var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; + return type; + } + } + function willCoercionThrow(value) { + { + try { + testStringCoercion(value); + return false; + } catch (e) { + return true; + } + } + } + function testStringCoercion(value) { + return "" + value; + } + function checkKeyStringCoercion(value) { + { + if (willCoercionThrow(value)) { + error("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", typeName(value)); + return testStringCoercion(value); + } + } + } + function getWrappedName(outerType, innerType, wrapperName) { + var displayName = outerType.displayName; + if (displayName) { + return displayName; + } + var functionName = innerType.displayName || innerType.name || ""; + return functionName !== "" ? wrapperName + "(" + functionName + ")" : wrapperName; + } + function getContextName(type) { + return type.displayName || "Context"; + } + function getComponentNameFromType(type) { + if (type == null) { + return null; + } + { + if (typeof type.tag === "number") { + error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."); + } + } + if (typeof type === "function") { + return type.displayName || type.name || null; + } + if (typeof type === "string") { + return type; + } + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + } + if (typeof type === "object") { + switch (type.$$typeof) { + case REACT_CONTEXT_TYPE: + var context = type; + return getContextName(context) + ".Consumer"; + case REACT_PROVIDER_TYPE: + var provider = type; + return getContextName(provider._context) + ".Provider"; + case REACT_FORWARD_REF_TYPE: + return getWrappedName(type, type.render, "ForwardRef"); + case REACT_MEMO_TYPE: + var outerName = type.displayName || null; + if (outerName !== null) { + return outerName; + } + return getComponentNameFromType(type.type) || "Memo"; + case REACT_LAZY_TYPE: { + var lazyComponent = type; + var payload = lazyComponent._payload; + var init = lazyComponent._init; + try { + return getComponentNameFromType(init(payload)); + } catch (x) { + return null; + } + } + } + } + return null; + } + var hasOwnProperty = Object.prototype.hasOwnProperty; + var RESERVED_PROPS = { + key: true, + ref: true, + __self: true, + __source: true + }; + var specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs; + { + didWarnAboutStringRefs = {}; + } + function hasValidRef(config) { + { + if (hasOwnProperty.call(config, "ref")) { + var getter = Object.getOwnPropertyDescriptor(config, "ref").get; + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.ref !== void 0; + } + function hasValidKey(config) { + { + if (hasOwnProperty.call(config, "key")) { + var getter = Object.getOwnPropertyDescriptor(config, "key").get; + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.key !== void 0; + } + function defineKeyPropWarningGetter(props, displayName) { + var warnAboutAccessingKey = function() { + { + if (!specialPropKeyWarningShown) { + specialPropKeyWarningShown = true; + error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", displayName); + } + } + }; + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, "key", { + get: warnAboutAccessingKey, + configurable: true + }); + } + function defineRefPropWarningGetter(props, displayName) { + var warnAboutAccessingRef = function() { + { + if (!specialPropRefWarningShown) { + specialPropRefWarningShown = true; + error("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", displayName); + } + } + }; + warnAboutAccessingRef.isReactWarning = true; + Object.defineProperty(props, "ref", { + get: warnAboutAccessingRef, + configurable: true + }); + } + function warnIfStringRefCannotBeAutoConverted(config) { + { + if (typeof config.ref === "string" && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) { + var componentName = getComponentNameFromType(ReactCurrentOwner.current.type); + if (!didWarnAboutStringRefs[componentName]) { + error('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', componentName, config.ref); + didWarnAboutStringRefs[componentName] = true; + } + } + } + } + var ReactElement = function(type, key, ref, self, source, owner, props) { + var element = { + // This tag allows us to uniquely identify this as a React Element + $$typeof: REACT_ELEMENT_TYPE, + // Built-in properties that belong on the element + type, + key, + ref, + props, + // Record the component responsible for creating this element. + _owner: owner + }; + { + element._store = {}; + Object.defineProperty(element._store, "validated", { + configurable: false, + enumerable: false, + writable: true, + value: false + }); + Object.defineProperty(element, "_self", { + configurable: false, + enumerable: false, + writable: false, + value: self + }); + Object.defineProperty(element, "_source", { + configurable: false, + enumerable: false, + writable: false, + value: source + }); + if (Object.freeze) { + Object.freeze(element.props); + Object.freeze(element); + } + } + return element; + }; + function createElement(type, config, children) { + var propName; + var props = {}; + var key = null; + var ref = null; + var self = null; + var source = null; + if (config != null) { + if (hasValidRef(config)) { + ref = config.ref; + { + warnIfStringRefCannotBeAutoConverted(config); + } + } + if (hasValidKey(config)) { + { + checkKeyStringCoercion(config.key); + } + key = "" + config.key; + } + self = config.__self === void 0 ? null : config.__self; + source = config.__source === void 0 ? null : config.__source; + for (propName in config) { + if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { + props[propName] = config[propName]; + } + } + } + var childrenLength = arguments.length - 2; + if (childrenLength === 1) { + props.children = children; + } else if (childrenLength > 1) { + var childArray = Array(childrenLength); + for (var i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 2]; + } + { + if (Object.freeze) { + Object.freeze(childArray); + } + } + props.children = childArray; + } + if (type && type.defaultProps) { + var defaultProps = type.defaultProps; + for (propName in defaultProps) { + if (props[propName] === void 0) { + props[propName] = defaultProps[propName]; + } + } + } + { + if (key || ref) { + var displayName = typeof type === "function" ? type.displayName || type.name || "Unknown" : type; + if (key) { + defineKeyPropWarningGetter(props, displayName); + } + if (ref) { + defineRefPropWarningGetter(props, displayName); + } + } + } + return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); + } + function cloneAndReplaceKey(oldElement, newKey) { + var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props); + return newElement; + } + function cloneElement(element, config, children) { + if (element === null || element === void 0) { + throw new Error("React.cloneElement(...): The argument must be a React element, but you passed " + element + "."); + } + var propName; + var props = assign({}, element.props); + var key = element.key; + var ref = element.ref; + var self = element._self; + var source = element._source; + var owner = element._owner; + if (config != null) { + if (hasValidRef(config)) { + ref = config.ref; + owner = ReactCurrentOwner.current; + } + if (hasValidKey(config)) { + { + checkKeyStringCoercion(config.key); + } + key = "" + config.key; + } + var defaultProps; + if (element.type && element.type.defaultProps) { + defaultProps = element.type.defaultProps; + } + for (propName in config) { + if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { + if (config[propName] === void 0 && defaultProps !== void 0) { + props[propName] = defaultProps[propName]; + } else { + props[propName] = config[propName]; + } + } + } + } + var childrenLength = arguments.length - 2; + if (childrenLength === 1) { + props.children = children; + } else if (childrenLength > 1) { + var childArray = Array(childrenLength); + for (var i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 2]; + } + props.children = childArray; + } + return ReactElement(element.type, key, ref, self, source, owner, props); + } + function isValidElement(object) { + return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; + } + var SEPARATOR = "."; + var SUBSEPARATOR = ":"; + function escape(key) { + var escapeRegex = /[=:]/g; + var escaperLookup = { + "=": "=0", + ":": "=2" + }; + var escapedString = key.replace(escapeRegex, function(match) { + return escaperLookup[match]; + }); + return "$" + escapedString; + } + var didWarnAboutMaps = false; + var userProvidedKeyEscapeRegex = /\/+/g; + function escapeUserProvidedKey(text) { + return text.replace(userProvidedKeyEscapeRegex, "$&/"); + } + function getElementKey(element, index) { + if (typeof element === "object" && element !== null && element.key != null) { + { + checkKeyStringCoercion(element.key); + } + return escape("" + element.key); + } + return index.toString(36); + } + function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) { + var type = typeof children; + if (type === "undefined" || type === "boolean") { + children = null; + } + var invokeCallback = false; + if (children === null) { + invokeCallback = true; + } else { + switch (type) { + case "string": + case "number": + invokeCallback = true; + break; + case "object": + switch (children.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + invokeCallback = true; + } + } + } + if (invokeCallback) { + var _child = children; + var mappedChild = callback(_child); + var childKey = nameSoFar === "" ? SEPARATOR + getElementKey(_child, 0) : nameSoFar; + if (isArray(mappedChild)) { + var escapedChildKey = ""; + if (childKey != null) { + escapedChildKey = escapeUserProvidedKey(childKey) + "/"; + } + mapIntoArray(mappedChild, array, escapedChildKey, "", function(c) { + return c; + }); + } else if (mappedChild != null) { + if (isValidElement(mappedChild)) { + { + if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) { + checkKeyStringCoercion(mappedChild.key); + } + } + mappedChild = cloneAndReplaceKey( + mappedChild, + // Keep both the (mapped) and old keys if they differ, just as + // traverseAllChildren used to do for objects as children + escapedPrefix + // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key + (mappedChild.key && (!_child || _child.key !== mappedChild.key) ? ( + // $FlowFixMe Flow incorrectly thinks existing element's key can be a number + // eslint-disable-next-line react-internal/safe-string-coercion + escapeUserProvidedKey("" + mappedChild.key) + "/" + ) : "") + childKey + ); + } + array.push(mappedChild); + } + return 1; + } + var child; + var nextName; + var subtreeCount = 0; + var nextNamePrefix = nameSoFar === "" ? SEPARATOR : nameSoFar + SUBSEPARATOR; + if (isArray(children)) { + for (var i = 0; i < children.length; i++) { + child = children[i]; + nextName = nextNamePrefix + getElementKey(child, i); + subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback); + } + } else { + var iteratorFn = getIteratorFn(children); + if (typeof iteratorFn === "function") { + var iterableChildren = children; + { + if (iteratorFn === iterableChildren.entries) { + if (!didWarnAboutMaps) { + warn("Using Maps as children is not supported. Use an array of keyed ReactElements instead."); + } + didWarnAboutMaps = true; + } + } + var iterator = iteratorFn.call(iterableChildren); + var step; + var ii = 0; + while (!(step = iterator.next()).done) { + child = step.value; + nextName = nextNamePrefix + getElementKey(child, ii++); + subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback); + } + } else if (type === "object") { + var childrenString = String(children); + throw new Error("Objects are not valid as a React child (found: " + (childrenString === "[object Object]" ? "object with keys {" + Object.keys(children).join(", ") + "}" : childrenString) + "). If you meant to render a collection of children, use an array instead."); + } + } + return subtreeCount; + } + function mapChildren(children, func, context) { + if (children == null) { + return children; + } + var result = []; + var count = 0; + mapIntoArray(children, result, "", "", function(child) { + return func.call(context, child, count++); + }); + return result; + } + function countChildren(children) { + var n = 0; + mapChildren(children, function() { + n++; + }); + return n; + } + function forEachChildren(children, forEachFunc, forEachContext) { + mapChildren(children, function() { + forEachFunc.apply(this, arguments); + }, forEachContext); + } + function toArray(children) { + return mapChildren(children, function(child) { + return child; + }) || []; + } + function onlyChild(children) { + if (!isValidElement(children)) { + throw new Error("React.Children.only expected to receive a single React element child."); + } + return children; + } + function createContext(defaultValue) { + var context = { + $$typeof: REACT_CONTEXT_TYPE, + // As a workaround to support multiple concurrent renderers, we categorize + // some renderers as primary and others as secondary. We only expect + // there to be two concurrent renderers at most: React Native (primary) and + // Fabric (secondary); React DOM (primary) and React ART (secondary). + // Secondary renderers store their context values on separate fields. + _currentValue: defaultValue, + _currentValue2: defaultValue, + // Used to track how many concurrent renderers this context currently + // supports within in a single renderer. Such as parallel server rendering. + _threadCount: 0, + // These are circular + Provider: null, + Consumer: null, + // Add these to use same hidden class in VM as ServerContext + _defaultValue: null, + _globalName: null + }; + context.Provider = { + $$typeof: REACT_PROVIDER_TYPE, + _context: context + }; + var hasWarnedAboutUsingNestedContextConsumers = false; + var hasWarnedAboutUsingConsumerProvider = false; + var hasWarnedAboutDisplayNameOnConsumer = false; + { + var Consumer = { + $$typeof: REACT_CONTEXT_TYPE, + _context: context + }; + Object.defineProperties(Consumer, { + Provider: { + get: function() { + if (!hasWarnedAboutUsingConsumerProvider) { + hasWarnedAboutUsingConsumerProvider = true; + error("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?"); + } + return context.Provider; + }, + set: function(_Provider) { + context.Provider = _Provider; + } + }, + _currentValue: { + get: function() { + return context._currentValue; + }, + set: function(_currentValue) { + context._currentValue = _currentValue; + } + }, + _currentValue2: { + get: function() { + return context._currentValue2; + }, + set: function(_currentValue2) { + context._currentValue2 = _currentValue2; + } + }, + _threadCount: { + get: function() { + return context._threadCount; + }, + set: function(_threadCount) { + context._threadCount = _threadCount; + } + }, + Consumer: { + get: function() { + if (!hasWarnedAboutUsingNestedContextConsumers) { + hasWarnedAboutUsingNestedContextConsumers = true; + error("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?"); + } + return context.Consumer; + } + }, + displayName: { + get: function() { + return context.displayName; + }, + set: function(displayName) { + if (!hasWarnedAboutDisplayNameOnConsumer) { + warn("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.", displayName); + hasWarnedAboutDisplayNameOnConsumer = true; + } + } + } + }); + context.Consumer = Consumer; + } + { + context._currentRenderer = null; + context._currentRenderer2 = null; + } + return context; + } + var Uninitialized = -1; + var Pending = 0; + var Resolved = 1; + var Rejected = 2; + function lazyInitializer(payload) { + if (payload._status === Uninitialized) { + var ctor = payload._result; + var thenable = ctor(); + thenable.then(function(moduleObject2) { + if (payload._status === Pending || payload._status === Uninitialized) { + var resolved = payload; + resolved._status = Resolved; + resolved._result = moduleObject2; + } + }, function(error2) { + if (payload._status === Pending || payload._status === Uninitialized) { + var rejected = payload; + rejected._status = Rejected; + rejected._result = error2; + } + }); + if (payload._status === Uninitialized) { + var pending = payload; + pending._status = Pending; + pending._result = thenable; + } + } + if (payload._status === Resolved) { + var moduleObject = payload._result; + { + if (moduleObject === void 0) { + error("lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))\n\nDid you accidentally put curly braces around the import?", moduleObject); + } + } + { + if (!("default" in moduleObject)) { + error("lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))", moduleObject); + } + } + return moduleObject.default; + } else { + throw payload._result; + } + } + function lazy(ctor) { + var payload = { + // We use these fields to store the result. + _status: Uninitialized, + _result: ctor + }; + var lazyType = { + $$typeof: REACT_LAZY_TYPE, + _payload: payload, + _init: lazyInitializer + }; + { + var defaultProps; + var propTypes; + Object.defineProperties(lazyType, { + defaultProps: { + configurable: true, + get: function() { + return defaultProps; + }, + set: function(newDefaultProps) { + error("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."); + defaultProps = newDefaultProps; + Object.defineProperty(lazyType, "defaultProps", { + enumerable: true + }); + } + }, + propTypes: { + configurable: true, + get: function() { + return propTypes; + }, + set: function(newPropTypes) { + error("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."); + propTypes = newPropTypes; + Object.defineProperty(lazyType, "propTypes", { + enumerable: true + }); + } + } + }); + } + return lazyType; + } + function forwardRef(render) { + { + if (render != null && render.$$typeof === REACT_MEMO_TYPE) { + error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."); + } else if (typeof render !== "function") { + error("forwardRef requires a render function but was given %s.", render === null ? "null" : typeof render); + } else { + if (render.length !== 0 && render.length !== 2) { + error("forwardRef render functions accept exactly two parameters: props and ref. %s", render.length === 1 ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."); + } + } + if (render != null) { + if (render.defaultProps != null || render.propTypes != null) { + error("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"); + } + } + } + var elementType = { + $$typeof: REACT_FORWARD_REF_TYPE, + render + }; + { + var ownName; + Object.defineProperty(elementType, "displayName", { + enumerable: false, + configurable: true, + get: function() { + return ownName; + }, + set: function(name) { + ownName = name; + if (!render.name && !render.displayName) { + render.displayName = name; + } + } + }); + } + return elementType; + } + var REACT_MODULE_REFERENCE; + { + REACT_MODULE_REFERENCE = Symbol.for("react.module.reference"); + } + function isValidElementType(type) { + if (typeof type === "string" || typeof type === "function") { + return true; + } + if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) { + return true; + } + if (typeof type === "object" && type !== null) { + if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object + // types supported by any Flight configuration anywhere since + // we don't know which Flight build this will end up being used + // with. + type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== void 0) { + return true; + } + } + return false; + } + function memo(type, compare) { + { + if (!isValidElementType(type)) { + error("memo: The first argument must be a component. Instead received: %s", type === null ? "null" : typeof type); + } + } + var elementType = { + $$typeof: REACT_MEMO_TYPE, + type, + compare: compare === void 0 ? null : compare + }; + { + var ownName; + Object.defineProperty(elementType, "displayName", { + enumerable: false, + configurable: true, + get: function() { + return ownName; + }, + set: function(name) { + ownName = name; + if (!type.name && !type.displayName) { + type.displayName = name; + } + } + }); + } + return elementType; + } + function resolveDispatcher() { + var dispatcher = ReactCurrentDispatcher.current; + { + if (dispatcher === null) { + error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem."); + } + } + return dispatcher; + } + function useContext(Context) { + var dispatcher = resolveDispatcher(); + { + if (Context._context !== void 0) { + var realContext = Context._context; + if (realContext.Consumer === Context) { + error("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"); + } else if (realContext.Provider === Context) { + error("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?"); + } + } + } + return dispatcher.useContext(Context); + } + function useState(initialState) { + var dispatcher = resolveDispatcher(); + return dispatcher.useState(initialState); + } + function useReducer(reducer, initialArg, init) { + var dispatcher = resolveDispatcher(); + return dispatcher.useReducer(reducer, initialArg, init); + } + function useRef(initialValue) { + var dispatcher = resolveDispatcher(); + return dispatcher.useRef(initialValue); + } + function useEffect(create, deps) { + var dispatcher = resolveDispatcher(); + return dispatcher.useEffect(create, deps); + } + function useInsertionEffect(create, deps) { + var dispatcher = resolveDispatcher(); + return dispatcher.useInsertionEffect(create, deps); + } + function useLayoutEffect(create, deps) { + var dispatcher = resolveDispatcher(); + return dispatcher.useLayoutEffect(create, deps); + } + function useCallback(callback, deps) { + var dispatcher = resolveDispatcher(); + return dispatcher.useCallback(callback, deps); + } + function useMemo(create, deps) { + var dispatcher = resolveDispatcher(); + return dispatcher.useMemo(create, deps); + } + function useImperativeHandle(ref, create, deps) { + var dispatcher = resolveDispatcher(); + return dispatcher.useImperativeHandle(ref, create, deps); + } + function useDebugValue(value, formatterFn) { + { + var dispatcher = resolveDispatcher(); + return dispatcher.useDebugValue(value, formatterFn); + } + } + function useTransition() { + var dispatcher = resolveDispatcher(); + return dispatcher.useTransition(); + } + function useDeferredValue(value) { + var dispatcher = resolveDispatcher(); + return dispatcher.useDeferredValue(value); + } + function useId() { + var dispatcher = resolveDispatcher(); + return dispatcher.useId(); + } + function useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) { + var dispatcher = resolveDispatcher(); + return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot); + } + var disabledDepth = 0; + var prevLog; + var prevInfo; + var prevWarn; + var prevError; + var prevGroup; + var prevGroupCollapsed; + var prevGroupEnd; + function disabledLog() { + } + disabledLog.__reactDisabledLog = true; + function disableLogs() { + { + if (disabledDepth === 0) { + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; + var props = { + configurable: true, + enumerable: true, + value: disabledLog, + writable: true + }; + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props + }); + } + disabledDepth++; + } + } + function reenableLogs() { + { + disabledDepth--; + if (disabledDepth === 0) { + var props = { + configurable: true, + enumerable: true, + writable: true + }; + Object.defineProperties(console, { + log: assign({}, props, { + value: prevLog + }), + info: assign({}, props, { + value: prevInfo + }), + warn: assign({}, props, { + value: prevWarn + }), + error: assign({}, props, { + value: prevError + }), + group: assign({}, props, { + value: prevGroup + }), + groupCollapsed: assign({}, props, { + value: prevGroupCollapsed + }), + groupEnd: assign({}, props, { + value: prevGroupEnd + }) + }); + } + if (disabledDepth < 0) { + error("disabledDepth fell below zero. This is a bug in React. Please file an issue."); + } + } + } + var ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher; + var prefix; + function describeBuiltInComponentFrame(name, source, ownerFn) { + { + if (prefix === void 0) { + try { + throw Error(); + } catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = match && match[1] || ""; + } + } + return "\n" + prefix + name; + } + } + var reentry = false; + var componentFrameCache; + { + var PossiblyWeakMap = typeof WeakMap === "function" ? WeakMap : Map; + componentFrameCache = new PossiblyWeakMap(); + } + function describeNativeComponentFrame(fn, construct) { + if (!fn || reentry) { + return ""; + } + { + var frame = componentFrameCache.get(fn); + if (frame !== void 0) { + return frame; + } + } + var control; + reentry = true; + var previousPrepareStackTrace = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + var previousDispatcher; + { + previousDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = null; + disableLogs(); + } + try { + if (construct) { + var Fake = function() { + throw Error(); + }; + Object.defineProperty(Fake.prototype, "props", { + set: function() { + throw Error(); + } + }); + if (typeof Reflect === "object" && Reflect.construct) { + try { + Reflect.construct(Fake, []); + } catch (x) { + control = x; + } + Reflect.construct(fn, [], Fake); + } else { + try { + Fake.call(); + } catch (x) { + control = x; + } + fn.call(Fake.prototype); + } + } else { + try { + throw Error(); + } catch (x) { + control = x; + } + fn(); + } + } catch (sample) { + if (sample && control && typeof sample.stack === "string") { + var sampleLines = sample.stack.split("\n"); + var controlLines = control.stack.split("\n"); + var s = sampleLines.length - 1; + var c = controlLines.length - 1; + while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) { + c--; + } + for (; s >= 1 && c >= 0; s--, c--) { + if (sampleLines[s] !== controlLines[c]) { + if (s !== 1 || c !== 1) { + do { + s--; + c--; + if (c < 0 || sampleLines[s] !== controlLines[c]) { + var _frame = "\n" + sampleLines[s].replace(" at new ", " at "); + if (fn.displayName && _frame.includes("")) { + _frame = _frame.replace("", fn.displayName); + } + { + if (typeof fn === "function") { + componentFrameCache.set(fn, _frame); + } + } + return _frame; + } + } while (s >= 1 && c >= 0); + } + break; + } + } + } + } finally { + reentry = false; + { + ReactCurrentDispatcher$1.current = previousDispatcher; + reenableLogs(); + } + Error.prepareStackTrace = previousPrepareStackTrace; + } + var name = fn ? fn.displayName || fn.name : ""; + var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ""; + { + if (typeof fn === "function") { + componentFrameCache.set(fn, syntheticFrame); + } + } + return syntheticFrame; + } + function describeFunctionComponentFrame(fn, source, ownerFn) { + { + return describeNativeComponentFrame(fn, false); + } + } + function shouldConstruct(Component2) { + var prototype = Component2.prototype; + return !!(prototype && prototype.isReactComponent); + } + function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) { + if (type == null) { + return ""; + } + if (typeof type === "function") { + { + return describeNativeComponentFrame(type, shouldConstruct(type)); + } + } + if (typeof type === "string") { + return describeBuiltInComponentFrame(type); + } + switch (type) { + case REACT_SUSPENSE_TYPE: + return describeBuiltInComponentFrame("Suspense"); + case REACT_SUSPENSE_LIST_TYPE: + return describeBuiltInComponentFrame("SuspenseList"); + } + if (typeof type === "object") { + switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + return describeFunctionComponentFrame(type.render); + case REACT_MEMO_TYPE: + return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn); + case REACT_LAZY_TYPE: { + var lazyComponent = type; + var payload = lazyComponent._payload; + var init = lazyComponent._init; + try { + return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); + } catch (x) { + } + } + } + } + return ""; + } + var loggedTypeFailures = {}; + var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame; + function setCurrentlyValidatingElement(element) { + { + if (element) { + var owner = element._owner; + var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); + ReactDebugCurrentFrame$1.setExtraStackFrame(stack); + } else { + ReactDebugCurrentFrame$1.setExtraStackFrame(null); + } + } + } + function checkPropTypes(typeSpecs, values, location, componentName, element) { + { + var has = Function.call.bind(hasOwnProperty); + for (var typeSpecName in typeSpecs) { + if (has(typeSpecs, typeSpecName)) { + var error$1 = void 0; + try { + if (typeof typeSpecs[typeSpecName] !== "function") { + var err = Error((componentName || "React class") + ": " + location + " type `" + typeSpecName + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof typeSpecs[typeSpecName] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."); + err.name = "Invariant Violation"; + throw err; + } + error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); + } catch (ex) { + error$1 = ex; + } + if (error$1 && !(error$1 instanceof Error)) { + setCurrentlyValidatingElement(element); + error("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", componentName || "React class", location, typeSpecName, typeof error$1); + setCurrentlyValidatingElement(null); + } + if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) { + loggedTypeFailures[error$1.message] = true; + setCurrentlyValidatingElement(element); + error("Failed %s type: %s", location, error$1.message); + setCurrentlyValidatingElement(null); + } + } + } + } + } + function setCurrentlyValidatingElement$1(element) { + { + if (element) { + var owner = element._owner; + var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); + setExtraStackFrame(stack); + } else { + setExtraStackFrame(null); + } + } + } + var propTypesMisspellWarningShown; + { + propTypesMisspellWarningShown = false; + } + function getDeclarationErrorAddendum() { + if (ReactCurrentOwner.current) { + var name = getComponentNameFromType(ReactCurrentOwner.current.type); + if (name) { + return "\n\nCheck the render method of `" + name + "`."; + } + } + return ""; + } + function getSourceInfoErrorAddendum(source) { + if (source !== void 0) { + var fileName = source.fileName.replace(/^.*[\\\/]/, ""); + var lineNumber = source.lineNumber; + return "\n\nCheck your code at " + fileName + ":" + lineNumber + "."; + } + return ""; + } + function getSourceInfoErrorAddendumForProps(elementProps) { + if (elementProps !== null && elementProps !== void 0) { + return getSourceInfoErrorAddendum(elementProps.__source); + } + return ""; + } + var ownerHasKeyUseWarning = {}; + function getCurrentComponentErrorInfo(parentType) { + var info = getDeclarationErrorAddendum(); + if (!info) { + var parentName = typeof parentType === "string" ? parentType : parentType.displayName || parentType.name; + if (parentName) { + info = "\n\nCheck the top-level render call using <" + parentName + ">."; + } + } + return info; + } + function validateExplicitKey(element, parentType) { + if (!element._store || element._store.validated || element.key != null) { + return; + } + element._store.validated = true; + var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); + if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { + return; + } + ownerHasKeyUseWarning[currentComponentErrorInfo] = true; + var childOwner = ""; + if (element && element._owner && element._owner !== ReactCurrentOwner.current) { + childOwner = " It was passed a child from " + getComponentNameFromType(element._owner.type) + "."; + } + { + setCurrentlyValidatingElement$1(element); + error('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner); + setCurrentlyValidatingElement$1(null); + } + } + function validateChildKeys(node, parentType) { + if (typeof node !== "object") { + return; + } + if (isArray(node)) { + for (var i = 0; i < node.length; i++) { + var child = node[i]; + if (isValidElement(child)) { + validateExplicitKey(child, parentType); + } + } + } else if (isValidElement(node)) { + if (node._store) { + node._store.validated = true; + } + } else if (node) { + var iteratorFn = getIteratorFn(node); + if (typeof iteratorFn === "function") { + if (iteratorFn !== node.entries) { + var iterator = iteratorFn.call(node); + var step; + while (!(step = iterator.next()).done) { + if (isValidElement(step.value)) { + validateExplicitKey(step.value, parentType); + } + } + } + } + } + } + function validatePropTypes(element) { + { + var type = element.type; + if (type === null || type === void 0 || typeof type === "string") { + return; + } + var propTypes; + if (typeof type === "function") { + propTypes = type.propTypes; + } else if (typeof type === "object" && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here. + // Inner props are checked in the reconciler. + type.$$typeof === REACT_MEMO_TYPE)) { + propTypes = type.propTypes; + } else { + return; + } + if (propTypes) { + var name = getComponentNameFromType(type); + checkPropTypes(propTypes, element.props, "prop", name, element); + } else if (type.PropTypes !== void 0 && !propTypesMisspellWarningShown) { + propTypesMisspellWarningShown = true; + var _name = getComponentNameFromType(type); + error("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", _name || "Unknown"); + } + if (typeof type.getDefaultProps === "function" && !type.getDefaultProps.isReactClassApproved) { + error("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead."); + } + } + } + function validateFragmentProps(fragment) { + { + var keys = Object.keys(fragment.props); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (key !== "children" && key !== "key") { + setCurrentlyValidatingElement$1(fragment); + error("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", key); + setCurrentlyValidatingElement$1(null); + break; + } + } + if (fragment.ref !== null) { + setCurrentlyValidatingElement$1(fragment); + error("Invalid attribute `ref` supplied to `React.Fragment`."); + setCurrentlyValidatingElement$1(null); + } + } + } + function createElementWithValidation(type, props, children) { + var validType = isValidElementType(type); + if (!validType) { + var info = ""; + if (type === void 0 || typeof type === "object" && type !== null && Object.keys(type).length === 0) { + info += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."; + } + var sourceInfo = getSourceInfoErrorAddendumForProps(props); + if (sourceInfo) { + info += sourceInfo; + } else { + info += getDeclarationErrorAddendum(); + } + var typeString; + if (type === null) { + typeString = "null"; + } else if (isArray(type)) { + typeString = "array"; + } else if (type !== void 0 && type.$$typeof === REACT_ELEMENT_TYPE) { + typeString = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />"; + info = " Did you accidentally export a JSX literal instead of a component?"; + } else { + typeString = typeof type; + } + { + error("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", typeString, info); + } + } + var element = createElement.apply(this, arguments); + if (element == null) { + return element; + } + if (validType) { + for (var i = 2; i < arguments.length; i++) { + validateChildKeys(arguments[i], type); + } + } + if (type === REACT_FRAGMENT_TYPE) { + validateFragmentProps(element); + } else { + validatePropTypes(element); + } + return element; + } + var didWarnAboutDeprecatedCreateFactory = false; + function createFactoryWithValidation(type) { + var validatedFactory = createElementWithValidation.bind(null, type); + validatedFactory.type = type; + { + if (!didWarnAboutDeprecatedCreateFactory) { + didWarnAboutDeprecatedCreateFactory = true; + warn("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead."); + } + Object.defineProperty(validatedFactory, "type", { + enumerable: false, + get: function() { + warn("Factory.type is deprecated. Access the class directly before passing it to createFactory."); + Object.defineProperty(this, "type", { + value: type + }); + return type; + } + }); + } + return validatedFactory; + } + function cloneElementWithValidation(element, props, children) { + var newElement = cloneElement.apply(this, arguments); + for (var i = 2; i < arguments.length; i++) { + validateChildKeys(arguments[i], newElement.type); + } + validatePropTypes(newElement); + return newElement; + } + function startTransition(scope, options) { + var prevTransition = ReactCurrentBatchConfig.transition; + ReactCurrentBatchConfig.transition = {}; + var currentTransition = ReactCurrentBatchConfig.transition; + { + ReactCurrentBatchConfig.transition._updatedFibers = /* @__PURE__ */ new Set(); + } + try { + scope(); + } finally { + ReactCurrentBatchConfig.transition = prevTransition; + { + if (prevTransition === null && currentTransition._updatedFibers) { + var updatedFibersCount = currentTransition._updatedFibers.size; + if (updatedFibersCount > 10) { + warn("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."); + } + currentTransition._updatedFibers.clear(); + } + } + } + } + var didWarnAboutMessageChannel = false; + var enqueueTaskImpl = null; + function enqueueTask(task) { + if (enqueueTaskImpl === null) { + try { + var requireString = ("require" + Math.random()).slice(0, 7); + var nodeRequire = module && module[requireString]; + enqueueTaskImpl = nodeRequire.call(module, "timers").setImmediate; + } catch (_err) { + enqueueTaskImpl = function(callback) { + { + if (didWarnAboutMessageChannel === false) { + didWarnAboutMessageChannel = true; + if (typeof MessageChannel === "undefined") { + error("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."); + } + } + } + var channel = new MessageChannel(); + channel.port1.onmessage = callback; + channel.port2.postMessage(void 0); + }; + } + } + return enqueueTaskImpl(task); + } + var actScopeDepth = 0; + var didWarnNoAwaitAct = false; + function act(callback) { + { + var prevActScopeDepth = actScopeDepth; + actScopeDepth++; + if (ReactCurrentActQueue.current === null) { + ReactCurrentActQueue.current = []; + } + var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy; + var result; + try { + ReactCurrentActQueue.isBatchingLegacy = true; + result = callback(); + if (!prevIsBatchingLegacy && ReactCurrentActQueue.didScheduleLegacyUpdate) { + var queue = ReactCurrentActQueue.current; + if (queue !== null) { + ReactCurrentActQueue.didScheduleLegacyUpdate = false; + flushActQueue(queue); + } + } + } catch (error2) { + popActScope(prevActScopeDepth); + throw error2; + } finally { + ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy; + } + if (result !== null && typeof result === "object" && typeof result.then === "function") { + var thenableResult = result; + var wasAwaited = false; + var thenable = { + then: function(resolve, reject) { + wasAwaited = true; + thenableResult.then(function(returnValue2) { + popActScope(prevActScopeDepth); + if (actScopeDepth === 0) { + recursivelyFlushAsyncActWork(returnValue2, resolve, reject); + } else { + resolve(returnValue2); + } + }, function(error2) { + popActScope(prevActScopeDepth); + reject(error2); + }); + } + }; + { + if (!didWarnNoAwaitAct && typeof Promise !== "undefined") { + Promise.resolve().then(function() { + }).then(function() { + if (!wasAwaited) { + didWarnNoAwaitAct = true; + error("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"); + } + }); + } + } + return thenable; + } else { + var returnValue = result; + popActScope(prevActScopeDepth); + if (actScopeDepth === 0) { + var _queue = ReactCurrentActQueue.current; + if (_queue !== null) { + flushActQueue(_queue); + ReactCurrentActQueue.current = null; + } + var _thenable = { + then: function(resolve, reject) { + if (ReactCurrentActQueue.current === null) { + ReactCurrentActQueue.current = []; + recursivelyFlushAsyncActWork(returnValue, resolve, reject); + } else { + resolve(returnValue); + } + } + }; + return _thenable; + } else { + var _thenable2 = { + then: function(resolve, reject) { + resolve(returnValue); + } + }; + return _thenable2; + } + } + } + } + function popActScope(prevActScopeDepth) { + { + if (prevActScopeDepth !== actScopeDepth - 1) { + error("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "); + } + actScopeDepth = prevActScopeDepth; + } + } + function recursivelyFlushAsyncActWork(returnValue, resolve, reject) { + { + var queue = ReactCurrentActQueue.current; + if (queue !== null) { + try { + flushActQueue(queue); + enqueueTask(function() { + if (queue.length === 0) { + ReactCurrentActQueue.current = null; + resolve(returnValue); + } else { + recursivelyFlushAsyncActWork(returnValue, resolve, reject); + } + }); + } catch (error2) { + reject(error2); + } + } else { + resolve(returnValue); + } + } + } + var isFlushing = false; + function flushActQueue(queue) { + { + if (!isFlushing) { + isFlushing = true; + var i = 0; + try { + for (; i < queue.length; i++) { + var callback = queue[i]; + do { + callback = callback(true); + } while (callback !== null); + } + queue.length = 0; + } catch (error2) { + queue = queue.slice(i + 1); + throw error2; + } finally { + isFlushing = false; + } + } + } + } + var createElement$1 = createElementWithValidation; + var cloneElement$1 = cloneElementWithValidation; + var createFactory = createFactoryWithValidation; + var Children = { + map: mapChildren, + forEach: forEachChildren, + count: countChildren, + toArray, + only: onlyChild + }; + exports.Children = Children; + exports.Component = Component; + exports.Fragment = REACT_FRAGMENT_TYPE; + exports.Profiler = REACT_PROFILER_TYPE; + exports.PureComponent = PureComponent; + exports.StrictMode = REACT_STRICT_MODE_TYPE; + exports.Suspense = REACT_SUSPENSE_TYPE; + exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals; + exports.cloneElement = cloneElement$1; + exports.createContext = createContext; + exports.createElement = createElement$1; + exports.createFactory = createFactory; + exports.createRef = createRef; + exports.forwardRef = forwardRef; + exports.isValidElement = isValidElement; + exports.lazy = lazy; + exports.memo = memo; + exports.startTransition = startTransition; + exports.unstable_act = act; + exports.useCallback = useCallback; + exports.useContext = useContext; + exports.useDebugValue = useDebugValue; + exports.useDeferredValue = useDeferredValue; + exports.useEffect = useEffect; + exports.useId = useId; + exports.useImperativeHandle = useImperativeHandle; + exports.useInsertionEffect = useInsertionEffect; + exports.useLayoutEffect = useLayoutEffect; + exports.useMemo = useMemo; + exports.useReducer = useReducer; + exports.useRef = useRef; + exports.useState = useState; + exports.useSyncExternalStore = useSyncExternalStore; + exports.useTransition = useTransition; + exports.version = ReactVersion; + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === "function") { + __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); + } + })(); + } + } +}); + +// node_modules/react/index.js +var require_react = __commonJS({ + "node_modules/react/index.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_react_development(); + } + } +}); + +// node_modules/react/cjs/react-jsx-runtime.development.js +var require_react_jsx_runtime_development = __commonJS({ + "node_modules/react/cjs/react-jsx-runtime.development.js"(exports) { + "use strict"; + if (true) { + (function() { + "use strict"; + var React = require_react(); + var REACT_ELEMENT_TYPE = Symbol.for("react.element"); + var REACT_PORTAL_TYPE = Symbol.for("react.portal"); + var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"); + var REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"); + var REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + var REACT_PROVIDER_TYPE = Symbol.for("react.provider"); + var REACT_CONTEXT_TYPE = Symbol.for("react.context"); + var REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"); + var REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"); + var REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"); + var REACT_MEMO_TYPE = Symbol.for("react.memo"); + var REACT_LAZY_TYPE = Symbol.for("react.lazy"); + var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen"); + var MAYBE_ITERATOR_SYMBOL = Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = "@@iterator"; + function getIteratorFn(maybeIterable) { + if (maybeIterable === null || typeof maybeIterable !== "object") { + return null; + } + var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; + if (typeof maybeIterator === "function") { + return maybeIterator; + } + return null; + } + var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; + function error(format) { + { + { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + printWarning("error", format, args); + } + } + } + function printWarning(level, format, args) { + { + var ReactDebugCurrentFrame2 = ReactSharedInternals.ReactDebugCurrentFrame; + var stack = ReactDebugCurrentFrame2.getStackAddendum(); + if (stack !== "") { + format += "%s"; + args = args.concat([stack]); + } + var argsWithFormat = args.map(function(item) { + return String(item); + }); + argsWithFormat.unshift("Warning: " + format); + Function.prototype.apply.call(console[level], console, argsWithFormat); + } + } + var enableScopeAPI = false; + var enableCacheElement = false; + var enableTransitionTracing = false; + var enableLegacyHidden = false; + var enableDebugTracing = false; + var REACT_MODULE_REFERENCE; + { + REACT_MODULE_REFERENCE = Symbol.for("react.module.reference"); + } + function isValidElementType(type) { + if (typeof type === "string" || typeof type === "function") { + return true; + } + if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) { + return true; + } + if (typeof type === "object" && type !== null) { + if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object + // types supported by any Flight configuration anywhere since + // we don't know which Flight build this will end up being used + // with. + type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== void 0) { + return true; + } + } + return false; + } + function getWrappedName(outerType, innerType, wrapperName) { + var displayName = outerType.displayName; + if (displayName) { + return displayName; + } + var functionName = innerType.displayName || innerType.name || ""; + return functionName !== "" ? wrapperName + "(" + functionName + ")" : wrapperName; + } + function getContextName(type) { + return type.displayName || "Context"; + } + function getComponentNameFromType(type) { + if (type == null) { + return null; + } + { + if (typeof type.tag === "number") { + error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."); + } + } + if (typeof type === "function") { + return type.displayName || type.name || null; + } + if (typeof type === "string") { + return type; + } + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + } + if (typeof type === "object") { + switch (type.$$typeof) { + case REACT_CONTEXT_TYPE: + var context = type; + return getContextName(context) + ".Consumer"; + case REACT_PROVIDER_TYPE: + var provider = type; + return getContextName(provider._context) + ".Provider"; + case REACT_FORWARD_REF_TYPE: + return getWrappedName(type, type.render, "ForwardRef"); + case REACT_MEMO_TYPE: + var outerName = type.displayName || null; + if (outerName !== null) { + return outerName; + } + return getComponentNameFromType(type.type) || "Memo"; + case REACT_LAZY_TYPE: { + var lazyComponent = type; + var payload = lazyComponent._payload; + var init = lazyComponent._init; + try { + return getComponentNameFromType(init(payload)); + } catch (x) { + return null; + } + } + } + } + return null; + } + var assign = Object.assign; + var disabledDepth = 0; + var prevLog; + var prevInfo; + var prevWarn; + var prevError; + var prevGroup; + var prevGroupCollapsed; + var prevGroupEnd; + function disabledLog() { + } + disabledLog.__reactDisabledLog = true; + function disableLogs() { + { + if (disabledDepth === 0) { + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; + var props = { + configurable: true, + enumerable: true, + value: disabledLog, + writable: true + }; + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props + }); + } + disabledDepth++; + } + } + function reenableLogs() { + { + disabledDepth--; + if (disabledDepth === 0) { + var props = { + configurable: true, + enumerable: true, + writable: true + }; + Object.defineProperties(console, { + log: assign({}, props, { + value: prevLog + }), + info: assign({}, props, { + value: prevInfo + }), + warn: assign({}, props, { + value: prevWarn + }), + error: assign({}, props, { + value: prevError + }), + group: assign({}, props, { + value: prevGroup + }), + groupCollapsed: assign({}, props, { + value: prevGroupCollapsed + }), + groupEnd: assign({}, props, { + value: prevGroupEnd + }) + }); + } + if (disabledDepth < 0) { + error("disabledDepth fell below zero. This is a bug in React. Please file an issue."); + } + } + } + var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; + var prefix; + function describeBuiltInComponentFrame(name, source, ownerFn) { + { + if (prefix === void 0) { + try { + throw Error(); + } catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = match && match[1] || ""; + } + } + return "\n" + prefix + name; + } + } + var reentry = false; + var componentFrameCache; + { + var PossiblyWeakMap = typeof WeakMap === "function" ? WeakMap : Map; + componentFrameCache = new PossiblyWeakMap(); + } + function describeNativeComponentFrame(fn, construct) { + if (!fn || reentry) { + return ""; + } + { + var frame = componentFrameCache.get(fn); + if (frame !== void 0) { + return frame; + } + } + var control; + reentry = true; + var previousPrepareStackTrace = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + var previousDispatcher; + { + previousDispatcher = ReactCurrentDispatcher.current; + ReactCurrentDispatcher.current = null; + disableLogs(); + } + try { + if (construct) { + var Fake = function() { + throw Error(); + }; + Object.defineProperty(Fake.prototype, "props", { + set: function() { + throw Error(); + } + }); + if (typeof Reflect === "object" && Reflect.construct) { + try { + Reflect.construct(Fake, []); + } catch (x) { + control = x; + } + Reflect.construct(fn, [], Fake); + } else { + try { + Fake.call(); + } catch (x) { + control = x; + } + fn.call(Fake.prototype); + } + } else { + try { + throw Error(); + } catch (x) { + control = x; + } + fn(); + } + } catch (sample) { + if (sample && control && typeof sample.stack === "string") { + var sampleLines = sample.stack.split("\n"); + var controlLines = control.stack.split("\n"); + var s = sampleLines.length - 1; + var c = controlLines.length - 1; + while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) { + c--; + } + for (; s >= 1 && c >= 0; s--, c--) { + if (sampleLines[s] !== controlLines[c]) { + if (s !== 1 || c !== 1) { + do { + s--; + c--; + if (c < 0 || sampleLines[s] !== controlLines[c]) { + var _frame = "\n" + sampleLines[s].replace(" at new ", " at "); + if (fn.displayName && _frame.includes("")) { + _frame = _frame.replace("", fn.displayName); + } + { + if (typeof fn === "function") { + componentFrameCache.set(fn, _frame); + } + } + return _frame; + } + } while (s >= 1 && c >= 0); + } + break; + } + } + } + } finally { + reentry = false; + { + ReactCurrentDispatcher.current = previousDispatcher; + reenableLogs(); + } + Error.prepareStackTrace = previousPrepareStackTrace; + } + var name = fn ? fn.displayName || fn.name : ""; + var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ""; + { + if (typeof fn === "function") { + componentFrameCache.set(fn, syntheticFrame); + } + } + return syntheticFrame; + } + function describeFunctionComponentFrame(fn, source, ownerFn) { + { + return describeNativeComponentFrame(fn, false); + } + } + function shouldConstruct(Component) { + var prototype = Component.prototype; + return !!(prototype && prototype.isReactComponent); + } + function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) { + if (type == null) { + return ""; + } + if (typeof type === "function") { + { + return describeNativeComponentFrame(type, shouldConstruct(type)); + } + } + if (typeof type === "string") { + return describeBuiltInComponentFrame(type); + } + switch (type) { + case REACT_SUSPENSE_TYPE: + return describeBuiltInComponentFrame("Suspense"); + case REACT_SUSPENSE_LIST_TYPE: + return describeBuiltInComponentFrame("SuspenseList"); + } + if (typeof type === "object") { + switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + return describeFunctionComponentFrame(type.render); + case REACT_MEMO_TYPE: + return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn); + case REACT_LAZY_TYPE: { + var lazyComponent = type; + var payload = lazyComponent._payload; + var init = lazyComponent._init; + try { + return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); + } catch (x) { + } + } + } + } + return ""; + } + var hasOwnProperty = Object.prototype.hasOwnProperty; + var loggedTypeFailures = {}; + var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; + function setCurrentlyValidatingElement(element) { + { + if (element) { + var owner = element._owner; + var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); + ReactDebugCurrentFrame.setExtraStackFrame(stack); + } else { + ReactDebugCurrentFrame.setExtraStackFrame(null); + } + } + } + function checkPropTypes(typeSpecs, values, location, componentName, element) { + { + var has = Function.call.bind(hasOwnProperty); + for (var typeSpecName in typeSpecs) { + if (has(typeSpecs, typeSpecName)) { + var error$1 = void 0; + try { + if (typeof typeSpecs[typeSpecName] !== "function") { + var err = Error((componentName || "React class") + ": " + location + " type `" + typeSpecName + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof typeSpecs[typeSpecName] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."); + err.name = "Invariant Violation"; + throw err; + } + error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); + } catch (ex) { + error$1 = ex; + } + if (error$1 && !(error$1 instanceof Error)) { + setCurrentlyValidatingElement(element); + error("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", componentName || "React class", location, typeSpecName, typeof error$1); + setCurrentlyValidatingElement(null); + } + if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) { + loggedTypeFailures[error$1.message] = true; + setCurrentlyValidatingElement(element); + error("Failed %s type: %s", location, error$1.message); + setCurrentlyValidatingElement(null); + } + } + } + } + } + var isArrayImpl = Array.isArray; + function isArray(a) { + return isArrayImpl(a); + } + function typeName(value) { + { + var hasToStringTag = typeof Symbol === "function" && Symbol.toStringTag; + var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; + return type; + } + } + function willCoercionThrow(value) { + { + try { + testStringCoercion(value); + return false; + } catch (e) { + return true; + } + } + } + function testStringCoercion(value) { + return "" + value; + } + function checkKeyStringCoercion(value) { + { + if (willCoercionThrow(value)) { + error("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", typeName(value)); + return testStringCoercion(value); + } + } + } + var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner; + var RESERVED_PROPS = { + key: true, + ref: true, + __self: true, + __source: true + }; + var specialPropKeyWarningShown; + var specialPropRefWarningShown; + var didWarnAboutStringRefs; + { + didWarnAboutStringRefs = {}; + } + function hasValidRef(config) { + { + if (hasOwnProperty.call(config, "ref")) { + var getter = Object.getOwnPropertyDescriptor(config, "ref").get; + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.ref !== void 0; + } + function hasValidKey(config) { + { + if (hasOwnProperty.call(config, "key")) { + var getter = Object.getOwnPropertyDescriptor(config, "key").get; + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.key !== void 0; + } + function warnIfStringRefCannotBeAutoConverted(config, self) { + { + if (typeof config.ref === "string" && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) { + var componentName = getComponentNameFromType(ReactCurrentOwner.current.type); + if (!didWarnAboutStringRefs[componentName]) { + error('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref); + didWarnAboutStringRefs[componentName] = true; + } + } + } + } + function defineKeyPropWarningGetter(props, displayName) { + { + var warnAboutAccessingKey = function() { + if (!specialPropKeyWarningShown) { + specialPropKeyWarningShown = true; + error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", displayName); + } + }; + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, "key", { + get: warnAboutAccessingKey, + configurable: true + }); + } + } + function defineRefPropWarningGetter(props, displayName) { + { + var warnAboutAccessingRef = function() { + if (!specialPropRefWarningShown) { + specialPropRefWarningShown = true; + error("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", displayName); + } + }; + warnAboutAccessingRef.isReactWarning = true; + Object.defineProperty(props, "ref", { + get: warnAboutAccessingRef, + configurable: true + }); + } + } + var ReactElement = function(type, key, ref, self, source, owner, props) { + var element = { + // This tag allows us to uniquely identify this as a React Element + $$typeof: REACT_ELEMENT_TYPE, + // Built-in properties that belong on the element + type, + key, + ref, + props, + // Record the component responsible for creating this element. + _owner: owner + }; + { + element._store = {}; + Object.defineProperty(element._store, "validated", { + configurable: false, + enumerable: false, + writable: true, + value: false + }); + Object.defineProperty(element, "_self", { + configurable: false, + enumerable: false, + writable: false, + value: self + }); + Object.defineProperty(element, "_source", { + configurable: false, + enumerable: false, + writable: false, + value: source + }); + if (Object.freeze) { + Object.freeze(element.props); + Object.freeze(element); + } + } + return element; + }; + function jsxDEV(type, config, maybeKey, source, self) { + { + var propName; + var props = {}; + var key = null; + var ref = null; + if (maybeKey !== void 0) { + { + checkKeyStringCoercion(maybeKey); + } + key = "" + maybeKey; + } + if (hasValidKey(config)) { + { + checkKeyStringCoercion(config.key); + } + key = "" + config.key; + } + if (hasValidRef(config)) { + ref = config.ref; + warnIfStringRefCannotBeAutoConverted(config, self); + } + for (propName in config) { + if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { + props[propName] = config[propName]; + } + } + if (type && type.defaultProps) { + var defaultProps = type.defaultProps; + for (propName in defaultProps) { + if (props[propName] === void 0) { + props[propName] = defaultProps[propName]; + } + } + } + if (key || ref) { + var displayName = typeof type === "function" ? type.displayName || type.name || "Unknown" : type; + if (key) { + defineKeyPropWarningGetter(props, displayName); + } + if (ref) { + defineRefPropWarningGetter(props, displayName); + } + } + return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); + } + } + var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner; + var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame; + function setCurrentlyValidatingElement$1(element) { + { + if (element) { + var owner = element._owner; + var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); + ReactDebugCurrentFrame$1.setExtraStackFrame(stack); + } else { + ReactDebugCurrentFrame$1.setExtraStackFrame(null); + } + } + } + var propTypesMisspellWarningShown; + { + propTypesMisspellWarningShown = false; + } + function isValidElement(object) { + { + return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; + } + } + function getDeclarationErrorAddendum() { + { + if (ReactCurrentOwner$1.current) { + var name = getComponentNameFromType(ReactCurrentOwner$1.current.type); + if (name) { + return "\n\nCheck the render method of `" + name + "`."; + } + } + return ""; + } + } + function getSourceInfoErrorAddendum(source) { + { + if (source !== void 0) { + var fileName = source.fileName.replace(/^.*[\\\/]/, ""); + var lineNumber = source.lineNumber; + return "\n\nCheck your code at " + fileName + ":" + lineNumber + "."; + } + return ""; + } + } + var ownerHasKeyUseWarning = {}; + function getCurrentComponentErrorInfo(parentType) { + { + var info = getDeclarationErrorAddendum(); + if (!info) { + var parentName = typeof parentType === "string" ? parentType : parentType.displayName || parentType.name; + if (parentName) { + info = "\n\nCheck the top-level render call using <" + parentName + ">."; + } + } + return info; + } + } + function validateExplicitKey(element, parentType) { + { + if (!element._store || element._store.validated || element.key != null) { + return; + } + element._store.validated = true; + var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); + if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { + return; + } + ownerHasKeyUseWarning[currentComponentErrorInfo] = true; + var childOwner = ""; + if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) { + childOwner = " It was passed a child from " + getComponentNameFromType(element._owner.type) + "."; + } + setCurrentlyValidatingElement$1(element); + error('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner); + setCurrentlyValidatingElement$1(null); + } + } + function validateChildKeys(node, parentType) { + { + if (typeof node !== "object") { + return; + } + if (isArray(node)) { + for (var i = 0; i < node.length; i++) { + var child = node[i]; + if (isValidElement(child)) { + validateExplicitKey(child, parentType); + } + } + } else if (isValidElement(node)) { + if (node._store) { + node._store.validated = true; + } + } else if (node) { + var iteratorFn = getIteratorFn(node); + if (typeof iteratorFn === "function") { + if (iteratorFn !== node.entries) { + var iterator = iteratorFn.call(node); + var step; + while (!(step = iterator.next()).done) { + if (isValidElement(step.value)) { + validateExplicitKey(step.value, parentType); + } + } + } + } + } + } + } + function validatePropTypes(element) { + { + var type = element.type; + if (type === null || type === void 0 || typeof type === "string") { + return; + } + var propTypes; + if (typeof type === "function") { + propTypes = type.propTypes; + } else if (typeof type === "object" && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here. + // Inner props are checked in the reconciler. + type.$$typeof === REACT_MEMO_TYPE)) { + propTypes = type.propTypes; + } else { + return; + } + if (propTypes) { + var name = getComponentNameFromType(type); + checkPropTypes(propTypes, element.props, "prop", name, element); + } else if (type.PropTypes !== void 0 && !propTypesMisspellWarningShown) { + propTypesMisspellWarningShown = true; + var _name = getComponentNameFromType(type); + error("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", _name || "Unknown"); + } + if (typeof type.getDefaultProps === "function" && !type.getDefaultProps.isReactClassApproved) { + error("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead."); + } + } + } + function validateFragmentProps(fragment) { + { + var keys = Object.keys(fragment.props); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (key !== "children" && key !== "key") { + setCurrentlyValidatingElement$1(fragment); + error("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", key); + setCurrentlyValidatingElement$1(null); + break; + } + } + if (fragment.ref !== null) { + setCurrentlyValidatingElement$1(fragment); + error("Invalid attribute `ref` supplied to `React.Fragment`."); + setCurrentlyValidatingElement$1(null); + } + } + } + function jsxWithValidation(type, props, key, isStaticChildren, source, self) { + { + var validType = isValidElementType(type); + if (!validType) { + var info = ""; + if (type === void 0 || typeof type === "object" && type !== null && Object.keys(type).length === 0) { + info += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."; + } + var sourceInfo = getSourceInfoErrorAddendum(source); + if (sourceInfo) { + info += sourceInfo; + } else { + info += getDeclarationErrorAddendum(); + } + var typeString; + if (type === null) { + typeString = "null"; + } else if (isArray(type)) { + typeString = "array"; + } else if (type !== void 0 && type.$$typeof === REACT_ELEMENT_TYPE) { + typeString = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />"; + info = " Did you accidentally export a JSX literal instead of a component?"; + } else { + typeString = typeof type; + } + error("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", typeString, info); + } + var element = jsxDEV(type, props, key, source, self); + if (element == null) { + return element; + } + if (validType) { + var children = props.children; + if (children !== void 0) { + if (isStaticChildren) { + if (isArray(children)) { + for (var i = 0; i < children.length; i++) { + validateChildKeys(children[i], type); + } + if (Object.freeze) { + Object.freeze(children); + } + } else { + error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."); + } + } else { + validateChildKeys(children, type); + } + } + } + if (type === REACT_FRAGMENT_TYPE) { + validateFragmentProps(element); + } else { + validatePropTypes(element); + } + return element; + } + } + function jsxWithValidationStatic(type, props, key) { + { + return jsxWithValidation(type, props, key, true); + } + } + function jsxWithValidationDynamic(type, props, key) { + { + return jsxWithValidation(type, props, key, false); + } + } + var jsx2 = jsxWithValidationDynamic; + var jsxs = jsxWithValidationStatic; + exports.Fragment = REACT_FRAGMENT_TYPE; + exports.jsx = jsx2; + exports.jsxs = jsxs; + })(); + } + } +}); + +// node_modules/react/jsx-runtime.js +var require_jsx_runtime = __commonJS({ + "node_modules/react/jsx-runtime.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_react_jsx_runtime_development(); + } + } +}); + +// src/utils.ts +function sleep(ms) { + return new Promise((resolve) => setTimeout(resolve, ms)); +} +function makeRandomKey(length = 5) { + let result = ""; + const characters = "abcdefghijklmnopqrstuvwxyz0123456789"; + const charactersLength = characters.length; + for (let i = 0; i < length; i++) { + result += characters.charAt(Math.floor(Math.random() * charactersLength)); + } + return result; +} +function dirname(path) { + if (path === "/" || path === "") { + return ""; + } + return path.replace(/[/]?[^/]+[/]?$/, ""); +} +function currentScriptPath() { + return new URL(import.meta.url).pathname; +} +function currentScriptDir() { + return dirname(currentScriptPath()); +} +function inferFiletype(filename) { + const extMatch = filename.match(/\.[0-9a-z]+$/i); + if (extMatch === null) { + return null; + } + const ext = extMatch[0].substring(1).toLowerCase(); + const type = FILE_EXTENSIONS[ext]; + if (!type) { + return null; + } + return type; +} +var FILE_EXTENSIONS = { + py: "python", + js: "javascript", + html: "html", + css: "css", + csv: "csv", + r: "r" +}; +function isApplePlatform() { + return /(Mac|iPhone|iPod|iPad)/i.test(navigator.userAgent); +} +function modKeySymbol() { + if (isApplePlatform()) { + return "\u2318"; + } else { + return "Ctrl"; + } +} +function isBinary(x) { + if (typeof x === "string") { + for (const b of x) { + if (b === "\0" || b === "\xFF") { + return true; + } + } + return false; + } else { + for (const b of x) { + if (b === 0 || b === 255) { + return true; + } + } + return false; + } +} +function uint8ArrayToString(buf) { + let result = ""; + for (let i = 0; i < buf.length; i++) { + result += String.fromCharCode(buf[i]); + } + return result; +} +function stringToUint8Array(s) { + const len = s.length; + const bytes = new Uint8Array(len); + for (let i = 0; i < len; i++) { + bytes[i] = s.charCodeAt(i); + } + return bytes; +} +function engineSwitch(engine, rValue, pythonValue) { + switch (engine) { + case "r": + return rValue; + case "python": + default: + return pythonValue; + } +} + +// src/Components/filecontent.ts +function FCJSONtoFC(x) { + if (x.type === "binary") { + return { + name: x.name, + content: stringToUint8Array(window.atob(x.content)), + type: "binary" + }; + } else { + return { + name: x.name, + content: x.content, + type: "text" + }; + } +} +function FCorFCJSONtoFC(x) { + if (x.type === "binary") { + if (typeof x.content === "string") { + return FCJSONtoFC(x); + } else { + return x; + } + } else { + return { + name: x.name, + content: x.content, + type: "text" + }; + } +} +function FCtoFCJSON(x) { + if (x.type === "binary") { + return { + name: x.name, + content: window.btoa(uint8ArrayToString(x.content)), + type: "binary" + }; + } else { + return { + name: x.name, + content: x.content + // To save a bit of space, don't include type:"text". + }; + } +} + +// src/Components/Icons.tsx +var import_jsx_runtime = __toESM(require_jsx_runtime()); +function Icon({ + icon, + style +}) { + let viewBox = "0 0 512 512"; + let svgPath = null; + if (!style) { + style = {}; + } + switch (icon) { + case "cloud-arrow-down": + viewBox = "0 0 640 512"; + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M144 480C64.47 480 0 415.5 0 336C0 273.2 40.17 219.8 96.2 200.1C96.07 197.4 96 194.7 96 192C96 103.6 167.6 32 256 32C315.3 32 367 64.25 394.7 112.2C409.9 101.1 428.3 96 448 96C501 96 544 138.1 544 192C544 204.2 541.7 215.8 537.6 226.6C596 238.4 640 290.1 640 352C640 422.7 582.7 480 512 480H144zM303 392.1C312.4 402.3 327.6 402.3 336.1 392.1L416.1 312.1C426.3 303.6 426.3 288.4 416.1 279C407.6 269.7 392.4 269.7 383 279L344 318.1V184C344 170.7 333.3 160 320 160C306.7 160 296 170.7 296 184V318.1L256.1 279C247.6 269.7 232.4 269.7 223 279C213.7 288.4 213.7 303.6 223 312.1L303 392.1z" }); + break; + case "clone": + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M64 464H288C296.8 464 304 456.8 304 448V384H352V448C352 483.3 323.3 512 288 512H64C28.65 512 0 483.3 0 448V224C0 188.7 28.65 160 64 160H128V208H64C55.16 208 48 215.2 48 224V448C48 456.8 55.16 464 64 464zM160 64C160 28.65 188.7 0 224 0H448C483.3 0 512 28.65 512 64V288C512 323.3 483.3 352 448 352H224C188.7 352 160 323.3 160 288V64zM224 304H448C456.8 304 464 296.8 464 288V64C464 55.16 456.8 48 448 48H224C215.2 48 208 55.16 208 64V288C208 296.8 215.2 304 224 304z" }); + break; + case "code": + viewBox = "0 0 640 512"; + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M414.8 40.79L286.8 488.8C281.9 505.8 264.2 515.6 247.2 510.8C230.2 505.9 220.4 488.2 225.2 471.2L353.2 23.21C358.1 6.216 375.8-3.624 392.8 1.232C409.8 6.087 419.6 23.8 414.8 40.79H414.8zM518.6 121.4L630.6 233.4C643.1 245.9 643.1 266.1 630.6 278.6L518.6 390.6C506.1 403.1 485.9 403.1 473.4 390.6C460.9 378.1 460.9 357.9 473.4 345.4L562.7 256L473.4 166.6C460.9 154.1 460.9 133.9 473.4 121.4C485.9 108.9 506.1 108.9 518.6 121.4V121.4zM166.6 166.6L77.25 256L166.6 345.4C179.1 357.9 179.1 378.1 166.6 390.6C154.1 403.1 133.9 403.1 121.4 390.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4L121.4 121.4C133.9 108.9 154.1 108.9 166.6 121.4C179.1 133.9 179.1 154.1 166.6 166.6V166.6z" }); + break; + case "floppy": + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M224 256c-35.2 0-64 28.8-64 64c0 35.2 28.8 64 64 64c35.2 0 64-28.8 64-64C288 284.8 259.2 256 224 256zM433.1 129.1l-83.9-83.9C341.1 37.06 328.8 32 316.1 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V163.9C448 151.2 442.9 138.9 433.1 129.1zM128 80h144V160H128V80zM400 416c0 8.836-7.164 16-16 16H64c-8.836 0-16-7.164-16-16V96c0-8.838 7.164-16 16-16h16v104c0 13.25 10.75 24 24 24h192C309.3 208 320 197.3 320 184V83.88l78.25 78.25C399.4 163.2 400 164.8 400 166.3V416z" }); + break; + case "share-nodes": + viewBox = "0 0 448 512"; + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M448 127.1C448 181 405 223.1 352 223.1C326.1 223.1 302.6 213.8 285.4 197.1L191.3 244.1C191.8 248 191.1 251.1 191.1 256C191.1 260 191.8 263.1 191.3 267.9L285.4 314.9C302.6 298.2 326.1 288 352 288C405 288 448 330.1 448 384C448 437 405 480 352 480C298.1 480 256 437 256 384C256 379.1 256.2 376 256.7 372.1L162.6 325.1C145.4 341.8 121.9 352 96 352C42.98 352 0 309 0 256C0 202.1 42.98 160 96 160C121.9 160 145.4 170.2 162.6 186.9L256.7 139.9C256.2 135.1 256 132 256 128C256 74.98 298.1 32 352 32C405 32 448 74.98 448 128L448 127.1zM95.1 287.1C113.7 287.1 127.1 273.7 127.1 255.1C127.1 238.3 113.7 223.1 95.1 223.1C78.33 223.1 63.1 238.3 63.1 255.1C63.1 273.7 78.33 287.1 95.1 287.1zM352 95.1C334.3 95.1 320 110.3 320 127.1C320 145.7 334.3 159.1 352 159.1C369.7 159.1 384 145.7 384 127.1C384 110.3 369.7 95.1 352 95.1zM352 416C369.7 416 384 401.7 384 384C384 366.3 369.7 352 352 352C334.3 352 320 366.3 320 384C320 401.7 334.3 416 352 416z" }); + break; + case "arrow-rotate-right": + style.verticalAlign = "-0.15em"; + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M496 48V192c0 17.69-14.31 32-32 32H320c-17.69 0-32-14.31-32-32s14.31-32 32-32h63.39c-29.97-39.7-77.25-63.78-127.6-63.78C167.7 96.22 96 167.9 96 256s71.69 159.8 159.8 159.8c34.88 0 68.03-11.03 95.88-31.94c14.22-10.53 34.22-7.75 44.81 6.375c10.59 14.16 7.75 34.22-6.375 44.81c-39.03 29.28-85.36 44.86-134.2 44.86C132.5 479.9 32 379.4 32 256s100.5-223.9 223.9-223.9c69.15 0 134 32.47 176.1 86.12V48c0-17.69 14.31-32 32-32S496 30.31 496 48z" }); + break; + case "play": + viewBox = "0 0 384 512"; + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M361 215C375.3 223.8 384 239.3 384 256C384 272.7 375.3 288.2 361 296.1L73.03 472.1C58.21 482 39.66 482.4 24.52 473.9C9.377 465.4 0 449.4 0 432V80C0 62.64 9.377 46.63 24.52 38.13C39.66 29.64 58.21 29.99 73.03 39.04L361 215z" }); + break; + case "upload": + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M105.4 182.6c12.5 12.49 32.76 12.5 45.25 .001L224 109.3V352c0 17.67 14.33 32 32 32c17.67 0 32-14.33 32-32V109.3l73.38 73.38c12.49 12.49 32.75 12.49 45.25-.001c12.49-12.49 12.49-32.75 0-45.25l-128-128C272.4 3.125 264.2 0 256 0S239.6 3.125 233.4 9.375L105.4 137.4C92.88 149.9 92.88 170.1 105.4 182.6zM480 352h-160c0 35.35-28.65 64-64 64s-64-28.65-64-64H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96C512 366.3 497.7 352 480 352zM432 456c-13.2 0-24-10.8-24-24c0-13.2 10.8-24 24-24s24 10.8 24 24C456 445.2 445.2 456 432 456z" }); + break; + case "download": + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M480 352h-133.5l-45.25 45.25C289.2 409.3 273.1 416 256 416s-33.16-6.656-45.25-18.75L165.5 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96C512 366.3 497.7 352 480 352zM432 456c-13.2 0-24-10.8-24-24c0-13.2 10.8-24 24-24s24 10.8 24 24C456 445.2 445.2 456 432 456zM233.4 374.6C239.6 380.9 247.8 384 256 384s16.38-3.125 22.62-9.375l128-128c12.49-12.5 12.49-32.75 0-45.25c-12.5-12.5-32.76-12.5-45.25 0L288 274.8V32c0-17.67-14.33-32-32-32C238.3 0 224 14.33 224 32v242.8L150.6 201.4c-12.49-12.5-32.75-12.5-45.25 0c-12.49 12.5-12.49 32.75 0 45.25L233.4 374.6z" }); + break; + case "file-arrow-down": + viewBox = "0 0 384 512"; + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M384 128h-128V0L384 128zM256 160H384v304c0 26.51-21.49 48-48 48h-288C21.49 512 0 490.5 0 464v-416C0 21.49 21.49 0 48 0H224l.0039 128C224 145.7 238.3 160 256 160zM255 295L216 334.1V232c0-13.25-10.75-24-24-24S168 218.8 168 232v102.1L128.1 295C124.3 290.3 118.2 288 112 288S99.72 290.3 95.03 295c-9.375 9.375-9.375 24.56 0 33.94l80 80c9.375 9.375 24.56 9.375 33.94 0l80-80c9.375-9.375 9.375-24.56 0-33.94S264.4 285.7 255 295z" }); + break; + case "arrow-up-from-bracket": + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M384 352v64c0 17.67-14.33 32-32 32H96c-17.67 0-32-14.33-32-32v-64c0-17.67-14.33-32-32-32s-32 14.33-32 32v64c0 53.02 42.98 96 96 96h256c53.02 0 96-42.98 96-96v-64c0-17.67-14.33-32-32-32S384 334.3 384 352zM201.4 9.375l-128 128c-12.51 12.51-12.49 32.76 0 45.25c12.5 12.5 32.75 12.5 45.25 0L192 109.3V320c0 17.69 14.31 32 32 32s32-14.31 32-32V109.3l73.38 73.38c12.5 12.5 32.75 12.5 45.25 0s12.5-32.75 0-45.25l-128-128C234.1-3.125 213.9-3.125 201.4 9.375z" }); + break; + case "pen-to-square": + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M373.1 24.97C401.2-3.147 446.8-3.147 474.9 24.97L487 37.09C515.1 65.21 515.1 110.8 487 138.9L289.8 336.2C281.1 344.8 270.4 351.1 258.6 354.5L158.6 383.1C150.2 385.5 141.2 383.1 135 376.1C128.9 370.8 126.5 361.8 128.9 353.4L157.5 253.4C160.9 241.6 167.2 230.9 175.8 222.2L373.1 24.97zM440.1 58.91C431.6 49.54 416.4 49.54 407 58.91L377.9 88L424 134.1L453.1 104.1C462.5 95.6 462.5 80.4 453.1 71.03L440.1 58.91zM203.7 266.6L186.9 325.1L245.4 308.3C249.4 307.2 252.9 305.1 255.8 302.2L390.1 168L344 121.9L209.8 256.2C206.9 259.1 204.8 262.6 203.7 266.6zM200 64C213.3 64 224 74.75 224 88C224 101.3 213.3 112 200 112H88C65.91 112 48 129.9 48 152V424C48 446.1 65.91 464 88 464H360C382.1 464 400 446.1 400 424V312C400 298.7 410.7 288 424 288C437.3 288 448 298.7 448 312V424C448 472.6 408.6 512 360 512H88C39.4 512 0 472.6 0 424V152C0 103.4 39.4 64 88 64H200z" }); + break; + case "up-right-from-square": + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z" }); + break; + case "skull": + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M416 400V464C416 490.5 394.5 512 368 512H320V464C320 455.2 312.8 448 304 448C295.2 448 288 455.2 288 464V512H224V464C224 455.2 216.8 448 208 448C199.2 448 192 455.2 192 464V512H144C117.5 512 96 490.5 96 464V400C96 399.6 96 399.3 96.01 398.9C37.48 357.8 0 294.7 0 224C0 100.3 114.6 0 256 0C397.4 0 512 100.3 512 224C512 294.7 474.5 357.8 415.1 398.9C415.1 399.3 416 399.6 416 400V400zM160 192C124.7 192 96 220.7 96 256C96 291.3 124.7 320 160 320C195.3 320 224 291.3 224 256C224 220.7 195.3 192 160 192zM352 320C387.3 320 416 291.3 416 256C416 220.7 387.3 192 352 192C316.7 192 288 220.7 288 256C288 291.3 316.7 320 352 320z" }); + break; + case "window-restore": + svgPath = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M432 48H208C190.3 48 176 62.33 176 80V96H128V80C128 35.82 163.8 0 208 0H432C476.2 0 512 35.82 512 80V304C512 348.2 476.2 384 432 384H416V336H432C449.7 336 464 321.7 464 304V80C464 62.33 449.7 48 432 48zM320 128C355.3 128 384 156.7 384 192V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V192C0 156.7 28.65 128 64 128H320zM64 464H320C328.8 464 336 456.8 336 448V256H48V448C48 456.8 55.16 464 64 464z" }); + break; + default: + throw new Error("Unknown icon: " + icon); + } + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)( + "svg", + { + className: "shinylive-icon", + style, + xmlns: "http://www.w3.org/2000/svg", + viewBox, + children: svgPath + } + ); +} + +// src/Components/share.ts +var import_lz_string = __toESM(require_lz_string()); +var shortEngine = { + python: "py", + r: "r" +}; +function editorUrlPrefix(engine) { + return `https://shinylive.io/${shortEngine[engine]}/editor/`; +} +function appUrlPrefix(engine) { + return `https://shinylive.io/${shortEngine[engine]}/app/`; +} +function fileContentsToUrlString(fileContents, sort = true) { + if (sort) { + fileContents.sort((a, b) => a.name.localeCompare(b.name)); + } + return import_lz_string.default.compressToEncodedURIComponent( + JSON.stringify(fileContents.map(FCtoFCJSON)) + ); +} +async function fileContentsToUrlStringInWebWorker(fileContents, sort = true) { + if (sort) { + fileContents.sort((a, b) => a.name.localeCompare(b.name)); + } + const fileContentJsonString = JSON.stringify(fileContents.map(FCtoFCJSON)); + return await encodeLzstringWebWorker(fileContentJsonString); +} +var _lzstringWebWorker = null; +function ensureLzstringWebWorker() { + if (_lzstringWebWorker === null) { + _lzstringWebWorker = new Worker( + currentScriptDir() + "/lzstring-worker.js", + { type: "module" } + ); + } + return _lzstringWebWorker; +} +async function encodeLzstringWebWorker(value) { + const response = await postMessageLzstringWebWorker({ + type: "encode", + value + }); + return response.value; +} +async function postMessageLzstringWebWorker(msg) { + const worker = ensureLzstringWebWorker(); + return new Promise((onSuccess) => { + const channel = new MessageChannel(); + channel.port1.onmessage = (e) => { + channel.port1.close(); + const msg2 = e.data; + onSuccess(msg2); + }; + worker.postMessage(msg, [channel.port2]); + }); +} + +export { + __require, + __esm, + __commonJS, + __export, + __toESM, + __toCommonJS, + __publicField, + __privateAdd, + __privateMethod, + require_lz_string, + require_react, + sleep, + makeRandomKey, + currentScriptDir, + inferFiletype, + modKeySymbol, + isBinary, + uint8ArrayToString, + stringToUint8Array, + engineSwitch, + FCJSONtoFC, + FCorFCJSONtoFC, + require_jsx_runtime, + Icon, + editorUrlPrefix, + appUrlPrefix, + fileContentsToUrlString, + fileContentsToUrlStringInWebWorker +}; +/*! Bundled license information: + +react/cjs/react.development.js: + (** + * @license React + * react.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react/cjs/react-jsx-runtime.development.js: + (** + * @license React + * react-jsx-runtime.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) +*/ diff --git a/docs/r-shinylive/shinylive/load-shinylive-sw.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/load-shinylive-sw.js similarity index 96% rename from docs/r-shinylive/shinylive/load-shinylive-sw.js rename to quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/load-shinylive-sw.js index 04ae6cd..962502e 100644 --- a/docs/r-shinylive/shinylive/load-shinylive-sw.js +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/load-shinylive-sw.js @@ -1,5 +1,5 @@ -// Shinylive 0.2.3 -// Copyright 2023 RStudio, PBC +// Shinylive 0.4.1 +// Copyright 2024 Posit, PBC // src/utils.ts function dirname(path) { diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/lzstring-worker.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/lzstring-worker.js new file mode 100644 index 0000000..215e825 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/lzstring-worker.js @@ -0,0 +1,510 @@ +// Shinylive 0.4.1 +// Copyright 2024 Posit, PBC +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); + +// node_modules/lz-string/libs/lz-string.js +var require_lz_string = __commonJS({ + "node_modules/lz-string/libs/lz-string.js"(exports, module) { + var LZString2 = function() { + var f = String.fromCharCode; + var keyStrBase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var keyStrUriSafe = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$"; + var baseReverseDic = {}; + function getBaseValue(alphabet, character) { + if (!baseReverseDic[alphabet]) { + baseReverseDic[alphabet] = {}; + for (var i = 0; i < alphabet.length; i++) { + baseReverseDic[alphabet][alphabet.charAt(i)] = i; + } + } + return baseReverseDic[alphabet][character]; + } + var LZString3 = { + compressToBase64: function(input) { + if (input == null) + return ""; + var res = LZString3._compress(input, 6, function(a) { + return keyStrBase64.charAt(a); + }); + switch (res.length % 4) { + default: + case 0: + return res; + case 1: + return res + "==="; + case 2: + return res + "=="; + case 3: + return res + "="; + } + }, + decompressFromBase64: function(input) { + if (input == null) + return ""; + if (input == "") + return null; + return LZString3._decompress(input.length, 32, function(index) { + return getBaseValue(keyStrBase64, input.charAt(index)); + }); + }, + compressToUTF16: function(input) { + if (input == null) + return ""; + return LZString3._compress(input, 15, function(a) { + return f(a + 32); + }) + " "; + }, + decompressFromUTF16: function(compressed) { + if (compressed == null) + return ""; + if (compressed == "") + return null; + return LZString3._decompress(compressed.length, 16384, function(index) { + return compressed.charCodeAt(index) - 32; + }); + }, + //compress into uint8array (UCS-2 big endian format) + compressToUint8Array: function(uncompressed) { + var compressed = LZString3.compress(uncompressed); + var buf = new Uint8Array(compressed.length * 2); + for (var i = 0, TotalLen = compressed.length; i < TotalLen; i++) { + var current_value = compressed.charCodeAt(i); + buf[i * 2] = current_value >>> 8; + buf[i * 2 + 1] = current_value % 256; + } + return buf; + }, + //decompress from uint8array (UCS-2 big endian format) + decompressFromUint8Array: function(compressed) { + if (compressed === null || compressed === void 0) { + return LZString3.decompress(compressed); + } else { + var buf = new Array(compressed.length / 2); + for (var i = 0, TotalLen = buf.length; i < TotalLen; i++) { + buf[i] = compressed[i * 2] * 256 + compressed[i * 2 + 1]; + } + var result = []; + buf.forEach(function(c) { + result.push(f(c)); + }); + return LZString3.decompress(result.join("")); + } + }, + //compress into a string that is already URI encoded + compressToEncodedURIComponent: function(input) { + if (input == null) + return ""; + return LZString3._compress(input, 6, function(a) { + return keyStrUriSafe.charAt(a); + }); + }, + //decompress from an output of compressToEncodedURIComponent + decompressFromEncodedURIComponent: function(input) { + if (input == null) + return ""; + if (input == "") + return null; + input = input.replace(/ /g, "+"); + return LZString3._decompress(input.length, 32, function(index) { + return getBaseValue(keyStrUriSafe, input.charAt(index)); + }); + }, + compress: function(uncompressed) { + return LZString3._compress(uncompressed, 16, function(a) { + return f(a); + }); + }, + _compress: function(uncompressed, bitsPerChar, getCharFromInt) { + if (uncompressed == null) + return ""; + var i, value, context_dictionary = {}, context_dictionaryToCreate = {}, context_c = "", context_wc = "", context_w = "", context_enlargeIn = 2, context_dictSize = 3, context_numBits = 2, context_data = [], context_data_val = 0, context_data_position = 0, ii; + for (ii = 0; ii < uncompressed.length; ii += 1) { + context_c = uncompressed.charAt(ii); + if (!Object.prototype.hasOwnProperty.call(context_dictionary, context_c)) { + context_dictionary[context_c] = context_dictSize++; + context_dictionaryToCreate[context_c] = true; + } + context_wc = context_w + context_c; + if (Object.prototype.hasOwnProperty.call(context_dictionary, context_wc)) { + context_w = context_wc; + } else { + if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) { + if (context_w.charCodeAt(0) < 256) { + for (i = 0; i < context_numBits; i++) { + context_data_val = context_data_val << 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + } + value = context_w.charCodeAt(0); + for (i = 0; i < 8; i++) { + context_data_val = context_data_val << 1 | value & 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = value >> 1; + } + } else { + value = 1; + for (i = 0; i < context_numBits; i++) { + context_data_val = context_data_val << 1 | value; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = 0; + } + value = context_w.charCodeAt(0); + for (i = 0; i < 16; i++) { + context_data_val = context_data_val << 1 | value & 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = value >> 1; + } + } + context_enlargeIn--; + if (context_enlargeIn == 0) { + context_enlargeIn = Math.pow(2, context_numBits); + context_numBits++; + } + delete context_dictionaryToCreate[context_w]; + } else { + value = context_dictionary[context_w]; + for (i = 0; i < context_numBits; i++) { + context_data_val = context_data_val << 1 | value & 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = value >> 1; + } + } + context_enlargeIn--; + if (context_enlargeIn == 0) { + context_enlargeIn = Math.pow(2, context_numBits); + context_numBits++; + } + context_dictionary[context_wc] = context_dictSize++; + context_w = String(context_c); + } + } + if (context_w !== "") { + if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) { + if (context_w.charCodeAt(0) < 256) { + for (i = 0; i < context_numBits; i++) { + context_data_val = context_data_val << 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + } + value = context_w.charCodeAt(0); + for (i = 0; i < 8; i++) { + context_data_val = context_data_val << 1 | value & 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = value >> 1; + } + } else { + value = 1; + for (i = 0; i < context_numBits; i++) { + context_data_val = context_data_val << 1 | value; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = 0; + } + value = context_w.charCodeAt(0); + for (i = 0; i < 16; i++) { + context_data_val = context_data_val << 1 | value & 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = value >> 1; + } + } + context_enlargeIn--; + if (context_enlargeIn == 0) { + context_enlargeIn = Math.pow(2, context_numBits); + context_numBits++; + } + delete context_dictionaryToCreate[context_w]; + } else { + value = context_dictionary[context_w]; + for (i = 0; i < context_numBits; i++) { + context_data_val = context_data_val << 1 | value & 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = value >> 1; + } + } + context_enlargeIn--; + if (context_enlargeIn == 0) { + context_enlargeIn = Math.pow(2, context_numBits); + context_numBits++; + } + } + value = 2; + for (i = 0; i < context_numBits; i++) { + context_data_val = context_data_val << 1 | value & 1; + if (context_data_position == bitsPerChar - 1) { + context_data_position = 0; + context_data.push(getCharFromInt(context_data_val)); + context_data_val = 0; + } else { + context_data_position++; + } + value = value >> 1; + } + while (true) { + context_data_val = context_data_val << 1; + if (context_data_position == bitsPerChar - 1) { + context_data.push(getCharFromInt(context_data_val)); + break; + } else + context_data_position++; + } + return context_data.join(""); + }, + decompress: function(compressed) { + if (compressed == null) + return ""; + if (compressed == "") + return null; + return LZString3._decompress(compressed.length, 32768, function(index) { + return compressed.charCodeAt(index); + }); + }, + _decompress: function(length, resetValue, getNextValue) { + var dictionary = [], next, enlargeIn = 4, dictSize = 4, numBits = 3, entry = "", result = [], i, w, bits, resb, maxpower, power, c, data = { val: getNextValue(0), position: resetValue, index: 1 }; + for (i = 0; i < 3; i += 1) { + dictionary[i] = i; + } + bits = 0; + maxpower = Math.pow(2, 2); + power = 1; + while (power != maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb > 0 ? 1 : 0) * power; + power <<= 1; + } + switch (next = bits) { + case 0: + bits = 0; + maxpower = Math.pow(2, 8); + power = 1; + while (power != maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb > 0 ? 1 : 0) * power; + power <<= 1; + } + c = f(bits); + break; + case 1: + bits = 0; + maxpower = Math.pow(2, 16); + power = 1; + while (power != maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb > 0 ? 1 : 0) * power; + power <<= 1; + } + c = f(bits); + break; + case 2: + return ""; + } + dictionary[3] = c; + w = c; + result.push(c); + while (true) { + if (data.index > length) { + return ""; + } + bits = 0; + maxpower = Math.pow(2, numBits); + power = 1; + while (power != maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb > 0 ? 1 : 0) * power; + power <<= 1; + } + switch (c = bits) { + case 0: + bits = 0; + maxpower = Math.pow(2, 8); + power = 1; + while (power != maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb > 0 ? 1 : 0) * power; + power <<= 1; + } + dictionary[dictSize++] = f(bits); + c = dictSize - 1; + enlargeIn--; + break; + case 1: + bits = 0; + maxpower = Math.pow(2, 16); + power = 1; + while (power != maxpower) { + resb = data.val & data.position; + data.position >>= 1; + if (data.position == 0) { + data.position = resetValue; + data.val = getNextValue(data.index++); + } + bits |= (resb > 0 ? 1 : 0) * power; + power <<= 1; + } + dictionary[dictSize++] = f(bits); + c = dictSize - 1; + enlargeIn--; + break; + case 2: + return result.join(""); + } + if (enlargeIn == 0) { + enlargeIn = Math.pow(2, numBits); + numBits++; + } + if (dictionary[c]) { + entry = dictionary[c]; + } else { + if (c === dictSize) { + entry = w + w.charAt(0); + } else { + return null; + } + } + result.push(entry); + dictionary[dictSize++] = w + entry.charAt(0); + enlargeIn--; + w = entry; + if (enlargeIn == 0) { + enlargeIn = Math.pow(2, numBits); + numBits++; + } + } + } + }; + return LZString3; + }(); + if (typeof define === "function" && define.amd) { + define(function() { + return LZString2; + }); + } else if (typeof module !== "undefined" && module != null) { + module.exports = LZString2; + } else if (typeof angular !== "undefined" && angular != null) { + angular.module("LZString", []).factory("LZString", function() { + return LZString2; + }); + } + } +}); + +// src/lzstring-worker.ts +var import_lz_string = __toESM(require_lz_string()); +self.onmessage = function(e) { + const msg = e.data; + const messagePort = e.ports[0]; + let result; + if (msg.type === "encode") { + result = import_lz_string.default.compressToEncodedURIComponent(msg.value); + } else if (msg.type === "decode") { + result = import_lz_string.default.decompressFromEncodedURIComponent(msg.value); + } else { + throw new Error(`Unknown request message type: ${msg.type}`); + } + messagePort.postMessage({ value: result }); +}; diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide-worker.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide-worker.js new file mode 100644 index 0000000..6f85dd7 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide-worker.js @@ -0,0 +1,3023 @@ +// Shinylive 0.4.1 +// Copyright 2024 Posit, PBC +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __require = /* @__PURE__ */ ((x2) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x2, { + get: (a2, b3) => (typeof require !== "undefined" ? require : a2)[b3] +}) : x2)(function(x2) { + if (typeof require !== "undefined") + return require.apply(this, arguments); + throw Error('Dynamic require of "' + x2 + '" is not supported'); +}); +var __commonJS = (cb, mod) => function __require2() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); + +// node_modules/ws/browser.js +var require_browser = __commonJS({ + "node_modules/ws/browser.js"(exports, module2) { + "use strict"; + module2.exports = function() { + throw new Error( + "ws does not work in the browser. Browser clients must use the native WebSocket object" + ); + }; + } +}); + +// src/awaitable-queue.ts +var AwaitableQueue = class { + constructor() { + this._buffer = []; + this._resolve = null; + this._promise = null; + this._notifyAll(); + } + async _wait() { + await this._promise; + } + _notifyAll() { + if (this._resolve) { + this._resolve(); + } + this._promise = new Promise((resolve) => this._resolve = resolve); + } + async dequeue() { + while (this._buffer.length === 0) { + await this._wait(); + } + return this._buffer.shift(); + } + enqueue(x2) { + this._buffer.push(x2); + this._notifyAll(); + } +}; + +// src/utils.ts +function uint8ArrayToString(buf) { + let result = ""; + for (let i = 0; i < buf.length; i++) { + result += String.fromCharCode(buf[i]); + } + return result; +} + +// node_modules/webr/dist/webr.mjs +var en = Object.create; +var Kr = Object.defineProperty; +var tn = Object.getOwnPropertyDescriptor; +var rn = Object.getOwnPropertyNames; +var sn = Object.getPrototypeOf; +var nn = Object.prototype.hasOwnProperty; +var N = ((s) => typeof __require < "u" ? __require : typeof Proxy < "u" ? new Proxy(s, { get: (e, t) => (typeof __require < "u" ? __require : e)[t] }) : s)(function(s) { + if (typeof __require < "u") + return __require.apply(this, arguments); + throw new Error('Dynamic require of "' + s + '" is not supported'); +}); +var D = (s, e) => () => (e || s((e = { exports: {} }).exports, e), e.exports); +var on = (s, e, t, r) => { + if (e && typeof e == "object" || typeof e == "function") + for (let n of rn(e)) + !nn.call(s, n) && n !== t && Kr(s, n, { get: () => e[n], enumerable: !(r = tn(e, n)) || r.enumerable }); + return s; +}; +var ne = (s, e, t) => (t = s != null ? en(sn(s)) : {}, on(e || !s || !s.__esModule ? Kr(t, "default", { value: s, enumerable: true }) : t, s)); +var hr = (s, e, t) => { + if (!e.has(s)) + throw TypeError("Cannot " + t); +}; +var a = (s, e, t) => (hr(s, e, "read from private field"), t ? t.call(s) : e.get(s)); +var u = (s, e, t) => { + if (e.has(s)) + throw TypeError("Cannot add the same private member more than once"); + e instanceof WeakSet ? e.add(s) : e.set(s, t); +}; +var d = (s, e, t, r) => (hr(s, e, "write to private field"), r ? r.call(s, t) : e.set(s, t), t); +var v = (s, e, t) => (hr(s, e, "access private method"), t); +var Ue = D((C2) => { + "use strict"; + Object.defineProperty(C2, "__esModule", { value: true }); + C2.getUint64 = C2.getInt64 = C2.setInt64 = C2.setUint64 = C2.UINT32_MAX = void 0; + C2.UINT32_MAX = 4294967295; + function un(s, e, t) { + let r = t / 4294967296, n = t; + s.setUint32(e, r), s.setUint32(e + 4, n); + } + C2.setUint64 = un; + function pn(s, e, t) { + let r = Math.floor(t / 4294967296), n = t; + s.setUint32(e, r), s.setUint32(e + 4, n); + } + C2.setInt64 = pn; + function dn(s, e) { + let t = s.getInt32(e), r = s.getUint32(e + 4); + return t * 4294967296 + r; + } + C2.getInt64 = dn; + function hn(s, e) { + let t = s.getUint32(e), r = s.getUint32(e + 4); + return t * 4294967296 + r; + } + C2.getUint64 = hn; +}); +var xt = D((O2) => { + "use strict"; + var fr, Rr, mr; + Object.defineProperty(O2, "__esModule", { value: true }); + O2.utf8DecodeTD = O2.TEXT_DECODER_THRESHOLD = O2.utf8DecodeJs = O2.utf8EncodeTE = O2.TEXT_ENCODER_THRESHOLD = O2.utf8EncodeJs = O2.utf8Count = void 0; + var es = Ue(), wt = (typeof process > "u" || ((fr = process == null ? void 0 : process.env) === null || fr === void 0 ? void 0 : fr.TEXT_ENCODING) !== "never") && typeof TextEncoder < "u" && typeof TextDecoder < "u"; + function yn(s) { + let e = s.length, t = 0, r = 0; + for (; r < e; ) { + let n = s.charCodeAt(r++); + if (n & 4294967168) + if (!(n & 4294965248)) + t += 2; + else { + if (n >= 55296 && n <= 56319 && r < e) { + let o = s.charCodeAt(r); + (o & 64512) === 56320 && (++r, n = ((n & 1023) << 10) + (o & 1023) + 65536); + } + n & 4294901760 ? t += 4 : t += 3; + } + else { + t++; + continue; + } + } + return t; + } + O2.utf8Count = yn; + function fn(s, e, t) { + let r = s.length, n = t, o = 0; + for (; o < r; ) { + let i = s.charCodeAt(o++); + if (i & 4294967168) + if (!(i & 4294965248)) + e[n++] = i >> 6 & 31 | 192; + else { + if (i >= 55296 && i <= 56319 && o < r) { + let c = s.charCodeAt(o); + (c & 64512) === 56320 && (++o, i = ((i & 1023) << 10) + (c & 1023) + 65536); + } + i & 4294901760 ? (e[n++] = i >> 18 & 7 | 240, e[n++] = i >> 12 & 63 | 128, e[n++] = i >> 6 & 63 | 128) : (e[n++] = i >> 12 & 15 | 224, e[n++] = i >> 6 & 63 | 128); + } + else { + e[n++] = i; + continue; + } + e[n++] = i & 63 | 128; + } + } + O2.utf8EncodeJs = fn; + var Ce = wt ? new TextEncoder() : void 0; + O2.TEXT_ENCODER_THRESHOLD = wt ? typeof process < "u" && ((Rr = process == null ? void 0 : process.env) === null || Rr === void 0 ? void 0 : Rr.TEXT_ENCODING) !== "force" ? 200 : 0 : es.UINT32_MAX; + function Rn(s, e, t) { + e.set(Ce.encode(s), t); + } + function mn(s, e, t) { + Ce.encodeInto(s, e.subarray(t)); + } + O2.utf8EncodeTE = Ce != null && Ce.encodeInto ? mn : Rn; + var gn = 4096; + function bn(s, e, t) { + let r = e, n = r + t, o = [], i = ""; + for (; r < n; ) { + let c = s[r++]; + if (!(c & 128)) + o.push(c); + else if ((c & 224) === 192) { + let p = s[r++] & 63; + o.push((c & 31) << 6 | p); + } else if ((c & 240) === 224) { + let p = s[r++] & 63, P2 = s[r++] & 63; + o.push((c & 31) << 12 | p << 6 | P2); + } else if ((c & 248) === 240) { + let p = s[r++] & 63, P2 = s[r++] & 63, M = s[r++] & 63, k2 = (c & 7) << 18 | p << 12 | P2 << 6 | M; + k2 > 65535 && (k2 -= 65536, o.push(k2 >>> 10 & 1023 | 55296), k2 = 56320 | k2 & 1023), o.push(k2); + } else + o.push(c); + o.length >= gn && (i += String.fromCharCode(...o), o.length = 0); + } + return o.length > 0 && (i += String.fromCharCode(...o)), i; + } + O2.utf8DecodeJs = bn; + var wn = wt ? new TextDecoder() : null; + O2.TEXT_DECODER_THRESHOLD = wt ? typeof process < "u" && ((mr = process == null ? void 0 : process.env) === null || mr === void 0 ? void 0 : mr.TEXT_DECODER) !== "force" ? 200 : 0 : es.UINT32_MAX; + function xn(s, e, t) { + let r = s.subarray(e, e + t); + return wn.decode(r); + } + O2.utf8DecodeTD = xn; +}); +var br = D((vt) => { + "use strict"; + Object.defineProperty(vt, "__esModule", { value: true }); + vt.ExtData = void 0; + var gr = class { + constructor(e, t) { + this.type = e, this.data = t; + } + }; + vt.ExtData = gr; +}); +var Tt = D((Et) => { + "use strict"; + Object.defineProperty(Et, "__esModule", { value: true }); + Et.DecodeError = void 0; + var fe2 = class extends Error { + constructor(e) { + super(e); + let t = Object.create(fe2.prototype); + Object.setPrototypeOf(this, t), Object.defineProperty(this, "name", { configurable: true, enumerable: false, value: fe2.name }); + } + }; + Et.DecodeError = fe2; +}); +var wr = D((S2) => { + "use strict"; + Object.defineProperty(S2, "__esModule", { value: true }); + S2.timestampExtension = S2.decodeTimestampExtension = S2.decodeTimestampToTimeSpec = S2.encodeTimestampExtension = S2.encodeDateToTimeSpec = S2.encodeTimeSpecToTimestamp = S2.EXT_TIMESTAMP = void 0; + var vn = Tt(), ts = Ue(); + S2.EXT_TIMESTAMP = -1; + var En = 4294967296 - 1, Tn = 17179869184 - 1; + function rs({ sec: s, nsec: e }) { + if (s >= 0 && e >= 0 && s <= Tn) + if (e === 0 && s <= En) { + let t = new Uint8Array(4); + return new DataView(t.buffer).setUint32(0, s), t; + } else { + let t = s / 4294967296, r = s & 4294967295, n = new Uint8Array(8), o = new DataView(n.buffer); + return o.setUint32(0, e << 2 | t & 3), o.setUint32(4, r), n; + } + else { + let t = new Uint8Array(12), r = new DataView(t.buffer); + return r.setUint32(0, e), (0, ts.setInt64)(r, 4, s), t; + } + } + S2.encodeTimeSpecToTimestamp = rs; + function ss(s) { + let e = s.getTime(), t = Math.floor(e / 1e3), r = (e - t * 1e3) * 1e6, n = Math.floor(r / 1e9); + return { sec: t + n, nsec: r - n * 1e9 }; + } + S2.encodeDateToTimeSpec = ss; + function ns(s) { + if (s instanceof Date) { + let e = ss(s); + return rs(e); + } else + return null; + } + S2.encodeTimestampExtension = ns; + function os(s) { + let e = new DataView(s.buffer, s.byteOffset, s.byteLength); + switch (s.byteLength) { + case 4: + return { sec: e.getUint32(0), nsec: 0 }; + case 8: { + let t = e.getUint32(0), r = e.getUint32(4), n = (t & 3) * 4294967296 + r, o = t >>> 2; + return { sec: n, nsec: o }; + } + case 12: { + let t = (0, ts.getInt64)(e, 4), r = e.getUint32(0); + return { sec: t, nsec: r }; + } + default: + throw new vn.DecodeError(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${s.length}`); + } + } + S2.decodeTimestampToTimeSpec = os; + function as(s) { + let e = os(s); + return new Date(e.sec * 1e3 + e.nsec / 1e6); + } + S2.decodeTimestampExtension = as; + S2.timestampExtension = { type: S2.EXT_TIMESTAMP, encode: ns, decode: as }; +}); +var St = D((_t) => { + "use strict"; + Object.defineProperty(_t, "__esModule", { value: true }); + _t.ExtensionCodec = void 0; + var Pt = br(), Pn = wr(), je = class { + constructor() { + this.builtInEncoders = [], this.builtInDecoders = [], this.encoders = [], this.decoders = [], this.register(Pn.timestampExtension); + } + register({ type: e, encode: t, decode: r }) { + if (e >= 0) + this.encoders[e] = t, this.decoders[e] = r; + else { + let n = 1 + e; + this.builtInEncoders[n] = t, this.builtInDecoders[n] = r; + } + } + tryToEncode(e, t) { + for (let r = 0; r < this.builtInEncoders.length; r++) { + let n = this.builtInEncoders[r]; + if (n != null) { + let o = n(e, t); + if (o != null) { + let i = -1 - r; + return new Pt.ExtData(i, o); + } + } + } + for (let r = 0; r < this.encoders.length; r++) { + let n = this.encoders[r]; + if (n != null) { + let o = n(e, t); + if (o != null) { + let i = r; + return new Pt.ExtData(i, o); + } + } + } + return e instanceof Pt.ExtData ? e : null; + } + decode(e, t, r) { + let n = t < 0 ? this.builtInDecoders[-1 - t] : this.decoders[t]; + return n ? n(e, t, r) : new Pt.ExtData(t, e); + } + }; + _t.ExtensionCodec = je; + je.defaultCodec = new je(); +}); +var xr = D((Re) => { + "use strict"; + Object.defineProperty(Re, "__esModule", { value: true }); + Re.createDataView = Re.ensureUint8Array = void 0; + function is(s) { + return s instanceof Uint8Array ? s : ArrayBuffer.isView(s) ? new Uint8Array(s.buffer, s.byteOffset, s.byteLength) : s instanceof ArrayBuffer ? new Uint8Array(s) : Uint8Array.from(s); + } + Re.ensureUint8Array = is; + function _n(s) { + if (s instanceof ArrayBuffer) + return new DataView(s); + let e = is(s); + return new DataView(e.buffer, e.byteOffset, e.byteLength); + } + Re.createDataView = _n; +}); +var Er = D((B2) => { + "use strict"; + Object.defineProperty(B2, "__esModule", { value: true }); + B2.Encoder = B2.DEFAULT_INITIAL_BUFFER_SIZE = B2.DEFAULT_MAX_DEPTH = void 0; + var Ne = xt(), Sn = St(), ls = Ue(), Mn = xr(); + B2.DEFAULT_MAX_DEPTH = 100; + B2.DEFAULT_INITIAL_BUFFER_SIZE = 2048; + var vr = class { + constructor(e = Sn.ExtensionCodec.defaultCodec, t = void 0, r = B2.DEFAULT_MAX_DEPTH, n = B2.DEFAULT_INITIAL_BUFFER_SIZE, o = false, i = false, c = false, p = false) { + this.extensionCodec = e, this.context = t, this.maxDepth = r, this.initialBufferSize = n, this.sortKeys = o, this.forceFloat32 = i, this.ignoreUndefined = c, this.forceIntegerToFloat = p, this.pos = 0, this.view = new DataView(new ArrayBuffer(this.initialBufferSize)), this.bytes = new Uint8Array(this.view.buffer); + } + reinitializeState() { + this.pos = 0; + } + encodeSharedRef(e) { + return this.reinitializeState(), this.doEncode(e, 1), this.bytes.subarray(0, this.pos); + } + encode(e) { + return this.reinitializeState(), this.doEncode(e, 1), this.bytes.slice(0, this.pos); + } + doEncode(e, t) { + if (t > this.maxDepth) + throw new Error(`Too deep objects in depth ${t}`); + e == null ? this.encodeNil() : typeof e == "boolean" ? this.encodeBoolean(e) : typeof e == "number" ? this.encodeNumber(e) : typeof e == "string" ? this.encodeString(e) : this.encodeObject(e, t); + } + ensureBufferSizeToWrite(e) { + let t = this.pos + e; + this.view.byteLength < t && this.resizeBuffer(t * 2); + } + resizeBuffer(e) { + let t = new ArrayBuffer(e), r = new Uint8Array(t), n = new DataView(t); + r.set(this.bytes), this.view = n, this.bytes = r; + } + encodeNil() { + this.writeU8(192); + } + encodeBoolean(e) { + e === false ? this.writeU8(194) : this.writeU8(195); + } + encodeNumber(e) { + Number.isSafeInteger(e) && !this.forceIntegerToFloat ? e >= 0 ? e < 128 ? this.writeU8(e) : e < 256 ? (this.writeU8(204), this.writeU8(e)) : e < 65536 ? (this.writeU8(205), this.writeU16(e)) : e < 4294967296 ? (this.writeU8(206), this.writeU32(e)) : (this.writeU8(207), this.writeU64(e)) : e >= -32 ? this.writeU8(224 | e + 32) : e >= -128 ? (this.writeU8(208), this.writeI8(e)) : e >= -32768 ? (this.writeU8(209), this.writeI16(e)) : e >= -2147483648 ? (this.writeU8(210), this.writeI32(e)) : (this.writeU8(211), this.writeI64(e)) : this.forceFloat32 ? (this.writeU8(202), this.writeF32(e)) : (this.writeU8(203), this.writeF64(e)); + } + writeStringHeader(e) { + if (e < 32) + this.writeU8(160 + e); + else if (e < 256) + this.writeU8(217), this.writeU8(e); + else if (e < 65536) + this.writeU8(218), this.writeU16(e); + else if (e < 4294967296) + this.writeU8(219), this.writeU32(e); + else + throw new Error(`Too long string: ${e} bytes in UTF-8`); + } + encodeString(e) { + if (e.length > Ne.TEXT_ENCODER_THRESHOLD) { + let n = (0, Ne.utf8Count)(e); + this.ensureBufferSizeToWrite(5 + n), this.writeStringHeader(n), (0, Ne.utf8EncodeTE)(e, this.bytes, this.pos), this.pos += n; + } else { + let n = (0, Ne.utf8Count)(e); + this.ensureBufferSizeToWrite(5 + n), this.writeStringHeader(n), (0, Ne.utf8EncodeJs)(e, this.bytes, this.pos), this.pos += n; + } + } + encodeObject(e, t) { + let r = this.extensionCodec.tryToEncode(e, this.context); + if (r != null) + this.encodeExtension(r); + else if (Array.isArray(e)) + this.encodeArray(e, t); + else if (ArrayBuffer.isView(e)) + this.encodeBinary(e); + else if (typeof e == "object") + this.encodeMap(e, t); + else + throw new Error(`Unrecognized object: ${Object.prototype.toString.apply(e)}`); + } + encodeBinary(e) { + let t = e.byteLength; + if (t < 256) + this.writeU8(196), this.writeU8(t); + else if (t < 65536) + this.writeU8(197), this.writeU16(t); + else if (t < 4294967296) + this.writeU8(198), this.writeU32(t); + else + throw new Error(`Too large binary: ${t}`); + let r = (0, Mn.ensureUint8Array)(e); + this.writeU8a(r); + } + encodeArray(e, t) { + let r = e.length; + if (r < 16) + this.writeU8(144 + r); + else if (r < 65536) + this.writeU8(220), this.writeU16(r); + else if (r < 4294967296) + this.writeU8(221), this.writeU32(r); + else + throw new Error(`Too large array: ${r}`); + for (let n of e) + this.doEncode(n, t + 1); + } + countWithoutUndefined(e, t) { + let r = 0; + for (let n of t) + e[n] !== void 0 && r++; + return r; + } + encodeMap(e, t) { + let r = Object.keys(e); + this.sortKeys && r.sort(); + let n = this.ignoreUndefined ? this.countWithoutUndefined(e, r) : r.length; + if (n < 16) + this.writeU8(128 + n); + else if (n < 65536) + this.writeU8(222), this.writeU16(n); + else if (n < 4294967296) + this.writeU8(223), this.writeU32(n); + else + throw new Error(`Too large map object: ${n}`); + for (let o of r) { + let i = e[o]; + this.ignoreUndefined && i === void 0 || (this.encodeString(o), this.doEncode(i, t + 1)); + } + } + encodeExtension(e) { + let t = e.data.length; + if (t === 1) + this.writeU8(212); + else if (t === 2) + this.writeU8(213); + else if (t === 4) + this.writeU8(214); + else if (t === 8) + this.writeU8(215); + else if (t === 16) + this.writeU8(216); + else if (t < 256) + this.writeU8(199), this.writeU8(t); + else if (t < 65536) + this.writeU8(200), this.writeU16(t); + else if (t < 4294967296) + this.writeU8(201), this.writeU32(t); + else + throw new Error(`Too large extension object: ${t}`); + this.writeI8(e.type), this.writeU8a(e.data); + } + writeU8(e) { + this.ensureBufferSizeToWrite(1), this.view.setUint8(this.pos, e), this.pos++; + } + writeU8a(e) { + let t = e.length; + this.ensureBufferSizeToWrite(t), this.bytes.set(e, this.pos), this.pos += t; + } + writeI8(e) { + this.ensureBufferSizeToWrite(1), this.view.setInt8(this.pos, e), this.pos++; + } + writeU16(e) { + this.ensureBufferSizeToWrite(2), this.view.setUint16(this.pos, e), this.pos += 2; + } + writeI16(e) { + this.ensureBufferSizeToWrite(2), this.view.setInt16(this.pos, e), this.pos += 2; + } + writeU32(e) { + this.ensureBufferSizeToWrite(4), this.view.setUint32(this.pos, e), this.pos += 4; + } + writeI32(e) { + this.ensureBufferSizeToWrite(4), this.view.setInt32(this.pos, e), this.pos += 4; + } + writeF32(e) { + this.ensureBufferSizeToWrite(4), this.view.setFloat32(this.pos, e), this.pos += 4; + } + writeF64(e) { + this.ensureBufferSizeToWrite(8), this.view.setFloat64(this.pos, e), this.pos += 8; + } + writeU64(e) { + this.ensureBufferSizeToWrite(8), (0, ls.setUint64)(this.view, this.pos, e), this.pos += 8; + } + writeI64(e) { + this.ensureBufferSizeToWrite(8), (0, ls.setInt64)(this.view, this.pos, e), this.pos += 8; + } + }; + B2.Encoder = vr; +}); +var cs = D((Mt) => { + "use strict"; + Object.defineProperty(Mt, "__esModule", { value: true }); + Mt.encode = void 0; + var kn = Er(), Dn = {}; + function On(s, e = Dn) { + return new kn.Encoder(e.extensionCodec, e.context, e.maxDepth, e.initialBufferSize, e.sortKeys, e.forceFloat32, e.ignoreUndefined, e.forceIntegerToFloat).encodeSharedRef(s); + } + Mt.encode = On; +}); +var us = D((kt) => { + "use strict"; + Object.defineProperty(kt, "__esModule", { value: true }); + kt.prettyByte = void 0; + function Wn(s) { + return `${s < 0 ? "-" : ""}0x${Math.abs(s).toString(16).padStart(2, "0")}`; + } + kt.prettyByte = Wn; +}); +var ps = D((Dt) => { + "use strict"; + Object.defineProperty(Dt, "__esModule", { value: true }); + Dt.CachedKeyDecoder = void 0; + var An = xt(), In = 16, Un = 16, Tr = class { + constructor(e = In, t = Un) { + this.maxKeyLength = e, this.maxLengthPerKey = t, this.hit = 0, this.miss = 0, this.caches = []; + for (let r = 0; r < this.maxKeyLength; r++) + this.caches.push([]); + } + canBeCached(e) { + return e > 0 && e <= this.maxKeyLength; + } + find(e, t, r) { + let n = this.caches[r - 1]; + e: + for (let o of n) { + let i = o.bytes; + for (let c = 0; c < r; c++) + if (i[c] !== e[t + c]) + continue e; + return o.str; + } + return null; + } + store(e, t) { + let r = this.caches[e.length - 1], n = { bytes: e, str: t }; + r.length >= this.maxLengthPerKey ? r[Math.random() * r.length | 0] = n : r.push(n); + } + decode(e, t, r) { + let n = this.find(e, t, r); + if (n != null) + return this.hit++, n; + this.miss++; + let o = (0, An.utf8DecodeJs)(e, t, r), i = Uint8Array.prototype.slice.call(e, t, t + r); + return this.store(i, o), o; + } + }; + Dt.CachedKeyDecoder = Tr; +}); +var Ot = D(($2) => { + "use strict"; + Object.defineProperty($2, "__esModule", { value: true }); + $2.Decoder = $2.DataViewIndexOutOfBoundsError = void 0; + var Pr = us(), Cn = St(), oe2 = Ue(), _r = xt(), Sr = xr(), jn = ps(), G2 = Tt(), Nn = (s) => { + let e = typeof s; + return e === "string" || e === "number"; + }, Le = -1, kr = new DataView(new ArrayBuffer(0)), Ln = new Uint8Array(kr.buffer); + $2.DataViewIndexOutOfBoundsError = (() => { + try { + kr.getInt8(0); + } catch (s) { + return s.constructor; + } + throw new Error("never reached"); + })(); + var ds = new $2.DataViewIndexOutOfBoundsError("Insufficient data"), Bn = new jn.CachedKeyDecoder(), Mr = class { + constructor(e = Cn.ExtensionCodec.defaultCodec, t = void 0, r = oe2.UINT32_MAX, n = oe2.UINT32_MAX, o = oe2.UINT32_MAX, i = oe2.UINT32_MAX, c = oe2.UINT32_MAX, p = Bn) { + this.extensionCodec = e, this.context = t, this.maxStrLength = r, this.maxBinLength = n, this.maxArrayLength = o, this.maxMapLength = i, this.maxExtLength = c, this.keyDecoder = p, this.totalPos = 0, this.pos = 0, this.view = kr, this.bytes = Ln, this.headByte = Le, this.stack = []; + } + reinitializeState() { + this.totalPos = 0, this.headByte = Le, this.stack.length = 0; + } + setBuffer(e) { + this.bytes = (0, Sr.ensureUint8Array)(e), this.view = (0, Sr.createDataView)(this.bytes), this.pos = 0; + } + appendBuffer(e) { + if (this.headByte === Le && !this.hasRemaining(1)) + this.setBuffer(e); + else { + let t = this.bytes.subarray(this.pos), r = (0, Sr.ensureUint8Array)(e), n = new Uint8Array(t.length + r.length); + n.set(t), n.set(r, t.length), this.setBuffer(n); + } + } + hasRemaining(e) { + return this.view.byteLength - this.pos >= e; + } + createExtraByteError(e) { + let { view: t, pos: r } = this; + return new RangeError(`Extra ${t.byteLength - r} of ${t.byteLength} byte(s) found at buffer[${e}]`); + } + decode(e) { + this.reinitializeState(), this.setBuffer(e); + let t = this.doDecodeSync(); + if (this.hasRemaining(1)) + throw this.createExtraByteError(this.pos); + return t; + } + *decodeMulti(e) { + for (this.reinitializeState(), this.setBuffer(e); this.hasRemaining(1); ) + yield this.doDecodeSync(); + } + async decodeAsync(e) { + let t = false, r; + for await (let c of e) { + if (t) + throw this.createExtraByteError(this.totalPos); + this.appendBuffer(c); + try { + r = this.doDecodeSync(), t = true; + } catch (p) { + if (!(p instanceof $2.DataViewIndexOutOfBoundsError)) + throw p; + } + this.totalPos += this.pos; + } + if (t) { + if (this.hasRemaining(1)) + throw this.createExtraByteError(this.totalPos); + return r; + } + let { headByte: n, pos: o, totalPos: i } = this; + throw new RangeError(`Insufficient data in parsing ${(0, Pr.prettyByte)(n)} at ${i} (${o} in the current buffer)`); + } + decodeArrayStream(e) { + return this.decodeMultiAsync(e, true); + } + decodeStream(e) { + return this.decodeMultiAsync(e, false); + } + async *decodeMultiAsync(e, t) { + let r = t, n = -1; + for await (let o of e) { + if (t && n === 0) + throw this.createExtraByteError(this.totalPos); + this.appendBuffer(o), r && (n = this.readArraySize(), r = false, this.complete()); + try { + for (; yield this.doDecodeSync(), --n !== 0; ) + ; + } catch (i) { + if (!(i instanceof $2.DataViewIndexOutOfBoundsError)) + throw i; + } + this.totalPos += this.pos; + } + } + doDecodeSync() { + e: + for (; ; ) { + let e = this.readHeadByte(), t; + if (e >= 224) + t = e - 256; + else if (e < 192) + if (e < 128) + t = e; + else if (e < 144) { + let n = e - 128; + if (n !== 0) { + this.pushMapState(n), this.complete(); + continue e; + } else + t = {}; + } else if (e < 160) { + let n = e - 144; + if (n !== 0) { + this.pushArrayState(n), this.complete(); + continue e; + } else + t = []; + } else { + let n = e - 160; + t = this.decodeUtf8String(n, 0); + } + else if (e === 192) + t = null; + else if (e === 194) + t = false; + else if (e === 195) + t = true; + else if (e === 202) + t = this.readF32(); + else if (e === 203) + t = this.readF64(); + else if (e === 204) + t = this.readU8(); + else if (e === 205) + t = this.readU16(); + else if (e === 206) + t = this.readU32(); + else if (e === 207) + t = this.readU64(); + else if (e === 208) + t = this.readI8(); + else if (e === 209) + t = this.readI16(); + else if (e === 210) + t = this.readI32(); + else if (e === 211) + t = this.readI64(); + else if (e === 217) { + let n = this.lookU8(); + t = this.decodeUtf8String(n, 1); + } else if (e === 218) { + let n = this.lookU16(); + t = this.decodeUtf8String(n, 2); + } else if (e === 219) { + let n = this.lookU32(); + t = this.decodeUtf8String(n, 4); + } else if (e === 220) { + let n = this.readU16(); + if (n !== 0) { + this.pushArrayState(n), this.complete(); + continue e; + } else + t = []; + } else if (e === 221) { + let n = this.readU32(); + if (n !== 0) { + this.pushArrayState(n), this.complete(); + continue e; + } else + t = []; + } else if (e === 222) { + let n = this.readU16(); + if (n !== 0) { + this.pushMapState(n), this.complete(); + continue e; + } else + t = {}; + } else if (e === 223) { + let n = this.readU32(); + if (n !== 0) { + this.pushMapState(n), this.complete(); + continue e; + } else + t = {}; + } else if (e === 196) { + let n = this.lookU8(); + t = this.decodeBinary(n, 1); + } else if (e === 197) { + let n = this.lookU16(); + t = this.decodeBinary(n, 2); + } else if (e === 198) { + let n = this.lookU32(); + t = this.decodeBinary(n, 4); + } else if (e === 212) + t = this.decodeExtension(1, 0); + else if (e === 213) + t = this.decodeExtension(2, 0); + else if (e === 214) + t = this.decodeExtension(4, 0); + else if (e === 215) + t = this.decodeExtension(8, 0); + else if (e === 216) + t = this.decodeExtension(16, 0); + else if (e === 199) { + let n = this.lookU8(); + t = this.decodeExtension(n, 1); + } else if (e === 200) { + let n = this.lookU16(); + t = this.decodeExtension(n, 2); + } else if (e === 201) { + let n = this.lookU32(); + t = this.decodeExtension(n, 4); + } else + throw new G2.DecodeError(`Unrecognized type byte: ${(0, Pr.prettyByte)(e)}`); + this.complete(); + let r = this.stack; + for (; r.length > 0; ) { + let n = r[r.length - 1]; + if (n.type === 0) + if (n.array[n.position] = t, n.position++, n.position === n.size) + r.pop(), t = n.array; + else + continue e; + else if (n.type === 1) { + if (!Nn(t)) + throw new G2.DecodeError("The type of key must be string or number but " + typeof t); + if (t === "__proto__") + throw new G2.DecodeError("The key __proto__ is not allowed"); + n.key = t, n.type = 2; + continue e; + } else if (n.map[n.key] = t, n.readCount++, n.readCount === n.size) + r.pop(), t = n.map; + else { + n.key = null, n.type = 1; + continue e; + } + } + return t; + } + } + readHeadByte() { + return this.headByte === Le && (this.headByte = this.readU8()), this.headByte; + } + complete() { + this.headByte = Le; + } + readArraySize() { + let e = this.readHeadByte(); + switch (e) { + case 220: + return this.readU16(); + case 221: + return this.readU32(); + default: { + if (e < 160) + return e - 144; + throw new G2.DecodeError(`Unrecognized array type byte: ${(0, Pr.prettyByte)(e)}`); + } + } + } + pushMapState(e) { + if (e > this.maxMapLength) + throw new G2.DecodeError(`Max length exceeded: map length (${e}) > maxMapLengthLength (${this.maxMapLength})`); + this.stack.push({ type: 1, size: e, key: null, readCount: 0, map: {} }); + } + pushArrayState(e) { + if (e > this.maxArrayLength) + throw new G2.DecodeError(`Max length exceeded: array length (${e}) > maxArrayLength (${this.maxArrayLength})`); + this.stack.push({ type: 0, size: e, array: new Array(e), position: 0 }); + } + decodeUtf8String(e, t) { + var r; + if (e > this.maxStrLength) + throw new G2.DecodeError(`Max length exceeded: UTF-8 byte length (${e}) > maxStrLength (${this.maxStrLength})`); + if (this.bytes.byteLength < this.pos + t + e) + throw ds; + let n = this.pos + t, o; + return this.stateIsMapKey() && (!((r = this.keyDecoder) === null || r === void 0) && r.canBeCached(e)) ? o = this.keyDecoder.decode(this.bytes, n, e) : e > _r.TEXT_DECODER_THRESHOLD ? o = (0, _r.utf8DecodeTD)(this.bytes, n, e) : o = (0, _r.utf8DecodeJs)(this.bytes, n, e), this.pos += t + e, o; + } + stateIsMapKey() { + return this.stack.length > 0 ? this.stack[this.stack.length - 1].type === 1 : false; + } + decodeBinary(e, t) { + if (e > this.maxBinLength) + throw new G2.DecodeError(`Max length exceeded: bin length (${e}) > maxBinLength (${this.maxBinLength})`); + if (!this.hasRemaining(e + t)) + throw ds; + let r = this.pos + t, n = this.bytes.subarray(r, r + e); + return this.pos += t + e, n; + } + decodeExtension(e, t) { + if (e > this.maxExtLength) + throw new G2.DecodeError(`Max length exceeded: ext length (${e}) > maxExtLength (${this.maxExtLength})`); + let r = this.view.getInt8(this.pos + t), n = this.decodeBinary(e, t + 1); + return this.extensionCodec.decode(n, r, this.context); + } + lookU8() { + return this.view.getUint8(this.pos); + } + lookU16() { + return this.view.getUint16(this.pos); + } + lookU32() { + return this.view.getUint32(this.pos); + } + readU8() { + let e = this.view.getUint8(this.pos); + return this.pos++, e; + } + readI8() { + let e = this.view.getInt8(this.pos); + return this.pos++, e; + } + readU16() { + let e = this.view.getUint16(this.pos); + return this.pos += 2, e; + } + readI16() { + let e = this.view.getInt16(this.pos); + return this.pos += 2, e; + } + readU32() { + let e = this.view.getUint32(this.pos); + return this.pos += 4, e; + } + readI32() { + let e = this.view.getInt32(this.pos); + return this.pos += 4, e; + } + readU64() { + let e = (0, oe2.getUint64)(this.view, this.pos); + return this.pos += 8, e; + } + readI64() { + let e = (0, oe2.getInt64)(this.view, this.pos); + return this.pos += 8, e; + } + readF32() { + let e = this.view.getFloat32(this.pos); + return this.pos += 4, e; + } + readF64() { + let e = this.view.getFloat64(this.pos); + return this.pos += 8, e; + } + }; + $2.Decoder = Mr; +}); +var Dr = D((F2) => { + "use strict"; + Object.defineProperty(F2, "__esModule", { value: true }); + F2.decodeMulti = F2.decode = F2.defaultDecodeOptions = void 0; + var hs = Ot(); + F2.defaultDecodeOptions = {}; + function Fn(s, e = F2.defaultDecodeOptions) { + return new hs.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decode(s); + } + F2.decode = Fn; + function qn(s, e = F2.defaultDecodeOptions) { + return new hs.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeMulti(s); + } + F2.decodeMulti = qn; +}); +var Rs = D((Z2) => { + "use strict"; + Object.defineProperty(Z2, "__esModule", { value: true }); + Z2.ensureAsyncIterable = Z2.asyncIterableFromStream = Z2.isAsyncIterable = void 0; + function ys(s) { + return s[Symbol.asyncIterator] != null; + } + Z2.isAsyncIterable = ys; + function Vn(s) { + if (s == null) + throw new Error("Assertion Failure: value must not be null nor undefined"); + } + async function* fs(s) { + let e = s.getReader(); + try { + for (; ; ) { + let { done: t, value: r } = await e.read(); + if (t) + return; + Vn(r), yield r; + } + } finally { + e.releaseLock(); + } + } + Z2.asyncIterableFromStream = fs; + function Hn(s) { + return ys(s) ? s : fs(s); + } + Z2.ensureAsyncIterable = Hn; +}); +var gs = D((q2) => { + "use strict"; + Object.defineProperty(q2, "__esModule", { value: true }); + q2.decodeStream = q2.decodeMultiStream = q2.decodeArrayStream = q2.decodeAsync = void 0; + var Or = Ot(), Wr = Rs(), Wt = Dr(); + async function Jn(s, e = Wt.defaultDecodeOptions) { + let t = (0, Wr.ensureAsyncIterable)(s); + return new Or.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeAsync(t); + } + q2.decodeAsync = Jn; + function zn(s, e = Wt.defaultDecodeOptions) { + let t = (0, Wr.ensureAsyncIterable)(s); + return new Or.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeArrayStream(t); + } + q2.decodeArrayStream = zn; + function ms(s, e = Wt.defaultDecodeOptions) { + let t = (0, Wr.ensureAsyncIterable)(s); + return new Or.Decoder(e.extensionCodec, e.context, e.maxStrLength, e.maxBinLength, e.maxArrayLength, e.maxMapLength, e.maxExtLength).decodeStream(t); + } + q2.decodeMultiStream = ms; + function Xn(s, e = Wt.defaultDecodeOptions) { + return ms(s, e); + } + q2.decodeStream = Xn; +}); +var It = D((h) => { + "use strict"; + Object.defineProperty(h, "__esModule", { value: true }); + h.decodeTimestampExtension = h.encodeTimestampExtension = h.decodeTimestampToTimeSpec = h.encodeTimeSpecToTimestamp = h.encodeDateToTimeSpec = h.EXT_TIMESTAMP = h.ExtData = h.ExtensionCodec = h.Encoder = h.DataViewIndexOutOfBoundsError = h.DecodeError = h.Decoder = h.decodeStream = h.decodeMultiStream = h.decodeArrayStream = h.decodeAsync = h.decodeMulti = h.decode = h.encode = void 0; + var Gn = cs(); + Object.defineProperty(h, "encode", { enumerable: true, get: function() { + return Gn.encode; + } }); + var bs = Dr(); + Object.defineProperty(h, "decode", { enumerable: true, get: function() { + return bs.decode; + } }); + Object.defineProperty(h, "decodeMulti", { enumerable: true, get: function() { + return bs.decodeMulti; + } }); + var At = gs(); + Object.defineProperty(h, "decodeAsync", { enumerable: true, get: function() { + return At.decodeAsync; + } }); + Object.defineProperty(h, "decodeArrayStream", { enumerable: true, get: function() { + return At.decodeArrayStream; + } }); + Object.defineProperty(h, "decodeMultiStream", { enumerable: true, get: function() { + return At.decodeMultiStream; + } }); + Object.defineProperty(h, "decodeStream", { enumerable: true, get: function() { + return At.decodeStream; + } }); + var ws = Ot(); + Object.defineProperty(h, "Decoder", { enumerable: true, get: function() { + return ws.Decoder; + } }); + Object.defineProperty(h, "DataViewIndexOutOfBoundsError", { enumerable: true, get: function() { + return ws.DataViewIndexOutOfBoundsError; + } }); + var $n = Tt(); + Object.defineProperty(h, "DecodeError", { enumerable: true, get: function() { + return $n.DecodeError; + } }); + var Kn = Er(); + Object.defineProperty(h, "Encoder", { enumerable: true, get: function() { + return Kn.Encoder; + } }); + var Qn = St(); + Object.defineProperty(h, "ExtensionCodec", { enumerable: true, get: function() { + return Qn.ExtensionCodec; + } }); + var Zn = br(); + Object.defineProperty(h, "ExtData", { enumerable: true, get: function() { + return Zn.ExtData; + } }); + var me2 = wr(); + Object.defineProperty(h, "EXT_TIMESTAMP", { enumerable: true, get: function() { + return me2.EXT_TIMESTAMP; + } }); + Object.defineProperty(h, "encodeDateToTimeSpec", { enumerable: true, get: function() { + return me2.encodeDateToTimeSpec; + } }); + Object.defineProperty(h, "encodeTimeSpecToTimestamp", { enumerable: true, get: function() { + return me2.encodeTimeSpecToTimestamp; + } }); + Object.defineProperty(h, "decodeTimestampToTimeSpec", { enumerable: true, get: function() { + return me2.decodeTimestampToTimeSpec; + } }); + Object.defineProperty(h, "encodeTimestampExtension", { enumerable: true, get: function() { + return me2.encodeTimestampExtension; + } }); + Object.defineProperty(h, "decodeTimestampExtension", { enumerable: true, get: function() { + return me2.decodeTimestampExtension; + } }); +}); +var U = class extends Error { + constructor(e) { + super(e), this.name = this.constructor.name, Object.setPrototypeOf(this, new.target.prototype); + } +}; +var _ = class extends U { +}; +var m = typeof process < "u" && process.release && process.release.name === "node"; +var yr; +if (globalThis.document) + yr = (s) => new Promise((e, t) => { + let r = document.createElement("script"); + r.src = s, r.onload = () => e(), r.onerror = t, document.head.appendChild(r); + }); +else if (globalThis.importScripts) + yr = async (s) => { + try { + globalThis.importScripts(s); + } catch (e) { + if (e instanceof TypeError) + await Promise.resolve().then(() => ne(N(s))); + else + throw e; + } + }; +else if (m) + yr = async (s) => { + let e = (await Promise.resolve().then(() => ne(N("path")))).default; + await Promise.resolve().then(() => ne(N(e.resolve(s)))); + }; +else + throw new U("Cannot determine runtime environment"); +var ln = /* @__PURE__ */ new WeakMap(); +function Yr(s, e) { + return ln.set(s, e), s; +} +var vs = ne(It()); +var Yn = new TextEncoder(); +var V; +var H; +var Be; +var Ar; +V = /* @__PURE__ */ new WeakMap(), H = /* @__PURE__ */ new WeakMap(), Be = /* @__PURE__ */ new WeakSet(), Ar = function() { + a(this, V).push(new Promise((e) => { + a(this, H).push(e); + })); +}; +function Fe(s, e, t) { + return Ts({ type: "response", data: { uuid: s, resp: e } }, t); +} +function Ts(s, e) { + return e && Yr(s, e), s; +} +var we; +we = /* @__PURE__ */ new WeakMap(); +var Ms = ne(It()); +var so = new TextDecoder("utf-8"); +var xe; +var ve; +var qe; +var Ve; +var Ee; +xe = /* @__PURE__ */ new WeakMap(), ve = /* @__PURE__ */ new WeakMap(), qe = /* @__PURE__ */ new WeakMap(), Ve = /* @__PURE__ */ new WeakMap(), Ee = /* @__PURE__ */ new WeakMap(); +var Ur = new Int32Array(new ArrayBuffer(4)); +var l = {}; +function Ws(s) { + Object.keys(s).forEach((e) => l._free(s[e])); +} +m && (globalThis.Worker = N("worker_threads").Worker); +var Te; +var Bt; +var As; +var Je; +Te = /* @__PURE__ */ new WeakMap(), Bt = /* @__PURE__ */ new WeakSet(), As = function(t) { + m ? t.on("message", (r) => { + a(this, Je).call(this, t, r); + }) : t.onmessage = (r) => a(this, Je).call(this, t, r.data); +}, Je = /* @__PURE__ */ new WeakMap(); +var ae; +var ze; +var ie; +var Xe; +ae = /* @__PURE__ */ new WeakMap(), ze = /* @__PURE__ */ new WeakMap(), ie = /* @__PURE__ */ new WeakMap(), Xe = /* @__PURE__ */ new WeakMap(); +var Jt = ne(It()); +m && (globalThis.Worker = N("worker_threads").Worker); +var Pe; +var le; +var _e; +var qt; +var Is; +var Vt; +var Us; +var Ht; +var Cs; +var Ge; +Pe = /* @__PURE__ */ new WeakMap(), le = /* @__PURE__ */ new WeakMap(), _e = /* @__PURE__ */ new WeakMap(), qt = /* @__PURE__ */ new WeakSet(), Is = async function(t) { + d(this, le, await navigator.serviceWorker.register(t)), await navigator.serviceWorker.ready, window.addEventListener("beforeunload", () => { + var n; + (n = a(this, le)) == null || n.unregister(); + }); + let r = await new Promise((n) => { + navigator.serviceWorker.addEventListener("message", function o(i) { + i.data.type === "registration-successful" && (navigator.serviceWorker.removeEventListener("message", o), n(i.data.clientId)); + }), this.activeRegistration().postMessage({ type: "register-client-main" }); + }); + return navigator.serviceWorker.addEventListener("message", (n) => { + v(this, Vt, Us).call(this, n); + }), r; +}, Vt = /* @__PURE__ */ new WeakSet(), Us = async function(t) { + if (t.data.type === "request") { + let r = t.data.data, n = a(this, Pe).get(r); + if (!n) + throw new _("Request not found during service worker XHR request"); + switch (a(this, Pe).delete(r), n.type) { + case "read": { + let o = await this.inputQueue.get(); + this.activeRegistration().postMessage({ type: "wasm-webr-fetch-response", uuid: r, response: Fe(r, o) }); + break; + } + case "interrupt": { + let o = a(this, _e); + this.activeRegistration().postMessage({ type: "wasm-webr-fetch-response", uuid: r, response: Fe(r, o) }), this.inputQueue.reset(), d(this, _e, false); + break; + } + default: + throw new _(`Unsupported request type '${n.type}'.`); + } + return; + } +}, Ht = /* @__PURE__ */ new WeakSet(), Cs = function(t) { + m ? t.on("message", (r) => { + a(this, Ge).call(this, t, r); + }) : t.onmessage = (r) => a(this, Ge).call(this, t, r.data); +}, Ge = /* @__PURE__ */ new WeakMap(); +var Se; +var $e; +var Ke; +var Qe; +var Ze; +var Ye; +Se = /* @__PURE__ */ new WeakMap(), $e = /* @__PURE__ */ new WeakMap(), Ke = /* @__PURE__ */ new WeakMap(), Qe = /* @__PURE__ */ new WeakMap(), Ze = /* @__PURE__ */ new WeakMap(), Ye = /* @__PURE__ */ new WeakMap(); +m && (globalThis.Worker = N("worker_threads").Worker); +var Me; +var zt; +var js; +var tt; +Me = /* @__PURE__ */ new WeakMap(), zt = /* @__PURE__ */ new WeakSet(), js = function(t) { + m ? t.on("message", (r) => { + a(this, tt).call(this, t, r); + }) : t.onmessage = (r) => a(this, tt).call(this, t, r.data); +}, tt = /* @__PURE__ */ new WeakMap(); +var ke; +var De; +var rt; +var ce; +var Xt; +ke = /* @__PURE__ */ new WeakMap(), De = /* @__PURE__ */ new WeakMap(), rt = /* @__PURE__ */ new WeakMap(), ce = /* @__PURE__ */ new WeakMap(), Xt = /* @__PURE__ */ new WeakMap(); +var I = { Automatic: 0, SharedArrayBuffer: 1, ServiceWorker: 2, PostMessage: 3 }; +var Ls = m ? __dirname + "/" : "https://webr.r-wasm.org/v0.3.1/"; +var Bs = "https://repo.r-wasm.org"; +var f = { null: 0, symbol: 1, pairlist: 2, closure: 3, environment: 4, promise: 5, call: 6, special: 7, builtin: 8, string: 9, logical: 10, integer: 13, double: 14, complex: 15, character: 16, dots: 17, any: 18, list: 19, expression: 20, bytecode: 21, pointer: 22, weakref: 23, raw: 24, s4: 25, new: 30, free: 31, function: 99 }; +function Lr(s) { + return !!s && typeof s == "object" && Object.keys(f).includes(s.type); +} +function st(s) { + return !!s && typeof s == "object" && "re" in s && "im" in s; +} +function nt(s) { + return l._Rf_protect(J(s)), s; +} +function x(s, e) { + return l._Rf_protect(J(s)), ++e.n, s; +} +function qs(s) { + let e = l._malloc(4); + return l._R_ProtectWithIndex(J(s), e), { loc: l.getValue(e, "i32"), ptr: e }; +} +function Vs(s) { + l._Rf_unprotect(1), l._free(s.ptr); +} +function Hs(s, e) { + return l._R_Reprotect(J(s), e.loc), s; +} +function E(s) { + l._Rf_unprotect(s); +} +function Br(s, e, t) { + l._Rf_defineVar(J(e), J(t), J(s)); +} +function Fr(s, e) { + let t = {}, r = { n: 0 }; + try { + let n = new at(e); + x(n, r), t.code = l.allocateUTF8(s); + let o = l._R_ParseEvalString(t.code, n.ptr); + return y.wrap(o); + } finally { + Ws(t), E(r.n); + } +} +function ot(s, e) { + return l.getWasmTableEntry(l.GOT.ffi_safe_eval.value)(J(s), J(e)); +} +function J(s) { + return Qt(s) ? s.ptr : s; +} +function de(s, e) { + if (l._TYPEOF(s.ptr) !== f[e]) + throw new Error(`Unexpected object type "${s.type()}" when expecting type "${e}"`); +} +function Js(s) { + if (Lr(s)) + return new (zs(f[s.type]))(s); + if (s && typeof s == "object" && "type" in s && s.type === "null") + return new Kt(); + if (s === null) + return new ee({ type: "logical", names: null, values: [null] }); + if (typeof s == "boolean") + return new ee(s); + if (typeof s == "number") + return new We(s); + if (typeof s == "string") + return new z(s); + if (st(s)) + return new it(s); + if (ArrayBuffer.isView(s) || s instanceof ArrayBuffer) + return new lt(s); + if (Array.isArray(s)) + return ao(s); + if (typeof s == "object") + return te.fromObject(s); + throw new Error("Robj construction for this JS object is not yet supported"); +} +function ao(s) { + let e = { n: 0 }; + if (s.every((r) => r && typeof r == "object" && !Qt(r) && !st(r))) { + let r = s, n = r.every((i) => Object.keys(i).filter((c) => !Object.keys(r[0]).includes(c)).length === 0 && Object.keys(r[0]).filter((c) => !Object.keys(i).includes(c)).length === 0), o = r.every((i) => Object.values(i).every((c) => Gs(c) || Xs(c))); + if (n && o) + return te.fromD3(r); + } + if (s.every((r) => typeof r == "boolean" || r === null)) + return new ee(s); + if (s.every((r) => typeof r == "number" || r === null)) + return new We(s); + if (s.every((r) => typeof r == "string" || r === null)) + return new z(s); + try { + let r = new K([new j("c"), ...s]); + return x(r, e), r.eval(); + } finally { + E(e.n); + } +} +var T = class { + constructor(e) { + this.ptr = e; + } + type() { + let e = l._TYPEOF(this.ptr); + return Object.keys(f).find((r) => f[r] === e); + } +}; +var Ae; +var Gt; +var ue = class extends T { + constructor(t) { + if (!(t instanceof T)) + return Js(t); + super(t.ptr); + u(this, Ae); + } + static wrap(t) { + let r = l._TYPEOF(t); + return new (zs(r))(new T(t)); + } + get [Symbol.toStringTag]() { + return `RObject:${this.type()}`; + } + static getPersistentObject(t) { + return W[t]; + } + getPropertyValue(t) { + return this[t]; + } + inspect() { + Fr(".Internal(inspect(x))", { x: this }); + } + isNull() { + return l._TYPEOF(this.ptr) === f.null; + } + isNa() { + try { + let t = Fr("is.na(x)", { x: this }); + return nt(t), t.toBoolean(); + } finally { + E(1); + } + } + isUnbound() { + return this.ptr === W.unboundValue.ptr; + } + attrs() { + return pe.wrap(l._ATTRIB(this.ptr)); + } + setNames(t) { + let r; + if (t === null) + r = W.null; + else if (Array.isArray(t) && t.every((n) => typeof n == "string" || n === null)) + r = new z(t); + else + throw new Error("Argument to setNames must be null or an Array of strings or null"); + return l._Rf_setAttrib(this.ptr, W.namesSymbol.ptr, r.ptr), this; + } + names() { + let t = z.wrap(l._Rf_getAttrib(this.ptr, W.namesSymbol.ptr)); + return t.isNull() ? null : t.toArray(); + } + includes(t) { + let r = this.names(); + return r && r.includes(t); + } + toJs(t = { depth: 0 }, r = 1) { + throw new Error("This R object cannot be converted to JS"); + } + subset(t) { + return v(this, Ae, Gt).call(this, t, W.bracketSymbol.ptr); + } + get(t) { + return v(this, Ae, Gt).call(this, t, W.bracket2Symbol.ptr); + } + getDollar(t) { + return v(this, Ae, Gt).call(this, t, W.dollarSymbol.ptr); + } + pluck(...t) { + let r = qs(W.null); + try { + let n = (i, c) => { + let p = i.get(c); + return Hs(p, r); + }, o = t.reduce(n, this); + return o.isNull() ? void 0 : o; + } finally { + Vs(r); + } + } + set(t, r) { + let n = { n: 0 }; + try { + let o = new ue(t); + x(o, n); + let i = new ue(r); + x(i, n); + let c = new j("[[<-"), p = l._Rf_lang4(c.ptr, this.ptr, o.ptr, i.ptr); + return x(p, n), ue.wrap(ot(p, W.baseEnv)); + } finally { + E(n.n); + } + } + static getMethods(t) { + let r = /* @__PURE__ */ new Set(), n = t; + do + Object.getOwnPropertyNames(n).map((o) => r.add(o)); + while (n = Object.getPrototypeOf(n)); + return [...r.keys()].filter((o) => typeof t[o] == "function"); + } +}; +var y = ue; +Ae = /* @__PURE__ */ new WeakSet(), Gt = function(t, r) { + let n = { n: 0 }; + try { + let o = new ue(t); + x(o, n); + let i = l._Rf_lang3(r, this.ptr, o.ptr); + return x(i, n), ue.wrap(ot(i, W.baseEnv)); + } finally { + E(n.n); + } +}; +var Kt = class extends y { + constructor() { + return super(new T(l.getValue(l._R_NilValue, "*"))), this; + } + toJs() { + return { type: "null" }; + } +}; +var j = class extends y { + constructor(e) { + if (e instanceof T) { + de(e, "symbol"), super(e); + return; + } + let t = l.allocateUTF8(e); + try { + super(new T(l._Rf_install(t))); + } finally { + l._free(t); + } + } + toJs() { + let e = this.toObject(); + return { type: "symbol", printname: e.printname, symvalue: e.symvalue, internal: e.internal }; + } + toObject() { + return { printname: this.printname().isUnbound() ? null : this.printname().toString(), symvalue: this.symvalue().isUnbound() ? null : this.symvalue().ptr, internal: this.internal().isNull() ? null : this.internal().ptr }; + } + toString() { + return this.printname().toString(); + } + printname() { + return ct.wrap(l._PRINTNAME(this.ptr)); + } + symvalue() { + return y.wrap(l._SYMVALUE(this.ptr)); + } + internal() { + return y.wrap(l._INTERNAL(this.ptr)); + } +}; +var pe = class extends y { + constructor(e) { + if (e instanceof T) + return de(e, "pairlist"), super(e), this; + let t = { n: 0 }; + try { + let { names: r, values: n } = Ie(e), o = pe.wrap(l._Rf_allocList(n.length)); + x(o, t); + for (let [i, c] = [0, o]; !c.isNull(); [i, c] = [i + 1, c.cdr()]) + c.setcar(new y(n[i])); + o.setNames(r), super(o); + } finally { + E(t.n); + } + } + get length() { + return this.toArray().length; + } + toArray(e = { depth: 1 }) { + return this.toJs(e).values; + } + toObject({ allowDuplicateKey: e = true, allowEmptyKey: t = false, depth: r = -1 } = {}) { + let n = this.entries({ depth: r }), o = n.map(([i]) => i); + if (!e && new Set(o).size !== o.length) + throw new Error("Duplicate key when converting pairlist without allowDuplicateKey enabled"); + if (!t && o.some((i) => !i)) + throw new Error("Empty or null key when converting pairlist without allowEmptyKey enabled"); + return Object.fromEntries(n.filter((i, c) => n.findIndex((p) => p[0] === i[0]) === c)); + } + entries(e = { depth: 1 }) { + let t = this.toJs(e); + return t.values.map((r, n) => [t.names ? t.names[n] : null, r]); + } + toJs(e = { depth: 0 }, t = 1) { + let r = [], n = false, o = []; + for (let c = this; !c.isNull(); c = c.cdr()) { + let p = c.tag(); + p.isNull() ? r.push("") : (n = true, r.push(p.toString())), e.depth && t >= e.depth ? o.push(c.car()) : o.push(c.car().toJs(e, t + 1)); + } + return { type: "pairlist", names: n ? r : null, values: o }; + } + includes(e) { + return e in this.toObject(); + } + setcar(e) { + l._SETCAR(this.ptr, e.ptr); + } + car() { + return y.wrap(l._CAR(this.ptr)); + } + cdr() { + return y.wrap(l._CDR(this.ptr)); + } + tag() { + return y.wrap(l._TAG(this.ptr)); + } +}; +var K = class extends y { + constructor(e) { + if (e instanceof T) + return de(e, "call"), super(e), this; + let t = { n: 0 }; + try { + let { values: r } = Ie(e), n = r.map((i) => x(new y(i), t)), o = K.wrap(l._Rf_allocVector(f.call, r.length)); + x(o, t); + for (let [i, c] = [0, o]; !c.isNull(); [i, c] = [i + 1, c.cdr()]) + c.setcar(n[i]); + super(o); + } finally { + E(t.n); + } + } + setcar(e) { + l._SETCAR(this.ptr, e.ptr); + } + car() { + return y.wrap(l._CAR(this.ptr)); + } + cdr() { + return y.wrap(l._CDR(this.ptr)); + } + eval() { + return l.webr.evalR(this, { env: W.baseEnv }); + } + capture(e = {}) { + return l.webr.captureR(this, e); + } + deparse() { + let e = { n: 0 }; + try { + let t = l._Rf_lang2(new j("deparse1").ptr, l._Rf_lang2(new j("quote").ptr, this.ptr)); + x(t, e); + let r = z.wrap(ot(t, W.baseEnv)); + return x(r, e), r.toString(); + } finally { + E(e.n); + } + } +}; +var te = class extends y { + constructor(t) { + var e = (...args) => { + super(...args); + }; + if (t instanceof T) { + de(t, "list"), e(t); + let n = pe.wrap(l._ATTRIB(t.ptr)).get("class"); + return this.isDataFrame = !n.isNull() && n.toArray().includes("data.frame"), this; + } + let r = { n: 0 }; + try { + let { names: n, values: o } = Ie(t), i = l._Rf_allocVector(f.list, o.length); + x(i, r), o.forEach((c, p) => { + l._SET_VECTOR_ELT(i, p, new y(c).ptr); + }), y.wrap(i).setNames(n), e(new T(i)); + } finally { + E(r.n); + } + this.isDataFrame = false; + } + get length() { + return l._LENGTH(this.ptr); + } + toArray(t = { depth: 1 }) { + return this.toJs(t).values; + } + toObject({ allowDuplicateKey: t = true, allowEmptyKey: r = false, depth: n = -1 } = {}) { + let o = this.entries({ depth: n }), i = o.map(([c]) => c); + if (!t && new Set(i).size !== i.length) + throw new Error("Duplicate key when converting list without allowDuplicateKey enabled"); + if (!r && i.some((c) => !c)) + throw new Error("Empty or null key when converting list without allowEmptyKey enabled"); + return Object.fromEntries(o.filter((c, p) => o.findIndex((P2) => P2[0] === c[0]) === p)); + } + toD3() { + if (!this.isDataFrame) + throw new Error("Can't convert R list object to D3 format. Object must be of class 'data.frame'."); + return this.entries().reduce((r, n) => (n[1].forEach((o, i) => r[i] = Object.assign(r[i] || {}, { [n[0]]: o })), r), []); + } + static fromObject(t) { + let { names: r, values: n } = Ie(t), o = { n: 0 }; + try { + let i = !!r && r.length > 0 && r.every((p) => p), c = n.length > 0 && n.every((p) => Array.isArray(p) || ArrayBuffer.isView(p) || p instanceof ArrayBuffer); + if (i && c) { + let p = n, P2 = p.every((k2) => k2.length === p[0].length), M = p.every((k2) => Gs(k2[0]) || Xs(k2[0])); + if (P2 && M) { + let k2 = new te({ type: "list", names: r, values: p.map((Ys) => Js(Ys)) }); + x(k2, o); + let $r = new K([new j("as.data.frame"), k2]); + return x($r, o), $r.eval(); + } + } + } finally { + E(o.n); + } + return new te(t); + } + static fromD3(t) { + return this.fromObject(Object.fromEntries(Object.keys(t[0]).map((r) => [r, t.map((n) => n[r])]))); + } + entries(t = { depth: -1 }) { + let r = this.toJs(t); + return this.isDataFrame && t.depth < 0 && (r.values = r.values.map((n) => n.toArray())), r.values.map((n, o) => [r.names ? r.names[o] : null, n]); + } + toJs(t = { depth: 0 }, r = 1) { + return { type: "list", names: this.names(), values: [...Array(this.length).keys()].map((n) => t.depth && r >= t.depth ? this.get(n + 1) : this.get(n + 1).toJs(t, r + 1)) }; + } +}; +var Oe = class extends y { + exec(...e) { + let t = { n: 0 }; + try { + let r = new K([this, ...e]); + return x(r, t), r.eval(); + } finally { + E(t.n); + } + } + capture(e = {}, ...t) { + let r = { n: 0 }; + try { + let n = new K([this, ...t]); + return x(n, r), n.capture(e); + } finally { + E(r.n); + } + } +}; +var ct = class extends y { + constructor(e) { + if (e instanceof T) { + de(e, "string"), super(e); + return; + } + let t = l.allocateUTF8(e); + try { + super(new T(l._Rf_mkChar(t))); + } finally { + l._free(t); + } + } + toString() { + return l.UTF8ToString(l._R_CHAR(this.ptr)); + } + toJs() { + return { type: "string", value: this.toString() }; + } +}; +var at = class extends y { + constructor(e = {}) { + if (e instanceof T) + return de(e, "environment"), super(e), this; + let t = 0; + try { + let { names: r, values: n } = Ie(e), o = nt(l._R_NewEnv(W.globalEnv.ptr, 0, 0)); + ++t, n.forEach((i, c) => { + let p = r ? r[c] : null; + if (!p) + throw new Error("Can't create object in new environment with empty symbol name"); + let P2 = new j(p), M = nt(new y(i)); + try { + Br(o, P2, M); + } finally { + E(1); + } + }), super(new T(o)); + } finally { + E(t); + } + } + ls(e = false, t = true) { + return z.wrap(l._R_lsInternal3(this.ptr, Number(e), Number(t))).toArray(); + } + bind(e, t) { + let r = new j(e), n = nt(new y(t)); + try { + Br(this, r, n); + } finally { + E(1); + } + } + names() { + return this.ls(true, true); + } + frame() { + return y.wrap(l._FRAME(this.ptr)); + } + subset(e) { + if (typeof e == "number") + throw new Error("Object of type environment is not subsettable"); + return this.getDollar(e); + } + toObject({ depth: e = -1 } = {}) { + let t = this.names(); + return Object.fromEntries([...Array(t.length).keys()].map((r) => { + let n = this.getDollar(t[r]); + return [t[r], e < 0 ? n : n.toJs({ depth: e })]; + })); + } + toJs(e = { depth: 0 }, t = 1) { + let r = this.names(), n = [...Array(r.length).keys()].map((o) => e.depth && t >= e.depth ? this.getDollar(r[o]) : this.getDollar(r[o]).toJs(e, t + 1)); + return { type: "environment", names: r, values: n }; + } +}; +var re = class extends y { + constructor(e, t, r) { + if (e instanceof T) + return de(e, t), super(e), this; + let n = { n: 0 }; + try { + let { names: o, values: i } = Ie(e), c = l._Rf_allocVector(f[t], i.length); + x(c, n), i.forEach(r(c)), y.wrap(c).setNames(o), super(new T(c)); + } finally { + E(n.n); + } + } + get length() { + return l._LENGTH(this.ptr); + } + get(e) { + return super.get(e); + } + subset(e) { + return super.subset(e); + } + getDollar() { + throw new Error("$ operator is invalid for atomic vectors"); + } + detectMissing() { + let e = { n: 0 }; + try { + let t = l._Rf_lang2(new j("is.na").ptr, this.ptr); + x(t, e); + let r = ee.wrap(ot(t, W.baseEnv)); + x(r, e); + let n = r.toTypedArray(); + return Array.from(n).map((o) => !!o); + } finally { + E(e.n); + } + } + toArray() { + let e = this.toTypedArray(); + return this.detectMissing().map((t, r) => t ? null : e[r]); + } + toObject({ allowDuplicateKey: e = true, allowEmptyKey: t = false } = {}) { + let r = this.entries(), n = r.map(([o]) => o); + if (!e && new Set(n).size !== n.length) + throw new Error("Duplicate key when converting atomic vector without allowDuplicateKey enabled"); + if (!t && n.some((o) => !o)) + throw new Error("Empty or null key when converting atomic vector without allowEmptyKey enabled"); + return Object.fromEntries(r.filter((o, i) => r.findIndex((c) => c[0] === o[0]) === i)); + } + entries() { + let e = this.toArray(), t = this.names(); + return e.map((r, n) => [t ? t[n] : null, r]); + } + toJs() { + return { type: this.type(), names: this.names(), values: this.toArray() }; + } +}; +var Zt; +var qr = class extends re { + constructor(e) { + super(e, "logical", a(qr, Zt)); + } + getBoolean(e) { + return this.get(e).toArray()[0]; + } + toBoolean() { + if (this.length !== 1) + throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value"); + let e = this.getBoolean(1); + if (e === null) + throw new Error("Can't convert missing value `NA` to a JS boolean"); + return e; + } + toTypedArray() { + return new Int32Array(l.HEAP32.subarray(l._LOGICAL(this.ptr) / 4, l._LOGICAL(this.ptr) / 4 + this.length)); + } + toArray() { + let e = this.toTypedArray(); + return this.detectMissing().map((t, r) => t ? null : !!e[r]); + } +}; +var ee = qr; +Zt = /* @__PURE__ */ new WeakMap(), u(ee, Zt, (e) => { + let t = l._LOGICAL(e), r = l.getValue(l._R_NaInt, "i32"); + return (n, o) => { + l.setValue(t + 4 * o, n === null ? r : !!n, "i32"); + }; +}); +var Yt; +var Vr = class extends re { + constructor(e) { + super(e, "integer", a(Vr, Yt)); + } + getNumber(e) { + return this.get(e).toArray()[0]; + } + toNumber() { + if (this.length !== 1) + throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value"); + let e = this.getNumber(1); + if (e === null) + throw new Error("Can't convert missing value `NA` to a JS number"); + return e; + } + toTypedArray() { + return new Int32Array(l.HEAP32.subarray(l._INTEGER(this.ptr) / 4, l._INTEGER(this.ptr) / 4 + this.length)); + } +}; +var $t = Vr; +Yt = /* @__PURE__ */ new WeakMap(), u($t, Yt, (e) => { + let t = l._INTEGER(e), r = l.getValue(l._R_NaInt, "i32"); + return (n, o) => { + l.setValue(t + 4 * o, n === null ? r : Math.round(Number(n)), "i32"); + }; +}); +var er; +var Hr = class extends re { + constructor(e) { + super(e, "double", a(Hr, er)); + } + getNumber(e) { + return this.get(e).toArray()[0]; + } + toNumber() { + if (this.length !== 1) + throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value"); + let e = this.getNumber(1); + if (e === null) + throw new Error("Can't convert missing value `NA` to a JS number"); + return e; + } + toTypedArray() { + return new Float64Array(l.HEAPF64.subarray(l._REAL(this.ptr) / 8, l._REAL(this.ptr) / 8 + this.length)); + } +}; +var We = Hr; +er = /* @__PURE__ */ new WeakMap(), u(We, er, (e) => { + let t = l._REAL(e), r = l.getValue(l._R_NaReal, "double"); + return (n, o) => { + l.setValue(t + 8 * o, n === null ? r : n, "double"); + }; +}); +var tr; +var Jr = class extends re { + constructor(e) { + super(e, "complex", a(Jr, tr)); + } + getComplex(e) { + return this.get(e).toArray()[0]; + } + toComplex() { + if (this.length !== 1) + throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value"); + let e = this.getComplex(1); + if (e === null) + throw new Error("Can't convert missing value `NA` to a JS object"); + return e; + } + toTypedArray() { + return new Float64Array(l.HEAPF64.subarray(l._COMPLEX(this.ptr) / 8, l._COMPLEX(this.ptr) / 8 + 2 * this.length)); + } + toArray() { + let e = this.toTypedArray(); + return this.detectMissing().map((t, r) => t ? null : { re: e[2 * r], im: e[2 * r + 1] }); + } +}; +var it = Jr; +tr = /* @__PURE__ */ new WeakMap(), u(it, tr, (e) => { + let t = l._COMPLEX(e), r = l.getValue(l._R_NaReal, "double"); + return (n, o) => { + l.setValue(t + 8 * (2 * o), n === null ? r : n.re, "double"), l.setValue(t + 8 * (2 * o + 1), n === null ? r : n.im, "double"); + }; +}); +var rr; +var zr = class extends re { + constructor(e) { + super(e, "character", a(zr, rr)); + } + getString(e) { + return this.get(e).toArray()[0]; + } + toString() { + if (this.length !== 1) + throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value"); + let e = this.getString(1); + if (e === null) + throw new Error("Can't convert missing value `NA` to a JS string"); + return e; + } + toTypedArray() { + return new Uint32Array(l.HEAPU32.subarray(l._STRING_PTR(this.ptr) / 4, l._STRING_PTR(this.ptr) / 4 + this.length)); + } + toArray() { + return this.detectMissing().map((e, t) => e ? null : l.UTF8ToString(l._R_CHAR(l._STRING_ELT(this.ptr, t)))); + } +}; +var z = zr; +rr = /* @__PURE__ */ new WeakMap(), u(z, rr, (e) => (t, r) => { + t === null ? l._SET_STRING_ELT(e, r, W.naString.ptr) : l._SET_STRING_ELT(e, r, new ct(t).ptr); +}); +var sr; +var Xr = class extends re { + constructor(e) { + e instanceof ArrayBuffer && (e = new Uint8Array(e)), super(e, "raw", a(Xr, sr)); + } + getNumber(e) { + return this.get(e).toArray()[0]; + } + toNumber() { + if (this.length !== 1) + throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value"); + let e = this.getNumber(1); + if (e === null) + throw new Error("Can't convert missing value `NA` to a JS number"); + return e; + } + toTypedArray() { + return new Uint8Array(l.HEAPU8.subarray(l._RAW(this.ptr), l._RAW(this.ptr) + this.length)); + } +}; +var lt = Xr; +sr = /* @__PURE__ */ new WeakMap(), u(lt, sr, (e) => { + let t = l._RAW(e); + return (r, n) => { + l.setValue(t + n, Number(r), "i8"); + }; +}); +function Ie(s) { + return Lr(s) ? s : Array.isArray(s) || ArrayBuffer.isView(s) ? { names: null, values: s } : s && typeof s == "object" && !st(s) ? { names: Object.keys(s), values: Object.values(s) } : { names: null, values: [s] }; +} +function zs(s) { + let e = { [f.null]: Kt, [f.symbol]: j, [f.pairlist]: pe, [f.closure]: Oe, [f.environment]: at, [f.call]: K, [f.special]: Oe, [f.builtin]: Oe, [f.string]: ct, [f.logical]: ee, [f.integer]: $t, [f.double]: We, [f.complex]: it, [f.character]: z, [f.list]: te, [f.raw]: lt, [f.function]: Oe }; + return s in e ? e[s] : y; +} +function Qt(s) { + return s instanceof y; +} +function Xs(s) { + let e = ["logical", "integer", "double", "complex", "character"]; + return Qt(s) && e.includes(s.type()) || Qt(s) && s.isNa(); +} +function Gs(s) { + return s === null || typeof s == "number" || typeof s == "boolean" || typeof s == "string" || st(s); +} +var W; +var ut; +var pt; +var dt; +var ht; +var yt; +var nr; +var or; +var ar; +var ir; +var lr; +var cr; +var Ks; +ut = /* @__PURE__ */ new WeakMap(), pt = /* @__PURE__ */ new WeakMap(), dt = /* @__PURE__ */ new WeakMap(), ht = /* @__PURE__ */ new WeakMap(), yt = /* @__PURE__ */ new WeakMap(), nr = /* @__PURE__ */ new WeakMap(), or = /* @__PURE__ */ new WeakMap(), ar = /* @__PURE__ */ new WeakMap(), ir = /* @__PURE__ */ new WeakMap(), lr = /* @__PURE__ */ new WeakMap(), cr = /* @__PURE__ */ new WeakSet(), Ks = async function() { + for (; ; ) { + let e = await this.webR.read(); + switch (e.type) { + case "stdout": + a(this, ut).call(this, e.data); + break; + case "stderr": + a(this, pt).call(this, e.data); + break; + case "prompt": + a(this, dt).call(this, e.data); + break; + case "canvas": + e.data.event === "canvasImage" ? a(this, ht).call(this, e.data.image) : e.data.event === "canvasNewPage" && a(this, yt).call(this); + break; + case "closed": + return; + default: + console.warn(`Unhandled output type for webR Console: ${e.type}.`); + } + } +}; +var po = { FONTCONFIG_PATH: "/etc/fonts", R_HOME: "/usr/lib/R", R_ENABLE_JIT: "0" }; +var Qs = { RArgs: [], REnv: po, baseUrl: Ls, serviceWorkerUrl: "", repoUrl: Bs, homedir: "/home/web_user", interactive: true, channelType: I.Automatic, createLazyFilesystem: true }; +var g; +var ft; +var dr; +var Zs; +g = /* @__PURE__ */ new WeakMap(), ft = /* @__PURE__ */ new WeakMap(), dr = /* @__PURE__ */ new WeakSet(), Zs = async function() { + for (; ; ) { + let e = await a(this, g).readSystem(); + switch (e.type) { + case "setTimeoutWasm": + setTimeout((t, r) => { + this.invokeWasmFunction(t, ...r); + }, e.data.delay, e.data.ptr, e.data.args); + break; + case "console.log": + console.log(e.data); + break; + case "console.warn": + console.warn(e.data); + break; + case "console.error": + console.error(e.data); + break; + default: + throw new U("Unknown system message type `" + e.type + "`"); + } + } +}; +var b; +var R; +var Rt; +b = /* @__PURE__ */ new WeakMap(), R = /* @__PURE__ */ new WeakMap(), Rt = /* @__PURE__ */ new WeakMap(); + +// src/messageporthttp.ts +async function makeRequest(scope, appName, clientPort, pyodide2) { + const asgiFunc = pyodide2.runPython( + `_shiny_app_registry["${appName}"].app.call_pyodide` + ); + await connect(scope, clientPort, asgiFunc); +} +async function connect(scope, clientPort, asgiFunc) { + const fromClientQueue = new AwaitableQueue(); + clientPort.addEventListener("message", (event) => { + if (event.data.type === "http.request") { + fromClientQueue.enqueue({ + type: "http.request", + body: event.data.body, + more_body: event.data.more_body + }); + } + }); + clientPort.start(); + async function fromClient() { + return fromClientQueue.dequeue(); + } + async function toClient(event) { + event = Object.fromEntries(event.toJs()); + if (event.type === "http.response.start") { + clientPort.postMessage({ + type: event.type, + status: event.status, + headers: asgiHeadersToRecord(event.headers) + }); + } else if (event.type === "http.response.body") { + clientPort.postMessage({ + type: event.type, + body: asgiBodyToArray(event.body), + more_body: event.more_body + }); + } else { + throw new Error(`Unhandled ASGI event: ${event.type}`); + } + } + await asgiFunc(scope, fromClient, toClient); +} +function asgiHeadersToRecord(headers) { + headers = headers.map(([key, val]) => { + return [uint8ArrayToString(key), uint8ArrayToString(val)]; + }); + return Object.fromEntries(headers); +} +function asgiBodyToArray(body) { + return body; +} + +// src/messageportwebsocket.ts +var MessagePortWebSocket = class extends EventTarget { + constructor(port) { + super(); + this.readyState = 0; + this.addEventListener("open", (e) => { + if (this.onopen) { + this.onopen(e); + } + }); + this.addEventListener("message", (e) => { + if (this.onmessage) { + this.onmessage(e); + } + }); + this.addEventListener("error", (e) => { + if (this.onerror) { + this.onerror(e); + } + }); + this.addEventListener("close", (e) => { + if (this.onclose) { + this.onclose(e); + } + }); + this._port = port; + port.addEventListener("message", this._onMessage.bind(this)); + port.start(); + } + // Call on the server side of the connection, to tell the client that + // the connection has been established. + accept() { + if (this.readyState !== 0) { + return; + } + this.readyState = 1; + this._port.postMessage({ type: "open" }); + } + send(data) { + if (this.readyState === 0) { + throw new DOMException( + "Can't send messages while WebSocket is in CONNECTING state", + "InvalidStateError" + ); + } + if (this.readyState > 1) { + return; + } + this._port.postMessage({ type: "message", value: { data } }); + } + close(code, reason) { + if (this.readyState > 1) { + return; + } + this.readyState = 2; + this._port.postMessage({ type: "close", value: { code, reason } }); + this.readyState = 3; + this.dispatchEvent(new CloseEvent("close", { code, reason })); + } + _onMessage(e) { + const event = e.data; + switch (event.type) { + case "open": + if (this.readyState === 0) { + this.readyState = 1; + this.dispatchEvent(new Event("open")); + return; + } + break; + case "message": + if (this.readyState === 1) { + this.dispatchEvent(new MessageEvent("message", { ...event.value })); + return; + } + break; + case "close": + if (this.readyState < 3) { + this.readyState = 3; + this.dispatchEvent(new CloseEvent("close", { ...event.value })); + return; + } + break; + } + this._reportError( + `Unexpected event '${event.type}' while in readyState ${this.readyState}`, + 1002 + ); + } + _reportError(message, code) { + this.dispatchEvent(new ErrorEvent("error", { message })); + if (typeof code === "number") { + this.close(code, message); + } + } +}; + +// src/messageportwebsocket-channel.ts +async function openChannel(path, appName, clientPort, pyodide2) { + const conn = new MessagePortWebSocket(clientPort); + const asgiFunc = pyodide2.runPython( + `_shiny_app_registry["${appName}"].app.call_pyodide` + ); + await connect2(path, conn, asgiFunc); +} +async function connect2(path, conn, asgiFunc) { + const scope = { + type: "websocket", + asgi: { + version: "3.0", + spec_version: "2.1" + }, + path, + headers: [] + }; + const fromClientQueue = new AwaitableQueue(); + fromClientQueue.enqueue({ type: "websocket.connect" }); + async function fromClient() { + return await fromClientQueue.dequeue(); + } + async function toClient(event) { + event = Object.fromEntries(event.toJs()); + if (event.type === "websocket.accept") { + conn.accept(); + } else if (event.type === "websocket.send") { + conn.send(event.text ?? event.bytes); + } else if (event.type === "websocket.close") { + conn.close(event.code, event.reason); + fromClientQueue.enqueue({ type: "websocket.disconnect" }); + } else { + conn.close(1002, "ASGI protocol error"); + throw new Error(`Unhandled ASGI event: ${event.type}`); + } + } + conn.addEventListener("message", (e) => { + const me2 = e; + const event = { type: "websocket.receive" }; + if (typeof me2.data === "string") { + event.text = me2.data; + } else { + event.bytes = me2.data; + } + fromClientQueue.enqueue(event); + }); + conn.addEventListener("close", (e) => { + const ce3 = e; + fromClientQueue.enqueue({ type: "websocket.disconnect", code: ce3.code }); + }); + conn.addEventListener("error", (e) => { + console.error(e); + }); + await asgiFunc(scope, fromClient, toClient); +} + +// src/postable-error.ts +function errorToPostableErrorObject(e) { + const errObj = { + message: "An unknown error occured", + name: e.name + }; + if (!(e instanceof Error)) { + return errObj; + } + errObj.message = e.message; + if (e.stack) { + errObj.stack = e.stack; + } + return errObj; +} + +// src/pyodide/pyodide.js +var oe = Object.create; +var k = Object.defineProperty; +var ae2 = Object.getOwnPropertyDescriptor; +var se = Object.getOwnPropertyNames; +var ce2 = Object.getPrototypeOf; +var le2 = Object.prototype.hasOwnProperty; +var f2 = (t, e) => k(t, "name", { value: e, configurable: true }); +var E2 = ((t) => typeof __require < "u" ? __require : typeof Proxy < "u" ? new Proxy(t, { get: (e, c) => (typeof __require < "u" ? __require : e)[c] }) : t)(function(t) { + if (typeof __require < "u") + return __require.apply(this, arguments); + throw new Error('Dynamic require of "' + t + '" is not supported'); +}); +var T2 = (t, e) => () => (e || t((e = { exports: {} }).exports, e), e.exports); +var de2 = (t, e, c, o) => { + if (e && typeof e == "object" || typeof e == "function") + for (let a2 of se(e)) + !le2.call(t, a2) && a2 !== c && k(t, a2, { get: () => e[a2], enumerable: !(o = ae2(e, a2)) || o.enumerable }); + return t; +}; +var fe = (t, e, c) => (c = t != null ? oe(ce2(t)) : {}, de2(e || !t || !t.__esModule ? k(c, "default", { value: t, enumerable: true }) : c, t)); +var $ = T2((R2, U2) => { + (function(t, e) { + "use strict"; + typeof define == "function" && define.amd ? define("stackframe", [], e) : typeof R2 == "object" ? U2.exports = e() : t.StackFrame = e(); + })(R2, function() { + "use strict"; + function t(d2) { + return !isNaN(parseFloat(d2)) && isFinite(d2); + } + f2(t, "_isNumber"); + function e(d2) { + return d2.charAt(0).toUpperCase() + d2.substring(1); + } + f2(e, "_capitalize"); + function c(d2) { + return function() { + return this[d2]; + }; + } + f2(c, "_getter"); + var o = ["isConstructor", "isEval", "isNative", "isToplevel"], a2 = ["columnNumber", "lineNumber"], r = ["fileName", "functionName", "source"], n = ["args"], u2 = ["evalOrigin"], i = o.concat(a2, r, n, u2); + function s(d2) { + if (d2) + for (var y2 = 0; y2 < i.length; y2++) + d2[i[y2]] !== void 0 && this["set" + e(i[y2])](d2[i[y2]]); + } + f2(s, "StackFrame"), s.prototype = { getArgs: function() { + return this.args; + }, setArgs: function(d2) { + if (Object.prototype.toString.call(d2) !== "[object Array]") + throw new TypeError("Args must be an Array"); + this.args = d2; + }, getEvalOrigin: function() { + return this.evalOrigin; + }, setEvalOrigin: function(d2) { + if (d2 instanceof s) + this.evalOrigin = d2; + else if (d2 instanceof Object) + this.evalOrigin = new s(d2); + else + throw new TypeError("Eval Origin must be an Object or StackFrame"); + }, toString: function() { + var d2 = this.getFileName() || "", y2 = this.getLineNumber() || "", h = this.getColumnNumber() || "", v2 = this.getFunctionName() || ""; + return this.getIsEval() ? d2 ? "[eval] (" + d2 + ":" + y2 + ":" + h + ")" : "[eval]:" + y2 + ":" + h : v2 ? v2 + " (" + d2 + ":" + y2 + ":" + h + ")" : d2 + ":" + y2 + ":" + h; + } }, s.fromString = f2(function(y2) { + var h = y2.indexOf("("), v2 = y2.lastIndexOf(")"), ee2 = y2.substring(0, h), te2 = y2.substring(h + 1, v2).split(","), I2 = y2.substring(v2 + 1); + if (I2.indexOf("@") === 0) + var N2 = /@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(I2, ""), re2 = N2[1], ne2 = N2[2], ie2 = N2[3]; + return new s({ functionName: ee2, args: te2 || void 0, fileName: re2, lineNumber: ne2 || void 0, columnNumber: ie2 || void 0 }); + }, "StackFrame$$fromString"); + for (var l2 = 0; l2 < o.length; l2++) + s.prototype["get" + e(o[l2])] = c(o[l2]), s.prototype["set" + e(o[l2])] = function(d2) { + return function(y2) { + this[d2] = !!y2; + }; + }(o[l2]); + for (var m2 = 0; m2 < a2.length; m2++) + s.prototype["get" + e(a2[m2])] = c(a2[m2]), s.prototype["set" + e(a2[m2])] = function(d2) { + return function(y2) { + if (!t(y2)) + throw new TypeError(d2 + " must be a Number"); + this[d2] = Number(y2); + }; + }(a2[m2]); + for (var p = 0; p < r.length; p++) + s.prototype["get" + e(r[p])] = c(r[p]), s.prototype["set" + e(r[p])] = function(d2) { + return function(y2) { + this[d2] = String(y2); + }; + }(r[p]); + return s; + }); +}); +var C = T2((x2, M) => { + (function(t, e) { + "use strict"; + typeof define == "function" && define.amd ? define("error-stack-parser", ["stackframe"], e) : typeof x2 == "object" ? M.exports = e($()) : t.ErrorStackParser = e(t.StackFrame); + })(x2, f2(function(e) { + "use strict"; + var c = /(^|@)\S+:\d+/, o = /^\s*at .*(\S+:\d+|\(native\))/m, a2 = /^(eval@)?(\[native code])?$/; + return { parse: f2(function(n) { + if (typeof n.stacktrace < "u" || typeof n["opera#sourceloc"] < "u") + return this.parseOpera(n); + if (n.stack && n.stack.match(o)) + return this.parseV8OrIE(n); + if (n.stack) + return this.parseFFOrSafari(n); + throw new Error("Cannot parse given Error object"); + }, "ErrorStackParser$$parse"), extractLocation: f2(function(n) { + if (n.indexOf(":") === -1) + return [n]; + var u2 = /(.+?)(?::(\d+))?(?::(\d+))?$/, i = u2.exec(n.replace(/[()]/g, "")); + return [i[1], i[2] || void 0, i[3] || void 0]; + }, "ErrorStackParser$$extractLocation"), parseV8OrIE: f2(function(n) { + var u2 = n.stack.split(` +`).filter(function(i) { + return !!i.match(o); + }, this); + return u2.map(function(i) { + i.indexOf("(eval ") > -1 && (i = i.replace(/eval code/g, "eval").replace(/(\(eval at [^()]*)|(,.*$)/g, "")); + var s = i.replace(/^\s+/, "").replace(/\(eval code/g, "(").replace(/^.*?\s+/, ""), l2 = s.match(/ (\(.+\)$)/); + s = l2 ? s.replace(l2[0], "") : s; + var m2 = this.extractLocation(l2 ? l2[1] : s), p = l2 && s || void 0, d2 = ["eval", ""].indexOf(m2[0]) > -1 ? void 0 : m2[0]; + return new e({ functionName: p, fileName: d2, lineNumber: m2[1], columnNumber: m2[2], source: i }); + }, this); + }, "ErrorStackParser$$parseV8OrIE"), parseFFOrSafari: f2(function(n) { + var u2 = n.stack.split(` +`).filter(function(i) { + return !i.match(a2); + }, this); + return u2.map(function(i) { + if (i.indexOf(" > eval") > -1 && (i = i.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g, ":$1")), i.indexOf("@") === -1 && i.indexOf(":") === -1) + return new e({ functionName: i }); + var s = /((.*".+"[^@]*)?[^@]*)(?:@)/, l2 = i.match(s), m2 = l2 && l2[1] ? l2[1] : void 0, p = this.extractLocation(i.replace(s, "")); + return new e({ functionName: m2, fileName: p[0], lineNumber: p[1], columnNumber: p[2], source: i }); + }, this); + }, "ErrorStackParser$$parseFFOrSafari"), parseOpera: f2(function(n) { + return !n.stacktrace || n.message.indexOf(` +`) > -1 && n.message.split(` +`).length > n.stacktrace.split(` +`).length ? this.parseOpera9(n) : n.stack ? this.parseOpera11(n) : this.parseOpera10(n); + }, "ErrorStackParser$$parseOpera"), parseOpera9: f2(function(n) { + for (var u2 = /Line (\d+).*script (?:in )?(\S+)/i, i = n.message.split(` +`), s = [], l2 = 2, m2 = i.length; l2 < m2; l2 += 2) { + var p = u2.exec(i[l2]); + p && s.push(new e({ fileName: p[2], lineNumber: p[1], source: i[l2] })); + } + return s; + }, "ErrorStackParser$$parseOpera9"), parseOpera10: f2(function(n) { + for (var u2 = /Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i, i = n.stacktrace.split(` +`), s = [], l2 = 0, m2 = i.length; l2 < m2; l2 += 2) { + var p = u2.exec(i[l2]); + p && s.push(new e({ functionName: p[3] || void 0, fileName: p[2], lineNumber: p[1], source: i[l2] })); + } + return s; + }, "ErrorStackParser$$parseOpera10"), parseOpera11: f2(function(n) { + var u2 = n.stack.split(` +`).filter(function(i) { + return !!i.match(c) && !i.match(/^Error created at/); + }, this); + return u2.map(function(i) { + var s = i.split("@"), l2 = this.extractLocation(s.pop()), m2 = s.shift() || "", p = m2.replace(//, "$2").replace(/\([^)]*\)/g, "") || void 0, d2; + m2.match(/\(([^)]*)\)/) && (d2 = m2.replace(/^[^(]+\(([^)]*)\)$/, "$1")); + var y2 = d2 === void 0 || d2 === "[arguments not available]" ? void 0 : d2.split(","); + return new e({ functionName: p, args: y2, fileName: l2[0], lineNumber: l2[1], columnNumber: l2[2], source: i }); + }, this); + }, "ErrorStackParser$$parseOpera11") }; + }, "ErrorStackParser")); +}); +var z2 = fe(C()); +var g2 = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && typeof process.browser > "u"; +var F = g2 && typeof module < "u" && typeof module.exports < "u" && typeof E2 < "u" && typeof __dirname < "u"; +var j2 = g2 && !F; +var ue2 = typeof Deno < "u"; +var B = !g2 && !ue2; +var W2 = B && typeof window < "u" && typeof document < "u" && typeof document.createElement < "u" && typeof sessionStorage < "u"; +var H2 = B && typeof importScripts < "u" && typeof self < "u"; +var q; +var _2; +var P; +var V2; +var L; +var pe2 = `"fetch" is not defined, maybe you're using node < 18? From Pyodide >= 0.25.0, node >= 18 is required. Older versions of Node.js may work, but it is not guaranteed or supported. Falling back to "node-fetch".`; +async function D2() { + if (!g2 || (q = (await import("url")).default, L = await import("fs/promises"), globalThis.fetch ? _2 = fetch : (console.warn(pe2), _2 = (await import("node-fetch")).default), V2 = (await import("vm")).default, P = await import("path"), A = P.sep, typeof E2 < "u")) + return; + let t = await import("fs"), e = await import("crypto"), c = await Promise.resolve().then(() => __toESM(require_browser())), o = await import("child_process"), a2 = { fs: t, crypto: e, ws: c, child_process: o }; + globalThis.require = function(r) { + return a2[r]; + }; +} +f2(D2, "initNodeModules"); +function me(t, e) { + return P.resolve(e || ".", t); +} +f2(me, "node_resolvePath"); +function ye(t, e) { + return e === void 0 && (e = location), new URL(t, e).toString(); +} +f2(ye, "browser_resolvePath"); +var S; +g2 ? S = me : S = ye; +var A; +g2 || (A = "/"); +function ge(t, e) { + return t.startsWith("file://") && (t = t.slice(7)), t.includes("://") ? { response: _2(t) } : { binary: L.readFile(t).then((c) => new Uint8Array(c.buffer, c.byteOffset, c.byteLength)) }; +} +f2(ge, "node_getBinaryResponse"); +function he(t, e) { + let c = new URL(t, location); + return { response: fetch(c, e ? { integrity: e } : {}) }; +} +f2(he, "browser_getBinaryResponse"); +var b2; +g2 ? b2 = ge : b2 = he; +async function G(t, e) { + let { response: c, binary: o } = b2(t, e); + if (o) + return o; + let a2 = await c; + if (!a2.ok) + throw new Error(`Failed to load '${t}': request failed.`); + return new Uint8Array(await a2.arrayBuffer()); +} +f2(G, "loadBinaryFile"); +var w; +if (W2) + w = f2(async (t) => await import(t), "loadScript"); +else if (H2) + w = f2(async (t) => { + try { + globalThis.importScripts(t); + } catch (e) { + if (e instanceof TypeError) + await import(t); + else + throw e; + } + }, "loadScript"); +else if (g2) + w = ve2; +else + throw new Error("Cannot determine runtime environment"); +async function ve2(t) { + t.startsWith("file://") && (t = t.slice(7)), t.includes("://") ? V2.runInThisContext(await (await _2(t)).text()) : await import(q.pathToFileURL(t).href); +} +f2(ve2, "nodeLoadScript"); +async function K2(t) { + if (g2) { + await D2(); + let e = await L.readFile(t); + return JSON.parse(e); + } else + return await (await fetch(t)).json(); +} +f2(K2, "loadLockFile"); +async function X() { + if (F) + return __dirname; + let t; + try { + throw new Error(); + } catch (o) { + t = o; + } + let e = z2.default.parse(t)[0].fileName; + if (j2) { + let o = await import("path"); + return (await import("url")).fileURLToPath(o.dirname(e)); + } + let c = e.lastIndexOf(A); + if (c === -1) + throw new Error("Could not extract indexURL path from pyodide module location"); + return e.slice(0, c); +} +f2(X, "calculateDirname"); +function J2(t) { + let e = t.FS, c = t.FS.filesystems.MEMFS, o = t.PATH, a2 = { DIR_MODE: 16895, FILE_MODE: 33279, mount: function(r) { + if (!r.opts.fileSystemHandle) + throw new Error("opts.fileSystemHandle is required"); + return c.mount.apply(null, arguments); + }, syncfs: async (r, n, u2) => { + try { + let i = a2.getLocalSet(r), s = await a2.getRemoteSet(r), l2 = n ? s : i, m2 = n ? i : s; + await a2.reconcile(r, l2, m2), u2(null); + } catch (i) { + u2(i); + } + }, getLocalSet: (r) => { + let n = /* @__PURE__ */ Object.create(null); + function u2(l2) { + return l2 !== "." && l2 !== ".."; + } + f2(u2, "isRealDir"); + function i(l2) { + return (m2) => o.join2(l2, m2); + } + f2(i, "toAbsolute"); + let s = e.readdir(r.mountpoint).filter(u2).map(i(r.mountpoint)); + for (; s.length; ) { + let l2 = s.pop(), m2 = e.stat(l2); + e.isDir(m2.mode) && s.push.apply(s, e.readdir(l2).filter(u2).map(i(l2))), n[l2] = { timestamp: m2.mtime, mode: m2.mode }; + } + return { type: "local", entries: n }; + }, getRemoteSet: async (r) => { + let n = /* @__PURE__ */ Object.create(null), u2 = await we2(r.opts.fileSystemHandle); + for (let [i, s] of u2) + i !== "." && (n[o.join2(r.mountpoint, i)] = { timestamp: s.kind === "file" ? (await s.getFile()).lastModifiedDate : /* @__PURE__ */ new Date(), mode: s.kind === "file" ? a2.FILE_MODE : a2.DIR_MODE }); + return { type: "remote", entries: n, handles: u2 }; + }, loadLocalEntry: (r) => { + let u2 = e.lookupPath(r).node, i = e.stat(r); + if (e.isDir(i.mode)) + return { timestamp: i.mtime, mode: i.mode }; + if (e.isFile(i.mode)) + return u2.contents = c.getFileDataAsTypedArray(u2), { timestamp: i.mtime, mode: i.mode, contents: u2.contents }; + throw new Error("node type not supported"); + }, storeLocalEntry: (r, n) => { + if (e.isDir(n.mode)) + e.mkdirTree(r, n.mode); + else if (e.isFile(n.mode)) + e.writeFile(r, n.contents, { canOwn: true }); + else + throw new Error("node type not supported"); + e.chmod(r, n.mode), e.utime(r, n.timestamp, n.timestamp); + }, removeLocalEntry: (r) => { + var n = e.stat(r); + e.isDir(n.mode) ? e.rmdir(r) : e.isFile(n.mode) && e.unlink(r); + }, loadRemoteEntry: async (r) => { + if (r.kind === "file") { + let n = await r.getFile(); + return { contents: new Uint8Array(await n.arrayBuffer()), mode: a2.FILE_MODE, timestamp: n.lastModifiedDate }; + } else { + if (r.kind === "directory") + return { mode: a2.DIR_MODE, timestamp: /* @__PURE__ */ new Date() }; + throw new Error("unknown kind: " + r.kind); + } + }, storeRemoteEntry: async (r, n, u2) => { + let i = r.get(o.dirname(n)), s = e.isFile(u2.mode) ? await i.getFileHandle(o.basename(n), { create: true }) : await i.getDirectoryHandle(o.basename(n), { create: true }); + if (s.kind === "file") { + let l2 = await s.createWritable(); + await l2.write(u2.contents), await l2.close(); + } + r.set(n, s); + }, removeRemoteEntry: async (r, n) => { + await r.get(o.dirname(n)).removeEntry(o.basename(n)), r.delete(n); + }, reconcile: async (r, n, u2) => { + let i = 0, s = []; + Object.keys(n.entries).forEach(function(p) { + let d2 = n.entries[p], y2 = u2.entries[p]; + (!y2 || e.isFile(d2.mode) && d2.timestamp.getTime() > y2.timestamp.getTime()) && (s.push(p), i++); + }), s.sort(); + let l2 = []; + if (Object.keys(u2.entries).forEach(function(p) { + n.entries[p] || (l2.push(p), i++); + }), l2.sort().reverse(), !i) + return; + let m2 = n.type === "remote" ? n.handles : u2.handles; + for (let p of s) { + let d2 = o.normalize(p.replace(r.mountpoint, "/")).substring(1); + if (u2.type === "local") { + let y2 = m2.get(d2), h = await a2.loadRemoteEntry(y2); + a2.storeLocalEntry(p, h); + } else { + let y2 = a2.loadLocalEntry(p); + await a2.storeRemoteEntry(m2, d2, y2); + } + } + for (let p of l2) + if (u2.type === "local") + a2.removeLocalEntry(p); + else { + let d2 = o.normalize(p.replace(r.mountpoint, "/")).substring(1); + await a2.removeRemoteEntry(m2, d2); + } + } }; + t.FS.filesystems.NATIVEFS_ASYNC = a2; +} +f2(J2, "initializeNativeFS"); +var we2 = f2(async (t) => { + let e = []; + async function c(a2) { + for await (let r of a2.values()) + e.push(r), r.kind === "directory" && await c(r); + } + f2(c, "collect"), await c(t); + let o = /* @__PURE__ */ new Map(); + o.set(".", t); + for (let a2 of e) { + let r = (await t.resolve(a2)).join("/"); + o.set(r, a2); + } + return o; +}, "getFsHandles"); +function Y() { + let t = {}; + return t.noImageDecoding = true, t.noAudioDecoding = true, t.noWasmDecoding = false, t.preRun = [], t.quit = (e, c) => { + throw t.exited = { status: e, toThrow: c }, c; + }, t; +} +f2(Y, "createModule"); +function be(t, e) { + t.preRun.push(function() { + let c = "/"; + try { + t.FS.mkdirTree(e); + } catch (o) { + console.error(`Error occurred while making a home directory '${e}':`), console.error(o), console.error(`Using '${c}' for a home directory instead`), e = c; + } + t.FS.chdir(e); + }); +} +f2(be, "createHomeDirectory"); +function Ee2(t, e) { + t.preRun.push(function() { + Object.assign(t.ENV, e); + }); +} +f2(Ee2, "setEnvironment"); +function _e2(t, e) { + t.preRun.push(() => { + for (let c of e) + t.FS.mkdirTree(c), t.FS.mount(t.FS.filesystems.NODEFS, { root: c }, c); + }); +} +f2(_e2, "mountLocalDirectories"); +function Se2(t, e) { + let c = G(e); + t.preRun.push(() => { + let o = t._py_version_major(), a2 = t._py_version_minor(); + t.FS.mkdirTree("/lib"), t.FS.mkdirTree(`/lib/python${o}.${a2}/site-packages`), t.addRunDependency("install-stdlib"), c.then((r) => { + t.FS.writeFile(`/lib/python${o}${a2}.zip`, r); + }).catch((r) => { + console.error("Error occurred while installing the standard library:"), console.error(r); + }).finally(() => { + t.removeRunDependency("install-stdlib"); + }); + }); +} +f2(Se2, "installStdlib"); +function Q(t, e) { + let c; + e.stdLibURL != null ? c = e.stdLibURL : c = e.indexURL + "python_stdlib.zip", Se2(t, c), be(t, e.env.HOME), Ee2(t, e.env), _e2(t, e._node_mounts), t.preRun.push(() => J2(t)); +} +f2(Q, "initializeFileSystem"); +function Z(t, e) { + let { binary: c, response: o } = b2(e + "pyodide.asm.wasm"); + t.instantiateWasm = function(a2, r) { + return async function() { + try { + let n; + o ? n = await WebAssembly.instantiateStreaming(o, a2) : n = await WebAssembly.instantiate(await c, a2); + let { instance: u2, module: i } = n; + typeof WasmOffsetConverter < "u" && (wasmOffsetConverter = new WasmOffsetConverter(wasmBinary, i)), r(u2, i); + } catch (n) { + console.warn("wasm instantiation failed!"), console.warn(n); + } + }(), {}; + }; +} +f2(Z, "preloadWasm"); +var O = "0.25.1"; +async function We2(t = {}) { + await D2(); + let e = t.indexURL || await X(); + e = S(e), e.endsWith("/") || (e += "/"), t.indexURL = e; + let c = { fullStdLib: false, jsglobals: globalThis, stdin: globalThis.prompt ? globalThis.prompt : void 0, lockFileURL: e + "pyodide-lock.json", args: [], _node_mounts: [], env: {}, packageCacheDir: e, packages: [] }, o = Object.assign(c, t); + o.env.HOME || (o.env.HOME = "/home/pyodide"); + let a2 = Y(); + a2.print = o.stdout, a2.printErr = o.stderr, a2.arguments = o.args; + let r = { config: o }; + a2.API = r, r.lockFilePromise = K2(o.lockFileURL), Z(a2, e), Q(a2, o); + let n = new Promise((s) => a2.postRun = s); + if (a2.locateFile = (s) => o.indexURL + s, typeof _createPyodideModule != "function") { + let s = `${o.indexURL}pyodide.asm.js`; + await w(s); + } + if (await _createPyodideModule(a2), await n, a2.exited) + throw a2.exited.toThrow; + if (t.pyproxyToStringRepr && r.setPyProxyToStringMethod(true), r.version !== O) + throw new Error(`Pyodide version does not match: '${O}' <==> '${r.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`); + a2.locateFile = (s) => { + throw new Error("Didn't expect to load any more file_packager files!"); + }; + let u2 = r.finalizeBootstrap(); + if (u2.version.includes("dev") || r.setCdnUrl(`https://cdn.jsdelivr.net/pyodide/v${u2.version}/full/`), await r.packageIndexReady, r._pyodide._importhook.register_module_not_found_hook(r._import_name_to_package_name, r.lockfile_unvendored_stdlibs_and_test), r.lockfile_info.version !== O) + throw new Error("Lock file version doesn't match Pyodide version"); + return r.package_loader.init_loaded_packages(), o.fullStdLib && await u2.loadPackage(r.lockfile_unvendored_stdlibs), r.initializeStreams(o.stdin, o.stdout, o.stderr), u2; +} +f2(We2, "loadPyodide"); + +// src/pyodide-proxy.ts +async function setupPythonEnv(pyodide2, callJS2) { + const repr = pyodide2.globals.get("repr"); + pyodide2.globals.set("js_pyodide", pyodide2); + const pyconsole = await pyodide2.runPythonAsync(` + import pyodide.console + import __main__ + pyodide.console.PyodideConsole(__main__.__dict__) + `); + const tabComplete = pyconsole.complete.copy(); + pyconsole.destroy(); + if (callJS2) { + pyodide2.globals.set("callJS", callJS2); + } + const shortFormatLastTraceback = await pyodide2.runPythonAsync(` + def _short_format_last_traceback() -> str: + import sys + import traceback + e = sys.last_value + found_marker = False + nframes = 0 + for (frame, _) in traceback.walk_tb(e.__traceback__): + if frame.f_code.co_filename in ("", ""): + found_marker = True + if found_marker: + nframes += 1 + return "".join(traceback.format_exception(type(e), e, e.__traceback__, -nframes)) + + _short_format_last_traceback + `); + await pyodide2.runPythonAsync(`del _short_format_last_traceback`); + return { + repr, + tabComplete, + shortFormatLastTraceback + }; +} +function processReturnValue(value, returnResult = "none", pyodide2, repr) { + const possibleReturnValues = { + get value() { + if (value instanceof pyodide2.ffi.PyProxy) { + return value.toJs(); + } else { + return value; + } + }, + get printed_value() { + return repr(value); + }, + get to_html() { + let toHtml; + try { + toHtml = pyodide2.globals.get("_to_html"); + } catch (e) { + console.error("Couldn't find _to_html function: ", e); + toHtml = (x2) => ({ + type: "text", + value: "Couldn't finding _to_html function." + }); + } + const val = toHtml(value).toJs({ + dict_converter: Object.fromEntries + }); + return val; + }, + get none() { + return void 0; + } + }; + return possibleReturnValues[returnResult]; +} + +// src/pyodide-worker.ts +var pyodideStatus = "none"; +var pyodide; +self.stdout_callback = function(s) { + self.postMessage({ type: "nonreply", subtype: "output", stdout: s }); +}; +self.stderr_callback = function(s) { + self.postMessage({ type: "nonreply", subtype: "output", stderr: s }); +}; +async function callJS(fnName, args) { + self.postMessage({ + type: "nonreply", + subtype: "callJS", + fnName: fnName.toJs(), + args: args.toJs() + }); +} +var pyUtils; +self.onmessage = async function(e) { + const msg = e.data; + if (msg.type === "openChannel") { + const clientPort = e.ports[0]; + await openChannel(msg.path, msg.appName, clientPort, pyodide); + return; + } else if (msg.type === "makeRequest") { + const clientPort = e.ports[0]; + await makeRequest(msg.scope, msg.appName, clientPort, pyodide); + return; + } + const messagePort = e.ports[0]; + try { + if (msg.type === "init") { + if (pyodideStatus === "none") { + pyodideStatus = "loading"; + pyodide = await We2({ + ...msg.config, + stdout: self.stdout_callback, + stderr: self.stderr_callback + }); + pyUtils = await setupPythonEnv(pyodide, callJS); + pyodideStatus = "loaded"; + } + messagePort.postMessage({ type: "reply", subtype: "done" }); + } else if (msg.type === "loadPackagesFromImports") { + const result = await pyodide.loadPackagesFromImports(msg.code); + messagePort.postMessage({ + type: "reply", + subtype: "done", + value: result + }); + } else if (msg.type === "runPythonAsync") { + await pyodide.loadPackagesFromImports(msg.code); + const result = await pyodide.runPythonAsync(msg.code); + if (msg.printResult && result !== void 0) { + self.stdout_callback(pyUtils.repr(result)); + } + try { + const processedResult = processReturnValue( + result, + msg.returnResult, + pyodide, + pyUtils.repr + ); + messagePort.postMessage({ + type: "reply", + subtype: "done", + value: processedResult + }); + } finally { + if (result instanceof pyodide.ffi.PyProxy) { + result.destroy(); + } + } + } else if (msg.type === "tabComplete") { + const completions = pyUtils.tabComplete(msg.code).toJs()[0]; + messagePort.postMessage({ + type: "reply", + subtype: "tabCompletions", + completions + }); + } else if (msg.type === "callPyAsync") { + const { fnName, args, kwargs } = msg; + let fn = pyodide.globals.get(fnName[0]); + for (const el of fnName.slice(1)) { + fn = fn[el]; + } + const resultMaybePromise = fn.callKwargs(...args, kwargs); + const result = await Promise.resolve(resultMaybePromise); + if (msg.printResult && result !== void 0) { + self.stdout_callback(pyUtils.repr(result)); + } + try { + const processedResult = processReturnValue( + result, + msg.returnResult, + pyodide, + pyUtils.repr + ); + messagePort.postMessage({ + type: "reply", + subtype: "done", + value: processedResult + }); + } finally { + if (result instanceof pyodide.ffi.PyProxy) { + result.destroy(); + } + } + } else { + messagePort.postMessage({ + type: "reply", + subtype: "done", + error: new Error(`Unknown message type: ${msg.toString()}`) + }); + } + } catch (e2) { + if (e2 instanceof pyodide.ffi.PythonError) { + e2.message = pyUtils.shortFormatLastTraceback(); + } + messagePort.postMessage({ + type: "reply", + subtype: "done", + error: errorToPostableErrorObject(e2) + }); + } +}; diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/Jinja2-3.1.2-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/Jinja2-3.1.2-py3-none-any.whl new file mode 100644 index 0000000..8095fe8 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/Jinja2-3.1.2-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/MarkupSafe-2.1.3-cp311-cp311-emscripten_3_1_46_wasm32.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/MarkupSafe-2.1.3-cp311-cp311-emscripten_3_1_46_wasm32.whl new file mode 100644 index 0000000..0b428c1 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/MarkupSafe-2.1.3-cp311-cp311-emscripten_3_1_46_wasm32.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/Pillow-10.0.0-cp311-cp311-emscripten_3_1_46_wasm32.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/Pillow-10.0.0-cp311-cp311-emscripten_3_1_46_wasm32.whl new file mode 100644 index 0000000..2c02293 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/Pillow-10.0.0-cp311-cp311-emscripten_3_1_46_wasm32.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/anyio-4.1.0-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/anyio-4.1.0-py3-none-any.whl new file mode 100644 index 0000000..c3af83c Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/anyio-4.1.0-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/appdirs-1.4.4-py2.py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/appdirs-1.4.4-py2.py3-none-any.whl new file mode 100644 index 0000000..2521563 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/appdirs-1.4.4-py2.py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/asgiref-3.7.2-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/asgiref-3.7.2-py3-none-any.whl new file mode 100644 index 0000000..2a7da06 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/asgiref-3.7.2-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/cycler-0.11.0-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/cycler-0.11.0-py3-none-any.whl new file mode 100644 index 0000000..9465c1c Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/cycler-0.11.0-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/distutils-1.0.0.zip b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/distutils-1.0.0.zip new file mode 100644 index 0000000..87d9182 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/distutils-1.0.0.zip differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/exceptiongroup-1.1.3-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/exceptiongroup-1.1.3-py3-none-any.whl new file mode 100644 index 0000000..1098f0a Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/exceptiongroup-1.1.3-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/fonttools-4.42.1-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/fonttools-4.42.1-py3-none-any.whl new file mode 100644 index 0000000..a129314 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/fonttools-4.42.1-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/htmltools-0.5.2-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/htmltools-0.5.2-py3-none-any.whl new file mode 100644 index 0000000..e6123b7 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/htmltools-0.5.2-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/idna-3.6-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/idna-3.6-py3-none-any.whl new file mode 100644 index 0000000..fdf65ae Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/idna-3.6-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/kiwisolver-1.4.4-cp311-cp311-emscripten_3_1_46_wasm32.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/kiwisolver-1.4.4-cp311-cp311-emscripten_3_1_46_wasm32.whl new file mode 100644 index 0000000..1c01b9f Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/kiwisolver-1.4.4-cp311-cp311-emscripten_3_1_46_wasm32.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/linkify_it_py-2.0.2-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/linkify_it_py-2.0.2-py3-none-any.whl new file mode 100644 index 0000000..6097af1 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/linkify_it_py-2.0.2-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/markdown_it_py-3.0.0-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/markdown_it_py-3.0.0-py3-none-any.whl new file mode 100644 index 0000000..2691698 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/markdown_it_py-3.0.0-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/matplotlib-3.5.2-cp311-cp311-emscripten_3_1_46_wasm32.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/matplotlib-3.5.2-cp311-cp311-emscripten_3_1_46_wasm32.whl new file mode 100644 index 0000000..06215c1 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/matplotlib-3.5.2-cp311-cp311-emscripten_3_1_46_wasm32.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/matplotlib_pyodide-0.2.0-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/matplotlib_pyodide-0.2.0-py3-none-any.whl new file mode 100644 index 0000000..e86805b Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/matplotlib_pyodide-0.2.0-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/mdit_py_plugins-0.4.0-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/mdit_py_plugins-0.4.0-py3-none-any.whl new file mode 100644 index 0000000..098dac2 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/mdit_py_plugins-0.4.0-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/mdurl-0.1.2-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/mdurl-0.1.2-py3-none-any.whl new file mode 100644 index 0000000..6b8b6ab Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/mdurl-0.1.2-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/micropip-0.5.0-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/micropip-0.5.0-py3-none-any.whl new file mode 100644 index 0000000..39bcd97 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/micropip-0.5.0-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/numpy-1.26.4-cp311-cp311-emscripten_3_1_46_wasm32.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/numpy-1.26.4-cp311-cp311-emscripten_3_1_46_wasm32.whl new file mode 100644 index 0000000..a8434cc Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/numpy-1.26.4-cp311-cp311-emscripten_3_1_46_wasm32.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/openssl-1.1.1n.zip b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/openssl-1.1.1n.zip new file mode 100644 index 0000000..5e94463 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/openssl-1.1.1n.zip differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/packaging-23.1-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/packaging-23.1-py3-none-any.whl new file mode 100644 index 0000000..60422f1 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/packaging-23.1-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pandas-1.5.3-cp311-cp311-emscripten_3_1_46_wasm32.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pandas-1.5.3-cp311-cp311-emscripten_3_1_46_wasm32.whl new file mode 100644 index 0000000..c33de03 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pandas-1.5.3-cp311-cp311-emscripten_3_1_46_wasm32.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pyodide-lock.json b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pyodide-lock.json new file mode 100644 index 0000000..f00c437 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pyodide-lock.json @@ -0,0 +1 @@ +{"info": {"arch": "wasm32", "platform": "emscripten_3_1_46", "python": "3.11.3", "version": "0.25.1"}, "packages": {"aiohttp": {"depends": ["aiosignal", "async-timeout", "attrs", "charset-normalizer", "frozenlist", "multidict", "yarl"], "file_name": "aiohttp-3.8.6-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["aiohttp"], "install_dir": "site", "name": "aiohttp", "package_type": "package", "sha256": "5dacfc27095a9e04e179d58dc0bf6462d60db233513553ab82f2b70d948b24a5", "shared_library": false, "unvendored_tests": true, "version": "3.8.6"}, "aiohttp-tests": {"depends": ["aiohttp"], "file_name": "aiohttp-tests.tar", "imports": [], "install_dir": "site", "name": "aiohttp-tests", "package_type": "package", "sha256": "8f2adafe51fa8789f6c5ee5b725f20885835cc2abf4435da88a69c6d9dc93ff5", "shared_library": false, "unvendored_tests": false, "version": "3.8.6"}, "aiosignal": {"depends": ["frozenlist"], "file_name": "aiosignal-1.3.1-py3-none-any.whl", "imports": ["aiosignal"], "install_dir": "site", "name": "aiosignal", "package_type": "package", "sha256": "452e85cb9cb368035b68f9941f648863c8da02e63b7da92bb8d717233d234b7f", "shared_library": false, "unvendored_tests": false, "version": "1.3.1"}, "asciitree": {"depends": [], "file_name": "asciitree-0.3.3-py3-none-any.whl", "imports": ["asciitree"], "install_dir": "site", "name": "asciitree", "package_type": "package", "sha256": "43662d430f07ff43d8d567529c5b1e1f5f3e20629ff34fdcc395f0989ee83697", "shared_library": false, "unvendored_tests": false, "version": "0.3.3"}, "astropy": {"depends": ["distutils", "packaging", "numpy", "pyerfa", "pyyaml"], "file_name": "astropy-5.3.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["astropy"], "install_dir": "site", "name": "astropy", "package_type": "package", "sha256": "81e43a497459149b8fbf03c459a566d0bbe1f502fe18f147a77c190ba47cb8f2", "shared_library": false, "unvendored_tests": false, "version": "5.3.2"}, "async-timeout": {"depends": [], "file_name": "async_timeout-4.0.3-py3-none-any.whl", "imports": ["async_timeout"], "install_dir": "site", "name": "async-timeout", "package_type": "package", "sha256": "3d52b5c8125e267ad0443f1e6db230d19ba027946eb34f8e55de61d99cf46dd2", "shared_library": false, "unvendored_tests": false, "version": "4.0.3"}, "atomicwrites": {"depends": [], "file_name": "atomicwrites-1.4.1-py2.py3-none-any.whl", "imports": ["atomicwrites"], "install_dir": "site", "name": "atomicwrites", "package_type": "package", "sha256": "b03bf1a5eeb95dfe0a2f6ed7cedde7d054031390d33a36238cd855d6048b7bab", "shared_library": false, "unvendored_tests": false, "version": "1.4.1"}, "attrs": {"depends": ["six"], "file_name": "attrs-23.1.0-py3-none-any.whl", "imports": ["attr", "attrs"], "install_dir": "site", "name": "attrs", "package_type": "package", "sha256": "bfeb888b962f07447a7941cafe06de8d396c8ac18995db045f37458834086dd0", "shared_library": false, "unvendored_tests": false, "version": "23.1.0"}, "autograd": {"depends": ["numpy", "future"], "file_name": "autograd-1.6.2-py3-none-any.whl", "imports": ["autograd"], "install_dir": "site", "name": "autograd", "package_type": "package", "sha256": "7b58ac091f658ce7d06ccaa7aa561c5e5e1da1fe74120551ed84b62fbc8cc78e", "shared_library": false, "unvendored_tests": true, "version": "1.6.2"}, "autograd-tests": {"depends": ["autograd"], "file_name": "autograd-tests.tar", "imports": [], "install_dir": "site", "name": "autograd-tests", "package_type": "package", "sha256": "f4791dc86e9843516fe577f4db49eb186402c676f86c07acd0e409f2a019eb4f", "shared_library": false, "unvendored_tests": false, "version": "1.6.2"}, "awkward-cpp": {"depends": ["numpy"], "file_name": "awkward_cpp-26-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["awkward_cpp"], "install_dir": "site", "name": "awkward-cpp", "package_type": "package", "sha256": "2394b0aa6b198242ff717ba7e92532fda878eb578cb24cdd455edf82503fdfd7", "shared_library": false, "unvendored_tests": false, "version": "26"}, "b2d": {"depends": ["numpy", "pydantic", "setuptools"], "file_name": "b2d-0.7.4-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["b2d"], "install_dir": "site", "name": "b2d", "package_type": "package", "sha256": "149fc0248121cf1b8e5195d1b003bc03b6900ce563b9b64bccd13865593b2b8b", "shared_library": false, "unvendored_tests": false, "version": "0.7.4"}, "bcrypt": {"depends": [], "file_name": "bcrypt-4.0.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["bcrypt"], "install_dir": "site", "name": "bcrypt", "package_type": "package", "sha256": "e9b2d778c6615b2ade88eac01e4b21ec7b4d6b51e05ac3c748aebb12e5f71910", "shared_library": false, "unvendored_tests": false, "version": "4.0.1"}, "beautifulsoup4": {"depends": ["soupsieve"], "file_name": "beautifulsoup4-4.12.2-py3-none-any.whl", "imports": ["bs4"], "install_dir": "site", "name": "beautifulsoup4", "package_type": "package", "sha256": "dbe2f94facd8a454d2322368cb11d522d8d16987f4fc28f2dcce5b967fcb749b", "shared_library": false, "unvendored_tests": true, "version": "4.12.2"}, "beautifulsoup4-tests": {"depends": ["beautifulsoup4"], "file_name": "beautifulsoup4-tests.tar", "imports": [], "install_dir": "site", "name": "beautifulsoup4-tests", "package_type": "package", "sha256": "7d6a84548cb6169d89d57e13635bdddda6083f9314032a2baea6aa2d12a9d201", "shared_library": false, "unvendored_tests": false, "version": "4.12.2"}, "biopython": {"depends": ["numpy"], "file_name": "biopython-1.81-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["Bio", "BioSQL"], "install_dir": "site", "name": "biopython", "package_type": "package", "sha256": "370551bd0e7430c2cb41c043780ccd0d1bd76f52ba0d521fc53f8ed55861bc38", "shared_library": false, "unvendored_tests": false, "version": "1.81"}, "bitarray": {"depends": [], "file_name": "bitarray-2.8.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["bitarray"], "install_dir": "site", "name": "bitarray", "package_type": "package", "sha256": "f40653a95a2f1573daef91579d4661a2ec6a7ae59589060f9e87114655cd461c", "shared_library": false, "unvendored_tests": true, "version": "2.8.1"}, "bitarray-tests": {"depends": ["bitarray"], "file_name": "bitarray-tests.tar", "imports": [], "install_dir": "site", "name": "bitarray-tests", "package_type": "package", "sha256": "818b276df6efc4d41f59cc80785a33ff46cceac2b6dd9fbd30eedb503547f9db", "shared_library": false, "unvendored_tests": false, "version": "2.8.1"}, "bitstring": {"depends": ["bitarray"], "file_name": "bitstring-4.1.1-py3-none-any.whl", "imports": ["bitstring"], "install_dir": "site", "name": "bitstring", "package_type": "package", "sha256": "ae6cfeaefce7f828f157a41da419cdfc45f0f9cfc95112789789630bf0594746", "shared_library": false, "unvendored_tests": false, "version": "4.1.1"}, "bleach": {"depends": ["webencodings", "packaging", "six"], "file_name": "bleach-6.0.0-py3-none-any.whl", "imports": ["bleach"], "install_dir": "site", "name": "bleach", "package_type": "package", "sha256": "05156da9303d247f6220038f6e5b8d4c7556dd8a8096034b4ab884c4717c894f", "shared_library": false, "unvendored_tests": false, "version": "6.0.0"}, "bokeh": {"depends": ["distutils", "numpy", "jinja2", "pandas", "pillow", "python-dateutil", "six", "typing-extensions", "pyyaml", "xyzservices"], "file_name": "bokeh-3.2.2-py3-none-any.whl", "imports": ["bokeh"], "install_dir": "site", "name": "bokeh", "package_type": "package", "sha256": "17003e3bdc4fa2bcd44a5d02ad059f58811043744a448e70d05a81d6ba6bda5e", "shared_library": false, "unvendored_tests": false, "version": "3.2.2"}, "boost-histogram": {"depends": ["numpy"], "file_name": "boost_histogram-1.3.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["boost_histogram"], "install_dir": "site", "name": "boost-histogram", "package_type": "package", "sha256": "ce665ab7dcf0587ff27e6c597435e4aaf7b5d6f41f2fb8e1ed7ebbefe61ebac6", "shared_library": false, "unvendored_tests": false, "version": "1.3.2"}, "brotli": {"depends": [], "file_name": "Brotli-1.0.9-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["brotli"], "install_dir": "site", "name": "brotli", "package_type": "package", "sha256": "365b3669eb68f4c02165bd264ccac110a5be339186b13bb4743085b051ece13c", "shared_library": false, "unvendored_tests": false, "version": "1.0.9"}, "cachetools": {"depends": [], "file_name": "cachetools-5.3.1-py3-none-any.whl", "imports": ["cachetools"], "install_dir": "site", "name": "cachetools", "package_type": "package", "sha256": "7eea389b99a6b055c4e781f739524209b0118324511348361ed0df4913e1a524", "shared_library": false, "unvendored_tests": false, "version": "5.3.1"}, "cartopy": {"depends": ["shapely", "pyshp", "pyproj", "geos", "matplotlib", "scipy"], "file_name": "Cartopy-0.21.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["cartopy"], "install_dir": "site", "name": "Cartopy", "package_type": "package", "sha256": "2ef1cc607f5c03465c24e495de3a216c75b34b603f97a78012acaa3e433cbad8", "shared_library": false, "unvendored_tests": true, "version": "0.21.1"}, "cartopy-tests": {"depends": ["cartopy"], "file_name": "Cartopy-tests.tar", "imports": [], "install_dir": "site", "name": "Cartopy-tests", "package_type": "package", "sha256": "7f2b4cc2070bf73e0e68e3d2166c40f25deac5b2135f4fd054ac5db34938c234", "shared_library": false, "unvendored_tests": false, "version": "0.21.1"}, "cbor-diag": {"depends": [], "file_name": "cbor_diag-1.0.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["cbor_diag"], "install_dir": "site", "name": "cbor-diag", "package_type": "package", "sha256": "6186e3bd2ef7e96a408d76b33d8d698d5179b714b545b8cfa39d86a26c2ca2f4", "shared_library": false, "unvendored_tests": false, "version": "1.0.1"}, "certifi": {"depends": [], "file_name": "certifi-2023.7.22-py3-none-any.whl", "imports": ["certifi"], "install_dir": "site", "name": "certifi", "package_type": "package", "sha256": "035e16956f8e00bde9f2da068fac939b6c2eae40af132f6e0c4778f0d459efa1", "shared_library": false, "unvendored_tests": false, "version": "2023.7.22"}, "cffi": {"depends": ["pycparser"], "file_name": "cffi-1.15.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["cffi"], "install_dir": "site", "name": "cffi", "package_type": "package", "sha256": "7302fca160c66d0d2e3a08b2e4310c16f1f8b07368e4a5efe07bf5d903057c3a", "shared_library": false, "unvendored_tests": false, "version": "1.15.1"}, "cffi-example": {"depends": ["cffi"], "file_name": "cffi_example-0.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["cffi_example"], "install_dir": "site", "name": "cffi_example", "package_type": "package", "sha256": "c4f8d9ebf5d886862124d5780795911dbe2eb01150588d25d620047bc12a6ac7", "shared_library": false, "unvendored_tests": false, "version": "0.1"}, "cftime": {"depends": ["numpy"], "file_name": "cftime-1.6.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["cftime"], "install_dir": "site", "name": "cftime", "package_type": "package", "sha256": "6868baa7e1e1184ff97c3cc8c8c3bdbc99137109d7d07199741ea4500672fe10", "shared_library": false, "unvendored_tests": false, "version": "1.6.2"}, "charset-normalizer": {"depends": [], "file_name": "charset_normalizer-3.3.2-py3-none-any.whl", "imports": ["charset_normalizer"], "install_dir": "site", "name": "charset-normalizer", "package_type": "package", "sha256": "4bd1d6d54704ffa7fb3235f22a11dcbbdf45ade28fc51c5329596b889886a772", "shared_library": false, "unvendored_tests": false, "version": "3.3.2"}, "click": {"depends": [], "file_name": "click-8.1.7-py3-none-any.whl", "imports": ["click"], "install_dir": "site", "name": "click", "package_type": "package", "sha256": "fcf2043ed2309bce8cbd147868bd539f31648c4618d6288242e5dc1040bbffb2", "shared_library": false, "unvendored_tests": false, "version": "8.1.7"}, "cligj": {"depends": ["click"], "file_name": "cligj-0.7.2-py3-none-any.whl", "imports": ["cligj"], "install_dir": "site", "name": "cligj", "package_type": "package", "sha256": "153633543becaf42b7d668d2f6622df8ef81a60d9f7a6236bae9fcd958bc59f9", "shared_library": false, "unvendored_tests": false, "version": "0.7.2"}, "cloudpickle": {"depends": [], "file_name": "cloudpickle-2.2.1-py3-none-any.whl", "imports": ["cloudpickle"], "install_dir": "site", "name": "cloudpickle", "package_type": "package", "sha256": "ed461402550e3fe74ca3ce86e6176a6fb82062bba4802860e558b965af5894fc", "shared_library": false, "unvendored_tests": false, "version": "2.2.1"}, "cmyt": {"depends": ["colorspacious", "matplotlib", "more-itertools", "numpy"], "file_name": "cmyt-1.3.1-py3-none-any.whl", "imports": ["cmyt"], "install_dir": "site", "name": "cmyt", "package_type": "package", "sha256": "2967c67e358291863d5ffb724b5d09800339ea3ba3921409d0f31d83406e228e", "shared_library": false, "unvendored_tests": true, "version": "1.3.1"}, "cmyt-tests": {"depends": ["cmyt"], "file_name": "cmyt-tests.tar", "imports": [], "install_dir": "site", "name": "cmyt-tests", "package_type": "package", "sha256": "32e14b49bbb8957a1a5d5f313c0208addde3e1fa4f464b5ce7d84334f6b4d086", "shared_library": false, "unvendored_tests": false, "version": "1.3.1"}, "colorspacious": {"depends": ["numpy"], "file_name": "colorspacious-1.1.2-py2.py3-none-any.whl", "imports": ["colorspacious"], "install_dir": "site", "name": "colorspacious", "package_type": "package", "sha256": "0032bbe174dc9cd644eb8fd6dc96b7887165b17c7bdaa1054f4afcaeed93dbc6", "shared_library": false, "unvendored_tests": false, "version": "1.1.2"}, "contourpy": {"depends": ["numpy"], "file_name": "contourpy-1.2.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["contourpy"], "install_dir": "site", "name": "contourpy", "package_type": "package", "sha256": "212a04720a2d0114dd749ba5d573bcdf99d11319420f87dec4adfb3f5934bb0c", "shared_library": false, "unvendored_tests": false, "version": "1.2.0"}, "coolprop": {"depends": ["numpy", "matplotlib"], "file_name": "CoolProp-6.6.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["CoolProp"], "install_dir": "site", "name": "coolprop", "package_type": "package", "sha256": "5efcf0db5f31ef8624fa19078b2bfb0ed050de7d7dc60b750f65ed31745a9a5b", "shared_library": false, "unvendored_tests": true, "version": "6.6.0"}, "coolprop-tests": {"depends": ["coolprop"], "file_name": "coolprop-tests.tar", "imports": [], "install_dir": "site", "name": "coolprop-tests", "package_type": "package", "sha256": "730b9e72e8d92b96ee5f3a891b9ae9a268d472385460f19ec50ab4de17c05354", "shared_library": false, "unvendored_tests": false, "version": "6.6.0"}, "coverage": {"depends": ["sqlite3"], "file_name": "coverage-7.3.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["coverage"], "install_dir": "site", "name": "coverage", "package_type": "package", "sha256": "547eafbf0472418f89947c5b87d39bf75658f3409ec17dfad6664d94324690f6", "shared_library": false, "unvendored_tests": false, "version": "7.3.0"}, "cpp-exceptions-test": {"depends": [], "file_name": "cpp-exceptions-test-0.1.zip", "imports": [], "install_dir": "dynlib", "name": "cpp-exceptions-test", "package_type": "shared_library", "sha256": "d64cb2fe52113b911fce4d276c507e2235e1c1987ac1fd7ab4afa83a28e309a7", "shared_library": true, "unvendored_tests": false, "version": "0.1"}, "cramjam": {"depends": [], "file_name": "cramjam-2.6.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["cramjam"], "install_dir": "site", "name": "cramjam", "package_type": "package", "sha256": "72e0c6ab487caa0608f9a858c1bee9bffd91e7d2e540833b249021c3083acb5d", "shared_library": false, "unvendored_tests": false, "version": "2.6.2"}, "cryptography": {"depends": ["openssl", "six", "cffi"], "file_name": "cryptography-39.0.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["cryptography"], "install_dir": "site", "name": "cryptography", "package_type": "package", "sha256": "1242bb2e27e84c59e84c5f9ad797c733778e17b43154da74b335aeb95ce82c02", "shared_library": false, "unvendored_tests": false, "version": "39.0.2"}, "cssselect": {"depends": [], "file_name": "cssselect-1.2.0-py2.py3-none-any.whl", "imports": ["cssselect"], "install_dir": "site", "name": "cssselect", "package_type": "package", "sha256": "18b9017b19489fc8c5b2ac239b59aed51315feafc473150815f2ea8c3076e56c", "shared_library": false, "unvendored_tests": false, "version": "1.2.0"}, "cycler": {"depends": ["six"], "file_name": "cycler-0.11.0-py3-none-any.whl", "imports": ["cycler"], "install_dir": "site", "name": "cycler", "package_type": "package", "sha256": "fb8c2099d30eccb6a28081968622a6b641eaccbc50c8e0fff3b89f9c315f74ca", "shared_library": false, "unvendored_tests": false, "version": "0.11.0"}, "cytoolz": {"depends": ["nose", "toolz"], "file_name": "cytoolz-0.12.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["cytoolz"], "install_dir": "site", "name": "cytoolz", "package_type": "package", "sha256": "a34ee8f0d0d016a6f5820faa3e56f863cf4ab5c77473077403071e6b14ef0605", "shared_library": false, "unvendored_tests": true, "version": "0.12.2"}, "cytoolz-tests": {"depends": ["cytoolz"], "file_name": "cytoolz-tests.tar", "imports": [], "install_dir": "site", "name": "cytoolz-tests", "package_type": "package", "sha256": "cb3d851b192e2e1d01923ca503cda30a076df1e7b5322c612d052b5b336ad29d", "shared_library": false, "unvendored_tests": false, "version": "0.12.2"}, "decorator": {"depends": [], "file_name": "decorator-5.1.1-py3-none-any.whl", "imports": ["decorator"], "install_dir": "site", "name": "decorator", "package_type": "package", "sha256": "8cb05ef07cfd69ce2524789dff0f71898e70f1df46cd26bff8c0a344058d447f", "shared_library": false, "unvendored_tests": false, "version": "5.1.1"}, "demes": {"depends": ["attrs", "ruamel.yaml"], "file_name": "demes-0.2.3-py3-none-any.whl", "imports": ["demes"], "install_dir": "site", "name": "demes", "package_type": "package", "sha256": "35800f72738148641d3aed2bf2b28aab4d7269facc4393a16faa145f6a1e5fec", "shared_library": false, "unvendored_tests": false, "version": "0.2.3"}, "deprecation": {"depends": ["packaging"], "file_name": "deprecation-2.1.0-py2.py3-none-any.whl", "imports": ["deprecation"], "install_dir": "site", "name": "deprecation", "package_type": "package", "sha256": "a778673281a6c69b2b84c38add2d9e4229a2a4792d4bde448529ac19b0ca0c81", "shared_library": false, "unvendored_tests": false, "version": "2.1.0"}, "distlib": {"depends": [], "file_name": "distlib-0.3.7-py2.py3-none-any.whl", "imports": ["distlib"], "install_dir": "site", "name": "distlib", "package_type": "package", "sha256": "6a9648d64686e42becb258a718635daf4ed23171722e1694e908180407f03d87", "shared_library": false, "unvendored_tests": false, "version": "0.3.7"}, "distutils": {"depends": [], "file_name": "distutils-1.0.0.zip", "imports": ["distutils"], "install_dir": "stdlib", "name": "distutils", "package_type": "cpython_module", "sha256": "b75494eafa9f01d738f7d76846dd92cbf5ce2ebc5e360898a62720c0c1d0817c", "shared_library": true, "unvendored_tests": false, "version": "1.0.0"}, "docutils": {"depends": [], "file_name": "docutils-0.20.1-py3-none-any.whl", "imports": ["docutils"], "install_dir": "site", "name": "docutils", "package_type": "package", "sha256": "6c1288c649310f8fca88b68bb9626c057dde7adf0da3e9c83ec0a26fa3d56d8b", "shared_library": false, "unvendored_tests": false, "version": "0.20.1"}, "exceptiongroup": {"depends": [], "file_name": "exceptiongroup-1.1.3-py3-none-any.whl", "imports": ["exceptiongroup"], "install_dir": "site", "name": "exceptiongroup", "package_type": "package", "sha256": "5c5cbd3b2ba528fb3903756ac1818107705dfb432257cc0b02dd1da3d981b1c2", "shared_library": false, "unvendored_tests": false, "version": "1.1.3"}, "fastparquet": {"depends": ["cramjam", "numpy", "pandas", "fsspec", "packaging"], "file_name": "fastparquet-2023.7.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["fastparquet"], "install_dir": "site", "name": "fastparquet", "package_type": "package", "sha256": "aa64c2029db98a10d9b6c56c3b4e57fe5e720a298338d3048e5a564b28b1ee9f", "shared_library": false, "unvendored_tests": false, "version": "2023.7.0"}, "fiona": {"depends": ["attrs", "certifi", "setuptools", "six", "click", "cligj"], "file_name": "Fiona-1.8.22-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["fiona"], "install_dir": "site", "name": "fiona", "package_type": "package", "sha256": "d9d27c11c6406c5366e3ec1dce47e46cf4c545ac9c6ff2e847e9217e7db11870", "shared_library": false, "unvendored_tests": false, "version": "1.8.22"}, "fonttools": {"depends": [], "file_name": "fonttools-4.42.1-py3-none-any.whl", "imports": ["fontTools"], "install_dir": "site", "name": "fonttools", "package_type": "package", "sha256": "44c48ebb8e54253bee8af587bf2685a16e00860377a2a1cf63cff5532e87a437", "shared_library": false, "unvendored_tests": false, "version": "4.42.1"}, "fpcast-test": {"depends": [], "file_name": "fpcast_test-0.1.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["fpcast_test"], "install_dir": "site", "name": "fpcast-test", "package_type": "package", "sha256": "0a897910554decc8c2af7f9e5a3c05bbfd5e4a4ad759539f6e8bd7d7bf87d59a", "shared_library": false, "unvendored_tests": false, "version": "0.1.1"}, "freesasa": {"depends": [], "file_name": "freesasa-2.2.0.post3-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["freesasa"], "install_dir": "site", "name": "freesasa", "package_type": "package", "sha256": "673fa633c43fa28ecd7661327f7f4cedd7c45a709735fc9b08d6dd46e9a0c6b5", "shared_library": false, "unvendored_tests": false, "version": "2.2.0.post3"}, "frozenlist": {"depends": [], "file_name": "frozenlist-1.4.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["frozenlist"], "install_dir": "site", "name": "frozenlist", "package_type": "package", "sha256": "8510a99c51ccf7ba137a78184559571415902fb3b502d1976604e4722df77008", "shared_library": false, "unvendored_tests": false, "version": "1.4.0"}, "fsspec": {"depends": [], "file_name": "fsspec-2023.6.0-py3-none-any.whl", "imports": ["fsspec"], "install_dir": "site", "name": "fsspec", "package_type": "package", "sha256": "8d032f447841f000f4e2db022bc68a6cfd0b895cdc6bd6c54e3a75cdafc4974e", "shared_library": false, "unvendored_tests": true, "version": "2023.6.0"}, "fsspec-tests": {"depends": ["fsspec"], "file_name": "fsspec-tests.tar", "imports": [], "install_dir": "site", "name": "fsspec-tests", "package_type": "package", "sha256": "28c1ceda3eb9abba21131a5edad6729fbc402e15d8809d0e63529c9471db5d31", "shared_library": false, "unvendored_tests": false, "version": "2023.6.0"}, "future": {"depends": [], "file_name": "future-0.18.3-py3-none-any.whl", "imports": ["future"], "install_dir": "site", "name": "future", "package_type": "package", "sha256": "f8304342e4be16ecf428aae0f58e6fbff1b88a94b420c6858f68e84c8adeeb6d", "shared_library": false, "unvendored_tests": true, "version": "0.18.3"}, "future-tests": {"depends": ["future"], "file_name": "future-tests.tar", "imports": [], "install_dir": "site", "name": "future-tests", "package_type": "package", "sha256": "db020f5e65d1decafd3162f973c02db7411d45881dd42f54199d03146a6071c8", "shared_library": false, "unvendored_tests": false, "version": "0.18.3"}, "galpy": {"depends": ["numpy", "scipy", "matplotlib", "astropy", "future", "setuptools"], "file_name": "galpy-1.9.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["galpy"], "install_dir": "site", "name": "galpy", "package_type": "package", "sha256": "e5331bdcfdcdff50ede4b0b485b5e4fa0c8f5d1bcde9b41177f49ccbc7d1d883", "shared_library": false, "unvendored_tests": false, "version": "1.9.0"}, "gdal": {"depends": ["geos"], "file_name": "gdal-3.5.1.zip", "imports": [], "install_dir": "dynlib", "name": "gdal", "package_type": "shared_library", "sha256": "928ca6712477d3a4e2e53d4ec7b37e50b72a77ec2e318ee31b506652b106ac84", "shared_library": true, "unvendored_tests": false, "version": "3.5.1"}, "gensim": {"depends": ["numpy", "scipy", "six", "smart_open"], "file_name": "gensim-4.3.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["gensim"], "install_dir": "site", "name": "gensim", "package_type": "package", "sha256": "693314a9010bc570a85790c33431ef403db5a597da4afb198d52efbd241d32e7", "shared_library": false, "unvendored_tests": true, "version": "4.3.1"}, "gensim-tests": {"depends": ["gensim"], "file_name": "gensim-tests.tar", "imports": [], "install_dir": "site", "name": "gensim-tests", "package_type": "package", "sha256": "8d5086ac15d5d8709a809a9438be8cb9912ccb0073e9304f4dd67064f0d471ea", "shared_library": false, "unvendored_tests": false, "version": "4.3.1"}, "geopandas": {"depends": ["shapely", "fiona", "pyproj", "packaging", "pandas"], "file_name": "geopandas-0.13.2-py3-none-any.whl", "imports": ["geopandas"], "install_dir": "site", "name": "geopandas", "package_type": "package", "sha256": "8770de3ec6e78915f4af15d27cb50d6c3dbeb158fcf0e580de9e72142cd4b938", "shared_library": false, "unvendored_tests": true, "version": "0.13.2"}, "geopandas-tests": {"depends": ["geopandas"], "file_name": "geopandas-tests.tar", "imports": [], "install_dir": "site", "name": "geopandas-tests", "package_type": "package", "sha256": "482923f2be7952335340e5ed177f573532e8fbb14fbfdd446e64eefa0ba6b0bb", "shared_library": false, "unvendored_tests": false, "version": "0.13.2"}, "geos": {"depends": [], "file_name": "geos-3.10.3.zip", "imports": [], "install_dir": "dynlib", "name": "geos", "package_type": "shared_library", "sha256": "cc272817d15a58e0528e04fe7438b28a6326efac75ef30d202afafe5e6a3d78d", "shared_library": true, "unvendored_tests": false, "version": "3.10.3"}, "gmpy2": {"depends": [], "file_name": "gmpy2-2.1.5-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["gmpy2"], "install_dir": "site", "name": "gmpy2", "package_type": "package", "sha256": "c7fdc25deb1bfcf2134f0908efd3766791859f2cfb59471a5dc0f8dd7989924e", "shared_library": false, "unvendored_tests": false, "version": "2.1.5"}, "gsw": {"depends": ["numpy"], "file_name": "gsw-3.6.16-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["gsw"], "install_dir": "site", "name": "gsw", "package_type": "package", "sha256": "322e02d2cc4b7ec6fe109c93994abcd501177231652f6d3f190a1b4f130bc07b", "shared_library": false, "unvendored_tests": true, "version": "3.6.16"}, "gsw-tests": {"depends": ["gsw"], "file_name": "gsw-tests.tar", "imports": [], "install_dir": "site", "name": "gsw-tests", "package_type": "package", "sha256": "0225cb0576fd4f00da8dd8f05a74f5999f4901cd95d95c12da8c018f0d6a87ee", "shared_library": false, "unvendored_tests": false, "version": "3.6.16"}, "h5py": {"depends": ["numpy", "pkgconfig"], "file_name": "h5py-3.7.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["h5py"], "install_dir": "site", "name": "h5py", "package_type": "package", "sha256": "284f4f4db445a047bbd1f5ef4f85b03ab90710ae719f500724725253ed52a87c", "shared_library": false, "unvendored_tests": true, "version": "3.7.0"}, "h5py-tests": {"depends": ["h5py"], "file_name": "h5py-tests.tar", "imports": [], "install_dir": "site", "name": "h5py-tests", "package_type": "package", "sha256": "439141ffaa93c6a569a6b1214d6953d3d4b8f4e9251ad6dfcddb3120fc5dc180", "shared_library": false, "unvendored_tests": false, "version": "3.7.0"}, "hashlib": {"depends": ["openssl"], "file_name": "hashlib-1.0.0.zip", "imports": ["_hashlib"], "install_dir": "stdlib", "name": "hashlib", "package_type": "cpython_module", "sha256": "96545d5e075cdbfdd26689b56bd4cd6bd705636043e721db3f19f0994ff73a61", "shared_library": true, "unvendored_tests": false, "version": "1.0.0"}, "html5lib": {"depends": ["webencodings", "six"], "file_name": "html5lib-1.1-py2.py3-none-any.whl", "imports": ["html5lib"], "install_dir": "site", "name": "html5lib", "package_type": "package", "sha256": "de95ce171249cec12df3b4586e98637fb49d2c61c6796dd4e92e46d9e8dbe4dd", "shared_library": false, "unvendored_tests": false, "version": "1.1"}, "idna": {"name": "idna", "version": "3.6", "file_name": "idna-3.6-py3-none-any.whl", "install_dir": "site", "sha256": "c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f", "depends": [], "imports": ["idna"]}, "igraph": {"depends": ["texttable"], "file_name": "igraph-0.10.6-cp39-abi3-emscripten_3_1_46_wasm32.whl", "imports": ["igraph"], "install_dir": "site", "name": "igraph", "package_type": "package", "sha256": "512af240864de8da3c2aac61c507ccefbfcbeac3c6bbb7b853f9eeaa561b4771", "shared_library": false, "unvendored_tests": false, "version": "0.10.6"}, "imageio": {"depends": ["numpy", "pillow"], "file_name": "imageio-2.31.1-py3-none-any.whl", "imports": ["imageio"], "install_dir": "site", "name": "imageio", "package_type": "package", "sha256": "dcbcfd1c1dfaf27dfa9d9398723fe7f3c6c6bf7d76306cc13dc4c99e55645d9b", "shared_library": false, "unvendored_tests": false, "version": "2.31.1"}, "iniconfig": {"depends": [], "file_name": "iniconfig-2.0.0-py3-none-any.whl", "imports": ["iniconfig"], "install_dir": "site", "name": "iniconfig", "package_type": "package", "sha256": "55829da7bce5e900f4e1027b0160010a5f19415e3a1580fa9122499f93d08df5", "shared_library": false, "unvendored_tests": false, "version": "2.0.0"}, "jedi": {"depends": ["parso"], "file_name": "jedi-0.19.0-py2.py3-none-any.whl", "imports": ["jedi"], "install_dir": "site", "name": "jedi", "package_type": "package", "sha256": "201728f959e5244ab625a6818051be174a826a87c6df566acf8db1dba0a4d8db", "shared_library": false, "unvendored_tests": true, "version": "0.19.0"}, "jedi-tests": {"depends": ["jedi"], "file_name": "jedi-tests.tar", "imports": [], "install_dir": "site", "name": "jedi-tests", "package_type": "package", "sha256": "90203b4f196c1a6680fa3bdd0930d11d047df3d739c660ae28a4e47b007975db", "shared_library": false, "unvendored_tests": false, "version": "0.19.0"}, "jinja2": {"depends": ["markupsafe"], "file_name": "Jinja2-3.1.2-py3-none-any.whl", "imports": ["jinja2"], "install_dir": "site", "name": "Jinja2", "package_type": "package", "sha256": "3d36e0ef8fb8f0c360a8987cf6544d54df95ef557fc7d1ada00698ec115cee03", "shared_library": false, "unvendored_tests": false, "version": "3.1.2"}, "joblib": {"depends": ["distutils"], "file_name": "joblib-1.3.2-py3-none-any.whl", "imports": ["joblib"], "install_dir": "site", "name": "joblib", "package_type": "package", "sha256": "e5fa1a44f8dca5780346f00f1698861d846d4b6365c780a61826adcd299ae740", "shared_library": false, "unvendored_tests": true, "version": "1.3.2"}, "joblib-tests": {"depends": ["joblib"], "file_name": "joblib-tests.tar", "imports": [], "install_dir": "site", "name": "joblib-tests", "package_type": "package", "sha256": "1eb0636fa5a6c4ba727e35135587885b7f83d934be2c010b2ea2fd8589e9ef8e", "shared_library": false, "unvendored_tests": false, "version": "1.3.2"}, "jsonschema": {"depends": ["attrs", "pyrsistent"], "file_name": "jsonschema-4.17.3-py3-none-any.whl", "imports": ["jsonschema"], "install_dir": "site", "name": "jsonschema", "package_type": "package", "sha256": "ce29a46d382227b0243574e9993712283e890c88f33eaf511a16837d25e9ad9a", "shared_library": false, "unvendored_tests": true, "version": "4.17.3"}, "jsonschema-tests": {"depends": ["jsonschema"], "file_name": "jsonschema-tests.tar", "imports": [], "install_dir": "site", "name": "jsonschema-tests", "package_type": "package", "sha256": "f5f8356cfc0d28875fffe1e54180f8929d9856f52a4b6a92d88903c7dc648efb", "shared_library": false, "unvendored_tests": false, "version": "4.17.3"}, "kiwisolver": {"depends": [], "file_name": "kiwisolver-1.4.4-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["kiwisolver"], "install_dir": "site", "name": "kiwisolver", "package_type": "package", "sha256": "8b6330276ee0c47dabbab6a84a4c7411cfc5d7aee3e1686cf561d6a3cb3bd042", "shared_library": false, "unvendored_tests": false, "version": "1.4.4"}, "lazy-loader": {"depends": [], "file_name": "lazy_loader-0.3-py3-none-any.whl", "imports": ["lazy_loader"], "install_dir": "site", "name": "lazy_loader", "package_type": "package", "sha256": "d9c3b21a25ac46cbec8e4a26a7d9ac0f2fa59e3caa0ef83f0c16ea501ef74f04", "shared_library": false, "unvendored_tests": true, "version": "0.3"}, "lazy-loader-tests": {"depends": ["lazy_loader"], "file_name": "lazy_loader-tests.tar", "imports": [], "install_dir": "site", "name": "lazy_loader-tests", "package_type": "package", "sha256": "946f97e09a2681dd7b72076cc31c623d9f557ed8f20ed254c3830f90dcc1bd81", "shared_library": false, "unvendored_tests": false, "version": "0.3"}, "lazy-object-proxy": {"depends": [], "file_name": "lazy_object_proxy-1.9.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["lazy_object_proxy"], "install_dir": "site", "name": "lazy-object-proxy", "package_type": "package", "sha256": "b7ac7ec5737ceeb081d2939874fcbfdf8d0805ac29b56d3bc860bfda33e9c580", "shared_library": false, "unvendored_tests": false, "version": "1.9.0"}, "libhdf5": {"depends": [], "file_name": "libhdf5-1.12.1.zip", "imports": [], "install_dir": "dynlib", "name": "libhdf5", "package_type": "shared_library", "sha256": "50a7e63e1d00ec776ef7908410231425cf3b8c96affc3a216657fb318e85d6d6", "shared_library": true, "unvendored_tests": false, "version": "1.12.1"}, "libheif": {"depends": [], "file_name": "libheif-1.12.0.zip", "imports": [], "install_dir": "dynlib", "name": "libheif", "package_type": "shared_library", "sha256": "063b073832632ee58cf5931bad45721d00032bb3c6c98f5bdbca77de52b2961e", "shared_library": true, "unvendored_tests": false, "version": "1.12.0"}, "libmagic": {"depends": [], "file_name": "libmagic-5.42.zip", "imports": [], "install_dir": "dynlib", "name": "libmagic", "package_type": "shared_library", "sha256": "dd6eb6b211961309cf05d2f56b0d37168fef6323c6ce7f7c7f990be540fc2c6a", "shared_library": true, "unvendored_tests": false, "version": "5.42"}, "libnetcdf": {"depends": [], "file_name": "libnetcdf-4.9.2.zip", "imports": [], "install_dir": "dynlib", "name": "libnetcdf", "package_type": "shared_library", "sha256": "12c1848ac76e6812dc4cb6e9cf98dd4202d205b8c3f28b9124d23b777336464e", "shared_library": true, "unvendored_tests": false, "version": "4.9.2"}, "lightgbm": {"depends": ["numpy", "scipy", "scikit-learn"], "file_name": "lightgbm-4.3.0-py3-none-emscripten_3_1_46_wasm32.whl", "imports": ["lightgbm"], "install_dir": "site", "name": "lightgbm", "package_type": "package", "sha256": "cfc17222a911f0ed4b290e8dae6c009735b4e34b4e5560ea8c5afa99f4db061c", "shared_library": false, "unvendored_tests": false, "version": "4.3.0"}, "logbook": {"depends": [], "file_name": "Logbook-1.6.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["logbook"], "install_dir": "site", "name": "logbook", "package_type": "package", "sha256": "433801f3e66706f15d5939a662814e3786131fd934de33f6935803fd88a05d1c", "shared_library": false, "unvendored_tests": false, "version": "1.6.0"}, "lxml": {"depends": [], "file_name": "lxml-4.9.3-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["lxml"], "install_dir": "site", "name": "lxml", "package_type": "package", "sha256": "b0591abd915683c44f04f128195aaea3f04f9406045e5b12101dea8c537bbd2e", "shared_library": false, "unvendored_tests": false, "version": "4.9.3"}, "lzma": {"depends": [], "file_name": "lzma-1.0.0.zip", "imports": ["lzma", "_lzma"], "install_dir": "stdlib", "name": "lzma", "package_type": "cpython_module", "sha256": "4bd809931c88480b9628dfd4d4c6488cc86e0b5ec06ebc56c800fe7f7bf7e8d4", "shared_library": true, "unvendored_tests": false, "version": "1.0.0"}, "markupsafe": {"depends": [], "file_name": "MarkupSafe-2.1.3-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["markupsafe"], "install_dir": "site", "name": "MarkupSafe", "package_type": "package", "sha256": "6560ed9785c0b0bd722d5967e90847780d4b9b561f95024a1b7ae759da1ddb25", "shared_library": false, "unvendored_tests": false, "version": "2.1.3"}, "matplotlib": {"depends": ["cycler", "fonttools", "kiwisolver", "numpy", "packaging", "pillow", "pyparsing", "python-dateutil", "pytz", "matplotlib-pyodide"], "file_name": "matplotlib-3.5.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["pylab", "mpl_toolkits", "matplotlib"], "install_dir": "site", "name": "matplotlib", "package_type": "package", "sha256": "f7bfdbc3653a9f7bc7273d6ebd4f5f770cd08c88854ff3e66c5dd62395568f72", "shared_library": false, "unvendored_tests": true, "version": "3.5.2"}, "matplotlib-pyodide": {"depends": [], "file_name": "matplotlib_pyodide-0.2.0-py3-none-any.whl", "imports": ["matplotlib_pyodide"], "install_dir": "site", "name": "matplotlib-pyodide", "package_type": "package", "sha256": "ef09d7009e902a3ba385d6be761f960c003e4ebf43140bd1458cedfd9b0c2a74", "shared_library": false, "unvendored_tests": false, "version": "0.2.0"}, "matplotlib-tests": {"depends": ["matplotlib"], "file_name": "matplotlib-tests.tar", "imports": [], "install_dir": "site", "name": "matplotlib-tests", "package_type": "package", "sha256": "a703adecc0e9a9c8743e2fa1fda080dbfffdfef66fef2fd2002599b53f53ae5c", "shared_library": false, "unvendored_tests": false, "version": "3.5.2"}, "micropip": {"depends": ["packaging"], "file_name": "micropip-0.5.0-py3-none-any.whl", "imports": ["micropip"], "install_dir": "site", "name": "micropip", "package_type": "package", "sha256": "8df6295822c842e312c71eee20c8561343b7a8f3b0f6a5debb91d390ae0d7d1e", "shared_library": false, "unvendored_tests": false, "version": "0.5.0"}, "mne": {"depends": ["distutils", "numpy", "scipy", "setuptools", "decorator"], "file_name": "mne-1.5.0-py3-none-any.whl", "imports": ["mne"], "install_dir": "site", "name": "mne", "package_type": "package", "sha256": "bb498b873427f55be8f72a252177a465e4710ef2c6c4f7958039635fa699d55e", "shared_library": false, "unvendored_tests": true, "version": "1.5.0"}, "mne-tests": {"depends": ["mne"], "file_name": "mne-tests.tar", "imports": [], "install_dir": "site", "name": "mne-tests", "package_type": "package", "sha256": "df384a92e3574942c92e5964f472cfa28d5591b519163de0927eb63444d17f55", "shared_library": false, "unvendored_tests": false, "version": "1.5.0"}, "more-itertools": {"depends": [], "file_name": "more_itertools-10.1.0-py3-none-any.whl", "imports": ["more_itertools"], "install_dir": "site", "name": "more-itertools", "package_type": "package", "sha256": "78070ab96535d60bd99847d20bffcec44af6ec504ae3c92f74c1fc4df2dc333a", "shared_library": false, "unvendored_tests": false, "version": "10.1.0"}, "mpmath": {"depends": [], "file_name": "mpmath-1.3.0-py3-none-any.whl", "imports": ["mpmath"], "install_dir": "site", "name": "mpmath", "package_type": "package", "sha256": "1ea4ee89672995ab0490528c40b2d82308557e08d3d4d919b34ab8d2485c9eb4", "shared_library": false, "unvendored_tests": true, "version": "1.3.0"}, "mpmath-tests": {"depends": ["mpmath"], "file_name": "mpmath-tests.tar", "imports": [], "install_dir": "site", "name": "mpmath-tests", "package_type": "package", "sha256": "be700e63458f5181bd4b722ddb8aa191bcf23cdf20936abf4c60f6c22daf96b4", "shared_library": false, "unvendored_tests": false, "version": "1.3.0"}, "msgpack": {"depends": [], "file_name": "msgpack-1.0.5-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["msgpack"], "install_dir": "site", "name": "msgpack", "package_type": "package", "sha256": "27a8cb0114bb2a2ed7d0b3e2a6727e7e6f768e8086ef69090eb0adb06d40dafe", "shared_library": false, "unvendored_tests": false, "version": "1.0.5"}, "msgspec": {"depends": [], "file_name": "msgspec-0.18.4-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["msgspec"], "install_dir": "site", "name": "msgspec", "package_type": "package", "sha256": "861d1ee8dd43030e913b8c8c6d006637a39486ec2f79dc4f5d65b019b7b6b610", "shared_library": false, "unvendored_tests": false, "version": "0.18.4"}, "msprime": {"depends": ["numpy", "newick", "tskit", "demes"], "file_name": "msprime-1.2.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["msprime"], "install_dir": "site", "name": "msprime", "package_type": "package", "sha256": "df81bb0c1a9dca6d6e59a35ccabcd9e66a541d68f654280f5d5652fcddb2a4d8", "shared_library": false, "unvendored_tests": false, "version": "1.2.0"}, "multidict": {"depends": [], "file_name": "multidict-6.0.4-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["multidict"], "install_dir": "site", "name": "multidict", "package_type": "package", "sha256": "fc5ac571ec6bae9da91e71855968d5d903c11190c4d9a59c828ed1e5dd0b5f16", "shared_library": false, "unvendored_tests": false, "version": "6.0.4"}, "munch": {"depends": ["setuptools", "six"], "file_name": "munch-4.0.0-py2.py3-none-any.whl", "imports": ["munch"], "install_dir": "site", "name": "munch", "package_type": "package", "sha256": "8c80a1f34abd2167f62c559a033351f603b83a4f832e32d75913ac0899bd17fd", "shared_library": false, "unvendored_tests": false, "version": "4.0.0"}, "mypy": {"depends": [], "file_name": "mypy-1.5.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["mypyc", "mypy"], "install_dir": "site", "name": "mypy", "package_type": "package", "sha256": "707ba885bca5857596360796cb08ead018702fa1ab7f3bb9790481b0621cdd81", "shared_library": false, "unvendored_tests": true, "version": "1.5.1"}, "mypy-tests": {"depends": ["mypy"], "file_name": "mypy-tests.tar", "imports": [], "install_dir": "site", "name": "mypy-tests", "package_type": "package", "sha256": "b280684c71fac89dc8bbc350f5c42bf7cfa79463978b9579b66a2c1712f08434", "shared_library": false, "unvendored_tests": false, "version": "1.5.1"}, "netcdf4": {"depends": ["numpy", "packaging", "h5py", "cftime", "certifi"], "file_name": "netCDF4-1.6.4-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["netCDF4"], "install_dir": "site", "name": "netcdf4", "package_type": "package", "sha256": "1c8fa6697ceaf52afde1aa65ef4e2e07e63fbe299a3ec30bba6abc8363464922", "shared_library": false, "unvendored_tests": false, "version": "1.6.4"}, "networkx": {"depends": ["decorator", "setuptools", "matplotlib", "numpy"], "file_name": "networkx-3.1-py3-none-any.whl", "imports": ["networkx"], "install_dir": "site", "name": "networkx", "package_type": "package", "sha256": "9af74fa17cf8adc0e6829b6a3a6087aee1565dd6bfcd8e839aa08c7e476fd081", "shared_library": false, "unvendored_tests": true, "version": "3.1"}, "networkx-tests": {"depends": ["networkx"], "file_name": "networkx-tests.tar", "imports": [], "install_dir": "site", "name": "networkx-tests", "package_type": "package", "sha256": "029d8512c7fe2b50484102f1c4108cc34dfcd1a3c3076dae59d0b8117a411fde", "shared_library": false, "unvendored_tests": false, "version": "3.1"}, "newick": {"depends": [], "file_name": "newick-1.9.0-py2.py3-none-any.whl", "imports": ["newick"], "install_dir": "site", "name": "newick", "package_type": "package", "sha256": "d8685c0d28c763f5ca06c3b0ce829a4f5542fb110e8aeafeac0e0036407173be", "shared_library": false, "unvendored_tests": false, "version": "1.9.0"}, "nh3": {"depends": [], "file_name": "nh3-0.2.15-cp37-abi3-emscripten_3_1_46_wasm32.whl", "imports": ["nh3"], "install_dir": "site", "name": "nh3", "package_type": "package", "sha256": "0286e4ae925fc2f4ee212a9e9fc4bde67c00e5343b9347496b54e410987c143f", "shared_library": false, "unvendored_tests": false, "version": "0.2.15"}, "nlopt": {"depends": ["numpy"], "file_name": "nlopt-2.7.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["nlopt"], "install_dir": "site", "name": "nlopt", "package_type": "package", "sha256": "fb1313a99e8cc167a56cd9a773767d252f274bfe71ad11e258523fb6103ef205", "shared_library": false, "unvendored_tests": false, "version": "2.7.0"}, "nltk": {"depends": ["regex", "sqlite3"], "file_name": "nltk-3.8.1-py3-none-any.whl", "imports": ["nltk"], "install_dir": "site", "name": "nltk", "package_type": "package", "sha256": "2f4f369a171adb8e176c85f4a11e655dd923c5f8ca6247a894835e8c3895bcc8", "shared_library": false, "unvendored_tests": true, "version": "3.8.1"}, "nltk-tests": {"depends": ["nltk"], "file_name": "nltk-tests.tar", "imports": [], "install_dir": "site", "name": "nltk-tests", "package_type": "package", "sha256": "a819fca86b1164f92bb5c55d6cb950a5f4dd023002fddf9a7eb36a9c2121093a", "shared_library": false, "unvendored_tests": false, "version": "3.8.1"}, "nose": {"depends": ["setuptools"], "file_name": "nose-1.3.7-py3-none-any.whl", "imports": ["nose"], "install_dir": "site", "name": "nose", "package_type": "package", "sha256": "0a840cb02163bf7dd751fa6774bb4f7da8a5145eb00ad2941ed73d58a5d4eaef", "shared_library": false, "unvendored_tests": false, "version": "1.3.7"}, "numcodecs": {"depends": ["numpy", "msgpack"], "file_name": "numcodecs-0.11.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["numcodecs"], "install_dir": "site", "name": "numcodecs", "package_type": "package", "sha256": "f3cd23ee6a6b2517212924efaa4fbeced7ff00e568ce042967b921ec6bd73b5d", "shared_library": false, "unvendored_tests": true, "version": "0.11.0"}, "numcodecs-tests": {"depends": ["numcodecs"], "file_name": "numcodecs-tests.tar", "imports": [], "install_dir": "site", "name": "numcodecs-tests", "package_type": "package", "sha256": "2bf2125578cd68640031ba9f1952d343f4348b18616a89db51a60ae73579b9ef", "shared_library": false, "unvendored_tests": false, "version": "0.11.0"}, "numpy": {"depends": [], "file_name": "numpy-1.26.4-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["numpy"], "install_dir": "site", "name": "numpy", "package_type": "package", "sha256": "887f7b1ec5e8e0b545b081ae64fdd893f75f8643e069ff6c2585cf20252f6a71", "shared_library": false, "unvendored_tests": true, "version": "1.26.4"}, "numpy-tests": {"depends": ["numpy"], "file_name": "numpy-tests.tar", "imports": [], "install_dir": "site", "name": "numpy-tests", "package_type": "package", "sha256": "d15cf76710b44923caea4ce010ad81014b723a751e86704d897fd2840f8d6090", "shared_library": false, "unvendored_tests": false, "version": "1.26.4"}, "openblas": {"depends": [], "file_name": "openblas-0.3.23.zip", "imports": [], "install_dir": "dynlib", "name": "openblas", "package_type": "shared_library", "sha256": "fd4867ee63ad4e9c250faa2ade932ebe0513a99da1368ac77b155a116a4aa55e", "shared_library": true, "unvendored_tests": false, "version": "0.3.23"}, "opencv-python": {"depends": ["numpy"], "file_name": "opencv_python-4.8.0.76-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["cv2"], "install_dir": "site", "name": "opencv-python", "package_type": "package", "sha256": "205d22d0b3cd488d036c8e292f89b55d6ea71fbc7311081e8c3555d731e330d6", "shared_library": false, "unvendored_tests": false, "version": "4.8.0.76"}, "openssl": {"depends": [], "file_name": "openssl-1.1.1n.zip", "imports": [], "install_dir": "dynlib", "name": "openssl", "package_type": "shared_library", "sha256": "d3a7f501968c6c78c1cb3dfd45128fad7538f4f28bf4e70e12ffdcb838a78387", "shared_library": true, "unvendored_tests": false, "version": "1.1.1n"}, "optlang": {"depends": ["sympy", "six", "swiglpk"], "file_name": "optlang-1.7.0-py2.py3-none-any.whl", "imports": ["optlang"], "install_dir": "site", "name": "optlang", "package_type": "package", "sha256": "caf00d3c7def7b6e8e4a5c3f02b8191d3afd49378ed71c80935f459cc2ed00cd", "shared_library": false, "unvendored_tests": true, "version": "1.7.0"}, "optlang-tests": {"depends": ["optlang"], "file_name": "optlang-tests.tar", "imports": [], "install_dir": "site", "name": "optlang-tests", "package_type": "package", "sha256": "be94d63bb82630106482e8a492aa90db10fbbfecaf90d88b6822853b83b8bd39", "shared_library": false, "unvendored_tests": false, "version": "1.7.0"}, "orjson": {"depends": [], "file_name": "orjson-3.9.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["orjson"], "install_dir": "site", "name": "orjson", "package_type": "package", "sha256": "fdd3aacff8789c1e41c00710917e0714c1417728288a78cdb8d7baa7cc735896", "shared_library": false, "unvendored_tests": false, "version": "3.9.2"}, "packaging": {"depends": [], "file_name": "packaging-23.1-py3-none-any.whl", "imports": ["packaging"], "install_dir": "site", "name": "packaging", "package_type": "package", "sha256": "952adfd0fbede825af3ddd33cf288778a247ef83d92de2118d02e7d188e2d917", "shared_library": false, "unvendored_tests": false, "version": "23.1"}, "pandas": {"depends": ["numpy", "python-dateutil", "pytz", "jinja2"], "file_name": "pandas-1.5.3-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["pandas"], "install_dir": "site", "name": "pandas", "package_type": "package", "sha256": "15ebfb3055ea2050434ea90b16d8bbc5f0ab62bb13954d42a368530530bc831e", "shared_library": false, "unvendored_tests": true, "version": "1.5.3"}, "pandas-tests": {"depends": ["pandas"], "file_name": "pandas-tests.tar", "imports": [], "install_dir": "site", "name": "pandas-tests", "package_type": "package", "sha256": "a41a1e628fa74445ed58137503d2eba52818d6eabf59188f1f145f7facec9c99", "shared_library": false, "unvendored_tests": false, "version": "1.5.3"}, "parso": {"depends": [], "file_name": "parso-0.8.3-py2.py3-none-any.whl", "imports": ["parso"], "install_dir": "site", "name": "parso", "package_type": "package", "sha256": "2d9de2bb7ab8a91e33c3997eca4c6258b5d3a103bde32768e47def2d3cfe8a07", "shared_library": false, "unvendored_tests": false, "version": "0.8.3"}, "patsy": {"depends": ["numpy", "six"], "file_name": "patsy-0.5.3-py2.py3-none-any.whl", "imports": ["patsy"], "install_dir": "site", "name": "patsy", "package_type": "package", "sha256": "e065eed649e1912a28872bbebe63f1d97f4f1c88f8f860b3fc4879cb1987a0d1", "shared_library": false, "unvendored_tests": true, "version": "0.5.3"}, "patsy-tests": {"depends": ["patsy"], "file_name": "patsy-tests.tar", "imports": [], "install_dir": "site", "name": "patsy-tests", "package_type": "package", "sha256": "6a142f1e5295c34674a242de51023ae6a3241a18ba4d6fd8c45c234d1815a7e7", "shared_library": false, "unvendored_tests": false, "version": "0.5.3"}, "peewee": {"depends": ["sqlite3", "cffi"], "file_name": "peewee-3.16.3-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["peewee"], "install_dir": "site", "name": "peewee", "package_type": "package", "sha256": "0a4161ad956a70df00e4b9ff67d19187672da1da89663aa1e1f532961aa45149", "shared_library": false, "unvendored_tests": true, "version": "3.16.3"}, "peewee-tests": {"depends": ["peewee"], "file_name": "peewee-tests.tar", "imports": [], "install_dir": "site", "name": "peewee-tests", "package_type": "package", "sha256": "5ae2e4cfd7ac3656cf0dfab38e96c160f7a06c03382eeb72948e0f07708a7a1c", "shared_library": false, "unvendored_tests": false, "version": "3.16.3"}, "pillow": {"depends": [], "file_name": "Pillow-10.0.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["PIL"], "install_dir": "site", "name": "Pillow", "package_type": "package", "sha256": "39e1aedeeaf2d4a5325637d156ce4d1227d1268cc1b730cbacf219c0159d8847", "shared_library": false, "unvendored_tests": false, "version": "10.0.0"}, "pillow-heif": {"depends": ["cffi", "pillow", "libheif"], "file_name": "pillow_heif-0.8.0-cp36-abi3-emscripten_3_1_46_wasm32.whl", "imports": ["pillow_heif"], "install_dir": "site", "name": "pillow_heif", "package_type": "package", "sha256": "e39bbd232f9ef0b6dc1bef9a5ce5a4f143fc89886872e65a743f80df131a1a81", "shared_library": false, "unvendored_tests": false, "version": "0.8.0"}, "pkgconfig": {"depends": [], "file_name": "pkgconfig-1.5.5-py3-none-any.whl", "imports": ["pkgconfig"], "install_dir": "site", "name": "pkgconfig", "package_type": "package", "sha256": "27e74e8c0708b6149a5333ff21b9a95a240b2b3bb354cf06a6d4032c3decba70", "shared_library": false, "unvendored_tests": false, "version": "1.5.5"}, "pluggy": {"depends": [], "file_name": "pluggy-1.2.0-py3-none-any.whl", "imports": ["pluggy"], "install_dir": "site", "name": "pluggy", "package_type": "package", "sha256": "5f159e8f479b29db802867dec7777c37a6a37f01c260e102c353857468f2cf8c", "shared_library": false, "unvendored_tests": false, "version": "1.2.0"}, "protobuf": {"depends": [], "file_name": "protobuf-4.23.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["google"], "install_dir": "site", "name": "protobuf", "package_type": "package", "sha256": "261f5ca35e5c623a9e7f0c511a880ee591232c40165bbce8197715589e8d711b", "shared_library": false, "unvendored_tests": false, "version": "4.23.1"}, "py": {"depends": [], "file_name": "py-1.11.0-py2.py3-none-any.whl", "imports": ["py"], "install_dir": "site", "name": "py", "package_type": "package", "sha256": "6581bfa1c9bd061a038843c3a7ca9a05e3ef0650abeed50c929240b9a787e850", "shared_library": false, "unvendored_tests": false, "version": "1.11.0"}, "pyclipper": {"depends": [], "file_name": "pyclipper-1.3.0.post4-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["pyclipper"], "install_dir": "site", "name": "pyclipper", "package_type": "package", "sha256": "353625221e6fdadc6d5de0ecaa6c4b58f1db64926406f5147fa2db9a158998a8", "shared_library": false, "unvendored_tests": false, "version": "1.3.0.post4"}, "pycparser": {"depends": [], "file_name": "pycparser-2.21-py2.py3-none-any.whl", "imports": ["pycparser"], "install_dir": "site", "name": "pycparser", "package_type": "package", "sha256": "6789a452fdea2cb56716b55e494acab7a1702e758f9d4e5bcb0e05cf5ce6c277", "shared_library": false, "unvendored_tests": false, "version": "2.21"}, "pycryptodome": {"depends": [], "file_name": "pycryptodome-3.18.0-cp35-abi3-emscripten_3_1_46_wasm32.whl", "imports": ["Crypto"], "install_dir": "site", "name": "pycryptodome", "package_type": "package", "sha256": "d8344dfd765f86d4f9542017056a7b2737ecd5cad0e82872ec4fba51d780367f", "shared_library": false, "unvendored_tests": true, "version": "3.18.0"}, "pycryptodome-tests": {"depends": ["pycryptodome"], "file_name": "pycryptodome-tests.tar", "imports": [], "install_dir": "site", "name": "pycryptodome-tests", "package_type": "package", "sha256": "ce16dfb750ecceb563fc34f564fc6fc5a2deeebc6ae1578b1702cd6fe9caa78d", "shared_library": false, "unvendored_tests": false, "version": "3.18.0"}, "pydantic": {"depends": ["typing-extensions"], "file_name": "pydantic-1.10.7-py3-none-any.whl", "imports": ["pydantic"], "install_dir": "site", "name": "pydantic", "package_type": "package", "sha256": "01490a04f31dc472b338b2d05fba49542fa27776a0a2963f7157e8cada6d7300", "shared_library": false, "unvendored_tests": false, "version": "1.10.7"}, "pydecimal": {"depends": [], "file_name": "pydecimal-1.0.0.zip", "imports": ["_pydecimal"], "install_dir": "stdlib", "name": "pydecimal", "package_type": "cpython_module", "sha256": "e4b077e9c956ad6fb7aaac8514a53972d53a7822c7ca76a0631ec4b589a14342", "shared_library": true, "unvendored_tests": false, "version": "1.0.0"}, "pydoc-data": {"depends": [], "file_name": "pydoc_data-1.0.0.zip", "imports": ["pydoc_data"], "install_dir": "stdlib", "name": "pydoc_data", "package_type": "cpython_module", "sha256": "481c405ca8f981e341fd7e258999e81a104fb096a53d4f9fcd9699479b4e66dd", "shared_library": true, "unvendored_tests": false, "version": "1.0.0"}, "pyerfa": {"depends": ["numpy"], "file_name": "pyerfa-2.0.0.3-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["erfa"], "install_dir": "site", "name": "pyerfa", "package_type": "package", "sha256": "1dafe745e9169d542f77203c06bdbc27c00c77191be443020aed29f8bccbd29c", "shared_library": false, "unvendored_tests": true, "version": "2.0.0.3"}, "pyerfa-tests": {"depends": ["pyerfa"], "file_name": "pyerfa-tests.tar", "imports": [], "install_dir": "site", "name": "pyerfa-tests", "package_type": "package", "sha256": "16e0b38da94bd118fb0169c4c0637f8cf3c8022c2310dce524a15f70873d37ae", "shared_library": false, "unvendored_tests": false, "version": "2.0.0.3"}, "pygments": {"depends": [], "file_name": "Pygments-2.16.1-py3-none-any.whl", "imports": ["pygments"], "install_dir": "site", "name": "Pygments", "package_type": "package", "sha256": "74e6cb066deb00f77860d5d9a13b871f066b9ab637a419ff0d44c77ae96291e5", "shared_library": false, "unvendored_tests": false, "version": "2.16.1"}, "pyheif": {"depends": ["cffi"], "file_name": "pyheif-0.7.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["pyheif"], "install_dir": "site", "name": "pyheif", "package_type": "package", "sha256": "6ff8382a11ccc2c7edf21c3152630e9e3c7fbfe7292c616d170924100d2ebc40", "shared_library": false, "unvendored_tests": false, "version": "0.7.1"}, "pyinstrument": {"depends": [], "file_name": "pyinstrument-4.4.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["pyinstrument"], "install_dir": "site", "name": "pyinstrument", "package_type": "package", "sha256": "3918637e76cfe02e9af806d4da655f448c16ecc4a8d842f14b088a827c9a4c88", "shared_library": false, "unvendored_tests": false, "version": "4.4.0"}, "pynacl": {"depends": ["cffi"], "file_name": "PyNaCl-1.5.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["nacl"], "install_dir": "site", "name": "pynacl", "package_type": "package", "sha256": "9352f532f3cf5bd79ea079eda4da2d9135b8e9f27da79669e070532abff86db8", "shared_library": false, "unvendored_tests": false, "version": "1.5.0"}, "pyodide-http": {"depends": [], "file_name": "pyodide_http-0.2.1-py3-none-any.whl", "imports": ["pyodide_http"], "install_dir": "site", "name": "pyodide-http", "package_type": "package", "sha256": "cb364959d8d17de002aa6509f4ac34b36aa2781f851ce097808ad650be63728f", "shared_library": false, "unvendored_tests": false, "version": "0.2.1"}, "pyparsing": {"depends": [], "file_name": "pyparsing-3.1.1-py3-none-any.whl", "imports": ["pyparsing"], "install_dir": "site", "name": "pyparsing", "package_type": "package", "sha256": "910cabffe24dcded89cd62cbaaabc7892c58d21db03f9809e64da751e7cafecc", "shared_library": false, "unvendored_tests": false, "version": "3.1.1"}, "pyproj": {"depends": ["certifi", "sqlite3"], "file_name": "pyproj-3.4.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["pyproj"], "install_dir": "site", "name": "pyproj", "package_type": "package", "sha256": "4dec942c310f30d5c71261227dfb533e96c47b6103a501815ee0990ce8b318df", "shared_library": false, "unvendored_tests": false, "version": "3.4.1"}, "pyrsistent": {"depends": [], "file_name": "pyrsistent-0.19.3-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["_pyrsistent_version", "pyrsistent"], "install_dir": "site", "name": "pyrsistent", "package_type": "package", "sha256": "15e2ea3651e95f54af1509909bcdd4756f542a5adac660d48df20f2e27801aad", "shared_library": false, "unvendored_tests": false, "version": "0.19.3"}, "pysam": {"depends": [], "file_name": "pysam-0.22.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["pysam"], "install_dir": "site", "name": "pysam", "package_type": "package", "sha256": "829fb0e1ce8def5d43718e10842d37aa19148127e19c5bf66160008ebcc02c8f", "shared_library": false, "unvendored_tests": false, "version": "0.22.0"}, "pyshp": {"depends": [], "file_name": "pyshp-2.3.1-py2.py3-none-any.whl", "imports": ["shapefile"], "install_dir": "site", "name": "pyshp", "package_type": "package", "sha256": "5a0b246d4fa589d1de7c29abe8931c5697ac5703aa2b54d784c54b6ff5d46148", "shared_library": false, "unvendored_tests": false, "version": "2.3.1"}, "pytest": {"depends": ["atomicwrites", "attrs", "more-itertools", "pluggy", "py", "setuptools", "six", "iniconfig", "exceptiongroup"], "file_name": "pytest-7.2.2-py3-none-any.whl", "imports": ["_pytest", "pytest"], "install_dir": "site", "name": "pytest", "package_type": "package", "sha256": "37cda8b095c1b775933b68571d52ea98203e16234870f6c34b690da86674ff32", "shared_library": false, "unvendored_tests": false, "version": "7.2.2"}, "pytest-benchmark": {"depends": [], "file_name": "pytest_benchmark-4.0.0-py3-none-any.whl", "imports": ["pytest_benchmark"], "install_dir": "site", "name": "pytest-benchmark", "package_type": "package", "sha256": "d0d142386ce39aa40029ce8143dc271733341aaad74af98b80b5f28278be65a4", "shared_library": false, "unvendored_tests": false, "version": "4.0.0"}, "python-dateutil": {"depends": ["six"], "file_name": "python_dateutil-2.8.2-py2.py3-none-any.whl", "imports": ["dateutil"], "install_dir": "site", "name": "python-dateutil", "package_type": "package", "sha256": "a7b0404fca1ccf0a0bbdf8398f1f54433e21f4cd3d033408a744de5d0d18826f", "shared_library": false, "unvendored_tests": false, "version": "2.8.2"}, "python-magic": {"depends": ["libmagic"], "file_name": "python_magic-0.4.27-py2.py3-none-any.whl", "imports": ["magic"], "install_dir": "site", "name": "python-magic", "package_type": "package", "sha256": "81a716761a01d93a128e26d070c53a29244ed2eadb4ec0db1a6e9f42381efcff", "shared_library": false, "unvendored_tests": false, "version": "0.4.27"}, "python-sat": {"depends": ["six"], "file_name": "python_sat-0.1.7.dev26-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["pysat"], "install_dir": "site", "name": "python-sat", "package_type": "package", "sha256": "4d9d765ceca41194a53b802c059f1b52eda6f9845e04761a5f8d436955c6219f", "shared_library": false, "unvendored_tests": false, "version": "0.1.7.dev26"}, "python-solvespace": {"depends": [], "file_name": "python_solvespace-3.0.8-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["python_solvespace"], "install_dir": "site", "name": "python_solvespace", "package_type": "package", "sha256": "3c3611abebb8988917674c143e21734861faa635ada202ec7426793262dd3339", "shared_library": false, "unvendored_tests": false, "version": "3.0.8"}, "pytz": {"depends": [], "file_name": "pytz-2023.3-py2.py3-none-any.whl", "imports": ["pytz"], "install_dir": "site", "name": "pytz", "package_type": "package", "sha256": "9642fe77a66578d7f22585f9299eb41ef8aee3791114bcd02ca1f5108ecb5d8f", "shared_library": false, "unvendored_tests": false, "version": "2023.3"}, "pywavelets": {"depends": ["distutils", "numpy", "matplotlib", "scipy"], "file_name": "PyWavelets-1.4.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["pywt"], "install_dir": "site", "name": "pywavelets", "package_type": "package", "sha256": "6f0831bdf94d12da7b1cf60e1f8cc2fecb1edf65865253da5758ff2192c08335", "shared_library": false, "unvendored_tests": true, "version": "1.4.1"}, "pywavelets-tests": {"depends": ["pywavelets"], "file_name": "pywavelets-tests.tar", "imports": [], "install_dir": "site", "name": "pywavelets-tests", "package_type": "package", "sha256": "8370c9ea1e4039f2f24447aeeeb6b4aadf6aeee5bbf409997cbf188922354bba", "shared_library": false, "unvendored_tests": false, "version": "1.4.1"}, "pyxel": {"depends": [], "file_name": "pyxel-1.9.10-cp37-abi3-emscripten_3_1_46_wasm32.whl", "imports": ["pyxel"], "install_dir": "site", "name": "pyxel", "package_type": "package", "sha256": "5728101895e2c9dd5b70b5e1ee893ff4a2db9fdd306273c86808ed85b4bae7ef", "shared_library": false, "unvendored_tests": false, "version": "1.9.10"}, "pyyaml": {"depends": [], "file_name": "PyYAML-6.0.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["_yaml", "yaml"], "install_dir": "site", "name": "pyyaml", "package_type": "package", "sha256": "70da5e4d3c7b6cf4befce24f971d94c21fc8a41e28daf34b2da0f0d99ef0b565", "shared_library": false, "unvendored_tests": false, "version": "6.0.1"}, "rebound": {"depends": ["numpy"], "file_name": "rebound-3.24.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["rebound"], "install_dir": "site", "name": "rebound", "package_type": "package", "sha256": "f8dc7d482a31ca87355d8ae849783f4aaf61daa984474a0abeb15a2cad498e04", "shared_library": false, "unvendored_tests": false, "version": "3.24.2"}, "reboundx": {"depends": ["rebound", "numpy"], "file_name": "reboundx-3.10.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["reboundx"], "install_dir": "site", "name": "reboundx", "package_type": "package", "sha256": "9baf0fc2873918f4555300a1003b811f9dfc8704e8bccd4457707c5d87f6f288", "shared_library": false, "unvendored_tests": false, "version": "3.10.1"}, "regex": {"depends": [], "file_name": "regex-2023.8.8-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["regex"], "install_dir": "site", "name": "regex", "package_type": "package", "sha256": "a62b3caad35d144ce4fa499ad39657e031d8803df25cd790d762032cb7656ff8", "shared_library": false, "unvendored_tests": true, "version": "2023.8.8"}, "regex-tests": {"depends": ["regex"], "file_name": "regex-tests.tar", "imports": [], "install_dir": "site", "name": "regex-tests", "package_type": "package", "sha256": "44431a424879b1ca4ea89b9de02dd1dccbfe77ff507598ddc638b8a8860737eb", "shared_library": false, "unvendored_tests": false, "version": "2023.8.8"}, "requests": {"depends": ["charset-normalizer", "idna", "urllib3", "certifi"], "file_name": "requests-2.31.0-py3-none-any.whl", "imports": ["requests"], "install_dir": "site", "name": "requests", "package_type": "package", "sha256": "98a4d2e9c220884a6e17b1b543b7178c957f3ebb2840ffb0fb214b8bac3f32dc", "shared_library": false, "unvendored_tests": false, "version": "2.31.0"}, "retrying": {"depends": ["six"], "file_name": "retrying-1.3.4-py3-none-any.whl", "imports": ["retrying"], "install_dir": "site", "name": "retrying", "package_type": "package", "sha256": "19e2898888825a8c3a59dba5624b1c74d6b1f0bf28533ed05a0993a973c544cf", "shared_library": false, "unvendored_tests": false, "version": "1.3.4"}, "river": {"depends": ["numpy", "pandas", "pytest", "scipy"], "file_name": "river-0.19.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["river"], "install_dir": "site", "name": "river", "package_type": "package", "sha256": "2caf2bf8b027f4a42fd0a9d8b15066c85c0caf23d363f0768cc4cb583c50afd2", "shared_library": false, "unvendored_tests": true, "version": "0.19.0"}, "river-tests": {"depends": ["river"], "file_name": "river-tests.tar", "imports": [], "install_dir": "site", "name": "river-tests", "package_type": "package", "sha256": "2859ccd4355aa0a9779ce74407f3717daecc512fd95c374ca8869c8e595a230c", "shared_library": false, "unvendored_tests": false, "version": "0.19.0"}, "robotraconteur": {"depends": ["numpy"], "file_name": "RobotRaconteur-0.15.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["RobotRaconteur"], "install_dir": "site", "name": "RobotRaconteur", "package_type": "package", "sha256": "842f69e897a47cb2837b0e099bae837117dd9a771c71dc239e99130d801b2678", "shared_library": false, "unvendored_tests": false, "version": "0.15.1"}, "ruamel-yaml": {"depends": [], "file_name": "ruamel.yaml-0.17.32-py3-none-any.whl", "imports": ["ruamel"], "install_dir": "site", "name": "ruamel.yaml", "package_type": "package", "sha256": "e81940c2003cb6bb53b396f6d553fcccae55a813ad399aa50cf08aa6a874c8fe", "shared_library": false, "unvendored_tests": false, "version": "0.17.32"}, "rust-panic-test": {"depends": [], "file_name": "rust_panic_test-1.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["rust-panic-test"], "install_dir": "site", "name": "rust-panic-test", "package_type": "package", "sha256": "f37e7a9f92a3f82c02178679a014cd9f305465d9fc935a9e2115980d46f5a987", "shared_library": false, "unvendored_tests": false, "version": "1.0"}, "scikit-image": {"depends": ["packaging", "numpy", "scipy", "networkx", "pillow", "imageio", "pywavelets", "lazy_loader"], "file_name": "scikit_image-0.21.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["skimage"], "install_dir": "site", "name": "scikit-image", "package_type": "package", "sha256": "915d57c321b7dbb49adfa70b500725b6a17ebf4ef47c60a4229dcfdcb9c51bc0", "shared_library": false, "unvendored_tests": true, "version": "0.21.0"}, "scikit-image-tests": {"depends": ["scikit-image"], "file_name": "scikit-image-tests.tar", "imports": [], "install_dir": "site", "name": "scikit-image-tests", "package_type": "package", "sha256": "673dc4ad087499925acfaea2b9ad833b31ced37e512a5dfb90a293ee78e14c95", "shared_library": false, "unvendored_tests": false, "version": "0.21.0"}, "scikit-learn": {"depends": ["scipy", "joblib", "threadpoolctl"], "file_name": "scikit_learn-1.3.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["sklearn"], "install_dir": "site", "name": "scikit-learn", "package_type": "package", "sha256": "7799c5b0cd493b05ad14fb23b432b77163dc09b19e151b07b9006a05d6ed1d75", "shared_library": false, "unvendored_tests": true, "version": "1.3.1"}, "scikit-learn-tests": {"depends": ["scikit-learn"], "file_name": "scikit-learn-tests.tar", "imports": [], "install_dir": "site", "name": "scikit-learn-tests", "package_type": "package", "sha256": "de9494dd22b7c8b5fa412239a53a16c1076a578c274f19b2d8e7ca9d299f815a", "shared_library": false, "unvendored_tests": false, "version": "1.3.1"}, "scipy": {"depends": ["numpy", "openblas"], "file_name": "scipy-1.11.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["scipy"], "install_dir": "site", "name": "scipy", "package_type": "package", "sha256": "20fb3193b0444614045692c6f3bddfe33dea155d7b2797c779f4079fe0f4fb86", "shared_library": false, "unvendored_tests": true, "version": "1.11.2"}, "scipy-tests": {"depends": ["scipy"], "file_name": "scipy-tests.tar", "imports": [], "install_dir": "site", "name": "scipy-tests", "package_type": "package", "sha256": "9a1276ae38f604e6f80c6ed4153fb56f1f9b0955da940c20b23715b0c259f60a", "shared_library": false, "unvendored_tests": false, "version": "1.11.2"}, "screed": {"depends": [], "file_name": "screed-1.1.2-py2.py3-none-any.whl", "imports": ["bigtests", "screed"], "install_dir": "site", "name": "screed", "package_type": "package", "sha256": "0c0e76342354c4dccbb458fec75ff682793f866802b06f019ecf0a09e0d6b336", "shared_library": false, "unvendored_tests": true, "version": "1.1.2"}, "screed-tests": {"depends": ["screed"], "file_name": "screed-tests.tar", "imports": [], "install_dir": "site", "name": "screed-tests", "package_type": "package", "sha256": "0625705f10451327ea5b33c20a1725383a4fa1190d84794df0be5b4f781eddcc", "shared_library": false, "unvendored_tests": false, "version": "1.1.2"}, "setuptools": {"depends": ["distutils", "pyparsing"], "file_name": "setuptools-68.1.2-py3-none-any.whl", "imports": ["_distutils_hack", "pkg_resources", "setuptools"], "install_dir": "site", "name": "setuptools", "package_type": "package", "sha256": "7d0c185c16974f0f57f848fcc16c2647dce1a78b7c5f124400716ec2a2053ce1", "shared_library": false, "unvendored_tests": false, "version": "68.1.2"}, "shapely": {"depends": ["numpy"], "file_name": "Shapely-1.8.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["shapely"], "install_dir": "site", "name": "shapely", "package_type": "package", "sha256": "f0d41e050143716feaa5b63003422969f9b2e37bb23dd4db0995f47e8ce45465", "shared_library": false, "unvendored_tests": true, "version": "1.8.2"}, "shapely-tests": {"depends": ["shapely"], "file_name": "shapely-tests.tar", "imports": [], "install_dir": "site", "name": "shapely-tests", "package_type": "package", "sha256": "c5edffecf747de727e8b12cf1c034fbc74e9081c7c577f34087dcd7bc6058973", "shared_library": false, "unvendored_tests": false, "version": "1.8.2"}, "sharedlib-test": {"depends": [], "file_name": "sharedlib-test-1.0.zip", "imports": [], "install_dir": "dynlib", "name": "sharedlib-test", "package_type": "shared_library", "sha256": "553ac8833e45246c88960b71659915fc2b1263404228d01692193abd2d4ab78f", "shared_library": true, "unvendored_tests": false, "version": "1.0"}, "sharedlib-test-py": {"depends": ["sharedlib-test"], "file_name": "sharedlib_test_py-1.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["sharedlib_test"], "install_dir": "site", "name": "sharedlib-test-py", "package_type": "package", "sha256": "9038ae4d3727e8c57ba233888ad0f0d45a55285a9d7f0ba20bf88fc40579902e", "shared_library": false, "unvendored_tests": false, "version": "1.0"}, "simplejson": {"depends": [], "file_name": "simplejson-3.19.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["simplejson"], "install_dir": "site", "name": "simplejson", "package_type": "package", "sha256": "a449dd8dc4143369d0cc1803c301b101f785980bc1868821edf4f74730112bb9", "shared_library": false, "unvendored_tests": true, "version": "3.19.1"}, "simplejson-tests": {"depends": ["simplejson"], "file_name": "simplejson-tests.tar", "imports": [], "install_dir": "site", "name": "simplejson-tests", "package_type": "package", "sha256": "f952a666496903cda9258ab6dbc4f7b6eca1c37bb27d1fca75db1af3afd0a7d8", "shared_library": false, "unvendored_tests": false, "version": "3.19.1"}, "sisl": {"depends": ["pyparsing", "numpy", "scipy", "tqdm", "xarray", "pandas", "matplotlib"], "file_name": "sisl-0.14.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["sisl_toolbox", "sisl"], "install_dir": "site", "name": "sisl", "package_type": "package", "sha256": "add61e40a5308fd97a2ee4e09be502ec03bef138927bc87119551d62dae66f76", "shared_library": false, "unvendored_tests": true, "version": "0.14.2"}, "sisl-tests": {"depends": ["sisl"], "file_name": "sisl-tests.tar", "imports": [], "install_dir": "site", "name": "sisl-tests", "package_type": "package", "sha256": "41c47ca42bec2114e222b4ead743f1557ade03ae1fff3be0f2cfd467ced5f9c7", "shared_library": false, "unvendored_tests": false, "version": "0.14.2"}, "six": {"depends": [], "file_name": "six-1.16.0-py2.py3-none-any.whl", "imports": ["six"], "install_dir": "site", "name": "six", "package_type": "package", "sha256": "fad96a9848b9ddc039f72d0e07fee1d4a7caf15c3e4beda9a114fd4875c52583", "shared_library": false, "unvendored_tests": false, "version": "1.16.0"}, "smart-open": {"depends": [], "file_name": "smart_open-6.3.0-py3-none-any.whl", "imports": ["smart_open"], "install_dir": "site", "name": "smart_open", "package_type": "package", "sha256": "b4059b9b7c6185620e71d0562fabb83ed66bbc3c37ec94676c90185a4cbb80c1", "shared_library": false, "unvendored_tests": false, "version": "6.3.0"}, "soupsieve": {"depends": [], "file_name": "soupsieve-2.4.1-py3-none-any.whl", "imports": ["soupsieve"], "install_dir": "site", "name": "soupsieve", "package_type": "package", "sha256": "31d65e0030897b0d7251ad328e200881f9fe5416891addb1b9a33a77d127f112", "shared_library": false, "unvendored_tests": false, "version": "2.4.1"}, "sourmash": {"depends": ["screed", "cffi", "deprecation", "cachetools", "numpy", "matplotlib", "scipy", "sqlite3", "bitstring"], "file_name": "sourmash-4.8.4-py3-none-emscripten_3_1_46_wasm32.whl", "imports": ["sourmash"], "install_dir": "site", "name": "sourmash", "package_type": "package", "sha256": "8d8fbdb14218be1b592214799d8a437ccf7a3f6598c474e2946f2a5d9041ae44", "shared_library": false, "unvendored_tests": false, "version": "4.8.4"}, "sparseqr": {"depends": ["pycparser", "cffi", "numpy", "scipy", "suitesparse", "distutils"], "file_name": "sparseqr-1.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["sparseqr"], "install_dir": "site", "name": "sparseqr", "package_type": "package", "sha256": "c8eccd6783c393126e4239408dd315084a4e254d69627fbec98b455f3b0bc7e6", "shared_library": false, "unvendored_tests": false, "version": "1.2"}, "sqlalchemy": {"depends": ["sqlite3", "typing-extensions"], "file_name": "SQLAlchemy-2.0.20-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["sqlalchemy"], "install_dir": "site", "name": "sqlalchemy", "package_type": "package", "sha256": "58c78a8d513bc37d5e974759ba07f5369581d240c02178d380965c8a96a682f2", "shared_library": false, "unvendored_tests": true, "version": "2.0.20"}, "sqlalchemy-tests": {"depends": ["sqlalchemy"], "file_name": "sqlalchemy-tests.tar", "imports": [], "install_dir": "site", "name": "sqlalchemy-tests", "package_type": "package", "sha256": "4263699b03d8f34ec402b0cd2126b6082c9eb58ca81a05a705319356be5b2e8f", "shared_library": false, "unvendored_tests": false, "version": "2.0.20"}, "sqlite3": {"depends": [], "file_name": "sqlite3-1.0.0.zip", "imports": ["sqlite3", "_sqlite3"], "install_dir": "stdlib", "name": "sqlite3", "package_type": "cpython_module", "sha256": "49dad33820f94c406be5b8fd06f618b16824818476d96e35e5faef6a319f8835", "shared_library": true, "unvendored_tests": false, "version": "1.0.0"}, "ssl": {"depends": ["openssl"], "file_name": "ssl-1.0.0.zip", "imports": ["ssl", "_ssl"], "install_dir": "stdlib", "name": "ssl", "package_type": "cpython_module", "sha256": "89b210fdbd9f25173d0477b10613d0c7ebd662e2c26fcabbe6959c4a83197573", "shared_library": true, "unvendored_tests": false, "version": "1.0.0"}, "statsmodels": {"depends": ["distutils", "numpy", "scipy", "pandas", "patsy", "packaging"], "file_name": "statsmodels-0.14.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["statsmodels"], "install_dir": "site", "name": "statsmodels", "package_type": "package", "sha256": "18e28f46dc960d4dc04e12bc67fca32f9778ca0b756ba7b25486bae7c6df4861", "shared_library": false, "unvendored_tests": true, "version": "0.14.0"}, "statsmodels-tests": {"depends": ["statsmodels"], "file_name": "statsmodels-tests.tar", "imports": [], "install_dir": "site", "name": "statsmodels-tests", "package_type": "package", "sha256": "24c2204b8f5b15f5677cf04edb2cc9a6938d76cbe6adfc53bdf0b74a2aaf3ec7", "shared_library": false, "unvendored_tests": false, "version": "0.14.0"}, "suitesparse": {"depends": ["openblas"], "file_name": "suitesparse-5.11.0.zip", "imports": [], "install_dir": "dynlib", "name": "suitesparse", "package_type": "shared_library", "sha256": "2f146944f72146cdf700e2c79a94321957c235ec1c63bd040413d322baf64ffb", "shared_library": true, "unvendored_tests": false, "version": "5.11.0"}, "svgwrite": {"depends": [], "file_name": "svgwrite-1.4.3-py3-none-any.whl", "imports": ["svgwrite"], "install_dir": "site", "name": "svgwrite", "package_type": "package", "sha256": "2e01c175913b8d1abdadf81671321f5b8c00c5574f6884e031677aaebf3b0011", "shared_library": false, "unvendored_tests": false, "version": "1.4.3"}, "swiglpk": {"depends": [], "file_name": "swiglpk-5.0.8-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["swiglpk"], "install_dir": "site", "name": "swiglpk", "package_type": "package", "sha256": "9c0951b2ab9d3996bfb9eca346c49b71065f448c33ad970a28afbcab79fe9eef", "shared_library": false, "unvendored_tests": false, "version": "5.0.8"}, "sympy": {"depends": ["distutils", "mpmath"], "file_name": "sympy-1.12-py3-none-any.whl", "imports": ["isympy", "sympy"], "install_dir": "site", "name": "sympy", "package_type": "package", "sha256": "b7075c6d69bffda1afc6eacdbbebc7d82437508539e855f34f01c4c6dc9137b6", "shared_library": false, "unvendored_tests": true, "version": "1.12"}, "sympy-tests": {"depends": ["sympy"], "file_name": "sympy-tests.tar", "imports": [], "install_dir": "site", "name": "sympy-tests", "package_type": "package", "sha256": "b5811c381240f14d2d7edbd481325c1c3491866847032491606c3c36f1172f86", "shared_library": false, "unvendored_tests": false, "version": "1.12"}, "tblib": {"depends": [], "file_name": "tblib-3.0.0-py3-none-any.whl", "imports": ["tblib"], "install_dir": "site", "name": "tblib", "package_type": "package", "sha256": "091820a33875a03e3e12ce3050ed8a147940f9bd56840a42c2f6cba0c14e77fa", "shared_library": false, "unvendored_tests": false, "version": "3.0.0"}, "termcolor": {"depends": [], "file_name": "termcolor-2.3.0-py3-none-any.whl", "imports": ["termcolor"], "install_dir": "site", "name": "termcolor", "package_type": "package", "sha256": "8481f308073f0c8b2b551df71bab8f7df2d733c0f22934ea772b37fec0e49dfc", "shared_library": false, "unvendored_tests": false, "version": "2.3.0"}, "test": {"depends": [], "file_name": "test-1.0.0.zip", "imports": ["test"], "install_dir": "stdlib", "name": "test", "package_type": "cpython_module", "sha256": "00233e7098ca725070b62a0575ef0e4414f3b2f978c2601bcde2a325a5c672b6", "shared_library": true, "unvendored_tests": false, "version": "1.0.0"}, "texttable": {"depends": [], "file_name": "texttable-1.6.7-py2.py3-none-any.whl", "imports": ["texttable"], "install_dir": "site", "name": "texttable", "package_type": "package", "sha256": "bfd20ec95d90865c2c0819c38dde9535588e93da45ee0f866004d17d3ca10451", "shared_library": false, "unvendored_tests": false, "version": "1.6.7"}, "threadpoolctl": {"depends": [], "file_name": "threadpoolctl-3.2.0-py3-none-any.whl", "imports": ["threadpoolctl"], "install_dir": "site", "name": "threadpoolctl", "package_type": "package", "sha256": "73fa129cbab9daa4a0f381af17824a932b8957777a9e73a02bf733db9040ed7a", "shared_library": false, "unvendored_tests": false, "version": "3.2.0"}, "tomli": {"name": "tomli", "version": "2.0.1", "file_name": "tomli-2.0.1-py3-none-any.whl", "install_dir": "site", "sha256": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", "depends": [], "imports": ["tomli"]}, "tomli-w": {"depends": [], "file_name": "tomli_w-1.0.0-py3-none-any.whl", "imports": ["tomli_w"], "install_dir": "site", "name": "tomli-w", "package_type": "package", "sha256": "a7c41f6e333c3554e96d895ec1b1500d4cf05039786106ae54330cbf0b2cffed", "shared_library": false, "unvendored_tests": false, "version": "1.0.0"}, "toolz": {"depends": [], "file_name": "toolz-0.12.0-py3-none-any.whl", "imports": ["tlz", "toolz"], "install_dir": "site", "name": "toolz", "package_type": "package", "sha256": "5f2ed674746b0564f59ca4d89cec69253a03f55b6233e10a7fe3918cc712450b", "shared_library": false, "unvendored_tests": true, "version": "0.12.0"}, "toolz-tests": {"depends": ["toolz"], "file_name": "toolz-tests.tar", "imports": [], "install_dir": "site", "name": "toolz-tests", "package_type": "package", "sha256": "4499b52adfde700758f72039149c3032f51f3eef0093d56870de16281b96054f", "shared_library": false, "unvendored_tests": false, "version": "0.12.0"}, "tqdm": {"depends": [], "file_name": "tqdm-4.66.1-py3-none-any.whl", "imports": ["tqdm"], "install_dir": "site", "name": "tqdm", "package_type": "package", "sha256": "81502627ac31f06a64d73833d1303cd530e299125c6ce81b40e7a4115dd57314", "shared_library": false, "unvendored_tests": false, "version": "4.66.1"}, "traits": {"depends": [], "file_name": "traits-6.4.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["traits"], "install_dir": "site", "name": "traits", "package_type": "package", "sha256": "731ae94a327f4ec6216fd2cc69e074468dd08360fcf73c93be2e1186ed107e1c", "shared_library": false, "unvendored_tests": true, "version": "6.4.2"}, "traits-tests": {"depends": ["traits"], "file_name": "traits-tests.tar", "imports": [], "install_dir": "site", "name": "traits-tests", "package_type": "package", "sha256": "2da74f37e577489e6d4c0565fe2353e6e3601937820218d4785c8a14180fccd0", "shared_library": false, "unvendored_tests": false, "version": "6.4.2"}, "tskit": {"depends": ["numpy", "svgwrite", "jsonschema"], "file_name": "tskit-0.5.5-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["tskit"], "install_dir": "site", "name": "tskit", "package_type": "package", "sha256": "df70c2756ac1810c14715fca06be0a59576627b2a33b9ec5d730e06450c6298a", "shared_library": false, "unvendored_tests": false, "version": "0.5.5"}, "typing-extensions": {"depends": [], "file_name": "typing_extensions-4.7.1-py3-none-any.whl", "imports": ["typing_extensions"], "install_dir": "site", "name": "typing-extensions", "package_type": "package", "sha256": "eb21dbb2a3bcaba4e0f6d2345906fb7635ac6f8287a0133ebef35cb81489e668", "shared_library": false, "unvendored_tests": false, "version": "4.7.1"}, "uncertainties": {"depends": ["future"], "file_name": "uncertainties-3.1.7-py2.py3-none-any.whl", "imports": ["uncertainties"], "install_dir": "site", "name": "uncertainties", "package_type": "package", "sha256": "23cb91fc29fc75c1a34ffc8273a38fa1e8033da451461eae889628217f14f2c8", "shared_library": false, "unvendored_tests": true, "version": "3.1.7"}, "uncertainties-tests": {"depends": ["uncertainties"], "file_name": "uncertainties-tests.tar", "imports": [], "install_dir": "site", "name": "uncertainties-tests", "package_type": "package", "sha256": "b85cf522aa76b86cbcafb243fb1a29b27c865ad85107420bca6afc8914ca4b1b", "shared_library": false, "unvendored_tests": false, "version": "3.1.7"}, "unyt": {"depends": ["numpy", "sympy"], "file_name": "unyt-2.9.5-py2.py3-none-any.whl", "imports": ["unyt"], "install_dir": "site", "name": "unyt", "package_type": "package", "sha256": "cb49e4927dae619a9e43659e4a18a7868aa3f82656d34ce1c18b0cc0b8e03181", "shared_library": false, "unvendored_tests": true, "version": "2.9.5"}, "unyt-tests": {"depends": ["unyt"], "file_name": "unyt-tests.tar", "imports": [], "install_dir": "site", "name": "unyt-tests", "package_type": "package", "sha256": "bbf8a9b09e2762167dd80428fb1dc95830cadc57196cd09d134bc1055e0a4b3d", "shared_library": false, "unvendored_tests": false, "version": "2.9.5"}, "urllib3": {"depends": [], "file_name": "urllib3-2.1.0-py3-none-any.whl", "imports": ["urllib3"], "install_dir": "site", "name": "urllib3", "package_type": "package", "sha256": "0dc9140041c8ba0786e7690df6e466ebee96e726469d07bb9552abd8ff653a6d", "shared_library": false, "unvendored_tests": false, "version": "2.1.0"}, "webencodings": {"depends": [], "file_name": "webencodings-0.5.1-py2.py3-none-any.whl", "imports": ["webencodings"], "install_dir": "site", "name": "webencodings", "package_type": "package", "sha256": "973e83c0220cdedf3ab39288da0a60f97d047abe8f481a30c936856413d6de60", "shared_library": false, "unvendored_tests": false, "version": "0.5.1"}, "wordcloud": {"depends": ["matplotlib"], "file_name": "wordcloud-1.9.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["wordcloud"], "install_dir": "site", "name": "wordcloud", "package_type": "package", "sha256": "8d4cc4fc724f2d4f809c9c31050a591e0e5ef51c86eda4b3c6f6a3e0103e1506", "shared_library": false, "unvendored_tests": false, "version": "1.9.2"}, "wrapt": {"depends": [], "file_name": "wrapt-1.15.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["wrapt"], "install_dir": "site", "name": "wrapt", "package_type": "package", "sha256": "cfe5c594af872251a992c13cd7c9a1d9438c0a11da5c470eef7d7713773794e3", "shared_library": false, "unvendored_tests": false, "version": "1.15.0"}, "xarray": {"depends": ["numpy", "packaging", "pandas"], "file_name": "xarray-2023.12.0-py3-none-any.whl", "imports": ["xarray"], "install_dir": "site", "name": "xarray", "package_type": "package", "sha256": "6d201070f094dfbbcfad9a4b2b6cd390d786c6cc21b7be926ba925a0a1fb3113", "shared_library": false, "unvendored_tests": true, "version": "2023.12.0"}, "xarray-tests": {"depends": ["xarray"], "file_name": "xarray-tests.tar", "imports": [], "install_dir": "site", "name": "xarray-tests", "package_type": "package", "sha256": "f6add9e859a0951f37cb2972d51f4f59ca7b2ae5baa58609dbc6dfa2f53e7e9f", "shared_library": false, "unvendored_tests": false, "version": "2023.12.0"}, "xgboost": {"depends": ["numpy", "scipy", "setuptools"], "file_name": "xgboost-1.6.1-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["xgboost"], "install_dir": "site", "name": "xgboost", "package_type": "package", "sha256": "6a1838cb28ffafb570a582f8d1f5f7905c8419f504f0b323a54a81ebcaf56089", "shared_library": false, "unvendored_tests": false, "version": "1.6.1"}, "xlrd": {"depends": [], "file_name": "xlrd-2.0.1-py2.py3-none-any.whl", "imports": ["xlrd"], "install_dir": "site", "name": "xlrd", "package_type": "package", "sha256": "5f4ee0aadb7f0364a27454e47bf8ba0a8848a6fbc976209476cf50d9bbdbb823", "shared_library": false, "unvendored_tests": false, "version": "2.0.1"}, "xyzservices": {"name": "xyzservices", "version": "2023.10.1", "file_name": "xyzservices-2023.10.1-py3-none-any.whl", "install_dir": "site", "sha256": "6a4c38d3a9f89d3e77153eff9414b36a8ee0850c9e8b85796fd1b2a85b8dfd68", "depends": [], "imports": ["xyzservices"]}, "xyzservices-tests": {"depends": ["xyzservices"], "file_name": "xyzservices-tests.tar", "imports": [], "install_dir": "site", "name": "xyzservices-tests", "package_type": "package", "sha256": "4314b2d64d1185b8087e9bad1b9a3f2a54a7c12be957ce56baea336dbf27b19a", "shared_library": false, "unvendored_tests": false, "version": "2023.7.0"}, "yarl": {"depends": ["multidict", "idna"], "file_name": "yarl-1.9.2-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["yarl"], "install_dir": "site", "name": "yarl", "package_type": "package", "sha256": "f009548bcd61530020e293e44bc71f2094b964076738d747383b81127aad313b", "shared_library": false, "unvendored_tests": false, "version": "1.9.2"}, "yt": {"depends": ["numpy", "matplotlib", "sympy", "setuptools", "packaging", "unyt", "cmyt", "colorspacious", "tqdm", "tomli", "tomli-w"], "file_name": "yt-4.1.4-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["yt"], "install_dir": "site", "name": "yt", "package_type": "package", "sha256": "6ab5ca825fe792a92667d373cfa8c7e3ebf801b91d61942d97e79b2ec130632c", "shared_library": false, "unvendored_tests": false, "version": "4.1.4"}, "zarr": {"depends": ["numpy", "asciitree", "numcodecs"], "file_name": "zarr-2.13.3-py3-none-any.whl", "imports": ["zarr"], "install_dir": "site", "name": "zarr", "package_type": "package", "sha256": "2637c668cca2ec8a295256b2540e913414f6119c61a2190c6e4d53f20a74c3ea", "shared_library": false, "unvendored_tests": true, "version": "2.13.3"}, "zarr-tests": {"depends": ["zarr"], "file_name": "zarr-tests.tar", "imports": [], "install_dir": "site", "name": "zarr-tests", "package_type": "package", "sha256": "d411b4e0b526ca7cfc953fc2081836b0dbd32a7728be266f4fe0d35285cb6c06", "shared_library": false, "unvendored_tests": false, "version": "2.13.3"}, "zengl": {"depends": [], "file_name": "zengl-2.2.0-cp311-cp311-emscripten_3_1_46_wasm32.whl", "imports": ["zengl", "_zengl", "_zengl_js"], "install_dir": "site", "name": "zengl", "package_type": "package", "sha256": "da5d34f3591f9d745f907b95298cb758761f1e109e061d7adaf21d970f591c9a", "shared_library": false, "unvendored_tests": false, "version": "2.2.0"}, "htmltools": {"name": "htmltools", "version": "0.5.2", "file_name": "htmltools-0.5.2-py3-none-any.whl", "install_dir": "site", "sha256": "b05f34a48557640a0991fc979bfe119a109d4ef1175aa338a9a984166a0b1c48", "depends": ["typing-extensions", "packaging"], "imports": ["htmltools"]}, "shiny": {"name": "shiny", "version": "0.10.2", "file_name": "shiny-0.10.2-py3-none-any.whl", "install_dir": "site", "sha256": "70ee240fa16b149182c48a879930ae42bae258df9cebffd369453708e1d11f2b", "depends": ["typing-extensions", "starlette", "python-multipart", "htmltools", "markdown-it-py", "mdit-py-plugins", "linkify-it-py", "appdirs", "asgiref", "packaging"], "imports": ["shiny"]}, "shinywidgets": {"name": "shinywidgets", "version": "0.3.2", "file_name": "shinywidgets-0.3.2-py3-none-any.whl", "install_dir": "site", "sha256": "409307ad4e1d3f0f0e0b1feccbb16524b3558bc9b193a769d091ccb02dfccd8f", "depends": ["ipywidgets", "jupyter-core", "shiny", "python-dateutil"], "imports": ["shinywidgets"]}, "shinyswatch": {"name": "shinyswatch", "version": "0.6.0", "file_name": "shinyswatch-0.6.0-py3-none-any.whl", "install_dir": "site", "sha256": "8de7153f84d533bc8252bf47674c622351a8cb0ae6b2afaf81f167b7af1b417f", "depends": ["typing-extensions", "packaging", "htmltools", "shiny"], "imports": ["shinyswatch"]}, "faicons": {"name": "faicons", "version": "0.2.2", "file_name": "faicons-0.2.2-py3-none-any.whl", "install_dir": "site", "sha256": "2f9f05e235347415b0b15892a496b57e4c8c8f39a5b200b6b2dbdc644623964c", "depends": ["htmltools"], "imports": ["faicons"]}, "mdit-py-plugins": {"name": "mdit-py-plugins", "version": "0.4.0", "file_name": "mdit_py_plugins-0.4.0-py3-none-any.whl", "install_dir": "site", "sha256": "b51b3bb70691f57f974e257e367107857a93b36f322a9e6d44ca5bf28ec2def9", "depends": ["markdown-it-py"], "imports": ["mdit_py_plugins"]}, "plotnine": {"name": "plotnine", "version": "0.0.post20+g64295e1", "file_name": "plotnine-0.0.0-py3-none-any.whl", "install_dir": "site", "sha256": "5e79010c96fefa86295f53974606a214e948e40283b44a9a778c4fc09f5c45cf", "depends": ["matplotlib", "mizani", "numpy", "pandas", "patsy", "scipy", "statsmodels"], "imports": ["plotnine"]}, "plotly": {"name": "plotly", "version": "5.20.0", "file_name": "plotly-5.20.0-py3-none-any.whl", "install_dir": "site", "sha256": "837a9c8aa90f2c0a2f0d747b82544d014dc2a2bdde967b5bb1da25b53932d1a9", "depends": ["tenacity", "packaging"], "imports": ["plotly"]}, "seaborn": {"name": "seaborn", "version": "0.13.2", "file_name": "seaborn-0.13.2-py3-none-any.whl", "install_dir": "site", "sha256": "636f8336facf092165e27924f223d3c62ca560b1f2bb5dff7ab7fad265361987", "depends": ["numpy", "pandas", "matplotlib"], "imports": ["seaborn"]}, "ipywidgets": {"name": "ipywidgets", "version": "8.0.6", "file_name": "ipywidgets-8.0.6-py3-none-any.whl", "install_dir": "site", "sha256": "a60bf8d2528997e05ac83fd19ea2fbe65f2e79fbe1b2b35779bdfc46c2941dcc", "depends": ["ipython", "traitlets", "jupyterlab-widgets"], "imports": ["ipywidgets"]}, "ipyleaflet": {"name": "ipyleaflet", "version": "0.18.2", "file_name": "ipyleaflet-0.18.2-py3-none-any.whl", "install_dir": "site", "sha256": "dc5bed1bad3ba3244fe97aac9d4ed8f8096ae3d5e6ac0c5fdfbe7f1d2a01d3f8", "depends": ["ipywidgets", "traittypes", "xyzservices", "branca"], "imports": ["ipyleaflet"]}, "siuba": {"name": "siuba", "version": "0.4.4", "file_name": "siuba-0.4.4-py3-none-any.whl", "install_dir": "site", "sha256": "07a6b2a02f39e53a8fdb1f1a3a7c49bce182346901e99df1d073e5427cf9e9dc", "depends": ["pandas", "numpy", "SQLAlchemy", "PyYAML"], "imports": ["siuba"]}, "palmerpenguins": {"name": "palmerpenguins", "version": "0.1.4", "file_name": "palmerpenguins-0.1.4-py3-none-any.whl", "install_dir": "site", "sha256": "63c904db3dcef10e4ff1372f9b7f50a8f44c7364cc03f27f9a487fe5762d159c", "depends": ["pandas", "numpy", "setuptools"], "imports": ["palmerpenguins"]}, "black": {"name": "black", "version": "24.4.0", "file_name": "black-24.4.0-py3-none-any.whl", "install_dir": "site", "sha256": "74eb9b5420e26b42c00a3ff470dc0cd144b80a766128b1771d07643165e08d0e", "depends": ["click", "mypy-extensions", "packaging", "pathspec", "platformdirs"], "imports": ["black"]}, "starlette": {"name": "starlette", "version": "0.32.0.post1", "file_name": "starlette-0.32.0.post1-py3-none-any.whl", "install_dir": "site", "sha256": "cd0cb10ddb49313f609cedfac62c8c12e56c7314b66d89bb077ba228bada1b09", "depends": ["anyio"], "imports": ["starlette"]}, "python-multipart": {"name": "python-multipart", "version": "0.0.6", "file_name": "python_multipart-0.0.6-py3-none-any.whl", "install_dir": "site", "sha256": "ee698bab5ef148b0a760751c261902cd096e57e10558e11aca17646b74ee1c18", "depends": [], "imports": ["multipart"]}, "markdown-it-py": {"name": "markdown-it-py", "version": "3.0.0", "file_name": "markdown_it_py-3.0.0-py3-none-any.whl", "install_dir": "site", "sha256": "355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", "depends": ["mdurl"], "imports": ["markdown_it"]}, "linkify-it-py": {"name": "linkify-it-py", "version": "2.0.2", "file_name": "linkify_it_py-2.0.2-py3-none-any.whl", "install_dir": "site", "sha256": "a3a24428f6c96f27370d7fe61d2ac0be09017be5190d68d8658233171f1b6541", "depends": ["uc-micro-py"], "imports": ["linkify_it"]}, "appdirs": {"name": "appdirs", "version": "1.4.4", "file_name": "appdirs-1.4.4-py2.py3-none-any.whl", "install_dir": "site", "sha256": "a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128", "depends": [], "imports": ["appdirs"]}, "asgiref": {"name": "asgiref", "version": "3.7.2", "file_name": "asgiref-3.7.2-py3-none-any.whl", "install_dir": "site", "sha256": "89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e", "depends": [], "imports": ["asgiref"]}, "jupyter-core": {"name": "jupyter-core", "version": "5.5.0", "file_name": "jupyter_core-5.5.0-py3-none-any.whl", "install_dir": "site", "sha256": "e11e02cd8ae0a9de5c6c44abf5727df9f2581055afe00b22183f621ba3585805", "depends": ["platformdirs", "traitlets"], "imports": ["jupyter_core"]}, "mizani": {"name": "mizani", "version": "0.11.1", "file_name": "mizani-0.11.1-py3-none-any.whl", "install_dir": "site", "sha256": "d3441e5b7f08168ced8426566a0c084e3df3f03e290b8206747d3f288cf20e40", "depends": ["numpy", "scipy", "pandas", "tzdata"], "imports": ["mizani"]}, "tenacity": {"name": "tenacity", "version": "8.2.3", "file_name": "tenacity-8.2.3-py3-none-any.whl", "install_dir": "site", "sha256": "ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c", "depends": [], "imports": ["tenacity"]}, "ipython": {"name": "ipython", "version": "8.18.1", "file_name": "ipython-8.18.1-py3-none-any.whl", "install_dir": "site", "sha256": "e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397", "depends": ["decorator", "jedi", "matplotlib-inline", "prompt-toolkit", "pygments", "stack-data", "traitlets"], "imports": ["ipython"]}, "traitlets": {"name": "traitlets", "version": "5.14.0", "file_name": "traitlets-5.14.0-py3-none-any.whl", "install_dir": "site", "sha256": "f14949d23829023013c47df20b4a76ccd1a85effb786dc060f34de7948361b33", "depends": [], "imports": ["traitlets"]}, "jupyterlab-widgets": {"name": "jupyterlab-widgets", "version": "3.0.9", "file_name": "jupyterlab_widgets-3.0.9-py3-none-any.whl", "install_dir": "site", "sha256": "3cf5bdf5b897bf3bccf1c11873aa4afd776d7430200f765e0686bd352487b58d", "depends": [], "imports": ["jupyterlab_widgets"]}, "traittypes": {"name": "traittypes", "version": "0.2.1", "file_name": "traittypes-0.2.1-py2.py3-none-any.whl", "install_dir": "site", "sha256": "1340af133810b6eee1a2eb2e988f862b0d12b6c2d16f282aaf3207b782134c2e", "depends": ["traitlets"], "imports": ["traittypes"]}, "branca": {"name": "branca", "version": "0.7.0", "file_name": "branca-0.7.0-py3-none-any.whl", "install_dir": "site", "sha256": "c653d9a3fef1e6cd203757c77d3eb44810f11998506451f9a27d52b983500c16", "depends": ["jinja2"], "imports": ["branca"]}, "mypy-extensions": {"name": "mypy-extensions", "version": "1.0.0", "file_name": "mypy_extensions-1.0.0-py3-none-any.whl", "install_dir": "site", "sha256": "4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", "depends": [], "imports": ["mypy_extensions"]}, "pathspec": {"name": "pathspec", "version": "0.11.2", "file_name": "pathspec-0.11.2-py3-none-any.whl", "install_dir": "site", "sha256": "1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20", "depends": [], "imports": ["pathspec"]}, "platformdirs": {"name": "platformdirs", "version": "4.0.0", "file_name": "platformdirs-4.0.0-py3-none-any.whl", "install_dir": "site", "sha256": "118c954d7e949b35437270383a3f2531e99dd93cf7ce4dc8340d3356d30f173b", "depends": [], "imports": ["platformdirs"]}, "anyio": {"name": "anyio", "version": "4.1.0", "file_name": "anyio-4.1.0-py3-none-any.whl", "install_dir": "site", "sha256": "56a415fbc462291813a94528a779597226619c8e78af7de0507333f700011e5f", "depends": ["idna", "sniffio", "exceptiongroup"], "imports": ["anyio"]}, "mdurl": {"name": "mdurl", "version": "0.1.2", "file_name": "mdurl-0.1.2-py3-none-any.whl", "install_dir": "site", "sha256": "84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", "depends": [], "imports": ["mdurl"]}, "uc-micro-py": {"name": "uc-micro-py", "version": "1.0.2", "file_name": "uc_micro_py-1.0.2-py3-none-any.whl", "install_dir": "site", "sha256": "8c9110c309db9d9e87302e2f4ad2c3152770930d88ab385cd544e7a7e75f3de0", "depends": [], "imports": ["uc_micro"]}, "tzdata": {"name": "tzdata", "version": "2023.3", "file_name": "tzdata-2023.3-py2.py3-none-any.whl", "install_dir": "site", "sha256": "7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda", "depends": [], "imports": ["tzdata"]}, "matplotlib-inline": {"name": "matplotlib-inline", "version": "0.1.6", "file_name": "matplotlib_inline-0.1.6-py3-none-any.whl", "install_dir": "site", "sha256": "f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311", "depends": ["traitlets"], "imports": ["matplotlib_inline"]}, "prompt-toolkit": {"name": "prompt-toolkit", "version": "3.0.41", "file_name": "prompt_toolkit-3.0.41-py3-none-any.whl", "install_dir": "site", "sha256": "f36fe301fafb7470e86aaf90f036eef600a3210be4decf461a5b1ca8403d3cb2", "depends": ["wcwidth"], "imports": ["prompt_toolkit"]}, "stack-data": {"name": "stack-data", "version": "0.6.3", "file_name": "stack_data-0.6.3-py3-none-any.whl", "install_dir": "site", "sha256": "d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", "depends": ["executing", "asttokens", "pure-eval"], "imports": ["stack_data"]}, "sniffio": {"name": "sniffio", "version": "1.3.0", "file_name": "sniffio-1.3.0-py3-none-any.whl", "install_dir": "site", "sha256": "eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384", "depends": [], "imports": ["sniffio"]}, "wcwidth": {"name": "wcwidth", "version": "0.2.12", "file_name": "wcwidth-0.2.12-py2.py3-none-any.whl", "install_dir": "site", "sha256": "f26ec43d96c8cbfed76a5075dac87680124fa84e0855195a6184da9c187f133c", "depends": [], "imports": ["wcwidth"]}, "executing": {"name": "executing", "version": "2.0.1", "file_name": "executing-2.0.1-py2.py3-none-any.whl", "install_dir": "site", "sha256": "eac49ca94516ccc753f9fb5ce82603156e590b27525a8bc32cce8ae302eb61bc", "depends": [], "imports": ["executing"]}, "asttokens": {"name": "asttokens", "version": "2.4.1", "file_name": "asttokens-2.4.1-py2.py3-none-any.whl", "install_dir": "site", "sha256": "051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24", "depends": ["six"], "imports": ["asttokens"]}, "pure-eval": {"name": "pure-eval", "version": "0.2.2", "file_name": "pure_eval-0.2.2-py3-none-any.whl", "install_dir": "site", "sha256": "01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350", "depends": [], "imports": ["pure_eval"]}}} \ No newline at end of file diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pyodide.asm.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pyodide.asm.js new file mode 100644 index 0000000..7a209a5 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pyodide.asm.js @@ -0,0 +1,17 @@ +"use strict"; + +var _createPyodideModule = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(moduleArg = {}) { + +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];if(!Module.wrapException){Module.wrapException=e=>e}var dynamicLibraries=Module["dynamicLibraries"]||[];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||20971520;assert(INITIAL_MEMORY>=5242880,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+5242880+")");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var __RELOC_FUNCS__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__RELOC_FUNCS__);if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);PIPEFS.root=FS.mount(PIPEFS,{},null);callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnExit(cb){}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="pyodide.asm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){if(Module.adjustWasmImports){Module.adjustWasmImports(wasmImports)}var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)};function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=relocateExports(wasmExports,1024);var metadata=getDylinkMetadata(module);if(metadata.neededDynlibs){dynamicLibraries=metadata.neededDynlibs.concat(dynamicLibraries)}mergeLibSymbols(wasmExports,"main");LDSO.init();loadDylibs();addOnInit(wasmExports["__wasm_call_ctors"]);__RELOC_FUNCS__.push(wasmExports["__wasm_apply_data_relocs"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var ASM_CONSTS={3885483:()=>{throw new Error("intentionally triggered fatal error!")},3885540:()=>{wasmImports["open64"]=wasmImports["open"]},3885589:()=>Module.jspiSupported};function console_error(msg){let jsmsg=UTF8ToString(msg);console.error(jsmsg)}function console_error_obj(obj){console.error(obj)}function new_error(type,msg,err){return new API.PythonError(UTF8ToString(type),UTF8ToString(msg),err)}new_error.sig="eiii";function fail_test(){API.fail_test=true}fail_test.sig="v";function raw_call_js(func){func()}raw_call_js.sig="ve";function hiwire_invalid_ref(type,ref){API.fail_test=!!1;if(type===1&&!ref){if(_PyErr_Occurred()){const e=_wrap_exception();console.error("Pyodide internal error: Argument to hiwire_get is falsy. This was "+"probably because the Python error indicator was set when get_value was "+"called. The Python error that caused this was:",e);throw e}else{const msg="Pyodide internal error: Argument to hiwire_get is falsy (but error "+"indicator is not set).";console.error(msg);throw new Error(msg)}}const typestr={[1]:"get",[2]:"incref",[3]:"decref"}[type];const msg=`hiwire_${typestr} on invalid reference ${ref}. This is most likely due `+"to use after free. It may also be due to memory corruption.";console.error(msg);throw new Error(msg)}hiwire_invalid_ref.sig="vii";function set_pyodide_module(mod){API._pyodide=mod}set_pyodide_module.sig="ve";function js2python_immutable_js(value){try{let result=Module.js2python_convertImmutable(value);if(result!==undefined){return result}return 0}catch(e){Module.handle_js_error(e);return 0}errNoRet()}js2python_immutable_js.sig="ie";function js2python_js(value){try{let result=Module.js2python_convertImmutable(value);if(result!==undefined){return result}return _JsProxy_create(value)}catch(e){Module.handle_js_error(e);return 0}errNoRet()}js2python_js.sig="ie";function js2python_convert(v,depth,defaultConverter){try{return Module.js2python_convert(v,{depth:depth,defaultConverter:defaultConverter})}catch(e){Module.handle_js_error(e);return 0}errNoRet()}js2python_convert.sig="ieie";function js2python_init(){try{{0;let PropagateError=Module._PropagatePythonError;function js2python_string(value){let max_code_point=0;let num_code_points=0;for(let c of value){num_code_points++;let code_point=c.codePointAt(0);max_code_point=code_point>max_code_point?code_point:max_code_point}let result=_PyUnicode_New(num_code_points,max_code_point);if(result===0){throw new PropagateError}let ptr=_PyUnicode_Data(result);if(max_code_point>65535){for(let c of value){HEAPU32[ptr/4]=c.codePointAt(0);ptr+=4}}else if(max_code_point>255){for(let c of value){HEAPU16[ptr/2]=c.codePointAt(0);ptr+=2}}else{for(let c of value){HEAPU8[ptr]=c.codePointAt(0);ptr+=1}}return result}function js2python_bigint(value){let value_orig=value;let length=0;if(value<0){value=-value}value<<=BigInt(1);while(value){length++;value>>=BigInt(32)}let stackTop=stackSave();let ptr=stackAlloc(length*4);value=value_orig;for(let i=0;i>2)+i]=Number(value&BigInt(4294967295));value>>=BigInt(32)}let result=__PyLong_FromByteArray(ptr,length*4,!!1,!!1);stackRestore(stackTop);return result}function js2python_convertImmutable(value){let result=js2python_convertImmutableInner(value);if(result===0){throw new PropagateError}return result}Module.js2python_convertImmutable=js2python_convertImmutable;function js2python_convertImmutableInner(value){let type=typeof value;if(type==="string"){return js2python_string(value)}else if(type==="number"){if(Number.isSafeInteger(value)){return _PyLong_FromDouble(value)}else{return _PyFloat_FromDouble(value)}}else if(type==="bigint"){return js2python_bigint(value)}else if(value===undefined||value===null){return __js2python_none()}else if(value===!!1){return __js2python_true()}else if(value===!!0){return __js2python_false()}else if(API.isPyProxy(value)){const{props:props,shared:shared}=Module.PyProxy_getAttrs(value);if(props.roundtrip){return _JsProxy_create(value)}else{return __js2python_pyproxy(shared.ptr)}}return undefined}function js2python_convertList(obj,context){let list=_PyList_New(obj.length);if(list===0){return 0}let item=0;try{context.cache.set(obj,list);for(let i=0;iModule.pyproxy_new(js2python_convert_with_context(x,context)),cacheConversion(input,output){if(API.isPyProxy(output)){context.cache.set(input,Module.PyProxy_getPtr(output))}else{throw new Error("Second argument should be a PyProxy!")}}};return js2python_convert_with_context(val,context)}Module.js2python_convert=js2python_convert}return 0}catch(e){Module.handle_js_error(e);return-1}return 0}js2python_init.sig="i";function isReservedWord(word){if(!Module.pythonReservedWords){Module.pythonReservedWords=new Set(["False","await","else","import","pass","None","break","except","in","raise","True","class","finally","is","return","and","continue","for","lambda","try","as","def","from","nonlocal","while","assert","del","global","not","with","async","elif","if","or","yield"])}return Module.pythonReservedWords.has(word)}function normalizeReservedWords(word){const noTrailing_=word.replace(/_*$/,"");if(!isReservedWord(noTrailing_)){return word}if(noTrailing_!==word){return word.slice(0,-1)}return word}function JsProxy_GetAttr_js(jsobj,ptrkey){try{const jskey=normalizeReservedWords(UTF8ToString(ptrkey));const result=jsobj[jskey];if(result===undefined&&!(jskey in jsobj)){return null}return nullToUndefined(result)}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsProxy_GetAttr_js.sig="eei";function JsProxy_SetAttr_js(jsobj,ptrkey,jsval){try{let jskey=normalizeReservedWords(UTF8ToString(ptrkey));jsobj[jskey]=jsval}catch(e){Module.handle_js_error(e);return-1}return 0}JsProxy_SetAttr_js.sig="ieie";function JsProxy_DelAttr_js(jsobj,ptrkey){try{let jskey=normalizeReservedWords(UTF8ToString(ptrkey));delete jsobj[jskey]}catch(e){Module.handle_js_error(e);return-1}return 0}JsProxy_DelAttr_js.sig="iei";function JsProxy_GetIter_js(obj){try{return obj[Symbol.iterator]()}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsProxy_GetIter_js.sig="ee";function handle_next_result_js(res,done,msg){try{let errmsg;if(typeof res!=="object"){errmsg=`Result should have type "object" not "${typeof res}"`}else if(typeof res.done==="undefined"){if(typeof res.then==="function"){errmsg=`Result was a promise, use anext() / asend() / athrow() instead.`}else{errmsg=`Result has no "done" field.`}}if(errmsg){HEAPU32[(msg>>2)+0]=stringToNewUTF8(errmsg);HEAPU32[(done>>2)+0]=-1}HEAPU32[(done>>2)+0]=res.done;return res.value}catch(e){Module.handle_js_error(e);return-1}return 0}handle_next_result_js.sig="eeii";function JsException_new_helper(name_ptr,message_ptr,stack_ptr){try{let name=UTF8ToString(name_ptr);let message=UTF8ToString(message_ptr);let stack=UTF8ToString(stack_ptr);return API.deserializeError(name,message,stack)}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsException_new_helper.sig="eiii";function JsProxy_GetAsyncIter_js(obj){try{return obj[Symbol.asyncIterator]()}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsProxy_GetAsyncIter_js.sig="ee";function _agen_handle_result_js(p,msg,set_result,set_exception,closing){try{let errmsg;if(typeof p!=="object"){errmsg=`Result of anext() should be object not ${typeof p}`}else if(typeof p.then!=="function"){if(typeof p.done==="boolean"){errmsg=`Result of anext() was not a promise, use next() instead.`}else{errmsg=`Result of anext() was not a promise.`}}if(errmsg){HEAPU32[(msg>>2)+0]=stringToNewUTF8(errmsg);return-1}_Py_IncRef(set_result);_Py_IncRef(set_exception);p.then(({done:done,value:value})=>{__agen_handle_result_js_c(set_result,set_exception,done,value,closing)},err=>{__agen_handle_result_js_c(set_result,set_exception,-1,err,closing)}).finally(()=>{_Py_DecRef(set_result);_Py_DecRef(set_exception)});return 0}catch(e){Module.handle_js_error(e);return-1}return 0}_agen_handle_result_js.sig="ieiiii";function get_length_helper(val){try{let result;if(typeof val.size==="number"){result=val.size}else if(typeof val.length==="number"){result=val.length}else{return-2}if(result<0){return-3}if(result>2147483647){return-4}return result}catch(e){Module.handle_js_error(e);return-1}return 0}get_length_helper.sig="ie";function get_length_string(val){try{let result;if(typeof val.size==="number"){result=val.size}else if(typeof val.length==="number"){result=val.length}return stringToNewUTF8(" "+result.toString())}catch(e){Module.handle_js_error(e);return 0}errNoRet()}get_length_string.sig="ie";function destroy_jsarray_entries(array){for(let v of array){try{if(typeof v.destroy==="function"){v.destroy()}}catch(e){console.warn("Weird error:",e)}}}destroy_jsarray_entries.sig="ve";function JsArray_repeat_js(o,count){try{return Array.from({length:count},()=>o).flat()}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsArray_repeat_js.sig="eei";function JsArray_inplace_repeat_js(o,count){try{o.splice(0,o.length,...Array.from({length:count},()=>o).flat())}catch(e){Module.handle_js_error(e);return-1}return 0}JsArray_inplace_repeat_js.sig="iei";function JsArray_reversed_iterator(array){return new ReversedIterator(array)}class ReversedIterator{constructor(array){this._array=array;this._i=array.length-1}__length_hint__(){return this._array.length}[Symbol.toStringTag](){return"ReverseIterator"}next(){const i=this._i;const a=this._array;const done=i<0;const value=done?undefined:a[i];this._i--;return{done:done,value:value}}}JsArray_reversed_iterator.sig="ee";function JsArray_index_js(o,v,start,stop){try{for(let i=start;i{let c=s.charCodeAt(0);return c<48||c>57}).map(word=>isReservedWord(word.replace(/_*$/,""))?word+"_":word))}while(jsobj=Object.getPrototypeOf(jsobj));return result}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsProxy_Dir_js.sig="ee";function JsProxy_Bool_js(val){try{if(!val){return!!0}if(val.size===0){if(/HTML[A-Za-z]*Element/.test(getTypeTag(val))){return!!1}return!!0}if(val.length===0&&JsvArray_Check(val)){return!!0}if(val.byteLength===0){return!!0}return!!1}catch(e){return!!0}}JsProxy_Bool_js.sig="ie";function JsObjMap_GetIter_js(obj){try{return Module.iterObject(obj)}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsObjMap_GetIter_js.sig="ee";function JsObjMap_length_js(obj){try{let length=0;for(let _ of Module.iterObject(obj)){length++}return length}catch(e){Module.handle_js_error(e);return-1}return 0}JsObjMap_length_js.sig="ie";function JsObjMap_subscript_js(obj,key){try{if(!Object.prototype.hasOwnProperty.call(obj,key)){return null}return obj[key]}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsObjMap_subscript_js.sig="eee";function JsObjMap_ass_subscript_js(obj,key,value){try{if(value===null){if(!Object.prototype.hasOwnProperty.call(obj,key)){return-1}delete obj[key]}else{obj[key]=value}return 0}catch(e){Module.handle_js_error(e);return-1}return 0}JsObjMap_ass_subscript_js.sig="ieee";function JsObjMap_contains_js(obj,key){try{return Object.prototype.hasOwnProperty.call(obj,key)}catch(e){Module.handle_js_error(e);return-1}return 0}JsObjMap_contains_js.sig="iee";function get_async_js_call_done_callback(proxies){try{return function(result){let msg="This borrowed proxy was automatically destroyed "+"at the end of an asynchronous function call. Try "+"using create_proxy or create_once_callable.";for(let px of proxies){Module.pyproxy_destroy(px,msg,!!0)}if(API.isPyProxy(result)){Module.pyproxy_destroy(result,msg,!!0)}}}catch(e){Module.handle_js_error(e);return null}errNoRet()}get_async_js_call_done_callback.sig="ee";function wrap_generator(gen,proxies){try{proxies=new Set(proxies);const msg="This borrowed proxy was automatically destroyed "+"when a generator completed execution. Try "+"using create_proxy or create_once_callable.";function cleanup(){proxies.forEach(px=>Module.pyproxy_destroy(px,msg))}function wrap(funcname){return function(val){if(API.isPyProxy(val)){val=val.copy();proxies.add(val)}let res;try{res=gen[funcname](val)}catch(e){cleanup();throw e}if(res.done){proxies.delete(res.value);cleanup()}return res}}return{get[Symbol.toStringTag](){return"Generator"},[Symbol.iterator](){return this},next:wrap("next"),throw:wrap("throw"),return:wrap("return")}}catch(e){Module.handle_js_error(e);return null}errNoRet()}wrap_generator.sig="eee";function wrap_async_generator(gen,proxies){try{proxies=new Set(proxies);const msg="This borrowed proxy was automatically destroyed "+"when an asynchronous generator completed execution. Try "+"using create_proxy or create_once_callable.";function cleanup(){proxies.forEach(px=>Module.pyproxy_destroy(px,msg))}function wrap(funcname){return async function(val){if(API.isPyProxy(val)){val=val.copy();proxies.add(val)}let res;try{res=await gen[funcname](val)}catch(e){cleanup();throw e}if(res.done){proxies.delete(res.value);cleanup()}return res}}return{get[Symbol.toStringTag](){return"AsyncGenerator"},[Symbol.asyncIterator](){return this},next:wrap("next"),throw:wrap("throw"),return:wrap("return")}}catch(e){Module.handle_js_error(e);return null}errNoRet()}wrap_async_generator.sig="eee";function JsBuffer_DecodeString_js(buffer,encoding){try{let encoding_js;if(encoding){encoding_js=UTF8ToString(encoding)}const decoder=new TextDecoder(encoding_js,{fatal:!!1,ignoreBOM:!!1});let res;try{res=decoder.decode(buffer)}catch(e){if(e instanceof TypeError){return null}throw e}return res}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsBuffer_DecodeString_js.sig="eei";function JsBuffer_get_info(jsobj,byteLength_ptr,format_ptr,size_ptr,checked_ptr){const[format_utf8,size,checked]=Module.get_buffer_datatype(jsobj);HEAPU32[(byteLength_ptr>>2)+0]=jsobj.byteLength;HEAPU32[(format_ptr>>2)+0]=format_utf8;HEAPU32[(size_ptr>>2)+0]=size;HEAPU8[checked_ptr+0]=checked}JsBuffer_get_info.sig="veiiii";function JsDoubleProxy_unwrap_helper(id){try{return Module.PyProxy_getPtr(id)}catch(e){Module.handle_js_error(e);return 0}errNoRet()}JsDoubleProxy_unwrap_helper.sig="ie";function JsProxy_compute_typeflags(obj){try{let type_flags=0;if(API.isPyProxy(obj)&&!pyproxyIsAlive(obj)){return 0}const typeTag=getTypeTag(obj);function safeBool(cb){try{return cb()}catch(e){return!!0}}const isBufferView=safeBool(()=>ArrayBuffer.isView(obj));const isArray=safeBool(()=>Array.isArray(obj));const constructorName=safeBool(()=>obj.constructor.name)||"";if(typeof obj==="function"){type_flags|=1<<9}if(hasMethod(obj,"then")){type_flags|=1<<7}if(hasMethod(obj,Symbol.iterator)){type_flags|=1<<0}if(hasMethod(obj,Symbol.asyncIterator)){type_flags|=1<<15}if(hasMethod(obj,"next")&&(hasMethod(obj,Symbol.iterator)||!hasMethod(obj,Symbol.asyncIterator))){type_flags|=1<<1}if(hasMethod(obj,"next")&&(!hasMethod(obj,Symbol.iterator)||hasMethod(obj,Symbol.asyncIterator))){type_flags|=1<<18}if(hasProperty(obj,"size")||hasProperty(obj,"length")&&typeof obj!=="function"){type_flags|=1<<2}if(hasMethod(obj,"get")){type_flags|=1<<3}if(hasMethod(obj,"set")){type_flags|=1<<4}if(hasMethod(obj,"has")){type_flags|=1<<5}if(hasMethod(obj,"includes")){type_flags|=1<<6}if((isBufferView||typeTag==="[object ArrayBuffer]")&&!(type_flags&1<<9)){type_flags|=1<<8}if(API.isPyProxy(obj)){type_flags|=1<<13}if(isArray){type_flags|=1<<10}if(typeTag==="[object HTMLCollection]"||typeTag==="[object NodeList]"){type_flags|=1<<11}if(isBufferView&&typeTag!=="[object DataView]"){type_flags|=1<<12}if(typeTag==="[object Generator]"){type_flags|=1<<16}if(typeTag==="[object AsyncGenerator]"){type_flags|=1<<17}if(hasProperty(obj,"name")&&hasProperty(obj,"message")&&(hasProperty(obj,"stack")||constructorName==="DOMException")&&!(type_flags&(1<<9|1<<8))){type_flags|=1<<19}return type_flags}catch(e){Module.handle_js_error(e);return-1}return 0}JsProxy_compute_typeflags.sig="ie";function is_comlink_proxy(obj){try{return!!(API.Comlink&&value[API.Comlink.createEndpoint])}catch(e){return!!0}}is_comlink_proxy.sig="ie";function throw_no_gil(){throw new API.NoGilError("Attempted to use PyProxy when Python GIL not held")}throw_no_gil.sig="v";function pyproxy_Check(val){return API.isPyProxy(val)}pyproxy_Check.sig="ie";function pyproxy_AsPyObject(val){if(!API.isPyProxy(val)||!pyproxyIsAlive(val)){return 0}return Module.PyProxy_getPtr(val)}pyproxy_AsPyObject.sig="ie";function destroy_proxies(proxies,msg_ptr){let msg=undefined;if(msg_ptr){msg=_JsvString_FromId(msg_ptr)}for(let px of proxies){Module.pyproxy_destroy(px,msg,false)}}destroy_proxies.sig="vei";function gc_register_proxies(proxies){for(let px of proxies){Module.gc_register_proxy(Module.PyProxy_getAttrs(px).shared)}}gc_register_proxies.sig="ve";function destroy_proxy(px,msg_ptr){const{shared:shared,props:props}=Module.PyProxy_getAttrsQuiet(px);if(!shared.ptr){return}if(props.roundtrip){return}let msg=undefined;if(msg_ptr){msg=_JsvString_FromId(msg_ptr)}Module.pyproxy_destroy(px,msg,false)}destroy_proxy.sig="vei";function proxy_cache_get(proxyCache,descr){const proxy=proxyCache.get(descr);if(!proxy){return null}if(pyproxyIsAlive(proxy)){return proxy}else{proxyCache.delete(descr);return null}}proxy_cache_get.sig="eei";function proxy_cache_set(proxyCache,descr,proxy){proxyCache.set(descr,proxy)}proxy_cache_set.sig="veie";function _pyproxyGen_make_result(done,value){return{done:!!done,value:value}}_pyproxyGen_make_result.sig="eie";function array_to_js(array,len){return Array.from(HEAP32.subarray(array/4,array/4+len))}array_to_js.sig="eii";function _pyproxy_get_buffer_result(start_ptr,smallest_ptr,largest_ptr,readonly,format,itemsize,shape,strides,view,c_contiguous,f_contiguous,sentinel){format=UTF8ToString(format);return{start_ptr:start_ptr,smallest_ptr:smallest_ptr,largest_ptr:largest_ptr,readonly:readonly,format:format,itemsize:itemsize,shape:shape,strides:strides,view:view,c_contiguous:c_contiguous,f_contiguous:f_contiguous}}_pyproxy_get_buffer_result.sig="eiiiiiieeiiii";function pyproxy_new_ex(ptrobj,capture_this,roundtrip,gcRegister){try{return Module.pyproxy_new(ptrobj,{props:{captureThis:!!capture_this,roundtrip:!!roundtrip},gcRegister:gcRegister})}catch(e){Module.handle_js_error(e);return null}errNoRet()}pyproxy_new_ex.sig="eiiii";function pyproxy_new(ptrobj){try{return Module.pyproxy_new(ptrobj)}catch(e){Module.handle_js_error(e);return null}errNoRet()}pyproxy_new.sig="ei";function create_once_callable(obj){try{_Py_IncRef(obj);let alreadyCalled=!!0;function wrapper(...args){if(alreadyCalled){throw new Error("OnceProxy can only be called once")}try{return Module.callPyObject(obj,args)}finally{wrapper.destroy()}}wrapper.destroy=function(){if(alreadyCalled){throw new Error("OnceProxy has already been destroyed")}alreadyCalled=!!1;Module.finalizationRegistry.unregister(wrapper);_Py_DecRef(obj)};Module.finalizationRegistry.register(wrapper,[obj,undefined],wrapper);return wrapper}catch(e){Module.handle_js_error(e);return null}errNoRet()}create_once_callable.sig="ei";function create_promise_handles(handle_result,handle_exception,done_callback){try{if(handle_result){_Py_IncRef(handle_result)}if(handle_exception){_Py_IncRef(handle_exception)}if(!done_callback){done_callback=x=>{}}let used=!!0;function checkUsed(){if(used){throw new Error("One of the promise handles has already been called.")}}function destroy(){checkUsed();used=!!1;if(handle_result){_Py_DecRef(handle_result)}if(handle_exception){_Py_DecRef(handle_exception)}}function onFulfilled(res){checkUsed();try{if(handle_result){return Module.callPyObject(handle_result,[res])}}finally{done_callback(res);destroy()}}function onRejected(err){checkUsed();try{if(handle_exception){return Module.callPyObject(handle_exception,[err])}}finally{done_callback(undefined);destroy()}}onFulfilled.destroy=destroy;onRejected.destroy=destroy;return[onFulfilled,onRejected]}catch(e){Module.handle_js_error(e);return null}errNoRet()}create_promise_handles.sig="eiie";function _python2js_buffer_inner(buf,itemsize,ndim,format,shape,strides,suboffsets){try{let converter=Module.get_converter(format,itemsize);return Module._python2js_buffer_recursive(buf,0,{ndim:ndim,format:format,itemsize:itemsize,shape:shape,strides:strides,suboffsets:suboffsets,converter:converter})}catch(e){Module.handle_js_error(e);return null}errNoRet()}_python2js_buffer_inner.sig="eiiiiiii";function python2js_buffer_init(){try{{0;Module.processBufferFormatString=function(formatStr,errorMessage=""){if(formatStr.length>2){throw new Error("Expected format string to have length <= 2, "+`got '${formatStr}'.`+errorMessage)}let formatChar=formatStr.slice(-1);let alignChar=formatStr.slice(0,-1);let bigEndian;switch(alignChar){case"!":case">":bigEndian=!!1;break;case"<":case"@":case"=":case"":bigEndian=!!0;break;default:throw new Error(`Unrecognized alignment character ${alignChar}.`+errorMessage)}let arrayType;switch(formatChar){case"b":arrayType=Int8Array;break;case"s":case"p":case"c":case"B":case"?":arrayType=Uint8Array;break;case"h":arrayType=Int16Array;break;case"H":arrayType=Uint16Array;break;case"i":case"l":case"n":arrayType=Int32Array;break;case"I":case"L":case"N":case"P":arrayType=Uint32Array;break;case"q":if(globalThis.BigInt64Array===undefined){throw new Error("BigInt64Array is not supported on this browser."+errorMessage)}arrayType=BigInt64Array;break;case"Q":if(globalThis.BigUint64Array===undefined){throw new Error("BigUint64Array is not supported on this browser."+errorMessage)}arrayType=BigUint64Array;break;case"f":arrayType=Float32Array;break;case"d":arrayType=Float64Array;break;case"e":throw new Error("Javascript has no Float16 support.");default:throw new Error(`Unrecognized format character '${formatChar}'.`+errorMessage)}return[arrayType,bigEndian]};Module.python2js_buffer_1d_contiguous=function(ptr,stride,n){let byteLength=stride*n;return HEAP8.slice(ptr,ptr+byteLength).buffer};Module.python2js_buffer_1d_noncontiguous=function(ptr,stride,suboffset,n,itemsize){let byteLength=itemsize*n;let buffer=new Uint8Array(byteLength);for(let i=0;i=0){curptr=HEAPU32[(curptr>>2)+0]+suboffset}buffer.set(HEAP8.subarray(curptr,curptr+itemsize),i*itemsize)}return buffer.buffer};Module._python2js_buffer_recursive=function(ptr,curdim,bufferData){let n=HEAPU32[(bufferData.shape>>2)+curdim];let stride=HEAP32[(bufferData.strides>>2)+curdim];let suboffset=-1;if(bufferData.suboffsets!==0){suboffset=HEAP32[(bufferData.suboffsets>>2)+curdim]}if(curdim===bufferData.ndim-1){let arraybuffer;if(stride===bufferData.itemsize&&suboffset<0){arraybuffer=Module.python2js_buffer_1d_contiguous(ptr,stride,n)}else{arraybuffer=Module.python2js_buffer_1d_noncontiguous(ptr,stride,suboffset,n,bufferData.itemsize)}return bufferData.converter(arraybuffer)}let result=[];for(let i=0;i=0){curptr=HEAPU32[(curptr>>2)+0]+suboffset}result.push(Module._python2js_buffer_recursive(curPtr,curdim+1,bufferData))}return result};Module.get_converter=function(format,itemsize){let formatStr=UTF8ToString(format);let[ArrayType,bigEndian]=Module.processBufferFormatString(formatStr);let formatChar=formatStr.slice(-1);switch(formatChar){case"s":let decoder=new TextDecoder("utf8",{ignoreBOM:!!1});return buff=>decoder.decode(buff);case"?":return buff=>Array.from(new Uint8Array(buff),x=>!!x)}if(!bigEndian){return buff=>new ArrayType(buff)}let getFuncName;let setFuncName;switch(itemsize){case 2:getFuncName="getUint16";setFuncName="setUint16";break;case 4:getFuncName="getUint32";setFuncName="setUint32";break;case 8:getFuncName="getFloat64";setFuncName="setFloat64";break;default:throw new Error(`Unexpected size ${itemsize}`)}function swapFunc(buff){let dataview=new DataView(buff);let getFunc=dataview[getFuncName].bind(dataview);let setFunc=dataview[setFuncName].bind(dataview);for(let byte=0;bytenew ArrayType(swapFunc(buff))}}return 0}catch(e){Module.handle_js_error(e);return-1}return 0}python2js_buffer_init.sig="i";function jslib_init_js(){try{HEAP32[_Jsr_undefined/4]=_hiwire_intern(undefined);HEAP32[_Jsr_true/4]=_hiwire_intern(true);HEAP32[_Jsr_false/4]=_hiwire_intern(false);HEAP32[_Jsr_novalue/4]=_hiwire_intern({noValueMarker:1});Module.novalue=_hiwire_get(HEAP32[_Jsr_novalue/4]);Hiwire.num_keys=_hiwire_num_refs;return 0}catch(e){Module.handle_js_error(e);return-1}return 0}jslib_init_js.sig="i";function JsvNoValue_Check(v){return v===Module.novalue}JsvNoValue_Check.sig="ie";function JsvNum_fromInt(x){return x}JsvNum_fromInt.sig="ei";function JsvNum_fromDouble(val){return val}JsvNum_fromDouble.sig="ed";function JsvNum_fromDigits(digits,ndigits){let result=BigInt(0);for(let i=0;i>2)+i])<>2)+ndigits-1]&2147483648)<=arr.length){return null}return arr.splice(idx,1)[0]}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvArray_Delete.sig="eei";function JsvArray_Push(arr,obj){return arr.push(obj)}JsvArray_Push.sig="iee";function JsvArray_Extend(arr,vals){arr.push(...vals)}JsvArray_Extend.sig="vee";function JsvArray_Insert(arr,idx,value){try{arr.splice(idx,0,value)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvArray_Insert.sig="ieie";function JsvArray_ShallowCopy(arr){try{return"slice"in arr?arr.slice():Array.from(arr)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvArray_ShallowCopy.sig="ee";function JsvArray_slice(obj,length,start,stop,step){try{let result;if(step===1){result=obj.slice(start,stop)}else{result=Array.from({length:length},(_,i)=>obj[start+i*step])}return result}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvArray_slice.sig="eeiiii";function JsvArray_slice_assign(obj,slicelength,start,stop,step,values_length,values){try{let jsvalues=[];for(let i=0;i>2)+i]);if(ref===null){return-1}jsvalues.push(ref)}if(step===1){obj.splice(start,slicelength,...jsvalues)}else{if(values!==0){for(let i=0;i=0;i--){obj.splice(start+i*step,1)}}}}catch(e){Module.handle_js_error(e);return-1}return 0}JsvArray_slice_assign.sig="ieiiiiii";function JsvObject_New(){return{}}JsvObject_New.sig="e";function JsvObject_SetAttr(obj,attr,value){try{obj[attr]=value}catch(e){Module.handle_js_error(e);return-1}return 0}JsvObject_SetAttr.sig="ieee";function JsvObject_Entries(obj){try{return Object.entries(obj)}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvObject_Entries.sig="ee";function JsvObject_Keys(obj){try{return Object.keys(obj)}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvObject_Keys.sig="ee";function JsvObject_Values(obj){try{return Object.values(obj)}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvObject_Values.sig="ee";function JsvObject_toString(obj){try{return obj.toString()}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvObject_toString.sig="ee";function JsvObject_CallMethod(obj,meth,args){try{return nullToUndefined(obj[meth](...args))}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvObject_CallMethod.sig="eeee";function JsvObject_CallMethod_NoArgs(obj,meth){try{return nullToUndefined(obj[meth]())}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvObject_CallMethod_NoArgs.sig="eee";function JsvObject_CallMethod_OneArg(obj,meth,arg){try{return nullToUndefined(obj[meth](arg))}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvObject_CallMethod_OneArg.sig="eeee";function JsvObject_CallMethod_TwoArgs(obj,meth,arg1,arg2){try{return nullToUndefined(obj[meth](arg1,arg2))}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvObject_CallMethod_TwoArgs.sig="eeeee";function JsvFunction_Check(obj){try{return typeof obj==="function"}catch(e){return false}}JsvFunction_Check.sig="ie";function JsvFunction_CallBound(func,this_,args){try{return nullToUndefined(func.apply(this_,args))}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvFunction_CallBound.sig="eeee";function JsvFunction_Call_OneArg(func,arg){try{return nullToUndefined(func.apply(null,[arg]))}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvFunction_Call_OneArg.sig="eee";function JsvFunction_Construct(func,args){try{return nullToUndefined(Reflect.construct(func,args))}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvFunction_Construct.sig="eee";function JsvPromise_Check(obj){try{return isPromise(obj)}catch(e){return false}}JsvPromise_Check.sig="ie";function JsvPromise_Resolve(obj){try{return Promise.resolve(obj)}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvPromise_Resolve.sig="ee";function JsvPromise_Syncify_handleError(){if(!Module.syncify_error){return}Module.handle_js_error(Module.syncify_error);delete Module.syncify_error}JsvPromise_Syncify_handleError.sig="v";function jslib_init_buffers_js(){try{const dtypes_str=["b","B","h","H","i","I","f","d"].join(String.fromCharCode(0));const dtypes_ptr=stringToNewUTF8(dtypes_str);const dtypes_map=Object.fromEntries(Object.entries(dtypes_str).map(([idx,val])=>[val,dtypes_ptr+ +idx]));const buffer_datatype_map=new Map([["Int8Array",[dtypes_map["b"],1,true]],["Uint8Array",[dtypes_map["B"],1,true]],["Uint8ClampedArray",[dtypes_map["B"],1,true]],["Int16Array",[dtypes_map["h"],2,true]],["Uint16Array",[dtypes_map["H"],2,true]],["Int32Array",[dtypes_map["i"],4,true]],["Uint32Array",[dtypes_map["I"],4,true]],["Float32Array",[dtypes_map["f"],4,true]],["Float64Array",[dtypes_map["d"],8,true]],["DataView",[dtypes_map["B"],1,false]],["ArrayBuffer",[dtypes_map["B"],1,false]]]);Module.get_buffer_datatype=function(jsobj){return buffer_datatype_map.get(jsobj.constructor.name)||[0,0,false]}}catch(e){Module.handle_js_error(e);return-1}return 0}jslib_init_buffers_js.sig="i";function JsvBuffer_assignToPtr(buf,ptr){try{Module.HEAPU8.set(bufferAsUint8Array(buf),ptr)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_assignToPtr.sig="iei";function JsvBuffer_assignFromPtr(buf,ptr){try{bufferAsUint8Array(buf).set(Module.HEAPU8.subarray(ptr,ptr+buf.byteLength))}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_assignFromPtr.sig="iei";function JsvBuffer_readFromFile(buf,fd){try{let uint8_buf=bufferAsUint8Array(buf);let stream=Module.FS.streams[fd];Module.FS.read(stream,uint8_buf,0,uint8_buf.byteLength)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_readFromFile.sig="iei";function JsvBuffer_writeToFile(buf,fd){try{let uint8_buf=bufferAsUint8Array(buf);let stream=Module.FS.streams[fd];Module.FS.write(stream,uint8_buf,0,uint8_buf.byteLength)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_writeToFile.sig="iei";function JsvBuffer_intoFile(buf,fd){try{let uint8_buf=bufferAsUint8Array(buf);let stream=Module.FS.streams[fd];Module.FS.write(stream,uint8_buf,0,uint8_buf.byteLength,undefined,true)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvBuffer_intoFile.sig="iei";function JsvGenerator_Check(obj){try{return getTypeTag(obj)==="[object Generator]"}catch(e){return false}}JsvGenerator_Check.sig="ie";function JsvAsyncGenerator_Check(obj){try{return getTypeTag(obj)==="[object AsyncGenerator]"}catch(e){return false}}JsvAsyncGenerator_Check.sig="ie";function JsvError_Throw(e){throw e}JsvError_Throw.sig="ve";function Jsv_less_than(a,b){try{return!!(ab)}catch(e){return false}}Jsv_greater_than.sig="iee";function Jsv_greater_than_equal(a,b){try{return!!(a>=b)}catch(e){return false}}Jsv_greater_than_equal.sig="iee";function JsvMap_New(){try{return new Map}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvMap_New.sig="e";function JsvMap_Set(map,key,val){try{map.set(key,val)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvMap_Set.sig="ieee";function JsvSet_New(){try{return new Set}catch(e){Module.handle_js_error(e);return null}errNoRet()}JsvSet_New.sig="e";function JsvSet_Add(set,val){try{set.add(val)}catch(e){Module.handle_js_error(e);return-1}return 0}JsvSet_Add.sig="iee";function _python2js_addto_postprocess_list(list,parent,key,value){list.push([parent,key,value])}_python2js_addto_postprocess_list.sig="veeei";function _python2js_handle_postprocess_list(list,cache){for(const[parent,key,ptr]of list){let val=cache.get(ptr);if(parent.constructor.name==="Map"){parent.set(key,val)}else{parent[key]=val}}}_python2js_handle_postprocess_list.sig="vee";function _python2js_ucs1(ptr,len){try{let jsstr="";for(let i=0;i>1)+i])}return jsstr}catch(e){Module.handle_js_error(e);return null}errNoRet()}_python2js_ucs2.sig="eii";function _python2js_ucs4(ptr,len){try{let jsstr="";for(let i=0;i>2)+i])}return jsstr}catch(e){Module.handle_js_error(e);return null}errNoRet()}_python2js_ucs4.sig="eii";function _python2js_add_to_cache(cache,pyparent,jsparent){try{cache.set(pyparent,jsparent)}catch(e){Module.handle_js_error(e);return-1}return 0}_python2js_add_to_cache.sig="ieie";function _python2js_cache_lookup(cache,pyparent){return cache.get(pyparent)||null}_python2js_cache_lookup.sig="eei";function _JsArray_PushEntry_helper(array,key,value){try{array.push([key,value])}catch(e){Module.handle_js_error(e);return-1}return 0}_JsArray_PushEntry_helper.sig="ieee";function _JsArray_PostProcess_helper(jscontext,array){try{return jscontext.dict_converter(array)}catch(e){Module.handle_js_error(e);return null}errNoRet()}_JsArray_PostProcess_helper.sig="eee";function python2js__default_converter_js(jscontext,object){try{let proxy=Module.pyproxy_new(object);let result=jscontext.default_converter(proxy,jscontext.converter,jscontext.cacheConversion);proxy.destroy();return result}catch(e){Module.handle_js_error(e);return null}errNoRet()}python2js__default_converter_js.sig="eei";function python2js_custom__create_jscontext(context,cache,dict_converter,default_converter){try{let jscontext={};if(dict_converter){jscontext.dict_converter=dict_converter}if(default_converter){jscontext.default_converter=default_converter;jscontext.cacheConversion=function(input,output){if(!API.isPyProxy(input)){throw new TypeError("The first argument to cacheConversion must be a PyProxy.")}let input_ptr=Module.PyProxy_getPtr(input);cache.set(input_ptr,output)};jscontext.converter=function(x){if(!API.isPyProxy(x)){return x}let ptr=Module.PyProxy_getPtr(x);return __python2js(context,ptr)}}return jscontext}catch(e){Module.handle_js_error(e);return null}errNoRet()}python2js_custom__create_jscontext.sig="eieee";function destroy_proxies_js(proxies_id){try{for(const proxy of proxies_id){proxy.destroy()}}catch(e){Module.handle_js_error(e);return-1}return 0}destroy_proxies_js.sig="ie";function pyodide_js_init(){"use strict";(()=>{var Zr=Object.create;var Ue=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var rt=Object.getOwnPropertyNames;var tt=Object.getPrototypeOf,nt=Object.prototype.hasOwnProperty;var o=(r,e)=>Ue(r,"name",{value:e,configurable:!0}),v=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var ir=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var at=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of rt(e))!nt.call(r,a)&&a!==t&&Ue(r,a,{get:()=>e[a],enumerable:!(n=et(e,a))||n.enumerable});return r};var w=(r,e,t)=>(t=r!=null?Zr(tt(r)):{},at(e||!r||!r.__esModule?Ue(t,"default",{value:r,enumerable:!0}):t,r));var lr=ir((Be,sr)=>{(function(r,e){"use strict";typeof define=="function"&&define.amd?define("stackframe",[],e):typeof Be=="object"?sr.exports=e():r.StackFrame=e()})(Be,function(){"use strict";function r(y){return!isNaN(parseFloat(y))&&isFinite(y)}o(r,"_isNumber");function e(y){return y.charAt(0).toUpperCase()+y.substring(1)}o(e,"_capitalize");function t(y){return function(){return this[y]}}o(t,"_getter");var n=["isConstructor","isEval","isNative","isToplevel"],a=["columnNumber","lineNumber"],i=["fileName","functionName","source"],s=["args"],c=["evalOrigin"],l=n.concat(a,i,s,c);function u(y){if(y)for(var g=0;g{(function(r,e){"use strict";typeof define=="function"&&define.amd?define("error-stack-parser",["stackframe"],e):typeof We=="object"?cr.exports=e(lr()):r.ErrorStackParser=e(r.StackFrame)})(We,o(function(e){"use strict";var t=/(^|@)\S+:\d+/,n=/^\s*at .*(\S+:\d+|\(native\))/m,a=/^(eval@)?(\[native code])?$/;return{parse:o(function(s){if(typeof s.stacktrace<"u"||typeof s["opera#sourceloc"]<"u")return this.parseOpera(s);if(s.stack&&s.stack.match(n))return this.parseV8OrIE(s);if(s.stack)return this.parseFFOrSafari(s);throw new Error("Cannot parse given Error object")},"ErrorStackParser$$parse"),extractLocation:o(function(s){if(s.indexOf(":")===-1)return[s];var c=/(.+?)(?::(\d+))?(?::(\d+))?$/,l=c.exec(s.replace(/[()]/g,""));return[l[1],l[2]||void 0,l[3]||void 0]},"ErrorStackParser$$extractLocation"),parseV8OrIE:o(function(s){var c=s.stack.split(`\n`).filter(function(l){return!!l.match(n)},this);return c.map(function(l){l.indexOf("(eval ")>-1&&(l=l.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));var u=l.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),d=u.match(/ (\(.+\)$)/);u=d?u.replace(d[0],""):u;var f=this.extractLocation(d?d[1]:u),p=d&&u||void 0,y=["eval",""].indexOf(f[0])>-1?void 0:f[0];return new e({functionName:p,fileName:y,lineNumber:f[1],columnNumber:f[2],source:l})},this)},"ErrorStackParser$$parseV8OrIE"),parseFFOrSafari:o(function(s){var c=s.stack.split(`\n`).filter(function(l){return!l.match(a)},this);return c.map(function(l){if(l.indexOf(" > eval")>-1&&(l=l.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),l.indexOf("@")===-1&&l.indexOf(":")===-1)return new e({functionName:l});var u=/((.*".+"[^@]*)?[^@]*)(?:@)/,d=l.match(u),f=d&&d[1]?d[1]:void 0,p=this.extractLocation(l.replace(u,""));return new e({functionName:f,fileName:p[0],lineNumber:p[1],columnNumber:p[2],source:l})},this)},"ErrorStackParser$$parseFFOrSafari"),parseOpera:o(function(s){return!s.stacktrace||s.message.indexOf(`\n`)>-1&&s.message.split(`\n`).length>s.stacktrace.split(`\n`).length?this.parseOpera9(s):s.stack?this.parseOpera11(s):this.parseOpera10(s)},"ErrorStackParser$$parseOpera"),parseOpera9:o(function(s){for(var c=/Line (\d+).*script (?:in )?(\S+)/i,l=s.message.split(`\n`),u=[],d=2,f=l.length;d/,"$2").replace(/\([^)]*\)/g,"")||void 0,y;f.match(/\(([^)]*)\)/)&&(y=f.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var g=y===void 0||y==="[arguments not available]"?void 0:y.split(",");return new e({functionName:p,args:g,fileName:d[0],lineNumber:d[1],columnNumber:d[2],source:l})},this)},"ErrorStackParser$$parseOpera11")}},"ErrorStackParser"))});var st=w(He());var h=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&typeof process.browser>"u",ot=h&&typeof module<"u"&&typeof module.exports<"u"&&typeof v<"u"&&typeof __dirname<"u";var it=typeof Deno<"u",ur=!h&&!it,dr=ur&&typeof window<"u"&&typeof document<"u"&&typeof document.createElement<"u"&&typeof sessionStorage<"u",yr=ur&&typeof importScripts<"u"&&typeof self<"u";var pr,de,Ge,fr,U,lt=`"fetch" is not defined, maybe you're using node < 18? From Pyodide >= 0.25.0, node >= 18 is required. Older versions of Node.js may work, but it is not guaranteed or supported. Falling back to "node-fetch".`;async function mr(){if(!h||(pr=(await import("url")).default,U=await import("fs/promises"),globalThis.fetch?de=fetch:(console.warn(lt),de=(await import("node-fetch")).default),fr=(await import("vm")).default,Ge=await import("path"),_r=Ge.sep,typeof v<"u"))return;let r=await import("fs"),e=await import("crypto"),t=await import("ws"),n=await import("child_process"),a={fs:r,crypto:e,ws:t,child_process:n};globalThis.require=function(i){return a[i]}}o(mr,"initNodeModules");function ct(r,e){return Ge.resolve(e||".",r)}o(ct,"node_resolvePath");function ut(r,e){return e===void 0&&(e=location),new URL(r,e).toString()}o(ut,"browser_resolvePath");var ye;h?ye=ct:ye=ut;var _r;h||(_r="/");function dt(r,e){return r.startsWith("file://")&&(r=r.slice(7)),r.includes("://")?{response:de(r)}:{binary:U.readFile(r).then(t=>new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}}o(dt,"node_getBinaryResponse");function yt(r,e){let t=new URL(r,location);return{response:fetch(t,e?{integrity:e}:{})}}o(yt,"browser_getBinaryResponse");var pe;h?pe=dt:pe=yt;async function D(r,e){let{response:t,binary:n}=pe(r,e);if(n)return n;let a=await t;if(!a.ok)throw new Error(`Failed to load '${r}': request failed.`);return new Uint8Array(await a.arrayBuffer())}o(D,"loadBinaryFile");var ze;if(dr)ze=o(async r=>await import(r),"loadScript");else if(yr)ze=o(async r=>{try{globalThis.importScripts(r)}catch(e){if(e instanceof TypeError)await import(r);else throw e}},"loadScript");else if(h)ze=pt;else throw new Error("Cannot determine runtime environment");async function pt(r){r.startsWith("file://")&&(r=r.slice(7)),r.includes("://")?fr.runInThisContext(await(await de(r)).text()):await import(pr.pathToFileURL(r).href)}o(pt,"nodeLoadScript");function ft(r){return Buffer.from(r,"hex").toString("base64")}o(ft,"nodeBase16ToBase64");function mt(r){return btoa(r.match(/\w{2}/g).map(function(e){return String.fromCharCode(parseInt(e,16))}).join(""))}o(mt,"browserBase16ToBase64");var gr=h?ft:mt;function _t(r){try{return r instanceof _}catch{return!1}}o(_t,"isPyProxy");API.isPyProxy=_t;globalThis.FinalizationRegistry?Module.finalizationRegistry=new FinalizationRegistry(({ptr:r,cache:e})=>{e&&(e.leaked=!0,wr(e));try{_check_gil();let t=Module.validSuspender.value;Module.validSuspender.value=!1,_Py_DecRef(r),Module.validSuspender.value=t}catch(t){API.fatal_error(t)}}):Module.finalizationRegistry={register(){},unregister(){}};var Ve=new Map;Module.pyproxy_alloc_map=Ve;var qe,Je;Module.enable_pyproxy_allocation_tracing=function(){qe=o(function(r){Ve.set(r,Error().stack)},"trace_pyproxy_alloc"),Je=o(function(r){Ve.delete(r)},"trace_pyproxy_dealloc")};Module.disable_pyproxy_allocation_tracing=function(){qe=o(function(r){},"trace_pyproxy_alloc"),Je=o(function(r){},"trace_pyproxy_dealloc")};Module.disable_pyproxy_allocation_tracing();var xr=Symbol("pyproxy.attrs");function gt(r){_check_gil();let e=Module.validSuspender.value;Module.validSuspender.value=!1;try{return _pyproxy_getflags(r)}finally{Module.validSuspender.value=e}}o(gt,"pyproxy_getflags");function ke(r,{flags:e,cache:t,props:n,shared:a,gcRegister:i}={}){i===void 0&&(i=!0);let s=e!==void 0?e:gt(r);s===-1&&_pythonexc2js();let c=s&1<<13,l=Module.getPyProxyClass(s),u;s&1<<8?(u=o(function(){},"target"),Object.setPrototypeOf(u,l.prototype),delete u.length,delete u.name,u.prototype=void 0):u=Object.create(l.prototype);let d=!!a;a||(t||(t={map:new Map,refcnt:0}),t.refcnt++,a={ptr:r,cache:t,flags:s,promise:void 0,destroyed_msg:void 0,gcRegistered:!1},_Py_IncRef(r)),n=Object.assign({isBound:!1,captureThis:!1,boundArgs:[],roundtrip:!1},n);let f=new Proxy(u,c?Et:T);!d&&i&&Sr(a),d||qe(f);let p={shared:a,props:n};return u[xr]=p,f}o(ke,"pyproxy_new");Module.pyproxy_new=ke;function Sr(r){let e=Object.assign({},r);r.gcRegistered=!0,Module.finalizationRegistry.register(r,e,r)}o(Sr,"gc_register_proxy");Module.gc_register_proxy=Sr;function Ee(r){return r[xr]}o(Ee,"_getAttrsQuiet");Module.PyProxy_getAttrsQuiet=Ee;function E(r){let e=Ee(r);if(!e.shared.ptr)throw new Error(e.shared.destroyed_msg);return e}o(E,"_getAttrs");Module.PyProxy_getAttrs=E;function m(r){return E(r).shared.ptr}o(m,"_getPtr");function b(r){return Object.getPrototypeOf(r).$$flags}o(b,"_getFlags");function hr(r,e,t){let{captureThis:n,boundArgs:a,boundThis:i,isBound:s}=E(r).props;return n?s?[i].concat(a,t):[e].concat(t):s?a.concat(t):t}o(hr,"_adjustArgs");var br=new Map;Module.getPyProxyClass=function(r){let e=[[1,me],[2,H],[4,R],[8,_e],[16,ge],[32,be],[2048,Pe],[512,he],[1024,ve],[4096,xe],[64,Ae],[128,Ie],[256,te],[8192,Se],[16384,we]],t=br.get(r);if(t)return t;let n={};for(let[c,l]of e)r&c&&Object.assign(n,Object.getOwnPropertyDescriptors(l.prototype));n.constructor=Object.getOwnPropertyDescriptor(_.prototype,"constructor"),Object.assign(n,Object.getOwnPropertyDescriptors({$$flags:r}));let a=r&1<<8?Ir:Ar,i=Object.create(a,n);function s(){}return o(s,"NewPyProxyClass"),s.prototype=i,br.set(r,s),s};Module.PyProxy_getPtr=m;var ht="This borrowed attribute proxy was automatically destroyed in the process of destroying the proxy it was borrowed from. Try using the 'copy' method.";function wr(r){if(r&&(r.refcnt--,r.refcnt===0))for(let e of r.map.values())r.leaked||Module.pyproxy_destroy(e,ht,!0)}o(wr,"pyproxy_decref_cache");function bt(r,e){if(e=e||"Object has already been destroyed",API.debug_ffi){let t=r.type,n;try{n=r.toString()}catch(a){if(a.pyodide_fatal_error)throw a}e+=`\nThe object was of type "${t}" and `,n?e+=`had repr "${n}"`:e+="an error was raised when trying to generate its repr"}else e+="\nFor more information about the cause of this error, use `pyodide.setDebug(true)`";return e}o(bt,"generateDestroyedMessage");Module.pyproxy_destroy=function(r,e,t){let{shared:n,props:a}=Ee(r);if(!n.ptr||!t&&a.roundtrip)return;n.destroyed_msg=bt(r,e);let i=n.ptr;n.ptr=0,n.gcRegistered&&Module.finalizationRegistry.unregister(n),wr(n.cache);try{_check_gil();let s=Module.validSuspender.value;Module.validSuspender.value=!1,_Py_DecRef(i),Je(r),Module.validSuspender.value=s}catch(s){API.fatal_error(s)}};Module.callPyObjectKwargs=function(r,e,t){let n=e.length,a=Object.keys(t),i=Object.values(t),s=a.length;e.push(...i);let c;try{_check_gil();let l=Module.validSuspender.value;Module.validSuspender.value=!1,c=__pyproxy_apply(r,e,n,a,s),Module.validSuspender.value=l}catch(l){API.maybe_fatal_error(l);return}if(c===null&&_pythonexc2js(),c&&c.type==="coroutine"&&c._ensure_future){_check_gil();let l=Module.validSuspender.value;Module.validSuspender.value=!1;let u=__iscoroutinefunction(r);Module.validSuspender.value=l,u&&c._ensure_future()}return c};async function Pr(r,e,t){if(!Module.jspiSupported)throw new Error("WebAssembly stack switching not supported in this JavaScript runtime");let n=e.length,a=Object.keys(t),i=Object.values(t),s=a.length;e.push(...i);let c;try{_check_gil();let l=Module.validSuspender.value;Module.validSuspender.value=!1,c=await Module.promisingApply(r,e,n,a,s),Module.validSuspender.value=l}catch(l){API.fatal_error(l)}if(c===null&&_pythonexc2js(),c&&c.type==="coroutine"&&c._ensure_future){_check_gil();let l=Module.validSuspender.value;Module.validSuspender.value=!1;let u=__iscoroutinefunction(r);Module.validSuspender.value=l,u&&c._ensure_future()}return c}o(Pr,"callPyObjectKwargsSuspending");Module.callPyObject=function(r,e){return Module.callPyObjectKwargs(r,e,{})};var _=class{static[Symbol.hasInstance](e){return[_,Ye].some(t=>Function.prototype[Symbol.hasInstance].call(t,e))}constructor(){throw new TypeError("PyProxy is not a constructor")}get[Symbol.toStringTag](){return"PyProxy"}get type(){let e=m(this);return __pyproxy_type(e)}toString(){let e=m(this),t;try{_check_gil();let n=Module.validSuspender.value;Module.validSuspender.value=!1,t=__pyproxy_repr(e),Module.validSuspender.value=n}catch(n){API.fatal_error(n)}return t===null&&_pythonexc2js(),t}destroy(e={}){e=Object.assign({message:"",destroyRoundtrip:!0},e);let{message:t,destroyRoundtrip:n}=e;Module.pyproxy_destroy(this,t,n)}copy(){let e=E(this);return ke(e.shared.ptr,{flags:b(this),cache:e.shared.cache,props:e.props})}toJs({depth:e=-1,pyproxies:t=void 0,create_pyproxies:n=!0,dict_converter:a=void 0,default_converter:i=void 0}={}){let s=m(this),c,l;n?t?l=t:l=[]:l=null;try{_check_gil();let u=Module.validSuspender.value;Module.validSuspender.value=!1,c=_python2js_custom(s,e,l,a||null,i||null),Module.validSuspender.value=u}catch(u){API.fatal_error(u)}return c===null&&_pythonexc2js(),c}};o(_,"PyProxy");var Ar=_.prototype;Tests.Function=Function;var Ir=Object.create(Function.prototype,Object.getOwnPropertyDescriptors(Ar));function Ye(){}o(Ye,"PyProxyFunction");Ye.prototype=Ir;globalThis.PyProxyFunction=Ye;var B=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(b(e)&1<<0)}};o(B,"PyProxyWithLength");var me=class{get length(){let e=m(this),t;try{_check_gil();let n=Module.validSuspender.value;Module.validSuspender.value=!1,t=_PyObject_Size(e),Module.validSuspender.value=n}catch(n){API.fatal_error(n)}return t===-1&&_pythonexc2js(),t}};o(me,"PyLengthMethods");var W=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(b(e)&1<<1)}};o(W,"PyProxyWithGet");var H=class{get(e){let t=m(this),n;try{_check_gil();let a=Module.validSuspender.value;Module.validSuspender.value=!1,n=__pyproxy_getitem(t,e),Module.validSuspender.value=a}catch(a){API.fatal_error(a)}if(n===null)if(_PyErr_Occurred())_pythonexc2js();else return;return n}};o(H,"PyGetItemMethods");var z=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(b(e)&1<<2)}};o(z,"PyProxyWithSet");var R=class{set(e,t){let n=m(this),a;try{_check_gil();let i=Module.validSuspender.value;Module.validSuspender.value=!1,a=__pyproxy_setitem(n,e,t),Module.validSuspender.value=i}catch(i){API.fatal_error(i)}a===-1&&_pythonexc2js()}delete(e){let t=m(this),n;try{_check_gil();let a=Module.validSuspender.value;Module.validSuspender.value=!1,n=__pyproxy_delitem(t,e),Module.validSuspender.value=a}catch(a){API.fatal_error(a)}n===-1&&_pythonexc2js()}};o(R,"PySetItemMethods");var G=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(b(e)&1<<3)}};o(G,"PyProxyWithHas");var _e=class{has(e){let t=m(this),n;try{_check_gil();let a=Module.validSuspender.value;Module.validSuspender.value=!1,n=__pyproxy_contains(t,e),Module.validSuspender.value=a}catch(a){API.fatal_error(a)}return n===-1&&_pythonexc2js(),n===1}};o(_e,"PyContainsMethods");function*Pt(r,e){try{for(;;){_check_gil();let t=Module.validSuspender.value;Module.validSuspender.value=!1;let n=__pyproxy_iter_next(r);if(n===null)break;Module.validSuspender.value=t,yield n}}catch(t){API.fatal_error(t)}finally{Module.finalizationRegistry.unregister(e),_Py_DecRef(r)}_PyErr_Occurred()&&_pythonexc2js()}o(Pt,"iter_helper");var K=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(b(e)&(1<<4|1<<5))}};o(K,"PyIterable");var ge=class{[Symbol.iterator](){let e=m(this),t={},n;try{_check_gil();let i=Module.validSuspender.value;Module.validSuspender.value=!1,n=_PyObject_GetIter(e),Module.validSuspender.value=i}catch(i){API.fatal_error(i)}n===0&&_pythonexc2js();let a=Pt(n,t);return Module.finalizationRegistry.register(a,[n,void 0],t),a}};o(ge,"PyIterableMethods");async function*vt(r,e){try{for(;;){let t;try{_check_gil();let n=Module.validSuspender.value;if(Module.validSuspender.value=!1,t=__pyproxy_aiter_next(r),Module.validSuspender.value=n,t===null)break}catch(n){API.fatal_error(n)}try{yield await t}catch(n){if(n&&typeof n=="object"&&n.type==="StopAsyncIteration")return;throw n}finally{t.destroy()}}}finally{Module.finalizationRegistry.unregister(e),_Py_DecRef(r)}_PyErr_Occurred()&&_pythonexc2js()}o(vt,"aiter_helper");var V=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(b(e)&(1<<9|1<<10))}};o(V,"PyAsyncIterable");var he=class{[Symbol.asyncIterator](){let e=m(this),t={},n;try{_check_gil();let i=Module.validSuspender.value;Module.validSuspender.value=!1,n=_PyObject_GetAIter(e),Module.validSuspender.value=i}catch(i){API.fatal_error(i)}n===0&&_pythonexc2js();let a=vt(n,t);return Module.finalizationRegistry.register(a,[n,void 0],t),a}};o(he,"PyAsyncIterableMethods");var q=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(b(e)&1<<5)}};o(q,"PyIterator");var be=class{[Symbol.iterator](){return this}next(e=void 0){let t,n;try{_check_gil();let a=Module.validSuspender.value;Module.validSuspender.value=!1,t=__pyproxyGen_Send(m(this),e),Module.validSuspender.value=a}catch(a){API.fatal_error(a)}return t===null&&_pythonexc2js(),t}};o(be,"PyIteratorMethods");var J=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(b(e)&1<<11)}};o(J,"PyGenerator");var Pe=class{throw(e){let t;try{_check_gil();let n=Module.validSuspender.value;Module.validSuspender.value=!1,t=__pyproxyGen_throw(m(this),e),Module.validSuspender.value=n}catch(n){API.fatal_error(n)}return t===null&&_pythonexc2js(),t}return(e){let t;try{_check_gil();let n=Module.validSuspender.value;Module.validSuspender.value=!1,t=__pyproxyGen_return(m(this),e),Module.validSuspender.value=n}catch(n){API.fatal_error(n)}return t===null&&_pythonexc2js(),t}};o(Pe,"PyGeneratorMethods");var Y=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(b(e)&1<<10)}};o(Y,"PyAsyncIterator");var ve=class{[Symbol.asyncIterator](){return this}async next(e=void 0){let t;try{_check_gil();let a=Module.validSuspender.value;Module.validSuspender.value=!1,t=__pyproxyGen_asend(m(this),e),Module.validSuspender.value=a}catch(a){API.fatal_error(a)}t===null&&_pythonexc2js();let n;try{n=await t}catch(a){if(a&&typeof a=="object"&&a.type==="StopAsyncIteration")return{done:!0,value:n};throw a}finally{t.destroy()}return{done:!1,value:n}}};o(ve,"PyAsyncIteratorMethods");var X=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(b(e)&1<<12)}};o(X,"PyAsyncGenerator");var xe=class{async throw(e){let t;try{_check_gil();let a=Module.validSuspender.value;Module.validSuspender.value=!1,t=__pyproxyGen_athrow(m(this),e),Module.validSuspender.value=a}catch(a){API.fatal_error(a)}t===null&&_pythonexc2js();let n;try{n=await t}catch(a){if(a&&typeof a=="object"){if(a.type==="StopAsyncIteration")return{done:!0,value:n};if(a.type==="GeneratorExit")return{done:!0,value:n}}throw a}finally{t.destroy()}return{done:!1,value:n}}async return(e){let t;try{_check_gil();let a=Module.validSuspender.value;Module.validSuspender.value=!1,t=__pyproxyGen_areturn(m(this)),Module.validSuspender.value=a}catch(a){API.fatal_error(a)}t===null&&_pythonexc2js();let n;try{n=await t}catch(a){if(a&&typeof a=="object"){if(a.type==="StopAsyncIteration")return{done:!0,value:n};if(a.type==="GeneratorExit")return{done:!0,value:e}}throw a}finally{t.destroy()}return{done:!1,value:n}}};o(xe,"PyAsyncGeneratorMethods");var Q=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(b(e)&1<<13)}};o(Q,"PySequence");function xt(r,e){let t=r.toString(),n=e.toString();return t===n?0:t{this.insert(n,t)}),this.length}copyWithin(...e){return Array.prototype.copyWithin.apply(this,e),this}fill(...e){return Array.prototype.fill.apply(this,e),this}};o(we,"PyMutableSequenceMethods");function St(r,e){let t=m(r),n;try{_check_gil();let a=Module.validSuspender.value;Module.validSuspender.value=!1,n=__pyproxy_hasattr(t,e),Module.validSuspender.value=a}catch(a){API.fatal_error(a)}return n===-1&&_pythonexc2js(),n!==0}o(St,"python_hasattr");function wt(r,e){let{shared:t}=E(r),n=t.cache.map,a;try{_check_gil();let i=Module.validSuspender.value;Module.validSuspender.value=!1,a=__pyproxy_getattr(t.ptr,e,n),Module.validSuspender.value=i}catch(i){API.fatal_error(i)}if(a===null){_PyErr_Occurred()&&_pythonexc2js();return}return a}o(wt,"python_getattr");function At(r,e,t){let n=m(r),a;try{_check_gil();let i=Module.validSuspender.value;Module.validSuspender.value=!1,a=__pyproxy_setattr(n,e,t),Module.validSuspender.value=i}catch(i){API.fatal_error(i)}a===-1&&_pythonexc2js()}o(At,"python_setattr");function It(r,e){let t=m(r),n;try{_check_gil();let a=Module.validSuspender.value;Module.validSuspender.value=!1,n=__pyproxy_delattr(t,e),Module.validSuspender.value=a}catch(a){API.fatal_error(a)}n===-1&&_pythonexc2js()}o(It,"python_delattr");function kt(r,e,t,n){let a=m(r),i;try{_check_gil();let s=Module.validSuspender.value;Module.validSuspender.value=!1,i=__pyproxy_slice_assign(a,e,t,n),Module.validSuspender.value=s}catch(s){API.fatal_error(s)}return i===null&&_pythonexc2js(),i}o(kt,"python_slice_assign");function vr(r,e){let t=m(r),n;try{_check_gil();let a=Module.validSuspender.value;Module.validSuspender.value=!1,n=__pyproxy_pop(t,e),Module.validSuspender.value=a}catch(a){API.fatal_error(a)}return n===null&&_pythonexc2js(),n}o(vr,"python_pop");function fe(r,e,t){return r instanceof Function?e in r&&!["name","length","caller","arguments",t?"prototype":void 0].includes(e):e in r}o(fe,"filteredHasKey");var T={isExtensible(){return!0},has(r,e){return fe(r,e,!1)?!0:typeof e=="symbol"?!1:(e.startsWith("$")&&(e=e.slice(1)),St(r,e))},get(r,e){return typeof e=="symbol"||fe(r,e,!0)?Reflect.get(r,e):(e.startsWith("$")&&(e=e.slice(1)),wt(r,e))},set(r,e,t){let n=Object.getOwnPropertyDescriptor(r,e);return n&&!n.writable&&!n.set?!1:typeof e=="symbol"||fe(r,e,!0)?Reflect.set(r,e,t):(e.startsWith("$")&&(e=e.slice(1)),At(r,e,t),!0)},deleteProperty(r,e){let t=Object.getOwnPropertyDescriptor(r,e);return t&&!t.configurable?!1:typeof e=="symbol"||fe(r,e,!0)?Reflect.deleteProperty(r,e):(e.startsWith("$")&&(e=e.slice(1)),It(r,e),!0)},ownKeys(r){let e=m(r),t;try{_check_gil();let n=Module.validSuspender.value;Module.validSuspender.value=!1,t=__pyproxy_ownKeys(e),Module.validSuspender.value=n}catch(n){API.fatal_error(n)}return t===null&&_pythonexc2js(),t.push(...Reflect.ownKeys(r)),t},apply(r,e,t){return r.apply(e,t)}};function Ke(r){return r&&typeof r=="object"&&r.constructor&&r.constructor.name==="PythonError"}o(Ke,"isPythonError");var Et={isExtensible(){return!0},has(r,e){return typeof e=="string"&&/^[0-9]*$/.test(e)?Number(e)n.toString())),e.push("length"),e}},ee=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(b(e)&1<<6)}};o(ee,"PyAwaitable");var Ae=class{_ensure_future(){let{shared:e}=Ee(this);if(e.promise)return e.promise;let t=e.ptr;t||E(this);let n,a,i=new Promise((c,l)=>{n=c,a=l}),s;try{_check_gil();let c=Module.validSuspender.value;Module.validSuspender.value=!1,s=__pyproxy_ensure_future(t,n,a),Module.validSuspender.value=c}catch(c){API.fatal_error(c)}return s===-1&&_pythonexc2js(),e.promise=i,this.destroy(),i}then(e,t){return this._ensure_future().then(e,t)}catch(e){return this._ensure_future().catch(e)}finally(e){return this._ensure_future().finally(e)}};o(Ae,"PyAwaitableMethods");var re=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(b(e)&1<<8)}};o(re,"PyCallable");var te=class{apply(e,t){return t=function(...n){return n}.apply(void 0,t),t=hr(this,e,t),Module.callPyObject(m(this),t)}call(e,...t){return t=hr(this,e,t),Module.callPyObject(m(this),t)}callKwargs(...e){if(e.length===0)throw new TypeError("callKwargs requires at least one argument (the key word argument object)");let t=e.pop();if(t.constructor!==void 0&&t.constructor.name!=="Object")throw new TypeError("kwargs argument is not an object");return Module.callPyObjectKwargs(m(this),e,t)}callSyncifying(...e){return Pr(m(this),e,{})}callSyncifyingKwargs(...e){if(e.length===0)throw new TypeError("callKwargs requires at least one argument (the key word argument object)");let t=e.pop();if(t.constructor!==void 0&&t.constructor.name!=="Object")throw new TypeError("kwargs argument is not an object");return Pr(m(this),e,t)}bind(e,...t){let{shared:n,props:a}=E(this),{boundArgs:i,boundThis:s,isBound:c}=a,l=e;c&&(l=s);let u=i.concat(t);return a=Object.assign({},a,{boundArgs:u,isBound:!0,boundThis:l}),ke(n.ptr,{shared:n,flags:b(this),props:a})}captureThis(){let{props:e,shared:t}=E(this);return e=Object.assign({},e,{captureThis:!0}),ke(t.ptr,{shared:t,flags:b(this),props:e})}};o(te,"PyCallableMethods");te.prototype.prototype=Function.prototype;var Mt=new Map([["i8",Int8Array],["u8",Uint8Array],["u8clamped",Uint8ClampedArray],["i16",Int16Array],["u16",Uint16Array],["i32",Int32Array],["u32",Uint32Array],["i32",Int32Array],["u32",Uint32Array],["i64",globalThis.BigInt64Array],["u64",globalThis.BigUint64Array],["f32",Float32Array],["f64",Float64Array],["dataview",DataView]]),ne=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&!!(b(e)&1<<7)}};o(ne,"PyBuffer");var Ie=class{getBuffer(e){let t;if(e&&(t=Mt.get(e),t===void 0))throw new Error(`Unknown type ${e}`);let n=m(this),a;try{_check_gil();let x=Module.validSuspender.value;Module.validSuspender.value=!1,a=__pyproxy_get_buffer(n),Module.validSuspender.value=x}catch(x){API.fatal_error(x)}a===null&&_pythonexc2js();let{start_ptr:i,smallest_ptr:s,largest_ptr:c,readonly:l,format:u,itemsize:d,shape:f,strides:p,view:y,c_contiguous:g,f_contiguous:A}=a,k=!1;try{let x=!1;t===void 0&&([t,x]=Module.processBufferFormatString(u," In this case, you can pass an explicit type argument."));let I=parseInt(t.name.replace(/[^0-9]/g,""))/8||1;if(x&&I>1)throw new Error("Javascript has no native support for big endian buffers. In this case, you can pass an explicit type argument. For instance, `getBuffer('dataview')` will return a `DataView`which has native support for reading big endian data. Alternatively, toJs will automatically convert the buffer to little endian.");let F=c-s;if(F!==0&&(i%I!==0||s%I!==0||c%I!==0))throw new Error(`Buffer does not have valid alignment for a ${t.name}`);let C=F/I,je=(i-s)/I,j;F===0?j=new t:j=new t(HEAPU32.buffer,s,C);for(let Qr of p.keys())p[Qr]/=I;return k=!0,Object.create(N.prototype,Object.getOwnPropertyDescriptors({offset:je,readonly:l,format:u,itemsize:d,ndim:f.length,nbytes:F,shape:f,strides:p,data:j,c_contiguous:g,f_contiguous:A,_view_ptr:y,_released:!1}))}finally{if(!k)try{_check_gil();let x=Module.validSuspender.value;Module.validSuspender.value=!1,_PyBuffer_Release(y),_PyMem_Free(y),Module.validSuspender.value=x}catch(x){API.fatal_error(x)}}}};o(Ie,"PyBufferMethods");var ae=class extends _{static[Symbol.hasInstance](e){return API.isPyProxy(e)&&e.type==="dict"}};o(ae,"PyDict");var N=class{constructor(){throw new TypeError("PyBufferView is not a constructor")}release(){if(!this._released){try{_check_gil();let e=Module.validSuspender.value;Module.validSuspender.value=!1,_PyBuffer_Release(this._view_ptr),_PyMem_Free(this._view_ptr),Module.validSuspender.value=e}catch(e){API.fatal_error(e)}this._released=!0,this.data=null}}};o(N,"PyBufferView");var Mr=w(He());function Fr(r){if(typeof r=="string")r=new Error(r);else if(r&&typeof r=="object"&&r.name==="ExitStatus"){let e=r.status;r=new $(r.message),r.status=e}else if(typeof r!="object"||r===null||typeof r.stack!="string"||typeof r.message!="string"){let e=API.getTypeTag(r),t=`A value of type ${typeof r} with tag ${e} was thrown as an error!`;try{t+=`\nString interpolation of the thrown value gives """${r}""".`}catch{t+=`\nString interpolation of the thrown value fails.`}try{t+=`\nThe thrown value's toString method returns """${r.toString()}""".`}catch{t+=`\nThe thrown value's toString method fails.`}r=new Error(t)}return r}o(Fr,"ensureCaughtObjectIsError");var oe=class extends Error{constructor(t,n,a){n||(n=`The exception is an object of type ${t} at address ${a} which does not inherit from std::exception`);super(n);this.ty=t}};o(oe,"CppException");Object.defineProperty(oe.prototype,"name",{get(){return`${this.constructor.name} ${this.ty}`}});var Ft=WebAssembly.Exception||function(){},Or=o(r=>r instanceof Ft,"isWasmException");function Dr(r){if(Or(r))if(r.is(Module.jsWrapperTag))r=r.getArg(Module.jsWrapperTag,0);else return r;let[e,t]=Module.getExceptionMessage(r);return new oe(e,t,r)}o(Dr,"convertCppException");Tests.convertCppException=Dr;var kr=!1;API.fatal_error=function(r){if(r&&r.pyodide_fatal_error)return;if(kr){console.error("Recursive call to fatal_error. Inner error was:"),console.error(r);return}if(r instanceof L)throw r;typeof r=="number"||Or(r)?r=Dr(r):r=Fr(r),r.pyodide_fatal_error=!0,kr=!0;let e=r instanceof $;e||(console.error("Pyodide has suffered a fatal error. Please report this to the Pyodide maintainers."),console.error("The cause of the fatal error was:"),API.inTestHoist?(console.error(r.toString()),console.error(r.stack)):console.error(r));try{e||_dump_traceback();let n=`Pyodide already ${e?"exited":"fatally failed"} and can no longer be used.`;for(let a of Reflect.ownKeys(API.public_api))typeof a=="string"&&a.startsWith("_")||a==="version"||Object.defineProperty(API.public_api,a,{enumerable:!0,configurable:!0,get:()=>{throw new Error(n)}});API.on_fatal&&API.on_fatal(r)}catch(t){console.error("Another error occurred while handling the fatal error:"),console.error(t)}throw r};API.maybe_fatal_error=function(r){API._skip_unwind_fatal_error&&r==="unwind"||API.fatal_error(r)};var Xe=[];API.capture_stderr=function(){Xe=[],FS.createDevice("/dev","capture_stderr",null,r=>Xe.push(r)),FS.closeStream(2),FS.open("/dev/capture_stderr",1)};API.restore_stderr=function(){return FS.closeStream(2),FS.unlink("/dev/capture_stderr"),FS.open("/dev/stderr",1),(new TextDecoder).decode(new Uint8Array(Xe))};API.fatal_loading_error=function(...r){let e=r.join(" ");if(_PyErr_Occurred()){API.capture_stderr(),_PyErr_Print();let t=API.restore_stderr();e+=`\n`+t}throw new se(e)};function Qe(r){if(!r)return!1;let e=r.fileName||"";if(e.includes("wasm-function"))return!0;if(!e.includes("pyodide.asm.js"))return!1;let t=r.functionName||"";return t.startsWith("Object.")&&(t=t.slice(7)),API.public_api&&t in API.public_api&&t!=="PythonError"?(r.functionName=t,!1):!0}o(Qe,"isPyodideFrame");function Er(r){return Qe(r)&&r.functionName==="new_error"}o(Er,"isErrorStart");Module.handle_js_error=function(r){if(r&&r.pyodide_fatal_error)throw r;if(r instanceof Module._PropagatePythonError)return;let e=!1;r instanceof M&&(e=_restore_sys_last_exception(r.__error_address));let t,n;try{t=Mr.default.parse(r)}catch{n=!0}if(n&&(r=Fr(r)),!e){let a=_JsProxy_create(r);_set_error(a),_Py_DecRef(a)}if(!n){if(Er(t[0])||Er(t[1]))for(;Qe(t[0]);)t.shift();for(let a of t){if(Qe(a))break;let i=stringToNewUTF8(a.functionName||"???"),s=stringToNewUTF8(a.fileName||"???.js");__PyTraceback_Add(i,s,a.lineNumber),_free(i),_free(s)}}};var M=class extends Error{constructor(t,n,a){let i=Error.stackTraceLimit;Error.stackTraceLimit=1/0;super(n);Error.stackTraceLimit=i,this.type=t,this.__error_address=a}};o(M,"PythonError");API.PythonError=M;var ie=class extends Error{constructor(){super("If you are seeing this message, an internal Pyodide error has occurred. Please report it to the Pyodide maintainers.")}};o(ie,"_PropagatePythonError");function Ot(r){Object.defineProperty(r.prototype,"name",{value:r.name})}o(Ot,"setName");var se=class extends Error{};o(se,"FatalPyodideError");var $=class extends Error{};o($,"Exit");var L=class extends Error{};o(L,"NoGilError");[ie,se,$,M,L].forEach(Ot);API.NoGilError=L;Module._PropagatePythonError=ie;API.errorConstructors=new Map([EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(r=>r).map(r=>[r.constructor.name,r]));API.deserializeError=function(r,e,t){let n=API.errorConstructors.get(r)||Error,a=new n(e);return API.errorConstructors.has(r)||(a.name=r),a.message=e,a.stack=t,a};var Tr={PyProxy:_,PyProxyWithLength:B,PyProxyWithGet:W,PyProxyWithSet:z,PyProxyWithHas:G,PyDict:ae,PyIterable:K,PyAsyncIterable:V,PyIterator:q,PyAsyncIterator:Y,PyGenerator:J,PyAsyncGenerator:X,PyAwaitable:ee,PyCallable:re,PyBuffer:ne,PyBufferView:N,PythonError:M,PySequence:Q,PyMutableSequence:Z};var Rr=o(r=>{r.id!=="canvas"&&console.warn("If you are using canvas element for SDL library, it should have id 'canvas' to work properly."),Module.canvas=r},"setCanvas2D"),Nr=o(()=>Module.canvas,"getCanvas2D"),Dt=o(r=>{Rr(r)},"setCanvas3D"),Tt=o(()=>Nr(),"getCanvas3D"),$r={setCanvas2D:Rr,getCanvas2D:Nr,setCanvas3D:Dt,getCanvas3D:Tt};function Me(){let r=Promise.resolve();async function e(){let t=r,n;return r=new Promise(a=>n=a),await t,n}return o(e,"acquireLock"),e}o(Me,"createLock");var Lr=o(r=>{let e={};return(...t)=>{let n=t[0];if(n in e)return e[n];{let a=r(n);return e[n]=a,a}}},"memoize");function Rt(r,e,t){let n=r.substring(0,r.lastIndexOf("/")),a=e||[];a=a.concat(API.defaultLdLibraryPath,[n]);let i=o(l=>{for(let u of a){let d=Module.PATH.join2(u,l);if(Module.FS.findObject(d)!==null)return d}return l},"resolvePath"),s=o(l=>Module.FS.readFile(i(l)),"readFile");return t!==void 0&&(s=o(l=>t(i(l)),"readFile")),{findObject:(l,u)=>Module.FS.findObject(i(l),u),readFile:s}}o(Rt,"createDynlibFS");var Nt=Me();async function Cr(r,e,t,n){let a=await Nt(),i=Rt(r,t,n);try{if(await Module.loadDynamicLibrary(r,{loadAsync:!0,nodelete:!0,allowUndefined:!0,global:e,fs:i}),e&&Module.PATH.isAbs(r)){let s=Module.PATH.basename(r);Module.LDSO.loadedLibsByName[s]||(Module.LDSO.loadedLibsByName[s]=Module.LDSO.loadedLibsByName[r])}}catch(s){if(s&&s.message&&s.message.includes("need to see wasm magic number")){console.warn(`Failed to load dynlib ${r}. We probably just tried to load a linux .so file or something.`);return}throw s}finally{a()}}o(Cr,"loadDynlib");async function Ze(r,e){let t=`${API.sitepackages}/${r.file_name.split("-")[0]}.libs`,n=Lr(Module.FS.readFile),a=!!r.shared_library,i;if(a)i=e.map(s=>({path:s,global:!0}));else{let s=$t(e,n);i=e.map(c=>{let l=s.has(Module.PATH.basename(c));return{path:c,global:l||!!r.shared_library}})}i.sort((s,c)=>Number(c.global)-Number(s.global));for(let{path:s,global:c}of i)await Cr(s,c,[t],n)}o(Ze,"loadDynlibsFromPackage");function $t(r,e){let t=Module.FS.readFile;e!==void 0&&(t=e);let n=new Set;return r.forEach(a=>{let i=t(a);Module.getDylinkMetadata(i).neededDynlibs.forEach(c=>{n.add(c)})}),n}o($t,"calculateGlobalLibs");API.loadDynlib=Cr;API.loadDynlibsFromPackage=Ze;var Lt=/[-_.]+/g;function jr(r){return r.replace(Lt,"-").toLowerCase()}o(jr,"canonicalizePackageName");var Ct=/^.*?([^\/]*)\.whl$/;function Ur(r){let e=Ct.exec(r);if(e){let t=e[1].toLowerCase().split("-");return{name:t[0],version:t[1],fileName:t.join("-")+".whl"}}}o(Ur,"uriToPackageData");async function jt(r){await mr();let e=await r;if(!e.packages)throw new Error("Loaded pyodide lock file does not contain the expected key 'packages'.");API.lockfile_info=e.info,API.lockfile_packages=e.packages,API.lockfile_unvendored_stdlibs_and_test=[],API.repodata_info=e.info,API.repodata_packages=e.packages,API._import_name_to_package_name=new Map;for(let t of Object.keys(API.lockfile_packages)){let n=API.lockfile_packages[t];for(let a of n.imports)API._import_name_to_package_name.set(a,t);n.package_type==="cpython_module"&&API.lockfile_unvendored_stdlibs_and_test.push(t)}API.lockfile_unvendored_stdlibs=API.lockfile_unvendored_stdlibs_and_test.filter(t=>t!=="test"),await Oe(API.config.packages,{messageCallback(){}})}o(jt,"initializePackageIndex");API.lockFilePromise&&(API.packageIndexReady=jt(API.lockFilePromise));var Fe;API.setCdnUrl=function(r){Fe=r};var le="default channel";function Br(){let r=o(()=>{},"_resolve"),e=o(()=>{},"_reject"),t=new Promise((n,a)=>{r=n,e=a});return t.resolve=r,t.reject=e,t}o(Br,"createDonePromise");function Wr(r,e){let t=jr(r);if(e.has(t))return;let n=API.lockfile_packages[t];if(!n)throw new Error(`No known package with name '${r}'`);if(e.set(t,{name:n.name,normalizedName:t,channel:le,depends:n.depends,installPromise:void 0,done:Br(),packageData:n}),O[n.name]===void 0)for(let a of n.depends)Wr(a,e)}o(Wr,"addPackageToLoad");function Ut(r,e){let t=new Map;for(let n of r){let a=Ur(n);if(a===void 0){Wr(n,t);continue}let{name:i,version:s,fileName:c}=a,l=n;if(t.has(i)&&t.get(i).channel!==l){e(`Loading same package ${i} from ${l} and ${t.get(i).channel}`);continue}t.set(i,{name:i,normalizedName:i,channel:l,depends:[],installPromise:void 0,done:Br(),packageData:{name:i,version:s,file_name:c,install_dir:"site",sha256:"",package_type:"package",imports:[],depends:[],shared_library:!1}})}return t}o(Ut,"recursiveDependencies");async function Bt(r,e=!0){let t;h?(t=API.config.packageCacheDir,await U.mkdir(API.config.packageCacheDir,{recursive:!0})):t=API.config.indexURL;let n,a,i;if(r.channel===le){if(!(r.normalizedName in API.lockfile_packages))throw new Error(`Internal error: no entry for package named ${name}`);let c=API.lockfile_packages[r.normalizedName];n=c.file_name,a=ye(n,t),i="sha256-"+gr(c.sha256)}else a=r.channel,i=void 0;e||(i=void 0);try{return await D(a,i)}catch(c){if(!h||r.channel!==le)throw c}console.log(`Didn't find package ${n} locally, attempting to load from ${Fe}`);let s=await D(Fe+n);return console.log(`Package ${n} loaded from ${Fe}, caching the wheel in node_modules for future use.`),await U.writeFile(a,s),s}o(Bt,"downloadPackage");async function Wt(r,e,t){let n=API.lockfile_packages[r];n||(n={name:"",version:"",file_name:".whl",install_dir:"site",sha256:"",package_type:"package",imports:[],depends:[],shared_library:!1});let a=n.file_name,i=API.package_loader.unpack_buffer.callKwargs({buffer:e,filename:a,target:n.install_dir,calculate_dynlibs:!0,installer:"pyodide.loadPackage",source:t===le?"pyodide":t});await Ze(n,i)}o(Wt,"installPackage");async function Ht(r,e,t,n,a=!0){if(O[r.name]===void 0)try{let i=await Bt(r,a),s=r.depends.map(c=>e.has(c)?e.get(c).done:Promise.resolve());await API.bootstrapFinalizedPromise,await Promise.all(s),await Wt(r.normalizedName,i,r.channel),t.add(r.packageData),O[r.name]=r.channel}catch(i){n.set(r.name,i)}finally{r.done.resolve()}}o(Ht,"downloadAndInstall");var zt=Me();function Gt({name:r,version:e,file_name:t,package_type:n}){return{name:r,version:e,fileName:t,packageType:n}}o(Gt,"filterPackageData");async function Oe(r,e={checkIntegrity:!0}){let t=new Set,n=e.messageCallback||console.log,a=e.errorCallback||console.error;r instanceof _&&(r=r.toJs()),Array.isArray(r)||(r=[r]);let i=Ut(r,a);for(let[u,{name:d,normalizedName:f,channel:p}]of i){let y=O[d];y!==void 0&&(i.delete(f),y===p||p===le?n(`${d} already loaded from ${y}`):a(`URI mismatch, attempting to load package ${d} from ${p} while it is already loaded from ${y}. To override a dependency, load the custom package first.`))}if(i.size===0)return n("No new packages to load"),[];let s=Array.from(i.values(),({name:u})=>u).join(", "),c=new Map,l=await zt();try{n(`Loading ${s}`);for(let[u,d]of i){if(O[d.name]){i.delete(d.normalizedName);continue}d.installPromise=Ht(d,i,t,c,e.checkIntegrity)}if(await Promise.all(Array.from(i.values()).map(({installPromise:u})=>u)),Module.reportUndefinedSymbols(),t.size>0){let u=Array.from(t,d=>d.name).sort().join(", ");n(`Loaded ${u}`)}if(c.size>0){let u=Array.from(c.keys()).join(", ");n(`Failed to load ${u}`);for(let[d,f]of c)a(`The following error occurred while loading ${d}:`),a(f.message)}return API.importlib.invalidate_caches(),Array.from(t,Gt)}finally{l()}}o(Oe,"loadPackage");var O={};var Hr="0.25.1";var tr=h?v("fs"):void 0,Vr=h?v("tty"):void 0;function qr(r){try{tr.fsyncSync(r)}catch(e){if(e&&e.code==="EINVAL")return;throw e}}o(qr,"nodeFsync");var Jr=!1,Le={},S={};function rr(r){Le[S.stdin]=r}o(rr,"_setStdinOps");function Kt(r){Le[S.stdout]=r}o(Kt,"_setStdoutOps");function Vt(r){Le[S.stderr]=r}o(Vt,"_setStderrOps");function qt(r){return r&&typeof r=="object"&&"errno"in r}o(qt,"isErrnoError");var Jt=new Int32Array(new WebAssembly.Memory({shared:!0,initial:1,maximum:1}).buffer);function Yt(r){try{return Atomics.wait(Jt,0,0,r),!0}catch{return!1}}o(Yt,"syncSleep");function Xt(r){for(;;)try{return r()}catch(e){if(e&&e.code==="EAGAIN"&&Yt(100))continue;throw e}}o(Xt,"handleEAGAIN");function zr(r,e,t){let n;try{n=Xt(e)}catch(a){throw a&&a.code&&Module.ERRNO_CODES[a.code]?new FS.ErrnoError(Module.ERRNO_CODES[a.code]):qt(a)?a:(console.error("Error thrown in read:"),console.error(a),new FS.ErrnoError(29))}if(n===void 0)throw console.warn(`${t} returned undefined; a correct implementation must return a number`),new FS.ErrnoError(29);return n!==0&&(r.node.timestamp=Date.now()),n}o(zr,"readWriteHelper");var Gr=o((r,e,t)=>API.typedArrayAsUint8Array(r).subarray(e,e+t),"prepareBuffer"),er={open:function(r){let e=Le[r.node.rdev];if(!e)throw new FS.ErrnoError(43);r.devops=e,r.tty=r.devops.isatty,r.seekable=!1},close:function(r){r.stream_ops.fsync(r)},fsync:function(r){let e=r.devops;e.fsync&&e.fsync()},read:function(r,e,t,n,a){return e=Gr(e,t,n),zr(r,()=>r.devops.read(e),"read")},write:function(r,e,t,n,a){return e=Gr(e,t,n),zr(r,()=>r.devops.write(e),"write")}};function Ce(){Jr&&(FS.closeStream(0),FS.closeStream(1),FS.closeStream(2),FS.open("/dev/stdin",0),FS.open("/dev/stdout",1),FS.open("/dev/stderr",1))}o(Ce,"refreshStreams");API.initializeStreams=function(r,e,t){let n=FS.createDevice.major++;S.stdin=FS.makedev(n,0),S.stdout=FS.makedev(n,1),S.stderr=FS.makedev(n,2),FS.registerDevice(S.stdin,er),FS.registerDevice(S.stdout,er),FS.registerDevice(S.stderr,er),FS.unlink("/dev/stdin"),FS.unlink("/dev/stdout"),FS.unlink("/dev/stderr"),FS.mkdev("/dev/stdin",S.stdin),FS.mkdev("/dev/stdout",S.stdout),FS.mkdev("/dev/stderr",S.stderr),ue({stdin:r}),nr({batched:e}),ar({batched:t}),Jr=!0,Ce()};function Qt(){ue(h?new Te(process.stdin.fd):{stdin:()=>prompt()})}o(Qt,"setDefaultStdin");function Zt(){rr(new De),Ce()}o(Zt,"setStdinError");function ue(r={}){let{stdin:e,error:t,isatty:n,autoEOF:a,read:i}=r,s=+!!e+ +!!t+ +!!i;if(s>1)throw new TypeError("At most one of stdin, read, and error must be provided.");if(!e&&a!==void 0)throw new TypeError("The 'autoEOF' option can only be used with the 'stdin' option");if(s===0){Qt();return}t&&Zt(),e&&(a=a===void 0?!0:a,rr(new Re(e.bind(r),!!n,a))),i&&rr(r),Ce()}o(ue,"setStdin");function Yr(r,e,t){let{raw:n,isatty:a,batched:i,write:s}=r,c=+!!n+ +!!i+ +!!s;if(c===0&&(r=t(),({raw:n,isatty:a,batched:i,write:s}=r)),c>1)throw new TypeError("At most one of 'raw', 'batched', and 'write' must be passed");if(!n&&!s&&a)throw new TypeError("Cannot set 'isatty' to true unless 'raw' or 'write' is provided");n&&e(new Ne(n.bind(r),!!a)),i&&e(new $e(i.bind(r))),s&&e(r),Ce()}o(Yr,"_setStdwrite");function en(){return h?new ce(process.stdout.fd):{batched:r=>console.log(r)}}o(en,"_getStdoutDefaults");function rn(){return h?new ce(process.stderr.fd):{batched:r=>console.warn(r)}}o(rn,"_getStderrDefaults");function nr(r={}){Yr(r,Kt,en)}o(nr,"setStdout");function ar(r={}){Yr(r,Vt,rn)}o(ar,"setStderr");var tn=new TextEncoder,Kr=new TextDecoder,De=class{read(e){throw new FS.ErrnoError(29)}};o(De,"ErrorReader");var Te=class{constructor(e){this.fd=e,this.isatty=Vr.isatty(e)}read(e){try{return tr.readSync(this.fd,e)}catch(t){if(t.toString().includes("EOF"))return 0;throw t}}fsync(){qr(this.fd)}};o(Te,"NodeReader");var Re=class{constructor(e,t,n){this.infunc=e,this.isatty=t,this.autoEOF=n,this.index=0,this.saved=void 0,this.insertEOF=!1}_getInput(){if(this.saved)return this.saved;let e=this.infunc();if(typeof e=="number")return e;if(e!=null){if(ArrayBuffer.isView(e)){if(e.BYTES_PER_ELEMENT!==1)throw console.warn(`Expected BYTES_PER_ELEMENT to be 1, infunc gave ${e.constructor}`),new FS.ErrnoError(29);return e}if(typeof e=="string")return e.endsWith(`\n`)||(e+=`\n`),e;if(Object.prototype.toString.call(e)==="[object ArrayBuffer]")return new Uint8Array(e);throw console.warn("Expected result to be undefined, null, string, array buffer, or array buffer view"),new FS.ErrnoError(29)}}read(e){if(this.insertEOF)return this.insertEOF=!1,0;let t=0;for(;;){let n=this._getInput();if(typeof n=="number"){e[0]=n,e=e.subarray(1),t++;continue}let a;if(n&&n.length>0)if(typeof n=="string"){let{read:i,written:s}=tn.encodeInto(n,e);this.saved=n.slice(i),t+=s,a=e[s-1],e=e.subarray(s)}else{let i;n.length>e.length?(e.set(n.subarray(0,e.length)),this.saved=n.subarray(e.length),i=e.length):(e.set(n),this.saved=void 0,i=n.length),t+=i,a=e[i-1],e=e.subarray(i)}if(!(n&&n.length>0)||this.autoEOF||e.length===0)return this.insertEOF=t>0&&this.autoEOF&&a!==10,t}}fsync(){}};o(Re,"LegacyReader");var Ne=class{constructor(e,t){this.out=e,this.isatty=t}write(e){for(let t of e)this.out(t);return e.length}};o(Ne,"CharacterCodeWriter");var $e=class{constructor(e){this.isatty=!1;this.out=e,this.output=[]}write(e){for(let t of e)t===10?(this.out(Kr.decode(new Uint8Array(this.output))),this.output=[]):t!==0&&this.output.push(t);return e.length}fsync(){this.output&&this.output.length>0&&(this.out(Kr.decode(new Uint8Array(this.output))),this.output=[])}};o($e,"StringWriter");var ce=class{constructor(e){this.fd=e,this.isatty=Vr.isatty(e)}write(e){return tr.writeSync(this.fd,e)}fsync(){qr(this.fd)}};o(ce,"NodeWriter");API.loadBinaryFile=D;API.rawRun=o(function(e){let t=Module.stringToNewUTF8(e);Module.API.capture_stderr();let n=_PyRun_SimpleString(t);_free(t);let a=Module.API.restore_stderr().trim();return[n,a]},"rawRun");API.runPythonInternal=function(r){return API._pyodide._base.eval_code(r,API.runPythonInternal_dict)};API.setPyProxyToStringMethod=function(r){Module.HEAP8[Module._compat_to_string_repr]=+r};API.saveState=()=>API.pyodide_py._state.save_state();API.restoreState=r=>API.pyodide_py._state.restore_state(r);var P=class{static async loadPackagesFromImports(e,t={checkIntegrity:!0}){let n=API.pyodide_code.find_imports(e),a;try{a=n.toJs()}finally{n.destroy()}if(a.length===0)return[];let i=API._import_name_to_package_name,s=new Set;for(let c of a)i.has(c)&&s.add(i.get(c));return s.size?await Oe(Array.from(s),t):[]}static runPython(e,t={}){return t.globals||(t.globals=API.globals),API.pyodide_code.eval_code.callKwargs(e,t)}static async runPythonAsync(e,t={}){return t.globals||(t.globals=API.globals),await API.pyodide_code.eval_code_async.callKwargs(e,t)}static async runPythonSyncifying(e,t={}){return t.globals||(t.globals=API.globals),API.pyodide_code.eval_code.callSyncifyingKwargs(e,t)}static registerJsModule(e,t){API.pyodide_ffi.register_js_module(e,t)}static unregisterJsModule(e){API.pyodide_ffi.unregister_js_module(e)}static toPy(e,{depth:t,defaultConverter:n}={depth:-1}){switch(typeof e){case"string":case"number":case"boolean":case"bigint":case"undefined":return e}if(!e||API.isPyProxy(e))return e;let a=0,i=0;try{a=Module.js2python_convert(e,{depth:t,defaultConverter:n})}catch(s){throw s instanceof Module._PropagatePythonError&&_pythonexc2js(),s}try{if(_JsProxy_Check(a))return e;i=_python2js(a),i===null&&_pythonexc2js()}finally{_Py_DecRef(a)}return i}static pyimport(e){return API.importlib.import_module(e)}static unpackArchive(e,t,n={}){if(!ArrayBuffer.isView(e)&&API.getTypeTag(e)!=="[object ArrayBuffer]")throw new TypeError("Expected argument 'buffer' to be an ArrayBuffer or an ArrayBuffer view");API.typedArrayAsUint8Array(e);let a=n.extractDir;API.package_loader.unpack_buffer.callKwargs({buffer:e,format:t,extract_dir:a,installer:"pyodide.unpackArchive"})}static async mountNativeFS(e,t){if(t.constructor.name!=="FileSystemDirectoryHandle")throw new TypeError("Expected argument 'fileSystemHandle' to be a FileSystemDirectoryHandle");return Module.FS.findObject(e)==null&&Module.FS.mkdirTree(e),Module.FS.mount(Module.FS.filesystems.NATIVEFS_ASYNC,{fileSystemHandle:t},e),await new Promise((n,a)=>Module.FS.syncfs(!0,n)),{syncfs:async()=>new Promise((n,a)=>Module.FS.syncfs(!1,n))}}static registerComlink(e){API._Comlink=e}static setInterruptBuffer(e){Module.HEAP8[Module._Py_EMSCRIPTEN_SIGNAL_HANDLING]=!!e,Module.Py_EmscriptenSignalBuffer=e}static checkInterrupt(){if(_PyGILState_Check()){__PyErr_CheckSignals()&&_pythonexc2js();return}else{let e=Module.Py_EmscriptenSignalBuffer;if(e&&e[0]===2)throw new Module.FS.ErrnoError(27)}}static setDebug(e){let t=!!API.debug_ffi;return API.debug_ffi=e,t}};o(P,"PyodideAPI"),P.version=Hr,P.loadPackage=Oe,P.loadedPackages=O,P.ffi=Tr,P.setStdin=ue,P.setStdout=nr,P.setStderr=ar,P.globals={},P.FS={},P.PATH={},P.canvas=$r,P.ERRNO_CODES={},P.pyodide_py={};function nn(){let r=Object.getOwnPropertyDescriptors(P);delete r.prototype;let e=Object.create({},r);return API.public_api=e,e.FS=Module.FS,e.PATH=Module.PATH,e.ERRNO_CODES=Module.ERRNO_CODES,e._module=Module,e._api=API,e}o(nn,"makePublicAPI");function an(r,e){return new Proxy(r,{get(t,n){return n==="get"?a=>{let i=t.get(a);return i===void 0&&(i=e.get(a)),i}:n==="has"?a=>t.has(a)||e.has(a):Reflect.get(t,n)}})}o(an,"wrapPythonGlobals");var Xr;API.bootstrapFinalizedPromise=new Promise(r=>Xr=r);API.finalizeBootstrap=function(){let[r,e]=API.rawRun("import _pyodide_core");r&&API.fatal_loading_error(`Failed to import _pyodide_core\n`,e),API.runPythonInternal_dict=API._pyodide._base.eval_code("{}"),API.importlib=API.runPythonInternal("import importlib; importlib");let t=API.importlib.import_module;API.sys=t("sys"),API.sys.path.insert(0,API.config.env.HOME),API.os=t("os");let n=API.runPythonInternal("import __main__; __main__.__dict__"),a=API.runPythonInternal("import builtins; builtins.__dict__");API.globals=an(n,a);let i=API._pyodide._importhook;function s(l){"__all__"in l||Object.defineProperty(l,"__all__",{get:()=>c.toPy(Object.getOwnPropertyNames(l).filter(u=>u!=="__all__")),enumerable:!1,configurable:!0})}o(s,"jsFinderHook"),i.register_js_finder.callKwargs({hook:s}),i.register_js_module("js",API.config.jsglobals);let c=nn();return i.register_js_module("pyodide_js",c),API.pyodide_py=t("pyodide"),API.pyodide_code=t("pyodide.code"),API.pyodide_ffi=t("pyodide.ffi"),API.package_loader=t("pyodide._package_loader"),API.sitepackages=API.package_loader.SITE_PACKAGES.__str__(),API.dsodir=API.package_loader.DSO_DIR.__str__(),API.defaultLdLibraryPath=[API.dsodir,API.sitepackages],API.os.environ.__setitem__("LD_LIBRARY_PATH",API.defaultLdLibraryPath.join(":")),c.pyodide_py=API.pyodide_py,c.globals=API.globals,Xr(),c}})()}var StackSwitching=(()=>{var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:true}),mod);var __toBinary=(()=>{var table=new Uint8Array(128);for(var i=0;i<64;i++)table[i<26?i+65:i<52?i+71:i<62?i-4:i*4-205]=i;return base64=>{var n=base64.length,bytes=new Uint8Array((n-(base64[n-1]=="=")-(base64[n-2]=="="))*3/4|0);for(var i2=0,j=0;i2>4;bytes[j++]=c1<<4|c2>>2;bytes[j++]=c2<<6|c3}return bytes}})();var stack_switching_exports={};__export(stack_switching_exports,{createPromising:()=>createPromising,jsWrapperTag:()=>jsWrapperTag,promisingApply:()=>promisingApply});var WASM_PRELUDE=[0,97,115,109,1,0,0,0];function insertSectionPrefix(sectionCode,sectionBody){var section=[sectionCode];uleb128Encode(sectionBody.length,section);section.push(...sectionBody);return section}var typeCodes={i32:127,i64:126,f32:125,f64:124,externref:111,void:64};var constCodes={i32:65,i64:66,f32:67,f64:68};function emscriptenSigToWasm(sig){const lookup={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",v:""};const parameters=sig.split("").map(x=>lookup[x]);const result=parameters.shift();const results=result?[result]:[];return{parameters:parameters,results:results}}var TypeSection=class{constructor(){this._numTypes=0;this._section=[0]}addEmscripten(sig){return this.addWasm(emscriptenSigToWasm(sig))}addWasm({parameters:parameters,results:results}){this._section.push(96);uleb128Encode(parameters.length,this._section);for(let p of parameters){this._section.push(typeCodes[p])}uleb128Encode(results.length,this._section);for(let p of results){this._section.push(typeCodes[p])}return this._numTypes++}generate(){this._section[0]=this._numTypes;return insertSectionPrefix(1,this._section)}};function encodeStr(s){const buf=(new TextEncoder).encode(s);return[buf.length,...buf]}var ImportSection=class{constructor(){this._numImports=0;this.numGlobals=0;this.numFuncs=0;this._section=[0]}_addName(name){this._section.push(...ImportSection._module);this._section.push(...encodeStr(name))}addFunction(name,sig){this._addName(name);this._section.push(ImportSection.descr.func,sig);this._numImports++;return this.numFuncs++}addTable(name){this._addName(name);this._section.push(ImportSection.descr.table,112,0,0);this._numImports++}addGlobal(name,type){this._addName(name);this._section.push(ImportSection.descr.global,typeCodes[type],1);this._numImports++;return this.numGlobals++}addTag(name,sig){this._addName(name);this._section.push(ImportSection.descr.tag,0,sig);this._numImports++}generate(){this._section[0]=this._numImports;return insertSectionPrefix(2,this._section)}};ImportSection._module=encodeStr("e");ImportSection.descr={func:0,table:1,mem:2,global:3,tag:4};var CodeSection=class{constructor(...locals){this._section=[];this.add(locals.length);for(let l of locals){this.add(1,typeCodes[l])}}add(...args){this._section.push(...args)}local_get(idx){this.add(32,idx)}local_set(idx){this.add(33,idx)}local_tee(idx){this.add(34,idx)}global_get(idx){this.add(35,idx)}global_set(idx){this.add(36,idx)}call(func){this.add(16,func)}call_indirect(func){this.add(17,func,0)}const(type,...val){this.add(constCodes[type],...val)}end(){this.add(11)}generate(){this.end();return insertSectionPrefix(10,insertSectionPrefix(1,this._section))}};var WasmModule=class{constructor(){this._sections=[WASM_PRELUDE]}addSection(section){this._sections.push(section.generate())}addSectionBody(sectionCode,sectionBody){this._sections.push(insertSectionPrefix(sectionCode,sectionBody))}addImportSection(imports){this.addSection(imports);this._numImportFuncs=imports.numFuncs}setExportType(type){const functionSection=[1,type];this.addSectionBody(3,functionSection);const exportSection=[1,...encodeStr("o"),0,this._numImportFuncs];this.addSectionBody(7,exportSection)}generate(){const bytes=new Uint8Array(this._sections.flat());return new WebAssembly.Module(bytes)}};function createInvokeModule(sig){const mod=new WasmModule;const types=new TypeSection;const invoke_sig=emscriptenSigToWasm(sig);const export_sig=structuredClone(invoke_sig);export_sig.parameters.unshift("i32");const invoke_tidx=types.addWasm(invoke_sig);const export_tidx=types.addWasm(export_sig);const try_tidx=typeCodes[invoke_sig.results[0]||"void"];const tag_tidx=types.addEmscripten("ve");const save_tidx=types.addEmscripten("i");const restore_tidx=types.addEmscripten("vi");const setThrew_tidx=types.addEmscripten("vii");mod.addSection(types);const imports=new ImportSection;imports.addTable("t");imports.addTag("tag",tag_tidx);const save_stack_func=imports.addFunction("s",save_tidx);const restore_stack_func=imports.addFunction("r",restore_tidx);const set_threw_func=imports.addFunction("q",setThrew_tidx);mod.addImportSection(imports);mod.setExportType(export_tidx);const code=new CodeSection(["i32"]);const stackLocal=export_sig.parameters.length;code.call(save_stack_func);code.local_set(stackLocal);code.add(6,try_tidx);for(let i=1;inew WebAssembly.Exception(jsWrapperTag,[e]);function createInvoke(sig){if(!jsWrapperTag){return createInvokeFunction(sig)}const module=createInvokeModule(sig);const instance=new WebAssembly.Instance(module,{e:{t:wasmTable,s:()=>stackSave(),r:x=>stackRestore(x),q:(x,y)=>_setThrew(x,y),tag:jsWrapperTag}});return instance.exports["o"]}function adjustWasmImports(wasmImports){const i="invoke_";for(let name of Object.keys(wasmImports)){if(!name.startsWith(i)){continue}wasmImports[name]=createInvoke(name.slice(i.length))}}var wrap_syncifying_exports={};__export(wrap_syncifying_exports,{default:()=>wrap_syncifying_default});var wrap_syncifying_default=__toBinary("AGFzbQEAAAABFARgAm9vAW9gAAFvYAFvAGABbwFvAioFAWUBcwNvAQFlAWMDfwEBZQFpAAABZQRzYXZlAAEBZQdyZXN0b3JlAAIDAgEDBwUBAW8AAwodARsBAW8jAUUEQNBvDwsQASEBIwAgABAAIAEQAgs=");var stackStates=[];var StackState=class{constructor(){this.start=stackSave();this.stop=Module.stackStop;this._copy=new Uint8Array(0);if(this.start!==this.stop){stackStates.push(this)}}restore(){let total=0;while(stackStates.length>0&&stackStates[stackStates.length-1].stop{try{return nullToUndefined(await x)}catch(e){if(e&&e.pyodide_fatal_error){throw e}Module.syncify_error=e;return null}},{suspending:"first"});const module=new WebAssembly.Module(new Uint8Array(wrap_syncifying_default));const instance=new WebAssembly.Instance(module,{e:{s:suspenderGlobal,i:suspending_f,c:validSuspender,save:save_state,restore:restore_state}});HEAP32[_syncifyHandler/4]=addFunction(instance.exports.o)}var promisingApplyHandler;function promisingApply(...args){validSuspender.value=true;Module.stackStop=stackSave();Module.origCframe=_get_cframe();const cframe=stackAlloc(HEAP32[_size_of_cframe/4]);_set_new_cframe(cframe);return promisingApplyHandler(...args)}function wasmTypeToString(ty){return`params:${ty.parameters};results:${ty.results}`}function createPromisingModule(orig_type){const mod=new WasmModule;const ts=new TypeSection;const wrapped_type=structuredClone(orig_type);wrapped_type.parameters.unshift("externref");const orig_sig=ts.addWasm(orig_type);const wrapped_sig=ts.addWasm(wrapped_type);mod.addSection(ts);const imports=new ImportSection;imports.addGlobal("s","externref");const orig=imports.addFunction("i",orig_sig);mod.addImportSection(imports);mod.setExportType(wrapped_sig);const code=new CodeSection;code.local_get(0);code.global_set(0);for(let i=1;i!!Module.PyProxy_getAttrsQuiet(px).shared.ptr;API.pyproxyIsAlive=pyproxyIsAlive;const errNoRet=()=>{throw new Error("Assertion error: control reached end of function without return")};Module.reportUndefinedSymbols=()=>{};const nullToUndefined=x=>x===null?undefined:x;function isPromise(obj){try{return!!obj&&typeof obj.then==="function"}catch(e){return false}}API.isPromise=isPromise;function bufferAsUint8Array(arg){if(ArrayBuffer.isView(arg)){return new Uint8Array(arg.buffer,arg.byteOffset,arg.byteLength)}else{return new Uint8Array(arg)}}API.typedArrayAsUint8Array=bufferAsUint8Array;Module.iterObject=function*(object){for(let k in object){if(Object.prototype.hasOwnProperty.call(object,k)){yield k}}};function wasmFunctionType(wasm_func){if(!WebAssembly.Function){throw new Error("No type reflection")}if(WebAssembly.Function.type){return WebAssembly.Function.type(wasm_func)}return wasm_func.type()}pyodide_js_init();pyodide_js_init.sig="v";function _PyImport_InitFunc_TrampolineCall(func){return wasmTable.get(func)()}_PyImport_InitFunc_TrampolineCall.sig="ii";function _Py_emscripten_runtime(){var info;if(typeof navigator=="object"){info=navigator.userAgent}else if(typeof process=="object"){info="Node.js ".concat(process.version)}else{info="UNKNOWN"}var len=lengthBytesUTF8(info)+1;var res=_malloc(len);if(res)stringToUTF8(info,res,len);return res}_Py_emscripten_runtime.sig="i";function _Py_CheckEmscriptenSignals_Helper(){if(!Module.Py_EmscriptenSignalBuffer){return 0}try{let result=Module.Py_EmscriptenSignalBuffer[0];Module.Py_EmscriptenSignalBuffer[0]=0;return result}catch(e){return 0}}_Py_CheckEmscriptenSignals_Helper.sig="i";function _PyEM_detect_type_reflection(){return"Function"in WebAssembly}_PyEM_detect_type_reflection.sig="i";function _PyEM_TrampolineCall_JS(func,arg1,arg2,arg3){return wasmTable.get(func)(arg1,arg2,arg3)}_PyEM_TrampolineCall_JS.sig="iiiii";function _PyEM_CountFuncParams(func){let n=_PyEM_CountFuncParams.cache.get(func);if(n!==undefined){return n}n=wasmFunctionType(wasmTable.get(func)).parameters.length;_PyEM_CountFuncParams.cache.set(func,n);return n}_PyEM_CountFuncParams.cache=new Map;_PyEM_CountFuncParams.sig="ii";function unbox_small_structs(type_ptr){var type_id=HEAPU16[(type_ptr+6>>1)+0];while(type_id===13){var elements=HEAPU32[(type_ptr+8>>2)+0];var first_element=HEAPU32[(elements>>2)+0];if(first_element===0){type_id=0;break}else if(HEAPU32[(elements>>2)+1]===0){type_ptr=first_element;type_id=HEAPU16[(first_element+6>>1)+0]}else{break}}return[type_ptr,type_id]}function ffi_call_js(cif,fn,rvalue,avalue){var abi=HEAPU32[(cif>>2)+0];var nargs=HEAPU32[(cif>>2)+1];var nfixedargs=HEAPU32[(cif>>2)+6];var arg_types_ptr=HEAPU32[(cif>>2)+2];var rtype_unboxed=unbox_small_structs(HEAPU32[(cif>>2)+3]);var rtype_ptr=rtype_unboxed[0];var rtype_id=rtype_unboxed[1];var orig_stack_ptr=stackSave();var cur_stack_ptr=orig_stack_ptr;var args=[];var ret_by_arg=false;if(rtype_id===15){throw new Error("complex ret marshalling nyi")}if(rtype_id<0||rtype_id>15){throw new Error("Unexpected rtype "+rtype_id)}if(rtype_id===4||rtype_id===13){args.push(rvalue);ret_by_arg=true}for(var i=0;i>2)+i];var arg_unboxed=unbox_small_structs(HEAPU32[(arg_types_ptr>>2)+i]);var arg_type_ptr=arg_unboxed[0];var arg_type_id=arg_unboxed[1];switch(arg_type_id){case 1:case 10:case 9:case 14:args.push(HEAPU32[(arg_ptr>>2)+0]);break;case 2:args.push(HEAPF32[(arg_ptr>>2)+0]);break;case 3:args.push(HEAPF64[(arg_ptr>>3)+0]);break;case 5:args.push(HEAPU8[arg_ptr+0]);break;case 6:args.push(HEAP8[arg_ptr+0]);break;case 7:args.push(HEAPU16[(arg_ptr>>1)+0]);break;case 8:args.push(HEAP16[(arg_ptr>>1)+0]);break;case 11:case 12:args.push(HEAPU64[(arg_ptr>>3)+0]);break;case 4:args.push(HEAPU64[(arg_ptr>>3)+0]);args.push(HEAPU64[(arg_ptr>>3)+1]);break;case 13:var size=HEAPU32[(arg_type_ptr>>2)+0];var align=HEAPU16[(arg_type_ptr+4>>1)+0];cur_stack_ptr-=size,cur_stack_ptr&=~(align-1);HEAP8.subarray(cur_stack_ptr,cur_stack_ptr+size).set(HEAP8.subarray(arg_ptr,arg_ptr+size));args.push(cur_stack_ptr);break;case 15:throw new Error("complex marshalling nyi");default:throw new Error("Unexpected type "+arg_type_id)}}if(nfixedargs!=nargs){var struct_arg_info=[];for(var i=nargs-1;i>=nfixedargs;i--){var arg_ptr=HEAPU32[(avalue>>2)+i];var arg_unboxed=unbox_small_structs(HEAPU32[(arg_types_ptr>>2)+i]);var arg_type_ptr=arg_unboxed[0];var arg_type_id=arg_unboxed[1];switch(arg_type_id){case 5:case 6:cur_stack_ptr-=1,cur_stack_ptr&=~(1-1);HEAPU8[cur_stack_ptr+0]=HEAPU8[arg_ptr+0];break;case 7:case 8:cur_stack_ptr-=2,cur_stack_ptr&=~(2-1);HEAPU16[(cur_stack_ptr>>1)+0]=HEAPU16[(arg_ptr>>1)+0];break;case 1:case 9:case 10:case 14:case 2:cur_stack_ptr-=4,cur_stack_ptr&=~(4-1);HEAPU32[(cur_stack_ptr>>2)+0]=HEAPU32[(arg_ptr>>2)+0];break;case 3:case 11:case 12:cur_stack_ptr-=8,cur_stack_ptr&=~(8-1);HEAPU32[(cur_stack_ptr>>2)+0]=HEAPU32[(arg_ptr>>2)+0];HEAPU32[(cur_stack_ptr>>2)+1]=HEAPU32[(arg_ptr>>2)+1];break;case 4:cur_stack_ptr-=16,cur_stack_ptr&=~(8-1);HEAPU32[(cur_stack_ptr>>2)+0]=HEAPU32[(arg_ptr>>2)+0];HEAPU32[(cur_stack_ptr>>2)+1]=HEAPU32[(arg_ptr>>2)+1];HEAPU32[(cur_stack_ptr>>2)+2]=HEAPU32[(arg_ptr>>2)+2];HEAPU32[(cur_stack_ptr>>2)+3]=HEAPU32[(arg_ptr>>2)+3];break;case 13:cur_stack_ptr-=4,cur_stack_ptr&=~(4-1);struct_arg_info.push([cur_stack_ptr,arg_ptr,HEAPU32[(arg_type_ptr>>2)+0],HEAPU16[(arg_type_ptr+4>>1)+0]]);break;case 15:throw new Error("complex arg marshalling nyi");default:throw new Error("Unexpected argtype "+arg_type_id)}}args.push(cur_stack_ptr);for(var i=0;i>2)+0]=cur_stack_ptr}}stackRestore(cur_stack_ptr);stackAlloc(0);var result=(0,getWasmTableEntry(fn).apply(null,args));stackRestore(orig_stack_ptr);if(ret_by_arg){return}switch(rtype_id){case 0:break;case 1:case 9:case 10:case 14:HEAPU32[(rvalue>>2)+0]=result;break;case 2:HEAPF32[(rvalue>>2)+0]=result;break;case 3:HEAPF64[(rvalue>>3)+0]=result;break;case 5:case 6:HEAPU8[rvalue+0]=result;break;case 7:case 8:HEAPU16[(rvalue>>1)+0]=result;break;case 11:case 12:HEAPU64[(rvalue>>3)+0]=result;break;case 15:throw new Error("complex ret marshalling nyi");default:throw new Error("Unexpected rtype "+rtype_id)}}ffi_call_js.sig="viiii";function ffi_closure_alloc_js(size,code){var closure=_malloc(size);var index=getEmptyTableSlot();HEAPU32[(code>>2)+0]=index;HEAPU32[(closure>>2)+0]=index;return closure}ffi_closure_alloc_js.sig="iii";function ffi_closure_free_js(closure){var index=HEAPU32[(closure>>2)+0];freeTableIndexes.push(index);_free(closure)}ffi_closure_free_js.sig="vi";function ffi_prep_closure_loc_js(closure,cif,fun,user_data,codeloc){var abi=HEAPU32[(cif>>2)+0];var nargs=HEAPU32[(cif>>2)+1];var nfixedargs=HEAPU32[(cif>>2)+6];var arg_types_ptr=HEAPU32[(cif>>2)+2];var rtype_unboxed=unbox_small_structs(HEAPU32[(cif>>2)+3]);var rtype_ptr=rtype_unboxed[0];var rtype_id=rtype_unboxed[1];var sig;var ret_by_arg=false;switch(rtype_id){case 0:sig="v";break;case 13:case 4:sig="vi";ret_by_arg=true;break;case 1:case 5:case 6:case 7:case 8:case 9:case 10:case 14:sig="i";break;case 2:sig="f";break;case 3:sig="d";break;case 11:case 12:sig="j";break;case 15:throw new Error("complex ret marshalling nyi");default:throw new Error("Unexpected rtype "+rtype_id)}var unboxed_arg_type_id_list=[];var unboxed_arg_type_info_list=[];for(var i=0;i>2)+i]);var arg_type_ptr=arg_unboxed[0];var arg_type_id=arg_unboxed[1];unboxed_arg_type_id_list.push(arg_type_id);unboxed_arg_type_info_list.push([HEAPU32[(arg_type_ptr>>2)+0],HEAPU16[(arg_type_ptr+4>>1)+0]])}for(var i=0;i>2)+carg_idx]=cur_ptr;HEAPU8[cur_ptr+0]=cur_arg;break;case 7:case 8:cur_ptr-=2,cur_ptr&=~(4-1);HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;HEAPU16[(cur_ptr>>1)+0]=cur_arg;break;case 1:case 9:case 10:case 14:cur_ptr-=4,cur_ptr&=~(4-1);HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;HEAPU32[(cur_ptr>>2)+0]=cur_arg;break;case 13:cur_ptr-=arg_size,cur_ptr&=~(arg_align-1);HEAP8.subarray(cur_ptr,cur_ptr+arg_size).set(HEAP8.subarray(cur_arg,cur_arg+arg_size));HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;break;case 2:cur_ptr-=4,cur_ptr&=~(4-1);HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;HEAPF32[(cur_ptr>>2)+0]=cur_arg;break;case 3:cur_ptr-=8,cur_ptr&=~(8-1);HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;HEAPF64[(cur_ptr>>3)+0]=cur_arg;break;case 11:case 12:cur_ptr-=8,cur_ptr&=~(8-1);HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;HEAPU64[(cur_ptr>>3)+0]=cur_arg;break;case 4:cur_ptr-=16,cur_ptr&=~(8-1);HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr;HEAPU64[(cur_ptr>>3)+0]=cur_arg;cur_arg=args[jsarg_idx++];HEAPU64[(cur_ptr>>3)+1]=cur_arg;break}}var varargs=args[args.length-1];for(;carg_idx>2)+0];cur_ptr-=arg_size,cur_ptr&=~(arg_align-1);HEAP8.subarray(cur_ptr,cur_ptr+arg_size).set(HEAP8.subarray(struct_ptr,struct_ptr+arg_size));HEAPU32[(args_ptr>>2)+carg_idx]=cur_ptr}else{HEAPU32[(args_ptr>>2)+carg_idx]=varargs}varargs+=4}stackRestore(cur_ptr);stackAlloc(0);0;getWasmTableEntry(HEAPU32[(closure>>2)+2])(HEAPU32[(closure>>2)+1],ret_ptr,args_ptr,HEAPU32[(closure>>2)+3]);stackRestore(orig_stack_ptr);if(!ret_by_arg){switch(sig[0]){case"i":return HEAPU32[(ret_ptr>>2)+0];case"j":return HEAPU64[(ret_ptr>>3)+0];case"d":return HEAPF64[(ret_ptr>>3)+0];case"f":return HEAPF32[(ret_ptr>>2)+0]}}}try{var wasm_trampoline=convertJsFunctionToWasm(trampoline,sig)}catch(e){return 1}setWasmTableEntry(codeloc,wasm_trampoline);HEAPU32[(closure>>2)+1]=cif;HEAPU32[(closure>>2)+2]=fun;HEAPU32[(closure>>2)+3]=user_data;return 0}ffi_prep_closure_loc_js.sig="iiiiii";function __hiwire_deduplicate_new(){return new Map}__hiwire_deduplicate_new.sig="e";function __hiwire_deduplicate_get(map,value){return map.get(value)}__hiwire_deduplicate_get.sig="iee";function __hiwire_deduplicate_set(map,value,ref){map.set(value,ref)}__hiwire_deduplicate_set.sig="veei";function __hiwire_deduplicate_delete(map,value){map.delete(value)}__hiwire_deduplicate_delete.sig="vee";function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}Module["ExitStatus"]=ExitStatus;var GOT={};Module["GOT"]=GOT;var currentModuleWeakSymbols=new Set([]);Module["currentModuleWeakSymbols"]=currentModuleWeakSymbols;var GOTHandler={get(obj,symName){var rtn=GOT[symName];if(!rtn){rtn=GOT[symName]=new WebAssembly.Global({"value":"i32","mutable":true})}if(!currentModuleWeakSymbols.has(symName)){rtn.required=true}return rtn}};Module["GOTHandler"]=GOTHandler;var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};Module["callRuntimeCallbacks"]=callRuntimeCallbacks;var decrementExceptionRefcount=ptr=>___cxa_decrement_exception_refcount(ptr);Module["decrementExceptionRefcount"]=decrementExceptionRefcount;var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};Module["withStackSave"]=withStackSave;var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};Module["lengthBytesUTF8"]=lengthBytesUTF8;var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};Module["stringToUTF8Array"]=stringToUTF8Array;var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);Module["stringToUTF8"]=stringToUTF8;var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};Module["stringToUTF8OnStack"]=stringToUTF8OnStack;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;Module["UTF8Decoder"]=UTF8Decoder;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};Module["UTF8ArrayToString"]=UTF8ArrayToString;var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";Module["UTF8ToString"]=UTF8ToString;var demangle=func=>{demangle.recursionGuard=(demangle.recursionGuard|0)+1;if(demangle.recursionGuard>1)return func;return withStackSave(()=>{try{var s=func;if(s.startsWith("__Z"))s=s.substr(1);var buf=stringToUTF8OnStack(s);var status=stackAlloc(4);var ret=___cxa_demangle(buf,0,0,status);if(HEAP32[status>>2]===0&&ret){return UTF8ToString(ret)}}catch(e){}finally{_free(ret);if(demangle.recursionGuard<2)--demangle.recursionGuard}return func})};Module["demangle"]=demangle;var getDylinkMetadata=binary=>{var offset=0;var end=0;function getU8(){return binary[offset++]}function getLEB(){var ret=0;var mul=1;while(1){var byte=binary[offset++];ret+=(byte&127)*mul;mul*=128;if(!(byte&128))break}return ret}function getString(){var len=getLEB();offset+=len;return UTF8ArrayToString(binary,offset-len,len)}function failIf(condition,message){if(condition)throw new Error(message)}var name="dylink.0";if(binary instanceof WebAssembly.Module){var dylinkSection=WebAssembly.Module.customSections(binary,name);if(dylinkSection.length===0){name="dylink";dylinkSection=WebAssembly.Module.customSections(binary,name)}failIf(dylinkSection.length===0,"need dylink section");binary=new Uint8Array(dylinkSection[0]);end=binary.length}else{var int32View=new Uint32Array(new Uint8Array(binary.subarray(0,24)).buffer);var magicNumberFound=int32View[0]==1836278016;failIf(!magicNumberFound,"need to see wasm magic number");failIf(binary[8]!==0,"need the dylink section to be first");offset=9;var section_size=getLEB();end=offset+section_size;name=getString()}var customSection={neededDynlibs:[],tlsExports:new Set,weakImports:new Set};if(name=="dylink"){customSection.memorySize=getLEB();customSection.memoryAlign=getLEB();customSection.tableSize=getLEB();customSection.tableAlign=getLEB();var neededDynlibsCount=getLEB();for(var i=0;iwithStackSave(()=>{var type_addr_addr=stackAlloc(4);var message_addr_addr=stackAlloc(4);___get_exception_message(ptr,type_addr_addr,message_addr_addr);var type_addr=HEAPU32[type_addr_addr>>2];var message_addr=HEAPU32[message_addr_addr>>2];var type=UTF8ToString(type_addr);_free(type_addr);var message;if(message_addr){message=UTF8ToString(message_addr);_free(message_addr)}return[type,message]});Module["getExceptionMessageCommon"]=getExceptionMessageCommon;var getExceptionMessage=ptr=>getExceptionMessageCommon(ptr);Module["getExceptionMessage"]=getExceptionMessage;function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP64[ptr>>3];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}Module["getValue"]=getValue;var incrementExceptionRefcount=ptr=>___cxa_increment_exception_refcount(ptr);Module["incrementExceptionRefcount"]=incrementExceptionRefcount;var newDSO=(name,handle,syms)=>{var dso={refcount:Infinity,name:name,exports:syms,global:true};LDSO.loadedLibsByName[name]=dso;if(handle!=undefined){LDSO.loadedLibsByHandle[handle]=dso}return dso};Module["newDSO"]=newDSO;var LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}};Module["LDSO"]=LDSO;var ___heap_base=9191456;Module["___heap_base"]=___heap_base;var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};Module["zeroMemory"]=zeroMemory;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;Module["alignMemory"]=alignMemory;var getMemory=size=>{if(runtimeInitialized){return zeroMemory(_malloc(size),size)}var ret=___heap_base;var end=ret+alignMemory(size,16);___heap_base=end;GOT["__heap_base"].value=end;return ret};Module["getMemory"]=getMemory;var isInternalSym=symName=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(symName)||symName.startsWith("__em_js__");Module["isInternalSym"]=isInternalSym;var uleb128Encode=(n,target)=>{if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}};Module["uleb128Encode"]=uleb128Encode;var sigToWasmTypes=sig=>{var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64","e":"externref","p":"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var sigRet=sig.slice(0,1);var sigParam=sig.slice(1);var typeCodes={"i":127,"p":127,"j":126,"f":125,"d":124};target.push(96);uleb128Encode(sigParam.length,target);for(var i=0;i{if(typeof WebAssembly.Function=="function"){return new WebAssembly.Function(sigToWasmTypes(sig),func)}var typeSectionBody=[1];generateFuncType(sig,typeSectionBody);var bytes=[0,97,115,109,1,0,0,0,1];uleb128Encode(typeSectionBody.length,bytes);bytes.push.apply(bytes,typeSectionBody);bytes.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var module=new WebAssembly.Module(new Uint8Array(bytes));var instance=new WebAssembly.Instance(module,{"e":{"f":func}});var wrappedFunc=instance.exports["f"];return wrappedFunc};Module["convertJsFunctionToWasm"]=convertJsFunctionToWasm;var wasmTableMirror=[];Module["wasmTableMirror"]=wasmTableMirror;var wasmTable=new WebAssembly.Table({"initial":6424,"element":"anyfunc"});Module["wasmTable"]=wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};Module["getWasmTableEntry"]=getWasmTableEntry;var updateTableMap=(offset,count)=>{if(functionsInTableMap){for(var i=offset;i{if(!functionsInTableMap){functionsInTableMap=new WeakMap;updateTableMap(0,wasmTable.length)}return functionsInTableMap.get(func)||0};Module["getFunctionAddress"]=getFunctionAddress;var freeTableIndexes=[];Module["freeTableIndexes"]=freeTableIndexes;var getEmptyTableSlot=()=>{if(freeTableIndexes.length){return freeTableIndexes.pop()}try{wasmTable.grow(1)}catch(err){if(!(err instanceof RangeError)){throw err}throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return wasmTable.length-1};Module["getEmptyTableSlot"]=getEmptyTableSlot;var setWasmTableEntry=(idx,func)=>{wasmTable.set(idx,func);wasmTableMirror[idx]=wasmTable.get(idx)};Module["setWasmTableEntry"]=setWasmTableEntry;var addFunction=(func,sig)=>{var rtn=getFunctionAddress(func);if(rtn){return rtn}var ret=getEmptyTableSlot();try{setWasmTableEntry(ret,func)}catch(err){if(!(err instanceof TypeError)){throw err}var wrapped=convertJsFunctionToWasm(func,sig);setWasmTableEntry(ret,wrapped)}functionsInTableMap.set(func,ret);return ret};Module["addFunction"]=addFunction;var updateGOT=(exports,replace)=>{for(var symName in exports){if(isInternalSym(symName)){continue}var value=exports[symName];if(!GOT[symName]){GOT[symName]=new WebAssembly.Global({"value":"i32","mutable":true})}if(replace||GOT[symName].value==0){if(typeof value=="function"){GOT[symName].value=addFunction(value)}else if(typeof value=="number"){GOT[symName].value=value}else{err(`unhandled export type for '${symName}': ${typeof value}`)}}}};Module["updateGOT"]=updateGOT;var relocateExports=(exports,memoryBase,replace)=>{var relocated={};for(var e in exports){var value=exports[e];if(typeof value=="object"){value=value.value}if(typeof value=="number"){value+=memoryBase}relocated[e]=value}updateGOT(relocated,replace);return relocated};Module["relocateExports"]=relocateExports;var isSymbolDefined=symName=>{var existing=wasmImports[symName];if(!existing||existing.stub){return false}return true};Module["isSymbolDefined"]=isSymbolDefined;var dynCall=(sig,ptr,args)=>{var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn};Module["dynCall"]=dynCall;var createInvokeFunction=sig=>function(){var sp=stackSave();try{return dynCall(sig,arguments[0],Array.prototype.slice.call(arguments,1))}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}};Module["createInvokeFunction"]=createInvokeFunction;var resolveGlobalSymbol=(symName,direct=false)=>{var sym;if(isSymbolDefined(symName)){sym=wasmImports[symName]}else if(symName.startsWith("invoke_")){sym=wasmImports[symName]=Module.createInvoke(symName.split("_")[1])}else if(symName.startsWith("__cxa_find_matching_catch_")){sym=wasmImports[symName]=function(){var args=Array.from(arguments);var rtn=findMatchingCatch(args);return rtn}}return{sym:sym,name:symName}};Module["resolveGlobalSymbol"]=resolveGlobalSymbol;var loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var firstLoad=!handle||!HEAP8[handle+8>>0];if(firstLoad){var memAlign=Math.pow(2,metadata.memoryAlign);var memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0;var tableBase=metadata.tableSize?wasmTable.length:0;if(handle){HEAP8[handle+8>>0]=1;HEAPU32[handle+12>>2]=memoryBase;HEAP32[handle+16>>2]=metadata.memorySize;HEAPU32[handle+20>>2]=tableBase;HEAP32[handle+24>>2]=metadata.tableSize}}else{memoryBase=HEAPU32[handle+12>>2];tableBase=HEAPU32[handle+20>>2]}var tableGrowthNeeded=tableBase+metadata.tableSize-wasmTable.length;if(tableGrowthNeeded>0){wasmTable.grow(tableGrowthNeeded)}var moduleExports;function resolveSymbol(sym){var resolved=resolveGlobalSymbol(sym).sym;if(!resolved&&localScope){resolved=localScope[sym]}if(!resolved){resolved=moduleExports[sym]}return resolved}var proxyHandler={get(stubs,prop){switch(prop){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(prop in wasmImports&&!wasmImports[prop].stub){return wasmImports[prop]}if(!(prop in stubs)){var resolved;stubs[prop]=function(){if(!resolved)resolved=resolveSymbol(prop);if(!resolved){throw new Error(`Dynamic linking error: cannot resolve symbol ${prop}`)}return resolved.apply(null,arguments)}}return stubs[prop]}};var proxy=new Proxy({},proxyHandler);var info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),"env":proxy,"wasi_snapshot_preview1":proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize);moduleExports=relocateExports(instance.exports,memoryBase);if(!flags.allowUndefined){reportUndefinedSymbols()}function addEmAsm(addr,body){var args=[];var arity=0;for(;arity<16;arity++){if(body.indexOf("$"+arity)!=-1){args.push("$"+arity)}else{break}}args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports){var start=moduleExports["__start_em_asm"];var stop=moduleExports["__stop_em_asm"];while(start ${body};`;moduleExports[name]=eval(func)}for(var name in moduleExports){if(name.startsWith("__em_js__")){var start=moduleExports[name];var jsString=UTF8ToString(start);var parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]);delete moduleExports[name]}}var applyRelocs=moduleExports["__wasm_apply_data_relocs"];if(applyRelocs){if(runtimeInitialized){applyRelocs()}else{__RELOC_FUNCS__.push(applyRelocs)}}var init=moduleExports["__wasm_call_ctors"];if(init){if(runtimeInitialized){init()}else{__ATINIT__.push(init)}}return moduleExports}if(flags.loadAsync){if(binary instanceof WebAssembly.Module){var instance=new WebAssembly.Instance(binary,info);return Promise.resolve(postInstantiation(binary,instance))}return WebAssembly.instantiate(binary,info).then(result=>postInstantiation(result.module,result.instance))}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary);var instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}if(flags.loadAsync){return metadata.neededDynlibs.reduce((chain,dynNeeded)=>chain.then(()=>loadDynamicLibrary(dynNeeded,flags)),Promise.resolve()).then(loadModule)}metadata.neededDynlibs.forEach(needed=>loadDynamicLibrary(needed,flags,localScope));return loadModule()};Module["loadWebAssemblyModule"]=loadWebAssemblyModule;var mergeLibSymbols=(exports,libName)=>{for(var sym in exports){if(!exports.hasOwnProperty(sym)){continue}const setImport=target=>{if(!isSymbolDefined(target)){wasmImports[target]=exports[sym]}};setImport(sym);const main_alias="__main_argc_argv";if(sym=="main"){setImport(main_alias)}if(sym==main_alias){setImport("main")}if(sym.startsWith("dynCall_")&&!Module.hasOwnProperty(sym)){Module[sym]=exports[sym]}}};Module["mergeLibSymbols"]=mergeLibSymbols;var asyncLoad=(url,onload,onerror,noRunDep)=>{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};Module["asyncLoad"]=asyncLoad;var preloadPlugins=Module["preloadPlugins"]||[];Module["preloadPlugins"]=preloadPlugins;var registerWasmPlugin=()=>{var wasmPlugin={"promiseChainEnd":Promise.resolve(),"canHandle":name=>!Module.noWasmDecoding&&name.endsWith(".so"),"handle":(byteArray,name,onload,onerror)=>{wasmPlugin["promiseChainEnd"]=wasmPlugin["promiseChainEnd"].then(()=>loadWebAssemblyModule(byteArray,{loadAsync:true,nodelete:true},name)).then(exports=>{preloadedWasm[name]=exports;onload(byteArray)},error=>{err(`failed to instantiate wasm: ${name}: ${error}`);onerror()})}};preloadPlugins.push(wasmPlugin)};Module["registerWasmPlugin"]=registerWasmPlugin;var preloadedWasm={};Module["preloadedWasm"]=preloadedWasm;function loadDynamicLibrary(libName,flags={global:true,nodelete:true},localScope,handle){var dso=LDSO.loadedLibsByName[libName];if(dso){if(!flags.global){if(localScope){Object.assign(localScope,dso.exports)}}else if(!dso.global){dso.global=true;mergeLibSymbols(dso.exports,libName)}if(flags.nodelete&&dso.refcount!==Infinity){dso.refcount=Infinity}dso.refcount++;if(handle){LDSO.loadedLibsByHandle[handle]=dso}return flags.loadAsync?Promise.resolve(true):true}dso=newDSO(libName,handle,"loading");dso.refcount=flags.nodelete?Infinity:1;dso.global=flags.global;function loadLibData(){var libData;if(handle){var data=HEAPU32[handle+28>>2];var dataSize=HEAPU32[handle+32>>2];if(data&&dataSize){libData=HEAP8.slice(data,data+dataSize)}}if(!libData&&flags.fs&&flags.fs.findObject(libName)){libData=flags.fs.readFile(libName,{encoding:"binary"});if(!(libData instanceof Uint8Array)){libData=new Uint8Array(libData)}}if(libData){return flags.loadAsync?Promise.resolve(libData):libData}var libFile=locateFile(libName);if(flags.loadAsync){return new Promise(function(resolve,reject){asyncLoad(libFile,data=>resolve(data),reject)})}if(!readBinary){throw new Error(`${libFile}: file not found, and synchronous loading of external files is not available`)}return readBinary(libFile)}function getExports(){var preloaded=preloadedWasm[libName];if(preloaded){return flags.loadAsync?Promise.resolve(preloaded):preloaded}if(flags.loadAsync){return loadLibData().then(libData=>loadWebAssemblyModule(libData,flags,libName,localScope,handle))}return loadWebAssemblyModule(loadLibData(),flags,libName,localScope,handle)}function moduleLoaded(exports){if(dso.global){mergeLibSymbols(exports,libName)}else if(localScope){Object.assign(localScope,exports)}dso.exports=exports}if(flags.loadAsync){return getExports().then(exports=>{moduleLoaded(exports);return true})}moduleLoaded(getExports());return true}Module["loadDynamicLibrary"]=loadDynamicLibrary;var reportUndefinedSymbols=()=>{for(var symName in GOT){if(GOT[symName].value==0){var value=resolveGlobalSymbol(symName,true).sym;if(!value&&!GOT[symName].required){continue}if(typeof value=="function"){GOT[symName].value=addFunction(value,value.sig)}else if(typeof value=="number"){GOT[symName].value=value}else{throw new Error(`bad export type for '${symName}': ${typeof value}`)}}}};Module["reportUndefinedSymbols"]=reportUndefinedSymbols;var loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs");dynamicLibraries.reduce((chain,lib)=>chain.then(()=>loadDynamicLibrary(lib,{loadAsync:true,global:true,nodelete:true,allowUndefined:true})),Promise.resolve()).then(()=>{reportUndefinedSymbols();removeRunDependency("loadDylibs")})};Module["loadDylibs"]=loadDylibs;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":HEAP64[ptr>>3]=BigInt(value);break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}Module["setValue"]=setValue;function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return"(no stack trace available)"}}return error.stack.toString()}Module["jsStackTrace"]=jsStackTrace;var demangleAll=text=>{var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})};Module["demangleAll"]=demangleAll;function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}Module["stackTrace"]=stackTrace;var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};Module["___assert_fail"]=___assert_fail;___assert_fail.sig="vppip";var ___call_sighandler=(fp,sig)=>getWasmTableEntry(fp)(sig);Module["___call_sighandler"]=___call_sighandler;___call_sighandler.sig="vpi";var exceptionCaught=[];Module["exceptionCaught"]=exceptionCaught;var uncaughtExceptionCount=0;Module["uncaughtExceptionCount"]=uncaughtExceptionCount;var ___cxa_begin_catch=ptr=>{var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);___cxa_increment_exception_refcount(info.excPtr);return info.get_exception_ptr()};Module["___cxa_begin_catch"]=___cxa_begin_catch;___cxa_begin_catch.sig="pp";var ___cxa_current_primary_exception=()=>{if(!exceptionCaught.length){return 0}var info=exceptionCaught[exceptionCaught.length-1];___cxa_increment_exception_refcount(info.excPtr);return info.excPtr};Module["___cxa_current_primary_exception"]=___cxa_current_primary_exception;___cxa_current_primary_exception.sig="p";var exceptionLast=0;Module["exceptionLast"]=exceptionLast;var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=0};Module["___cxa_end_catch"]=___cxa_end_catch;___cxa_end_catch.sig="v";function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}Module["ExceptionInfo"]=ExceptionInfo;var ___resumeException=ptr=>{if(!exceptionLast){exceptionLast=ptr}throw Module.wrapException(exceptionLast)};Module["___resumeException"]=___resumeException;___resumeException.sig="vp";var findMatchingCatch=args=>{var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var arg in args){var caughtType=args[arg];if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};Module["findMatchingCatch"]=findMatchingCatch;var ___cxa_find_matching_catch_2=()=>findMatchingCatch([]);Module["___cxa_find_matching_catch_2"]=___cxa_find_matching_catch_2;___cxa_find_matching_catch_2.sig="p";var ___cxa_find_matching_catch_3=arg0=>findMatchingCatch([arg0]);Module["___cxa_find_matching_catch_3"]=___cxa_find_matching_catch_3;___cxa_find_matching_catch_3.sig="pp";var ___cxa_rethrow=()=>{var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}exceptionLast=ptr;throw Module.wrapException(exceptionLast)};Module["___cxa_rethrow"]=___cxa_rethrow;___cxa_rethrow.sig="v";var ___cxa_rethrow_primary_exception=ptr=>{if(!ptr)return;var info=new ExceptionInfo(ptr);exceptionCaught.push(info);info.set_rethrown(true);___cxa_rethrow()};Module["___cxa_rethrow_primary_exception"]=___cxa_rethrow_primary_exception;___cxa_rethrow_primary_exception.sig="vp";var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw Module.wrapException(exceptionLast)};Module["___cxa_throw"]=___cxa_throw;___cxa_throw.sig="vppp";var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;Module["___cxa_uncaught_exceptions"]=___cxa_uncaught_exceptions;___cxa_uncaught_exceptions.sig="i";var ___memory_base=new WebAssembly.Global({"value":"i32","mutable":false},1024);Module["___memory_base"]=___memory_base;var ___stack_high=9191456;Module["___stack_high"]=___stack_high;var ___stack_low=3948576;Module["___stack_low"]=___stack_low;var ___stack_pointer=new WebAssembly.Global({"value":"i32","mutable":true},9191456);Module["___stack_pointer"]=___stack_pointer;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>PATH.normalize(l+"/"+r)};Module["PATH"]=PATH;var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};Module["initRandomFill"]=initRandomFill;var randomFill=view=>(randomFill=initRandomFill())(view);Module["randomFill"]=randomFill;var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};Module["FS_stdin_getChar"]=FS_stdin_getChar;var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};Module["TTY"]=TTY;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};Module["mmapAlloc"]=mmapAlloc;var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthFS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn);Module["FS_createDataFile"]=FS_createDataFile;var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};Module["FS_handledByPreloadPlugin"]=FS_handledByPreloadPlugin;var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}};Module["FS_createPreloadedFile"]=FS_createPreloadedFile;var FS_modeStringToFlags=str=>{var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};Module["FS_modeStringToFlags"]=FS_modeStringToFlags;var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};Module["FS_getMode"]=FS_getMode;var IDBFS={dbs:{},indexedDB:()=>{if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:(mount,populate,callback)=>{IDBFS.getLocalSet(mount,(err,local)=>{if(err)return callback(err);IDBFS.getRemoteSet(mount,(err,remote)=>{if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},quit:()=>{Object.values(IDBFS.dbs).forEach(value=>value.close());IDBFS.dbs={}},getDB:(name,callback)=>{var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=()=>{db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>PATH.join2(root,p)}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={"timestamp":stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:(mount,callback)=>{var entries={};IDBFS.getDB(mount.mountpoint,(err,db)=>{if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=e=>{callback(e.target.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=event=>{var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={"timestamp":cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:(path,callback)=>{var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{"timestamp":stat.mtime,"mode":stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{"timestamp":stat.mtime,"mode":stat.mode,"contents":node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:(path,entry,callback)=>{try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:(path,callback)=>{try{var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:(store,path,callback)=>{var req=store.get(path);req.onsuccess=event=>{callback(null,event.target.result)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=()=>{callback(null)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=()=>{callback(null)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},reconcile:(src,dst,callback)=>{var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){if(!src.entries[key]){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=e=>{done(this.error);e.preventDefault()};transaction.oncomplete=e=>{if(!errored){callback(null)}};create.sort().forEach(path=>{if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(err,entry)=>{if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,(err,entry)=>{if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(path=>{if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};Module["IDBFS"]=IDBFS;var ERRNO_CODES={};Module["ERRNO_CODES"]=ERRNO_CODES;var NODEFS={isWindows:false,staticInit(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process.binding("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],256:flags["O_NOCTTY"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"],131072:flags["O_NOFOLLOW"]}},convertNodeCode(e){var code=e.code;return ERRNO_CODES[code]},mount(mount){return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(28)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}return stat.mode},realPath(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;flags&=~65536;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(flags){throw new FS.ErrnoError(28)}return newFlags},node_ops:{getattr(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},lookup(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}return node},rename(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}oldNode.name=newName},unlink(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},rmdir(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},readdir(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},symlink(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},readlink(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=nodePath.relative(nodePath.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;if(e.code==="UNKNOWN")throw new FS.ErrnoError(28);throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}}},stream_ops:{open(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},close(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},read(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,new Int8Array(buffer.buffer,offset,length),{position:position})}catch(e){throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},write(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,new Int8Array(buffer.buffer,offset,length),{position:position})}catch(e){throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}}}if(position<0){throw new FS.ErrnoError(28)}return position},mmap(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr=mmapAlloc(length);NODEFS.stream_ops.read(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}},msync(stream,buffer,offset,length,mmapFlags){NODEFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};Module["NODEFS"]=NODEFS;var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write(stream,buffer,offset,length,position){throw new FS.ErrnoError(29)},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(28)}return position}}};Module["WORKERFS"]=WORKERFS;var PROXYFS={mount(mount){return PROXYFS.createNode(null,"/",mount.opts.fs.lstat(mount.opts.root).mode,0)},createNode(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=PROXYFS.node_ops;node.stream_ops=PROXYFS.stream_ops;return node},realPath(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},node_ops:{getattr(node){var path=PROXYFS.realPath(node);var stat;try{stat=node.mount.opts.fs.lstat(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr(node,attr){var path=PROXYFS.realPath(node);try{if(attr.mode!==undefined){node.mount.opts.fs.chmod(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);node.mount.opts.fs.utime(path,date,date)}if(attr.size!==undefined){node.mount.opts.fs.truncate(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},lookup(parent,name){try{var path=PATH.join2(PROXYFS.realPath(parent),name);var mode=parent.mount.opts.fs.lstat(path).mode;var node=PROXYFS.createNode(parent,name,mode);return node}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},mknod(parent,name,mode,dev){var node=PROXYFS.createNode(parent,name,mode,dev);var path=PROXYFS.realPath(node);try{if(FS.isDir(node.mode)){node.mount.opts.fs.mkdir(path,node.mode)}else{node.mount.opts.fs.writeFile(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node},rename(oldNode,newDir,newName){var oldPath=PROXYFS.realPath(oldNode);var newPath=PATH.join2(PROXYFS.realPath(newDir),newName);try{oldNode.mount.opts.fs.rename(oldPath,newPath);oldNode.name=newName;oldNode.parent=newDir}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},unlink(parent,name){var path=PATH.join2(PROXYFS.realPath(parent),name);try{parent.mount.opts.fs.unlink(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},rmdir(parent,name){var path=PATH.join2(PROXYFS.realPath(parent),name);try{parent.mount.opts.fs.rmdir(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readdir(node){var path=PROXYFS.realPath(node);try{return node.mount.opts.fs.readdir(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},symlink(parent,newName,oldPath){var newPath=PATH.join2(PROXYFS.realPath(parent),newName);try{parent.mount.opts.fs.symlink(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readlink(node){var path=PROXYFS.realPath(node);try{return node.mount.opts.fs.readlink(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}},stream_ops:{open(stream){var path=PROXYFS.realPath(stream.node);try{stream.nfd=stream.node.mount.opts.fs.open(path,stream.flags)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},close(stream){try{stream.node.mount.opts.fs.close(stream.nfd)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},read(stream,buffer,offset,length,position){try{return stream.node.mount.opts.fs.read(stream.nfd,buffer,offset,length,position)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},write(stream,buffer,offset,length,position){try{return stream.node.mount.opts.fs.write(stream.nfd,buffer,offset,length,position)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=stream.node.node_ops.getattr(stream.node);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}}};Module["PROXYFS"]=PROXYFS;var LZ4={DIR_MODE:16895,FILE_MODE:33279,CHUNK_SIZE:-1,codec:null,init(){if(LZ4.codec)return;LZ4.codec=function(){var MiniLZ4=function(){var exports={};exports.uncompress=function(input,output,sIdx,eIdx){sIdx=sIdx||0;eIdx=eIdx||input.length-sIdx;for(var i=sIdx,n=eIdx,j=0;i>4;if(literals_length>0){var l=literals_length+240;while(l===255){l=input[i++];literals_length+=l}var end=i+literals_length;while(ij)return-(i-2);var match_length=token&15;var l=match_length+240;while(l===255){l=input[i++];match_length+=l}var pos=j-offset;var end=j+match_length+4;while(jmaxInputSize?0:isize+isize/255+16|0};exports.compress=function(src,dst,sIdx,eIdx){hashTable.set(empty);return compressBlock(src,dst,0,sIdx||0,eIdx||dst.length)};function compressBlock(src,dst,pos,sIdx,eIdx){var dpos=sIdx;var dlen=eIdx-sIdx;var anchor=0;if(src.length>=maxInputSize)throw new Error("input too large");if(src.length>mfLimit){var n=exports.compressBound(src.length);if(dlen>>hashShift;var ref=hashTable[hash]-1;hashTable[hash]=pos+1;if(ref<0||pos-ref>>>16>0||((src[ref+3]<<8|src[ref+2])!=sequenceHighBits||(src[ref+1]<<8|src[ref])!=sequenceLowBits)){step=findMatchAttempts++>>skipStrength;pos+=step;continue}findMatchAttempts=(1<=runMask){dst[dpos++]=(runMask<254;len-=255){dst[dpos++]=255}dst[dpos++]=len}else{dst[dpos++]=(literals_length<>8;if(match_length>=mlMask){match_length-=mlMask;while(match_length>=255){match_length-=255;dst[dpos++]=255}dst[dpos++]=match_length}anchor=pos}}if(anchor==0)return 0;literals_length=src.length-anchor;if(literals_length>=runMask){dst[dpos++]=runMask<254;ln-=255){dst[dpos++]=255}dst[dpos++]=ln}else{dst[dpos++]=literals_length<0){assert(compressedSize<=bound);compressed=compressed.subarray(0,compressedSize);compressedChunks.push(compressed);total+=compressedSize;successes.push(1);if(verify){var back=exports.uncompress(compressed,temp);assert(back===chunk.length,[back,chunk.length]);for(var i=0;i{var dir=PATH.dirname(file.filename);var name=PATH.basename(file.filename);FS.createPath("",dir,true,true);var parent=FS.analyzePath(dir).object;LZ4.createNode(parent,name,LZ4.FILE_MODE,0,{compressedData:compressedData,start:file.start,end:file.end})});if(preloadPlugin){Browser.init();pack["metadata"].files.forEach(file=>{var handled=false;var fullname=file.filename;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){var dep=getUniqueRunDependency("fp "+fullname);addRunDependency(dep);var finish=()=>removeRunDependency(dep);var byteArray=FS.readFile(fullname);plugin["handle"](byteArray,fullname,finish,finish);handled=true}})})}},createNode(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=LZ4.node_ops;node.stream_ops=LZ4.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(LZ4.FILE_MODE!==LZ4.DIR_MODE);if(mode===LZ4.FILE_MODE){node.size=contents.end-contents.start;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr(node){return{dev:1,ino:node.id,mode:node.mode,nlink:1,uid:0,gid:0,rdev:0,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup(parent,name){throw new FS.ErrnoError(44)},mknod(parent,name,mode,dev){throw new FS.ErrnoError(63)},rename(oldNode,newDir,newName){throw new FS.ErrnoError(63)},unlink(parent,name){throw new FS.ErrnoError(63)},rmdir(parent,name){throw new FS.ErrnoError(63)},readdir(node){throw new FS.ErrnoError(63)},symlink(parent,newName,oldPath){throw new FS.ErrnoError(63)}},stream_ops:{read(stream,buffer,offset,length,position){length=Math.min(length,stream.node.size-position);if(length<=0)return 0;var contents=stream.node.contents;var compressedData=contents.compressedData;var written=0;while(written=0){currChunk=compressedData["cachedChunks"][found]}else{compressedData["cachedIndexes"].pop();compressedData["cachedIndexes"].unshift(chunkIndex);currChunk=compressedData["cachedChunks"].pop();compressedData["cachedChunks"].unshift(currChunk);if(compressedData["debug"]){out("decompressing chunk "+chunkIndex);Module["decompressedChunks"]=(Module["decompressedChunks"]||0)+1}var compressed=compressedData["data"].subarray(compressedStart,compressedStart+compressedSize);var originalSize=LZ4.codec.uncompress(compressed,currChunk);if(chunkIndex8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get(){return this.node},set(val){this.node=val}},isRead:{get(){return(this.flags&2097155)!==1}},isWrite:{get(){return(this.flags&2097155)!==0}},isAppend:{get(){return this.flags&1024}},flags:{get(){return this.shared.flags},set(val){this.shared.flags=val}},position:{get(){return this.shared.position},set(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i0,ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS,"PROXYFS":PROXYFS}},init(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;_fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};Module["FS"]=FS;var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;HEAP64[buf+24>>3]=BigInt(stat.size);HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>3]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>2]=atime%1e3*1e3;HEAP64[buf+56>>3]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>2]=mtime%1e3*1e3;HEAP64[buf+72>>3]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>2]=ctime%1e3*1e3;HEAP64[buf+88>>3]=BigInt(stat.ino);return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream}};Module["SYSCALLS"]=SYSCALLS;function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){try{var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd>2]:0,tv_usec=readfds?HEAP32[timeout+8>>2]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall__newselect"]=___syscall__newselect;___syscall__newselect.sig="iipppp";var SOCKFS={mount(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket(family,type,protocol){type&=~526336;var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}var opts=undefined;if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=subProtocols}if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer(sock,addr,port){return sock.peers[addr+":"+port]},addPeer(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data)}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,isBinary){if(!isBinary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return 28}},close(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};Module["getSocketFromFD"]=getSocketFromFD;var setErrNo=value=>{HEAP32[___errno_location()>>2]=value;return value};Module["setErrNo"]=setErrNo;var Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]};Module["Sockets"]=Sockets;var inetPton4=str=>{var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};Module["inetPton4"]=inetPton4;var jstoi_q=str=>parseInt(str);Module["jstoi_q"]=jstoi_q;var inetPton6=str=>{var words;var w,offset,z,i;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0};Module["writeSockaddr"]=writeSockaddr;var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};Module["DNS"]=DNS;function ___syscall_accept4(fd,addr,addrlen,flags,d1,d2){try{var sock=getSocketFromFD(fd);var newsock=sock.sock_ops.accept(sock);if(addr){var errno=writeSockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport,addrlen)}return newsock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_accept4"]=___syscall_accept4;___syscall_accept4.sig="iippiii";var inetNtop4=addr=>(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255);Module["inetNtop4"]=inetNtop4;var inetNtop6=ints=>{var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word{var family=HEAP16[sa>>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}};Module["readSockaddr"]=readSockaddr;var getSocketAddress=(addrp,addrlen,allowNull)=>{if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};Module["getSocketAddress"]=getSocketAddress;function ___syscall_bind(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_bind"]=___syscall_bind;___syscall_bind.sig="iippiii";function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_chdir"]=___syscall_chdir;___syscall_chdir.sig="ip";function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_chmod"]=___syscall_chmod;___syscall_chmod.sig="ipi";function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_connect"]=___syscall_connect;___syscall_connect.sig="iippiii";function ___syscall_dup(fd){try{var old=SYSCALLS.getStreamFromFD(fd);return FS.createStream(old).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_dup"]=___syscall_dup;___syscall_dup.sig="ii";function ___syscall_dup3(fd,newfd,flags){try{var old=SYSCALLS.getStreamFromFD(fd);if(old.fd===newfd)return-28;var existing=FS.getStream(newfd);if(existing)FS.close(existing);return FS.createStream(old,newfd).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_dup3"]=___syscall_dup3;___syscall_dup3.sig="iiii";function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_faccessat"]=___syscall_faccessat;___syscall_faccessat.sig="iipii";var ___syscall_fadvise64=(fd,offset,len,advice)=>0;Module["___syscall_fadvise64"]=___syscall_fadvise64;___syscall_fadvise64.sig="iijji";var MAX_INT53=9007199254740992;Module["MAX_INT53"]=MAX_INT53;var MIN_INT53=-9007199254740992;Module["MIN_INT53"]=MIN_INT53;var bigintToI53Checked=num=>numMAX_INT53?NaN:Number(num);Module["bigintToI53Checked"]=bigintToI53Checked;function ___syscall_fallocate(fd,mode,offset,len){offset=bigintToI53Checked(offset);len=bigintToI53Checked(len);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.allocate(stream,offset,len);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_fallocate"]=___syscall_fallocate;___syscall_fallocate.sig="iiijj";function ___syscall_fchdir(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.chdir(stream.path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_fchdir"]=___syscall_fchdir;___syscall_fchdir.sig="ii";function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_fchmod"]=___syscall_fchmod;___syscall_fchmod.sig="iii";function ___syscall_fchmodat(dirfd,path,mode,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_fchmodat"]=___syscall_fchmodat;___syscall_fchmodat.sig="iipip";function ___syscall_fchown32(fd,owner,group){try{FS.fchown(fd,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_fchown32"]=___syscall_fchown32;___syscall_fchown32.sig="iiii";function ___syscall_fchownat(dirfd,path,owner,group,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;flags=flags&~256;path=SYSCALLS.calculateAt(dirfd,path);(nofollow?FS.lchown:FS.chown)(path,owner,group);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_fchownat"]=___syscall_fchownat;___syscall_fchownat.sig="iipiii";function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.getp();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_fcntl64"]=___syscall_fcntl64;___syscall_fcntl64.sig="iiip";function ___syscall_fdatasync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_fdatasync"]=___syscall_fdatasync;___syscall_fdatasync.sig="ii";function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_fstat64"]=___syscall_fstat64;___syscall_fstat64.sig="iip";function ___syscall_statfs64(path,size,buf){try{path=SYSCALLS.getStr(path);HEAP32[buf+4>>2]=4096;HEAP32[buf+40>>2]=4096;HEAP32[buf+8>>2]=1e6;HEAP32[buf+12>>2]=5e5;HEAP32[buf+16>>2]=5e5;HEAP32[buf+20>>2]=FS.nextInode;HEAP32[buf+24>>2]=1e6;HEAP32[buf+28>>2]=42;HEAP32[buf+44>>2]=2;HEAP32[buf+36>>2]=255;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_statfs64"]=___syscall_statfs64;___syscall_statfs64.sig="ippp";function ___syscall_fstatfs64(fd,size,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return ___syscall_statfs64(0,size,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_fstatfs64"]=___syscall_fstatfs64;___syscall_fstatfs64.sig="iipp";function ___syscall_ftruncate64(fd,length){length=bigintToI53Checked(length);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_ftruncate64"]=___syscall_ftruncate64;___syscall_ftruncate64.sig="iij";function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>3]=BigInt(id);HEAP64[dirp+pos+8>>3]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_getdents64"]=___syscall_getdents64;___syscall_getdents64.sig="iipp";function ___syscall_getpeername(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_getpeername"]=___syscall_getpeername;___syscall_getpeername.sig="iippiii";function ___syscall_getsockname(fd,addr,addrlen,d1,d2,d3){try{var sock=getSocketFromFD(fd);var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport,addrlen);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_getsockname"]=___syscall_getsockname;___syscall_getsockname.sig="iippiii";function ___syscall_getsockopt(fd,level,optname,optval,optlen,d1){try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_getsockopt"]=___syscall_getsockopt;___syscall_getsockopt.sig="iiiippi";function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=SYSCALLS.getp();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17>>0]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=SYSCALLS.getp();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17>>0])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.getp();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.getp();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=SYSCALLS.getp();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_ioctl"]=___syscall_ioctl;___syscall_ioctl.sig="iiip";function ___syscall_listen(fd,backlog){try{var sock=getSocketFromFD(fd);sock.sock_ops.listen(sock,backlog);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_listen"]=___syscall_listen;___syscall_listen.sig="iiiiiii";function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_lstat64"]=___syscall_lstat64;___syscall_lstat64.sig="ipp";function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_mkdirat"]=___syscall_mkdirat;___syscall_mkdirat.sig="iipi";function ___syscall_mknodat(dirfd,path,mode,dev){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_mknodat"]=___syscall_mknodat;___syscall_mknodat.sig="iipii";function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_newfstatat"]=___syscall_newfstatat;___syscall_newfstatat.sig="iippi";function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_openat"]=___syscall_openat;___syscall_openat.sig="iipip";var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(mount){return FS.createNode(null,"/",16384|511,0)},createPipe(){var pipe={buckets:[],refcnt:2};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}if(pipe.buckets.length>0){for(var i=0;i0){return 64|1}}}return 0},ioctl(stream,request,varargs){return 28},fsync(stream){return 28},read(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var i=0;i=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};Module["PIPEFS"]=PIPEFS;function ___syscall_pipe(fdPtr){try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();HEAP32[fdPtr>>2]=res.readable_fd;HEAP32[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_pipe"]=___syscall_pipe;___syscall_pipe.sig="ip";function ___syscall_poll(fds,nfds,timeout){try{var nonzero=0;for(var i=0;i>2];var events=HEAP16[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream,-1)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_poll"]=___syscall_poll;___syscall_poll.sig="ipii";function ___syscall_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_readlinkat"]=___syscall_readlinkat;___syscall_readlinkat.sig="iippp";function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){try{var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_recvfrom"]=___syscall_recvfrom;___syscall_recvfrom.sig="iippipp";function ___syscall_recvmsg(fd,message,flags,d1,d2,d3){try{var sock=getSocketFromFD(fd);var iov=HEAPU32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAPU32[message>>2];if(name){var errno=writeSockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_recvmsg"]=___syscall_recvmsg;___syscall_recvmsg.sig="iipiiii";function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_renameat"]=___syscall_renameat;___syscall_renameat.sig="iipip";function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_rmdir"]=___syscall_rmdir;___syscall_rmdir.sig="ip";function ___syscall_sendmsg(fd,message,flags,d1,d2,d3){try{var sock=getSocketFromFD(fd);var iov=HEAPU32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAPU32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=readSockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_sendmsg"]=___syscall_sendmsg;___syscall_sendmsg.sig="iipippi";function ___syscall_sendto(fd,message,length,flags,addr,addr_len){try{var sock=getSocketFromFD(fd);var dest=getSocketAddress(addr,addr_len,true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_sendto"]=___syscall_sendto;___syscall_sendto.sig="iippipp";function ___syscall_socket(domain,type,protocol){try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_socket"]=___syscall_socket;___syscall_socket.sig="iiiiiii";function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_stat64"]=___syscall_stat64;___syscall_stat64.sig="ipp";function ___syscall_symlink(target,linkpath){try{target=SYSCALLS.getStr(target);linkpath=SYSCALLS.getStr(linkpath);FS.symlink(target,linkpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_symlink"]=___syscall_symlink;___syscall_symlink.sig="ipp";function ___syscall_symlinkat(target,newdirfd,linkpath){try{linkpath=SYSCALLS.calculateAt(newdirfd,linkpath);FS.symlink(target,linkpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_symlinkat"]=___syscall_symlinkat;___syscall_symlinkat.sig="ipip";function ___syscall_truncate64(path,length){length=bigintToI53Checked(length);try{if(isNaN(length))return 61;path=SYSCALLS.getStr(path);FS.truncate(path,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_truncate64"]=___syscall_truncate64;___syscall_truncate64.sig="ipj";function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_unlinkat"]=___syscall_unlinkat;___syscall_unlinkat.sig="iipi";var readI53FromI64=ptr=>HEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;Module["readI53FromI64"]=readI53FromI64;function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);if(!times){var atime=Date.now();var mtime=atime}else{var seconds=readI53FromI64(times);var nanoseconds=HEAP32[times+8>>2];atime=seconds*1e3+nanoseconds/(1e3*1e3);times+=16;seconds=readI53FromI64(times);nanoseconds=HEAP32[times+8>>2];mtime=seconds*1e3+nanoseconds/(1e3*1e3)}FS.utime(path,atime,mtime);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["___syscall_utimensat"]=___syscall_utimensat;___syscall_utimensat.sig="iippi";var ___table_base=new WebAssembly.Global({"value":"i32","mutable":false},1);Module["___table_base"]=___table_base;var ENV={};Module["ENV"]=ENV;var dlSetError=msg=>{withStackSave(()=>{var cmsg=stringToUTF8OnStack(msg);___dl_seterr(cmsg,0)})};Module["dlSetError"]=dlSetError;var dlopenInternal=(handle,jsflags)=>{var filename=UTF8ToString(handle+36);var flags=HEAP32[handle+4>>2];filename=PATH.normalize(filename);var searchpaths=[];var global=Boolean(flags&256);var localScope=global?null:{};var combinedFlags={global:global,nodelete:Boolean(flags&4096),loadAsync:jsflags.loadAsync};if(jsflags.loadAsync){return loadDynamicLibrary(filename,combinedFlags,localScope,handle)}try{return loadDynamicLibrary(filename,combinedFlags,localScope,handle)}catch(e){dlSetError(`Could not load dynamic lib: ${filename}\n${e}`);return 0}};Module["dlopenInternal"]=dlopenInternal;var __dlopen_js=handle=>dlopenInternal(handle,{loadAsync:false});Module["__dlopen_js"]=__dlopen_js;__dlopen_js.sig="pp";var __dlsym_js=(handle,symbol,symbolIndex)=>{symbol=UTF8ToString(symbol);var result;var newSymIndex;var lib=LDSO.loadedLibsByHandle[handle];if(!lib.exports.hasOwnProperty(symbol)||lib.exports[symbol].stub){dlSetError(`Tried to lookup unknown symbol "${symbol}" in dynamic lib: ${lib.name}`);return 0}newSymIndex=Object.keys(lib.exports).indexOf(symbol);result=lib.exports[symbol];if(typeof result=="function"){var addr=getFunctionAddress(result);if(addr){result=addr}else{result=addFunction(result,result.sig);HEAPU32[symbolIndex>>2]=newSymIndex}}return result};Module["__dlsym_js"]=__dlsym_js;__dlsym_js.sig="pppp";var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};Module["handleException"]=handleException;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))};Module["_proc_exit"]=_proc_exit;_proc_exit.sig="vi";var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};Module["exitJS"]=exitJS;var _exit=exitJS;Module["_exit"]=_exit;_exit.sig="vi";var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};Module["maybeExit"]=maybeExit;var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};Module["callUserCallback"]=callUserCallback;var __emscripten_dlopen_js=(handle,onsuccess,onerror,user_data)=>{function errorCallback(e){var filename=UTF8ToString(handle+36);dlSetError(`'Could not load dynamic lib: ${filename}\n${e}`);callUserCallback(()=>getWasmTableEntry(onerror)(handle,user_data))}function successCallback(){callUserCallback(()=>getWasmTableEntry(onsuccess)(handle,user_data))}var promise=dlopenInternal(handle,{loadAsync:true});if(promise){promise.then(successCallback,errorCallback)}else{errorCallback()}};Module["__emscripten_dlopen_js"]=__emscripten_dlopen_js;__emscripten_dlopen_js.sig="vpppp";var nowIsMonotonic=true;Module["nowIsMonotonic"]=nowIsMonotonic;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;Module["__emscripten_get_now_is_monotonic"]=__emscripten_get_now_is_monotonic;__emscripten_get_now_is_monotonic.sig="i";var __emscripten_get_progname=(str,len)=>{stringToUTF8(thisProgram,str,len)};Module["__emscripten_get_progname"]=__emscripten_get_progname;__emscripten_get_progname.sig="vpi";var __emscripten_throw_longjmp=()=>{throw Module.wrapException(Infinity)};Module["__emscripten_throw_longjmp"]=__emscripten_throw_longjmp;__emscripten_throw_longjmp.sig="v";function __gmtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday}Module["__gmtime_js"]=__gmtime_js;__gmtime_js.sig="vjp";var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);Module["isLeapYear"]=isLeapYear;var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];Module["MONTH_DAYS_LEAP_CUMULATIVE"]=MONTH_DAYS_LEAP_CUMULATIVE;var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];Module["MONTH_DAYS_REGULAR_CUMULATIVE"]=MONTH_DAYS_REGULAR_CUMULATIVE;var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};Module["ydayFromDate"]=ydayFromDate;function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}Module["__localtime_js"]=__localtime_js;__localtime_js.sig="vjp";var __mktime_js=function(tmPtr){var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getYear();return date.getTime()/1e3})();return BigInt(ret)};Module["__mktime_js"]=__mktime_js;__mktime_js.sig="jp";function __mmap_js(len,prot,flags,fd,offset,allocated,addr){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["__mmap_js"]=__mmap_js;__mmap_js.sig="ipiiijpp";function __msync_js(addr,len,prot,flags,fd,offset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;SYSCALLS.doMsync(addr,SYSCALLS.getStreamFromFD(fd),len,flags,offset);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["__msync_js"]=__msync_js;__msync_js.sig="ippiiij";function __munmap_js(addr,len,prot,flags,fd,offset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}FS.munmap(stream)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}Module["__munmap_js"]=__munmap_js;__munmap_js.sig="ippiiij";var timers={};Module["timers"]=timers;var _emscripten_get_now;_emscripten_get_now=()=>performance.now();Module["_emscripten_get_now"]=_emscripten_get_now;_emscripten_get_now.sig="d";var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id:id,timeout_ms:timeout_ms};return 0};Module["__setitimer_js"]=__setitimer_js;__setitimer_js.sig="iid";var __timegm_js=function(tmPtr){var ret=(()=>{var time=Date.UTC(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var date=new Date(time);HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3})();return BigInt(ret)};Module["__timegm_js"]=__timegm_js;__timegm_js.sig="jp";var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};Module["stringToNewUTF8"]=stringToNewUTF8;var __tzset_js=(timezone,daylight,tzname)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=stringToNewUTF8(winterName);var summerNamePtr=stringToNewUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAPU32[tzname+4>>2]=summerNamePtr}else{HEAPU32[tzname>>2]=summerNamePtr;HEAPU32[tzname+4>>2]=winterNamePtr}};Module["__tzset_js"]=__tzset_js;__tzset_js.sig="vppp";var _abort=()=>{abort("")};Module["_abort"]=_abort;_abort.sig="v";var readEmAsmArgsArray=[];Module["readEmAsmArgsArray"]=readEmAsmArgsArray;var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>2]:ch==106?HEAP64[buf>>3]:ch==105?HEAP32[buf>>2]:HEAPF64[buf>>3]);buf+=wide?8:4}return readEmAsmArgsArray};Module["readEmAsmArgs"]=readEmAsmArgs;var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)};Module["runEmAsmFunction"]=runEmAsmFunction;var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);Module["_emscripten_asm_const_int"]=_emscripten_asm_const_int;_emscripten_asm_const_int.sig="ippp";var _emscripten_console_error=str=>{console.error(UTF8ToString(str))};Module["_emscripten_console_error"]=_emscripten_console_error;_emscripten_console_error.sig="vp";var _emscripten_console_log=str=>{console.log(UTF8ToString(str))};Module["_emscripten_console_log"]=_emscripten_console_log;_emscripten_console_log.sig="vp";var _emscripten_console_warn=str=>{console.warn(UTF8ToString(str))};Module["_emscripten_console_warn"]=_emscripten_console_warn;_emscripten_console_warn.sig="vp";var _emscripten_date_now=()=>Date.now();Module["_emscripten_date_now"]=_emscripten_date_now;_emscripten_date_now.sig="d";var _emscripten_err=str=>err(UTF8ToString(str));Module["_emscripten_err"]=_emscripten_err;_emscripten_err.sig="vp";var _emscripten_exit_with_live_runtime=()=>{throw"unwind"};Module["_emscripten_exit_with_live_runtime"]=_emscripten_exit_with_live_runtime;_emscripten_exit_with_live_runtime.sig="v";var getHeapMax=()=>2147483648;Module["getHeapMax"]=getHeapMax;var _emscripten_get_heap_max=()=>getHeapMax();Module["_emscripten_get_heap_max"]=_emscripten_get_heap_max;_emscripten_get_heap_max.sig="p";var _emscripten_get_now_res=()=>{if(ENVIRONMENT_IS_NODE){return 1}return 1e3};Module["_emscripten_get_now_res"]=_emscripten_get_now_res;_emscripten_get_now_res.sig="d";var webgl_enable_ANGLE_instanced_arrays=ctx=>{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};Module["webgl_enable_ANGLE_instanced_arrays"]=webgl_enable_ANGLE_instanced_arrays;var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};Module["webgl_enable_OES_vertex_array_object"]=webgl_enable_OES_vertex_array_object;var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};Module["webgl_enable_WEBGL_draw_buffers"]=webgl_enable_WEBGL_draw_buffers;var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));Module["webgl_enable_WEBGL_multi_draw"]=webgl_enable_WEBGL_multi_draw;var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{var source="";for(var i=0;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:(canvas,webGLContextAttributes)=>{var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:(ctx,webGLContextAttributes)=>{var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents=="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:context=>{if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};Module["GL"]=GL;function _glActiveTexture(x0){GLctx.activeTexture(x0)}Module["_glActiveTexture"]=_glActiveTexture;_glActiveTexture.sig="vi";var _emscripten_glActiveTexture=_glActiveTexture;Module["_emscripten_glActiveTexture"]=_emscripten_glActiveTexture;var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};Module["_glAttachShader"]=_glAttachShader;_glAttachShader.sig="vii";var _emscripten_glAttachShader=_glAttachShader;Module["_emscripten_glAttachShader"]=_emscripten_glAttachShader;var _glBeginQueryEXT=(target,id)=>{GLctx.disjointTimerQueryExt["beginQueryEXT"](target,GL.queries[id])};Module["_glBeginQueryEXT"]=_glBeginQueryEXT;_glBeginQueryEXT.sig="vii";var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;Module["_emscripten_glBeginQueryEXT"]=_emscripten_glBeginQueryEXT;var _glBindAttribLocation=(program,index,name)=>{GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))};Module["_glBindAttribLocation"]=_glBindAttribLocation;_glBindAttribLocation.sig="viip";var _emscripten_glBindAttribLocation=_glBindAttribLocation;Module["_emscripten_glBindAttribLocation"]=_emscripten_glBindAttribLocation;var _glBindBuffer=(target,buffer)=>{GLctx.bindBuffer(target,GL.buffers[buffer])};Module["_glBindBuffer"]=_glBindBuffer;_glBindBuffer.sig="vii";var _emscripten_glBindBuffer=_glBindBuffer;Module["_emscripten_glBindBuffer"]=_emscripten_glBindBuffer;var _glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])};Module["_glBindFramebuffer"]=_glBindFramebuffer;_glBindFramebuffer.sig="vii";var _emscripten_glBindFramebuffer=_glBindFramebuffer;Module["_emscripten_glBindFramebuffer"]=_emscripten_glBindFramebuffer;var _glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};Module["_glBindRenderbuffer"]=_glBindRenderbuffer;_glBindRenderbuffer.sig="vii";var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;Module["_emscripten_glBindRenderbuffer"]=_emscripten_glBindRenderbuffer;var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};Module["_glBindTexture"]=_glBindTexture;_glBindTexture.sig="vii";var _emscripten_glBindTexture=_glBindTexture;Module["_emscripten_glBindTexture"]=_emscripten_glBindTexture;var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};Module["_glBindVertexArray"]=_glBindVertexArray;_glBindVertexArray.sig="vi";var _glBindVertexArrayOES=_glBindVertexArray;Module["_glBindVertexArrayOES"]=_glBindVertexArrayOES;_glBindVertexArrayOES.sig="vi";var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;Module["_emscripten_glBindVertexArrayOES"]=_emscripten_glBindVertexArrayOES;function _glBlendColor(x0,x1,x2,x3){GLctx.blendColor(x0,x1,x2,x3)}Module["_glBlendColor"]=_glBlendColor;_glBlendColor.sig="vffff";var _emscripten_glBlendColor=_glBlendColor;Module["_emscripten_glBlendColor"]=_emscripten_glBlendColor;function _glBlendEquation(x0){GLctx.blendEquation(x0)}Module["_glBlendEquation"]=_glBlendEquation;_glBlendEquation.sig="vi";var _emscripten_glBlendEquation=_glBlendEquation;Module["_emscripten_glBlendEquation"]=_emscripten_glBlendEquation;function _glBlendEquationSeparate(x0,x1){GLctx.blendEquationSeparate(x0,x1)}Module["_glBlendEquationSeparate"]=_glBlendEquationSeparate;_glBlendEquationSeparate.sig="vii";var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;Module["_emscripten_glBlendEquationSeparate"]=_emscripten_glBlendEquationSeparate;function _glBlendFunc(x0,x1){GLctx.blendFunc(x0,x1)}Module["_glBlendFunc"]=_glBlendFunc;_glBlendFunc.sig="vii";var _emscripten_glBlendFunc=_glBlendFunc;Module["_emscripten_glBlendFunc"]=_emscripten_glBlendFunc;function _glBlendFuncSeparate(x0,x1,x2,x3){GLctx.blendFuncSeparate(x0,x1,x2,x3)}Module["_glBlendFuncSeparate"]=_glBlendFuncSeparate;_glBlendFuncSeparate.sig="viiii";var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;Module["_emscripten_glBlendFuncSeparate"]=_emscripten_glBlendFuncSeparate;var _glBufferData=(target,size,data,usage)=>{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};Module["_glBufferData"]=_glBufferData;_glBufferData.sig="vippi";var _emscripten_glBufferData=_glBufferData;Module["_emscripten_glBufferData"]=_emscripten_glBufferData;var _glBufferSubData=(target,offset,size,data)=>{GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};Module["_glBufferSubData"]=_glBufferSubData;_glBufferSubData.sig="vippp";var _emscripten_glBufferSubData=_glBufferSubData;Module["_emscripten_glBufferSubData"]=_emscripten_glBufferSubData;function _glCheckFramebufferStatus(x0){return GLctx.checkFramebufferStatus(x0)}Module["_glCheckFramebufferStatus"]=_glCheckFramebufferStatus;_glCheckFramebufferStatus.sig="ii";var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;Module["_emscripten_glCheckFramebufferStatus"]=_emscripten_glCheckFramebufferStatus;function _glClear(x0){GLctx.clear(x0)}Module["_glClear"]=_glClear;_glClear.sig="vi";var _emscripten_glClear=_glClear;Module["_emscripten_glClear"]=_emscripten_glClear;function _glClearColor(x0,x1,x2,x3){GLctx.clearColor(x0,x1,x2,x3)}Module["_glClearColor"]=_glClearColor;_glClearColor.sig="vffff";var _emscripten_glClearColor=_glClearColor;Module["_emscripten_glClearColor"]=_emscripten_glClearColor;function _glClearDepthf(x0){GLctx.clearDepth(x0)}Module["_glClearDepthf"]=_glClearDepthf;_glClearDepthf.sig="vf";var _emscripten_glClearDepthf=_glClearDepthf;Module["_emscripten_glClearDepthf"]=_emscripten_glClearDepthf;function _glClearStencil(x0){GLctx.clearStencil(x0)}Module["_glClearStencil"]=_glClearStencil;_glClearStencil.sig="vi";var _emscripten_glClearStencil=_glClearStencil;Module["_emscripten_glClearStencil"]=_emscripten_glClearStencil;var _glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};Module["_glColorMask"]=_glColorMask;_glColorMask.sig="viiii";var _emscripten_glColorMask=_glColorMask;Module["_emscripten_glColorMask"]=_emscripten_glColorMask;var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};Module["_glCompileShader"]=_glCompileShader;_glCompileShader.sig="vi";var _emscripten_glCompileShader=_glCompileShader;Module["_emscripten_glCompileShader"]=_emscripten_glCompileShader;var _glCompressedTexImage2D=(target,level,internalFormat,width,height,border,imageSize,data)=>{GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)};Module["_glCompressedTexImage2D"]=_glCompressedTexImage2D;_glCompressedTexImage2D.sig="viiiiiiip";var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;Module["_emscripten_glCompressedTexImage2D"]=_emscripten_glCompressedTexImage2D;var _glCompressedTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,imageSize,data)=>{GLctx.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)};Module["_glCompressedTexSubImage2D"]=_glCompressedTexSubImage2D;_glCompressedTexSubImage2D.sig="viiiiiiiip";var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;Module["_emscripten_glCompressedTexSubImage2D"]=_emscripten_glCompressedTexSubImage2D;function _glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}Module["_glCopyTexImage2D"]=_glCopyTexImage2D;_glCopyTexImage2D.sig="viiiiiiii";var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;Module["_emscripten_glCopyTexImage2D"]=_emscripten_glCopyTexImage2D;function _glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx.copyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7)}Module["_glCopyTexSubImage2D"]=_glCopyTexSubImage2D;_glCopyTexSubImage2D.sig="viiiiiiii";var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;Module["_emscripten_glCopyTexSubImage2D"]=_emscripten_glCopyTexSubImage2D;var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};Module["_glCreateProgram"]=_glCreateProgram;_glCreateProgram.sig="i";var _emscripten_glCreateProgram=_glCreateProgram;Module["_emscripten_glCreateProgram"]=_emscripten_glCreateProgram;var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};Module["_glCreateShader"]=_glCreateShader;_glCreateShader.sig="ii";var _emscripten_glCreateShader=_glCreateShader;Module["_emscripten_glCreateShader"]=_emscripten_glCreateShader;function _glCullFace(x0){GLctx.cullFace(x0)}Module["_glCullFace"]=_glCullFace;_glCullFace.sig="vi";var _emscripten_glCullFace=_glCullFace;Module["_emscripten_glCullFace"]=_emscripten_glCullFace;var _glDeleteBuffers=(n,buffers)=>{for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null}};Module["_glDeleteBuffers"]=_glDeleteBuffers;_glDeleteBuffers.sig="vip";var _emscripten_glDeleteBuffers=_glDeleteBuffers;Module["_emscripten_glDeleteBuffers"]=_emscripten_glDeleteBuffers;var _glDeleteFramebuffers=(n,framebuffers)=>{for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}};Module["_glDeleteFramebuffers"]=_glDeleteFramebuffers;_glDeleteFramebuffers.sig="vip";var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;Module["_emscripten_glDeleteFramebuffers"]=_emscripten_glDeleteFramebuffers;var _glDeleteProgram=id=>{if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null};Module["_glDeleteProgram"]=_glDeleteProgram;_glDeleteProgram.sig="vi";var _emscripten_glDeleteProgram=_glDeleteProgram;Module["_emscripten_glDeleteProgram"]=_emscripten_glDeleteProgram;var _glDeleteQueriesEXT=(n,ids)=>{for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.disjointTimerQueryExt["deleteQueryEXT"](query);GL.queries[id]=null}};Module["_glDeleteQueriesEXT"]=_glDeleteQueriesEXT;_glDeleteQueriesEXT.sig="vii";var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;Module["_emscripten_glDeleteQueriesEXT"]=_emscripten_glDeleteQueriesEXT;var _glDeleteRenderbuffers=(n,renderbuffers)=>{for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}};Module["_glDeleteRenderbuffers"]=_glDeleteRenderbuffers;_glDeleteRenderbuffers.sig="vip";var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;Module["_emscripten_glDeleteRenderbuffers"]=_emscripten_glDeleteRenderbuffers;var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};Module["_glDeleteShader"]=_glDeleteShader;_glDeleteShader.sig="vi";var _emscripten_glDeleteShader=_glDeleteShader;Module["_emscripten_glDeleteShader"]=_emscripten_glDeleteShader;var _glDeleteTextures=(n,textures)=>{for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}};Module["_glDeleteTextures"]=_glDeleteTextures;_glDeleteTextures.sig="vip";var _emscripten_glDeleteTextures=_glDeleteTextures;Module["_emscripten_glDeleteTextures"]=_emscripten_glDeleteTextures;var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};Module["_glDeleteVertexArrays"]=_glDeleteVertexArrays;_glDeleteVertexArrays.sig="vip";var _glDeleteVertexArraysOES=_glDeleteVertexArrays;Module["_glDeleteVertexArraysOES"]=_glDeleteVertexArraysOES;_glDeleteVertexArraysOES.sig="vip";var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;Module["_emscripten_glDeleteVertexArraysOES"]=_emscripten_glDeleteVertexArraysOES;function _glDepthFunc(x0){GLctx.depthFunc(x0)}Module["_glDepthFunc"]=_glDepthFunc;_glDepthFunc.sig="vi";var _emscripten_glDepthFunc=_glDepthFunc;Module["_emscripten_glDepthFunc"]=_emscripten_glDepthFunc;var _glDepthMask=flag=>{GLctx.depthMask(!!flag)};Module["_glDepthMask"]=_glDepthMask;_glDepthMask.sig="vi";var _emscripten_glDepthMask=_glDepthMask;Module["_emscripten_glDepthMask"]=_emscripten_glDepthMask;function _glDepthRangef(x0,x1){GLctx.depthRange(x0,x1)}Module["_glDepthRangef"]=_glDepthRangef;_glDepthRangef.sig="vff";var _emscripten_glDepthRangef=_glDepthRangef;Module["_emscripten_glDepthRangef"]=_emscripten_glDepthRangef;var _glDetachShader=(program,shader)=>{GLctx.detachShader(GL.programs[program],GL.shaders[shader])};Module["_glDetachShader"]=_glDetachShader;_glDetachShader.sig="vii";var _emscripten_glDetachShader=_glDetachShader;Module["_emscripten_glDetachShader"]=_emscripten_glDetachShader;function _glDisable(x0){GLctx.disable(x0)}Module["_glDisable"]=_glDisable;_glDisable.sig="vi";var _emscripten_glDisable=_glDisable;Module["_emscripten_glDisable"]=_emscripten_glDisable;var _glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};Module["_glDisableVertexAttribArray"]=_glDisableVertexAttribArray;_glDisableVertexAttribArray.sig="vi";var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;Module["_emscripten_glDisableVertexAttribArray"]=_emscripten_glDisableVertexAttribArray;var _glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};Module["_glDrawArrays"]=_glDrawArrays;_glDrawArrays.sig="viii";var _emscripten_glDrawArrays=_glDrawArrays;Module["_emscripten_glDrawArrays"]=_emscripten_glDrawArrays;var _glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};Module["_glDrawArraysInstanced"]=_glDrawArraysInstanced;_glDrawArraysInstanced.sig="viiii";var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced;Module["_glDrawArraysInstancedANGLE"]=_glDrawArraysInstancedANGLE;var _emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE;Module["_emscripten_glDrawArraysInstancedANGLE"]=_emscripten_glDrawArraysInstancedANGLE;var tempFixedLengthArray=[];Module["tempFixedLengthArray"]=tempFixedLengthArray;var _glDrawBuffers=(n,bufs)=>{var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)};Module["_glDrawBuffers"]=_glDrawBuffers;_glDrawBuffers.sig="vip";var _glDrawBuffersWEBGL=_glDrawBuffers;Module["_glDrawBuffersWEBGL"]=_glDrawBuffersWEBGL;var _emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;Module["_emscripten_glDrawBuffersWEBGL"]=_emscripten_glDrawBuffersWEBGL;var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};Module["_glDrawElements"]=_glDrawElements;_glDrawElements.sig="viiip";var _emscripten_glDrawElements=_glDrawElements;Module["_emscripten_glDrawElements"]=_emscripten_glDrawElements;var _glDrawElementsInstanced=(mode,count,type,indices,primcount)=>{GLctx.drawElementsInstanced(mode,count,type,indices,primcount)};Module["_glDrawElementsInstanced"]=_glDrawElementsInstanced;_glDrawElementsInstanced.sig="viiipi";var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced;Module["_glDrawElementsInstancedANGLE"]=_glDrawElementsInstancedANGLE;var _emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE;Module["_emscripten_glDrawElementsInstancedANGLE"]=_emscripten_glDrawElementsInstancedANGLE;function _glEnable(x0){GLctx.enable(x0)}Module["_glEnable"]=_glEnable;_glEnable.sig="vi";var _emscripten_glEnable=_glEnable;Module["_emscripten_glEnable"]=_emscripten_glEnable;var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};Module["_glEnableVertexAttribArray"]=_glEnableVertexAttribArray;_glEnableVertexAttribArray.sig="vi";var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;Module["_emscripten_glEnableVertexAttribArray"]=_emscripten_glEnableVertexAttribArray;var _glEndQueryEXT=target=>{GLctx.disjointTimerQueryExt["endQueryEXT"](target)};Module["_glEndQueryEXT"]=_glEndQueryEXT;_glEndQueryEXT.sig="vi";var _emscripten_glEndQueryEXT=_glEndQueryEXT;Module["_emscripten_glEndQueryEXT"]=_emscripten_glEndQueryEXT;function _glFinish(){GLctx.finish()}Module["_glFinish"]=_glFinish;_glFinish.sig="v";var _emscripten_glFinish=_glFinish;Module["_emscripten_glFinish"]=_emscripten_glFinish;function _glFlush(){GLctx.flush()}Module["_glFlush"]=_glFlush;_glFlush.sig="v";var _emscripten_glFlush=_glFlush;Module["_emscripten_glFlush"]=_emscripten_glFlush;var _glFramebufferRenderbuffer=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};Module["_glFramebufferRenderbuffer"]=_glFramebufferRenderbuffer;_glFramebufferRenderbuffer.sig="viiii";var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;Module["_emscripten_glFramebufferRenderbuffer"]=_emscripten_glFramebufferRenderbuffer;var _glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};Module["_glFramebufferTexture2D"]=_glFramebufferTexture2D;_glFramebufferTexture2D.sig="viiiii";var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;Module["_emscripten_glFramebufferTexture2D"]=_emscripten_glFramebufferTexture2D;function _glFrontFace(x0){GLctx.frontFace(x0)}Module["_glFrontFace"]=_glFrontFace;_glFrontFace.sig="vi";var _emscripten_glFrontFace=_glFrontFace;Module["_emscripten_glFrontFace"]=_emscripten_glFrontFace;var __glGenObject=(n,buffers,createFunction,objectTable)=>{for(var i=0;i>2]=id}};Module["__glGenObject"]=__glGenObject;var _glGenBuffers=(n,buffers)=>{__glGenObject(n,buffers,"createBuffer",GL.buffers)};Module["_glGenBuffers"]=_glGenBuffers;_glGenBuffers.sig="vip";var _emscripten_glGenBuffers=_glGenBuffers;Module["_emscripten_glGenBuffers"]=_emscripten_glGenBuffers;var _glGenFramebuffers=(n,ids)=>{__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)};Module["_glGenFramebuffers"]=_glGenFramebuffers;_glGenFramebuffers.sig="vip";var _emscripten_glGenFramebuffers=_glGenFramebuffers;Module["_emscripten_glGenFramebuffers"]=_emscripten_glGenFramebuffers;var _glGenQueriesEXT=(n,ids)=>{for(var i=0;i>2]=0;return}var id=GL.getNewId(GL.queries);query.name=id;GL.queries[id]=query;HEAP32[ids+i*4>>2]=id}};Module["_glGenQueriesEXT"]=_glGenQueriesEXT;_glGenQueriesEXT.sig="vii";var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;Module["_emscripten_glGenQueriesEXT"]=_emscripten_glGenQueriesEXT;var _glGenRenderbuffers=(n,renderbuffers)=>{__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)};Module["_glGenRenderbuffers"]=_glGenRenderbuffers;_glGenRenderbuffers.sig="vip";var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;Module["_emscripten_glGenRenderbuffers"]=_emscripten_glGenRenderbuffers;var _glGenTextures=(n,textures)=>{__glGenObject(n,textures,"createTexture",GL.textures)};Module["_glGenTextures"]=_glGenTextures;_glGenTextures.sig="vip";var _emscripten_glGenTextures=_glGenTextures;Module["_emscripten_glGenTextures"]=_emscripten_glGenTextures;function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}Module["_glGenVertexArrays"]=_glGenVertexArrays;_glGenVertexArrays.sig="vip";var _glGenVertexArraysOES=_glGenVertexArrays;Module["_glGenVertexArraysOES"]=_glGenVertexArraysOES;_glGenVertexArraysOES.sig="vip";var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;Module["_emscripten_glGenVertexArraysOES"]=_emscripten_glGenVertexArraysOES;function _glGenerateMipmap(x0){GLctx.generateMipmap(x0)}Module["_glGenerateMipmap"]=_glGenerateMipmap;_glGenerateMipmap.sig="vi";var _emscripten_glGenerateMipmap=_glGenerateMipmap;Module["_emscripten_glGenerateMipmap"]=_emscripten_glGenerateMipmap;var __glGetActiveAttribOrUniform=(funcName,program,index,bufSize,length,size,type,name)=>{program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}};Module["__glGetActiveAttribOrUniform"]=__glGetActiveAttribOrUniform;var _glGetActiveAttrib=(program,index,bufSize,length,size,type,name)=>{__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)};Module["_glGetActiveAttrib"]=_glGetActiveAttrib;_glGetActiveAttrib.sig="viiipppp";var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;Module["_emscripten_glGetActiveAttrib"]=_emscripten_glGetActiveAttrib;var _glGetActiveUniform=(program,index,bufSize,length,size,type,name)=>{__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)};Module["_glGetActiveUniform"]=_glGetActiveUniform;_glGetActiveUniform.sig="viiipppp";var _emscripten_glGetActiveUniform=_glGetActiveUniform;Module["_emscripten_glGetActiveUniform"]=_emscripten_glGetActiveUniform;var _glGetAttachedShaders=(program,maxCount,count,shaders)=>{var result=GLctx.getAttachedShaders(GL.programs[program]);var len=result.length;if(len>maxCount){len=maxCount}HEAP32[count>>2]=len;for(var i=0;i>2]=id}};Module["_glGetAttachedShaders"]=_glGetAttachedShaders;_glGetAttachedShaders.sig="viipp";var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;Module["_emscripten_glGetAttachedShaders"]=_emscripten_glGetAttachedShaders;var _glGetAttribLocation=(program,name)=>GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name));Module["_glGetAttribLocation"]=_glGetAttribLocation;_glGetAttribLocation.sig="iip";var _emscripten_glGetAttribLocation=_glGetAttribLocation;Module["_emscripten_glGetAttribLocation"]=_emscripten_glGetAttribLocation;var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>2]=num;var lower=HEAPU32[ptr>>2];HEAPU32[ptr+4>>2]=(num-lower)/4294967296};Module["writeI53ToI64"]=writeI53ToI64;var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}};Module["emscriptenWebGLGet"]=emscriptenWebGLGet;var _glGetBooleanv=(name_,p)=>{emscriptenWebGLGet(name_,p,4)};Module["_glGetBooleanv"]=_glGetBooleanv;_glGetBooleanv.sig="vip";var _emscripten_glGetBooleanv=_glGetBooleanv;Module["_emscripten_glGetBooleanv"]=_emscripten_glGetBooleanv;var _glGetBufferParameteriv=(target,value,data)=>{if(!data){GL.recordError(1281);return}HEAP32[data>>2]=GLctx.getBufferParameter(target,value)};Module["_glGetBufferParameteriv"]=_glGetBufferParameteriv;_glGetBufferParameteriv.sig="viip";var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;Module["_emscripten_glGetBufferParameteriv"]=_emscripten_glGetBufferParameteriv;var _glGetError=()=>{var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error};Module["_glGetError"]=_glGetError;_glGetError.sig="i";var _emscripten_glGetError=_glGetError;Module["_emscripten_glGetError"]=_emscripten_glGetError;var _glGetFloatv=(name_,p)=>{emscriptenWebGLGet(name_,p,2)};Module["_glGetFloatv"]=_glGetFloatv;_glGetFloatv.sig="vip";var _emscripten_glGetFloatv=_glGetFloatv;Module["_emscripten_glGetFloatv"]=_emscripten_glGetFloatv;var _glGetFramebufferAttachmentParameteriv=(target,attachment,pname,params)=>{var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result};Module["_glGetFramebufferAttachmentParameteriv"]=_glGetFramebufferAttachmentParameteriv;_glGetFramebufferAttachmentParameteriv.sig="viiip";var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;Module["_emscripten_glGetFramebufferAttachmentParameteriv"]=_emscripten_glGetFramebufferAttachmentParameteriv;var _glGetIntegerv=(name_,p)=>{emscriptenWebGLGet(name_,p,0)};Module["_glGetIntegerv"]=_glGetIntegerv;_glGetIntegerv.sig="vip";var _emscripten_glGetIntegerv=_glGetIntegerv;Module["_emscripten_glGetIntegerv"]=_emscripten_glGetIntegerv;var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};Module["_glGetProgramInfoLog"]=_glGetProgramInfoLog;_glGetProgramInfoLog.sig="viipp";var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;Module["_emscripten_glGetProgramInfoLog"]=_emscripten_glGetProgramInfoLog;var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};Module["_glGetProgramiv"]=_glGetProgramiv;_glGetProgramiv.sig="viip";var _emscripten_glGetProgramiv=_glGetProgramiv;Module["_emscripten_glGetProgramiv"]=_emscripten_glGetProgramiv;var _glGetQueryObjecti64vEXT=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param;{param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname)}var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}writeI53ToI64(params,ret)};Module["_glGetQueryObjecti64vEXT"]=_glGetQueryObjecti64vEXT;_glGetQueryObjecti64vEXT.sig="viii";var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;Module["_emscripten_glGetQueryObjecti64vEXT"]=_emscripten_glGetQueryObjecti64vEXT;var _glGetQueryObjectivEXT=(id,pname,params)=>{if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx.disjointTimerQueryExt["getQueryObjectEXT"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret};Module["_glGetQueryObjectivEXT"]=_glGetQueryObjectivEXT;_glGetQueryObjectivEXT.sig="viii";var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT;Module["_emscripten_glGetQueryObjectivEXT"]=_emscripten_glGetQueryObjectivEXT;var _glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT;Module["_glGetQueryObjectui64vEXT"]=_glGetQueryObjectui64vEXT;var _emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT;Module["_emscripten_glGetQueryObjectui64vEXT"]=_emscripten_glGetQueryObjectui64vEXT;var _glGetQueryObjectuivEXT=_glGetQueryObjectivEXT;Module["_glGetQueryObjectuivEXT"]=_glGetQueryObjectuivEXT;var _emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;Module["_emscripten_glGetQueryObjectuivEXT"]=_emscripten_glGetQueryObjectuivEXT;var _glGetQueryivEXT=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.disjointTimerQueryExt["getQueryEXT"](target,pname)};Module["_glGetQueryivEXT"]=_glGetQueryivEXT;_glGetQueryivEXT.sig="viii";var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;Module["_emscripten_glGetQueryivEXT"]=_emscripten_glGetQueryivEXT;var _glGetRenderbufferParameteriv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)};Module["_glGetRenderbufferParameteriv"]=_glGetRenderbufferParameteriv;_glGetRenderbufferParameteriv.sig="viip";var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;Module["_emscripten_glGetRenderbufferParameteriv"]=_emscripten_glGetRenderbufferParameteriv;var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};Module["_glGetShaderInfoLog"]=_glGetShaderInfoLog;_glGetShaderInfoLog.sig="viipp";var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;Module["_emscripten_glGetShaderInfoLog"]=_emscripten_glGetShaderInfoLog;var _glGetShaderPrecisionFormat=(shaderType,precisionType,range,precision)=>{var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision};Module["_glGetShaderPrecisionFormat"]=_glGetShaderPrecisionFormat;_glGetShaderPrecisionFormat.sig="viipp";var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;Module["_emscripten_glGetShaderPrecisionFormat"]=_emscripten_glGetShaderPrecisionFormat;var _glGetShaderSource=(shader,bufSize,length,source)=>{var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};Module["_glGetShaderSource"]=_glGetShaderSource;_glGetShaderSource.sig="viipp";var _emscripten_glGetShaderSource=_glGetShaderSource;Module["_emscripten_glGetShaderSource"]=_emscripten_glGetShaderSource;var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};Module["_glGetShaderiv"]=_glGetShaderiv;_glGetShaderiv.sig="viip";var _emscripten_glGetShaderiv=_glGetShaderiv;Module["_emscripten_glGetShaderiv"]=_emscripten_glGetShaderiv;var _glGetString=name_=>{var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(e=>"GL_"+e));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s&&stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret};Module["_glGetString"]=_glGetString;_glGetString.sig="pi";var _emscripten_glGetString=_glGetString;Module["_emscripten_glGetString"]=_emscripten_glGetString;var _glGetTexParameterfv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAPF32[params>>2]=GLctx.getTexParameter(target,pname)};Module["_glGetTexParameterfv"]=_glGetTexParameterfv;_glGetTexParameterfv.sig="viip";var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;Module["_emscripten_glGetTexParameterfv"]=_emscripten_glGetTexParameterfv;var _glGetTexParameteriv=(target,pname,params)=>{if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)};Module["_glGetTexParameteriv"]=_glGetTexParameteriv;_glGetTexParameteriv.sig="viip";var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;Module["_emscripten_glGetTexParameteriv"]=_emscripten_glGetTexParameteriv;var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");Module["webglGetLeftBracePos"]=webglGetLeftBracePos;var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j{name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?"["+webglLoc+"]":""))}return webglLoc}else{GL.recordError(1282)}};Module["webglGetUniformLocation"]=webglGetUniformLocation;var emscriptenWebGLGetUniform=(program,location,params,type)=>{if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}};Module["emscriptenWebGLGetUniform"]=emscriptenWebGLGetUniform;var _glGetUniformfv=(program,location,params)=>{emscriptenWebGLGetUniform(program,location,params,2)};Module["_glGetUniformfv"]=_glGetUniformfv;_glGetUniformfv.sig="viip";var _emscripten_glGetUniformfv=_glGetUniformfv;Module["_emscripten_glGetUniformfv"]=_emscripten_glGetUniformfv;var _glGetUniformiv=(program,location,params)=>{emscriptenWebGLGetUniform(program,location,params,0)};Module["_glGetUniformiv"]=_glGetUniformiv;_glGetUniformiv.sig="viip";var _emscripten_glGetUniformiv=_glGetUniformiv;Module["_emscripten_glGetUniformiv"]=_emscripten_glGetUniformiv;var _glGetVertexAttribPointerv=(index,pname,pointer)=>{if(!pointer){GL.recordError(1281);return}HEAP32[pointer>>2]=GLctx.getVertexAttribOffset(index,pname)};Module["_glGetVertexAttribPointerv"]=_glGetVertexAttribPointerv;_glGetVertexAttribPointerv.sig="viip";var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;Module["_emscripten_glGetVertexAttribPointerv"]=_emscripten_glGetVertexAttribPointerv;var emscriptenWebGLGetVertexAttrib=(index,pname,params,type)=>{if(!params){GL.recordError(1281);return}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}};Module["emscriptenWebGLGetVertexAttrib"]=emscriptenWebGLGetVertexAttrib;var _glGetVertexAttribfv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,2)};Module["_glGetVertexAttribfv"]=_glGetVertexAttribfv;_glGetVertexAttribfv.sig="viip";var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;Module["_emscripten_glGetVertexAttribfv"]=_emscripten_glGetVertexAttribfv;var _glGetVertexAttribiv=(index,pname,params)=>{emscriptenWebGLGetVertexAttrib(index,pname,params,5)};Module["_glGetVertexAttribiv"]=_glGetVertexAttribiv;_glGetVertexAttribiv.sig="viip";var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;Module["_emscripten_glGetVertexAttribiv"]=_emscripten_glGetVertexAttribiv;function _glHint(x0,x1){GLctx.hint(x0,x1)}Module["_glHint"]=_glHint;_glHint.sig="vii";var _emscripten_glHint=_glHint;Module["_emscripten_glHint"]=_emscripten_glHint;var _glIsBuffer=buffer=>{var b=GL.buffers[buffer];if(!b)return 0;return GLctx.isBuffer(b)};Module["_glIsBuffer"]=_glIsBuffer;_glIsBuffer.sig="ii";var _emscripten_glIsBuffer=_glIsBuffer;Module["_emscripten_glIsBuffer"]=_emscripten_glIsBuffer;function _glIsEnabled(x0){return GLctx.isEnabled(x0)}Module["_glIsEnabled"]=_glIsEnabled;_glIsEnabled.sig="ii";var _emscripten_glIsEnabled=_glIsEnabled;Module["_emscripten_glIsEnabled"]=_emscripten_glIsEnabled;var _glIsFramebuffer=framebuffer=>{var fb=GL.framebuffers[framebuffer];if(!fb)return 0;return GLctx.isFramebuffer(fb)};Module["_glIsFramebuffer"]=_glIsFramebuffer;_glIsFramebuffer.sig="ii";var _emscripten_glIsFramebuffer=_glIsFramebuffer;Module["_emscripten_glIsFramebuffer"]=_emscripten_glIsFramebuffer;var _glIsProgram=program=>{program=GL.programs[program];if(!program)return 0;return GLctx.isProgram(program)};Module["_glIsProgram"]=_glIsProgram;_glIsProgram.sig="ii";var _emscripten_glIsProgram=_glIsProgram;Module["_emscripten_glIsProgram"]=_emscripten_glIsProgram;var _glIsQueryEXT=id=>{var query=GL.queries[id];if(!query)return 0;return GLctx.disjointTimerQueryExt["isQueryEXT"](query)};Module["_glIsQueryEXT"]=_glIsQueryEXT;_glIsQueryEXT.sig="ii";var _emscripten_glIsQueryEXT=_glIsQueryEXT;Module["_emscripten_glIsQueryEXT"]=_emscripten_glIsQueryEXT;var _glIsRenderbuffer=renderbuffer=>{var rb=GL.renderbuffers[renderbuffer];if(!rb)return 0;return GLctx.isRenderbuffer(rb)};Module["_glIsRenderbuffer"]=_glIsRenderbuffer;_glIsRenderbuffer.sig="ii";var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;Module["_emscripten_glIsRenderbuffer"]=_emscripten_glIsRenderbuffer;var _glIsShader=shader=>{var s=GL.shaders[shader];if(!s)return 0;return GLctx.isShader(s)};Module["_glIsShader"]=_glIsShader;_glIsShader.sig="ii";var _emscripten_glIsShader=_glIsShader;Module["_emscripten_glIsShader"]=_emscripten_glIsShader;var _glIsTexture=id=>{var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)};Module["_glIsTexture"]=_glIsTexture;_glIsTexture.sig="ii";var _emscripten_glIsTexture=_glIsTexture;Module["_emscripten_glIsTexture"]=_emscripten_glIsTexture;var _glIsVertexArray=array=>{var vao=GL.vaos[array];if(!vao)return 0;return GLctx.isVertexArray(vao)};Module["_glIsVertexArray"]=_glIsVertexArray;_glIsVertexArray.sig="ii";var _glIsVertexArrayOES=_glIsVertexArray;Module["_glIsVertexArrayOES"]=_glIsVertexArrayOES;_glIsVertexArrayOES.sig="ii";var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;Module["_emscripten_glIsVertexArrayOES"]=_emscripten_glIsVertexArrayOES;function _glLineWidth(x0){GLctx.lineWidth(x0)}Module["_glLineWidth"]=_glLineWidth;_glLineWidth.sig="vf";var _emscripten_glLineWidth=_glLineWidth;Module["_emscripten_glLineWidth"]=_emscripten_glLineWidth;var _glLinkProgram=program=>{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};Module["_glLinkProgram"]=_glLinkProgram;_glLinkProgram.sig="vi";var _emscripten_glLinkProgram=_glLinkProgram;Module["_emscripten_glLinkProgram"]=_emscripten_glLinkProgram;var _glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)};Module["_glPixelStorei"]=_glPixelStorei;_glPixelStorei.sig="vii";var _emscripten_glPixelStorei=_glPixelStorei;Module["_emscripten_glPixelStorei"]=_emscripten_glPixelStorei;function _glPolygonOffset(x0,x1){GLctx.polygonOffset(x0,x1)}Module["_glPolygonOffset"]=_glPolygonOffset;_glPolygonOffset.sig="vff";var _emscripten_glPolygonOffset=_glPolygonOffset;Module["_emscripten_glPolygonOffset"]=_emscripten_glPolygonOffset;var _glQueryCounterEXT=(id,target)=>{GLctx.disjointTimerQueryExt["queryCounterEXT"](GL.queries[id],target)};Module["_glQueryCounterEXT"]=_glQueryCounterEXT;_glQueryCounterEXT.sig="vii";var _emscripten_glQueryCounterEXT=_glQueryCounterEXT;Module["_emscripten_glQueryCounterEXT"]=_emscripten_glQueryCounterEXT;var computeUnpackAlignedImageSize=(width,height,sizePerPixel,alignment)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize};Module["computeUnpackAlignedImageSize"]=computeUnpackAlignedImageSize;var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4};return colorChannels[format-6402]||1};Module["colorChannelsInGlTextureFormat"]=colorChannelsInGlTextureFormat;var heapObjectForWebGLType=type=>{type-=5120;if(type==1)return HEAPU8;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922)return HEAPU32;return HEAPU16};Module["heapObjectForWebGLType"]=heapObjectForWebGLType;var heapAccessShiftForWebGLHeap=heap=>31-Math.clz32(heap.BYTES_PER_ELEMENT);Module["heapAccessShiftForWebGLHeap"]=heapAccessShiftForWebGLHeap;var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)};Module["emscriptenWebGLGetTexPixelData"]=emscriptenWebGLGetTexPixelData;var _glReadPixels=(x,y,width,height,format,type,pixels)=>{var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};Module["_glReadPixels"]=_glReadPixels;_glReadPixels.sig="viiiiiip";var _emscripten_glReadPixels=_glReadPixels;Module["_emscripten_glReadPixels"]=_emscripten_glReadPixels;var _glReleaseShaderCompiler=()=>{};Module["_glReleaseShaderCompiler"]=_glReleaseShaderCompiler;_glReleaseShaderCompiler.sig="v";var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;Module["_emscripten_glReleaseShaderCompiler"]=_emscripten_glReleaseShaderCompiler;function _glRenderbufferStorage(x0,x1,x2,x3){GLctx.renderbufferStorage(x0,x1,x2,x3)}Module["_glRenderbufferStorage"]=_glRenderbufferStorage;_glRenderbufferStorage.sig="viiii";var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;Module["_emscripten_glRenderbufferStorage"]=_emscripten_glRenderbufferStorage;var _glSampleCoverage=(value,invert)=>{GLctx.sampleCoverage(value,!!invert)};Module["_glSampleCoverage"]=_glSampleCoverage;_glSampleCoverage.sig="vfi";var _emscripten_glSampleCoverage=_glSampleCoverage;Module["_emscripten_glSampleCoverage"]=_emscripten_glSampleCoverage;function _glScissor(x0,x1,x2,x3){GLctx.scissor(x0,x1,x2,x3)}Module["_glScissor"]=_glScissor;_glScissor.sig="viiii";var _emscripten_glScissor=_glScissor;Module["_emscripten_glScissor"]=_emscripten_glScissor;var _glShaderBinary=(count,shaders,binaryformat,binary,length)=>{GL.recordError(1280)};Module["_glShaderBinary"]=_glShaderBinary;_glShaderBinary.sig="vipipi";var _emscripten_glShaderBinary=_glShaderBinary;Module["_emscripten_glShaderBinary"]=_emscripten_glShaderBinary;var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};Module["_glShaderSource"]=_glShaderSource;_glShaderSource.sig="viipp";var _emscripten_glShaderSource=_glShaderSource;Module["_emscripten_glShaderSource"]=_emscripten_glShaderSource;function _glStencilFunc(x0,x1,x2){GLctx.stencilFunc(x0,x1,x2)}Module["_glStencilFunc"]=_glStencilFunc;_glStencilFunc.sig="viii";var _emscripten_glStencilFunc=_glStencilFunc;Module["_emscripten_glStencilFunc"]=_emscripten_glStencilFunc;function _glStencilFuncSeparate(x0,x1,x2,x3){GLctx.stencilFuncSeparate(x0,x1,x2,x3)}Module["_glStencilFuncSeparate"]=_glStencilFuncSeparate;_glStencilFuncSeparate.sig="viiii";var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;Module["_emscripten_glStencilFuncSeparate"]=_emscripten_glStencilFuncSeparate;function _glStencilMask(x0){GLctx.stencilMask(x0)}Module["_glStencilMask"]=_glStencilMask;_glStencilMask.sig="vi";var _emscripten_glStencilMask=_glStencilMask;Module["_emscripten_glStencilMask"]=_emscripten_glStencilMask;function _glStencilMaskSeparate(x0,x1){GLctx.stencilMaskSeparate(x0,x1)}Module["_glStencilMaskSeparate"]=_glStencilMaskSeparate;_glStencilMaskSeparate.sig="vii";var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;Module["_emscripten_glStencilMaskSeparate"]=_emscripten_glStencilMaskSeparate;function _glStencilOp(x0,x1,x2){GLctx.stencilOp(x0,x1,x2)}Module["_glStencilOp"]=_glStencilOp;_glStencilOp.sig="viii";var _emscripten_glStencilOp=_glStencilOp;Module["_emscripten_glStencilOp"]=_emscripten_glStencilOp;function _glStencilOpSeparate(x0,x1,x2,x3){GLctx.stencilOpSeparate(x0,x1,x2,x3)}Module["_glStencilOpSeparate"]=_glStencilOpSeparate;_glStencilOpSeparate.sig="viiii";var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;Module["_emscripten_glStencilOpSeparate"]=_emscripten_glStencilOpSeparate;var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)};Module["_glTexImage2D"]=_glTexImage2D;_glTexImage2D.sig="viiiiiiiip";var _emscripten_glTexImage2D=_glTexImage2D;Module["_emscripten_glTexImage2D"]=_emscripten_glTexImage2D;function _glTexParameterf(x0,x1,x2){GLctx.texParameterf(x0,x1,x2)}Module["_glTexParameterf"]=_glTexParameterf;_glTexParameterf.sig="viif";var _emscripten_glTexParameterf=_glTexParameterf;Module["_emscripten_glTexParameterf"]=_emscripten_glTexParameterf;var _glTexParameterfv=(target,pname,params)=>{var param=HEAPF32[params>>2];GLctx.texParameterf(target,pname,param)};Module["_glTexParameterfv"]=_glTexParameterfv;_glTexParameterfv.sig="viip";var _emscripten_glTexParameterfv=_glTexParameterfv;Module["_emscripten_glTexParameterfv"]=_emscripten_glTexParameterfv;function _glTexParameteri(x0,x1,x2){GLctx.texParameteri(x0,x1,x2)}Module["_glTexParameteri"]=_glTexParameteri;_glTexParameteri.sig="viii";var _emscripten_glTexParameteri=_glTexParameteri;Module["_emscripten_glTexParameteri"]=_emscripten_glTexParameteri;var _glTexParameteriv=(target,pname,params)=>{var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)};Module["_glTexParameteriv"]=_glTexParameteriv;_glTexParameteriv.sig="viip";var _emscripten_glTexParameteriv=_glTexParameteriv;Module["_emscripten_glTexParameteriv"]=_emscripten_glTexParameteriv;var _glTexSubImage2D=(target,level,xoffset,yoffset,width,height,format,type,pixels)=>{var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)};Module["_glTexSubImage2D"]=_glTexSubImage2D;_glTexSubImage2D.sig="viiiiiiiip";var _emscripten_glTexSubImage2D=_glTexSubImage2D;Module["_emscripten_glTexSubImage2D"]=_emscripten_glTexSubImage2D;var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};Module["_glUniform1f"]=_glUniform1f;_glUniform1f.sig="vif";var _emscripten_glUniform1f=_glUniform1f;Module["_emscripten_glUniform1f"]=_emscripten_glUniform1f;var miniTempWebGLFloatBuffers=[];Module["miniTempWebGLFloatBuffers"]=miniTempWebGLFloatBuffers;var _glUniform1fv=(location,count,value)=>{if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)};Module["_glUniform1fv"]=_glUniform1fv;_glUniform1fv.sig="viip";var _emscripten_glUniform1fv=_glUniform1fv;Module["_emscripten_glUniform1fv"]=_emscripten_glUniform1fv;var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};Module["_glUniform1i"]=_glUniform1i;_glUniform1i.sig="vii";var _emscripten_glUniform1i=_glUniform1i;Module["_emscripten_glUniform1i"]=_emscripten_glUniform1i;var miniTempWebGLIntBuffers=[];Module["miniTempWebGLIntBuffers"]=miniTempWebGLIntBuffers;var _glUniform1iv=(location,count,value)=>{if(count<=288){var view=miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)};Module["_glUniform1iv"]=_glUniform1iv;_glUniform1iv.sig="viip";var _emscripten_glUniform1iv=_glUniform1iv;Module["_emscripten_glUniform1iv"]=_emscripten_glUniform1iv;var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};Module["_glUniform2f"]=_glUniform2f;_glUniform2f.sig="viff";var _emscripten_glUniform2f=_glUniform2f;Module["_emscripten_glUniform2f"]=_emscripten_glUniform2f;var _glUniform2fv=(location,count,value)=>{if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)};Module["_glUniform2fv"]=_glUniform2fv;_glUniform2fv.sig="viip";var _emscripten_glUniform2fv=_glUniform2fv;Module["_emscripten_glUniform2fv"]=_emscripten_glUniform2fv;var _glUniform2i=(location,v0,v1)=>{GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)};Module["_glUniform2i"]=_glUniform2i;_glUniform2i.sig="viii";var _emscripten_glUniform2i=_glUniform2i;Module["_emscripten_glUniform2i"]=_emscripten_glUniform2i;var _glUniform2iv=(location,count,value)=>{if(count<=144){var view=miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)};Module["_glUniform2iv"]=_glUniform2iv;_glUniform2iv.sig="viip";var _emscripten_glUniform2iv=_glUniform2iv;Module["_emscripten_glUniform2iv"]=_emscripten_glUniform2iv;var _glUniform3f=(location,v0,v1,v2)=>{GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)};Module["_glUniform3f"]=_glUniform3f;_glUniform3f.sig="vifff";var _emscripten_glUniform3f=_glUniform3f;Module["_emscripten_glUniform3f"]=_emscripten_glUniform3f;var _glUniform3fv=(location,count,value)=>{if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)};Module["_glUniform3fv"]=_glUniform3fv;_glUniform3fv.sig="viip";var _emscripten_glUniform3fv=_glUniform3fv;Module["_emscripten_glUniform3fv"]=_emscripten_glUniform3fv;var _glUniform3i=(location,v0,v1,v2)=>{GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)};Module["_glUniform3i"]=_glUniform3i;_glUniform3i.sig="viiii";var _emscripten_glUniform3i=_glUniform3i;Module["_emscripten_glUniform3i"]=_emscripten_glUniform3i;var _glUniform3iv=(location,count,value)=>{if(count<=96){var view=miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)};Module["_glUniform3iv"]=_glUniform3iv;_glUniform3iv.sig="viip";var _emscripten_glUniform3iv=_glUniform3iv;Module["_emscripten_glUniform3iv"]=_emscripten_glUniform3iv;var _glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};Module["_glUniform4f"]=_glUniform4f;_glUniform4f.sig="viffff";var _emscripten_glUniform4f=_glUniform4f;Module["_emscripten_glUniform4f"]=_emscripten_glUniform4f;var _glUniform4fv=(location,count,value)=>{if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)};Module["_glUniform4fv"]=_glUniform4fv;_glUniform4fv.sig="viip";var _emscripten_glUniform4fv=_glUniform4fv;Module["_emscripten_glUniform4fv"]=_emscripten_glUniform4fv;var _glUniform4i=(location,v0,v1,v2,v3)=>{GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)};Module["_glUniform4i"]=_glUniform4i;_glUniform4i.sig="viiiii";var _emscripten_glUniform4i=_glUniform4i;Module["_emscripten_glUniform4i"]=_emscripten_glUniform4i;var _glUniform4iv=(location,count,value)=>{if(count<=72){var view=miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)};Module["_glUniform4iv"]=_glUniform4iv;_glUniform4iv.sig="viip";var _emscripten_glUniform4iv=_glUniform4iv;Module["_emscripten_glUniform4iv"]=_emscripten_glUniform4iv;var _glUniformMatrix2fv=(location,count,transpose,value)=>{if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)};Module["_glUniformMatrix2fv"]=_glUniformMatrix2fv;_glUniformMatrix2fv.sig="viiip";var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;Module["_emscripten_glUniformMatrix2fv"]=_emscripten_glUniformMatrix2fv;var _glUniformMatrix3fv=(location,count,transpose,value)=>{if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)};Module["_glUniformMatrix3fv"]=_glUniformMatrix3fv;_glUniformMatrix3fv.sig="viiip";var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;Module["_emscripten_glUniformMatrix3fv"]=_emscripten_glUniformMatrix3fv;var _glUniformMatrix4fv=(location,count,transpose,value)=>{if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)};Module["_glUniformMatrix4fv"]=_glUniformMatrix4fv;_glUniformMatrix4fv.sig="viiip";var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;Module["_emscripten_glUniformMatrix4fv"]=_emscripten_glUniformMatrix4fv;var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};Module["_glUseProgram"]=_glUseProgram;_glUseProgram.sig="vi";var _emscripten_glUseProgram=_glUseProgram;Module["_emscripten_glUseProgram"]=_emscripten_glUseProgram;var _glValidateProgram=program=>{GLctx.validateProgram(GL.programs[program])};Module["_glValidateProgram"]=_glValidateProgram;_glValidateProgram.sig="vi";var _emscripten_glValidateProgram=_glValidateProgram;Module["_emscripten_glValidateProgram"]=_emscripten_glValidateProgram;function _glVertexAttrib1f(x0,x1){GLctx.vertexAttrib1f(x0,x1)}Module["_glVertexAttrib1f"]=_glVertexAttrib1f;_glVertexAttrib1f.sig="vif";var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;Module["_emscripten_glVertexAttrib1f"]=_emscripten_glVertexAttrib1f;var _glVertexAttrib1fv=(index,v)=>{GLctx.vertexAttrib1f(index,HEAPF32[v>>2])};Module["_glVertexAttrib1fv"]=_glVertexAttrib1fv;_glVertexAttrib1fv.sig="vip";var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;Module["_emscripten_glVertexAttrib1fv"]=_emscripten_glVertexAttrib1fv;function _glVertexAttrib2f(x0,x1,x2){GLctx.vertexAttrib2f(x0,x1,x2)}Module["_glVertexAttrib2f"]=_glVertexAttrib2f;_glVertexAttrib2f.sig="viff";var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;Module["_emscripten_glVertexAttrib2f"]=_emscripten_glVertexAttrib2f;var _glVertexAttrib2fv=(index,v)=>{GLctx.vertexAttrib2f(index,HEAPF32[v>>2],HEAPF32[v+4>>2])};Module["_glVertexAttrib2fv"]=_glVertexAttrib2fv;_glVertexAttrib2fv.sig="vip";var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;Module["_emscripten_glVertexAttrib2fv"]=_emscripten_glVertexAttrib2fv;function _glVertexAttrib3f(x0,x1,x2,x3){GLctx.vertexAttrib3f(x0,x1,x2,x3)}Module["_glVertexAttrib3f"]=_glVertexAttrib3f;_glVertexAttrib3f.sig="vifff";var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;Module["_emscripten_glVertexAttrib3f"]=_emscripten_glVertexAttrib3f;var _glVertexAttrib3fv=(index,v)=>{GLctx.vertexAttrib3f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2])};Module["_glVertexAttrib3fv"]=_glVertexAttrib3fv;_glVertexAttrib3fv.sig="vip";var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;Module["_emscripten_glVertexAttrib3fv"]=_emscripten_glVertexAttrib3fv;function _glVertexAttrib4f(x0,x1,x2,x3,x4){GLctx.vertexAttrib4f(x0,x1,x2,x3,x4)}Module["_glVertexAttrib4f"]=_glVertexAttrib4f;_glVertexAttrib4f.sig="viffff";var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;Module["_emscripten_glVertexAttrib4f"]=_emscripten_glVertexAttrib4f;var _glVertexAttrib4fv=(index,v)=>{GLctx.vertexAttrib4f(index,HEAPF32[v>>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])};Module["_glVertexAttrib4fv"]=_glVertexAttrib4fv;_glVertexAttrib4fv.sig="vip";var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;Module["_emscripten_glVertexAttrib4fv"]=_emscripten_glVertexAttrib4fv;var _glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};Module["_glVertexAttribDivisor"]=_glVertexAttribDivisor;_glVertexAttribDivisor.sig="vii";var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor;Module["_glVertexAttribDivisorANGLE"]=_glVertexAttribDivisorANGLE;var _emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;Module["_emscripten_glVertexAttribDivisorANGLE"]=_emscripten_glVertexAttribDivisorANGLE;var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};Module["_glVertexAttribPointer"]=_glVertexAttribPointer;_glVertexAttribPointer.sig="viiiiip";var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;Module["_emscripten_glVertexAttribPointer"]=_emscripten_glVertexAttribPointer;function _glViewport(x0,x1,x2,x3){GLctx.viewport(x0,x1,x2,x3)}Module["_glViewport"]=_glViewport;_glViewport.sig="viiii";var _emscripten_glViewport=_glViewport;Module["_emscripten_glViewport"]=_emscripten_glViewport;var _emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);Module["_emscripten_memcpy_js"]=_emscripten_memcpy_js;_emscripten_memcpy_js.sig="vppp";var _emscripten_out=str=>out(UTF8ToString(str));Module["_emscripten_out"]=_emscripten_out;_emscripten_out.sig="vp";function handleAllocatorInit(){Object.assign(HandleAllocator.prototype,{get(id){return this.allocated[id]},has(id){return this.allocated[id]!==undefined},allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id},free(id){this.allocated[id]=undefined;this.freelist.push(id)}})}Module["handleAllocatorInit"]=handleAllocatorInit;function HandleAllocator(){this.allocated=[undefined];this.freelist=[]}Module["HandleAllocator"]=HandleAllocator;var promiseMap=new HandleAllocator;Module["promiseMap"]=promiseMap;var makePromise=()=>{var promiseInfo={};promiseInfo.promise=new Promise((resolve,reject)=>{promiseInfo.reject=reject;promiseInfo.resolve=resolve});promiseInfo.id=promiseMap.allocate(promiseInfo);return promiseInfo};Module["makePromise"]=makePromise;var _emscripten_promise_create=()=>makePromise().id;Module["_emscripten_promise_create"]=_emscripten_promise_create;_emscripten_promise_create.sig="p";var _emscripten_promise_destroy=id=>{promiseMap.free(id)};Module["_emscripten_promise_destroy"]=_emscripten_promise_destroy;_emscripten_promise_destroy.sig="vp";var getPromise=id=>promiseMap.get(id).promise;Module["getPromise"]=getPromise;var _emscripten_promise_resolve=(id,result,value)=>{var info=promiseMap.get(id);switch(result){case 0:info.resolve(value);return;case 1:info.resolve(getPromise(value));return;case 2:info.resolve(getPromise(value));_emscripten_promise_destroy(value);return;case 3:info.reject(value);return}};Module["_emscripten_promise_resolve"]=_emscripten_promise_resolve;_emscripten_promise_resolve.sig="vpip";var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};Module["growMemory"]=growMemory;var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};Module["_emscripten_resize_heap"]=_emscripten_resize_heap;_emscripten_resize_heap.sig="ip";var getExecutableName=()=>thisProgram||"./this.program";Module["getExecutableName"]=getExecutableName;var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};Module["getEnvStrings"]=getEnvStrings;var stringToAscii=(str,buffer)=>{for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};Module["stringToAscii"]=stringToAscii;var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};Module["_environ_get"]=_environ_get;_environ_get.sig="ipp";var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};Module["_environ_sizes_get"]=_environ_sizes_get;_environ_sizes_get.sig="ipp";function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_close"]=_fd_close;_fd_close.sig="ii";function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf>>0]=type;HEAP16[pbuf+2>>1]=flags;HEAP64[pbuf+8>>3]=BigInt(rightsBase);HEAP64[pbuf+16>>3]=BigInt(rightsInheriting);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_fdstat_get"]=_fd_fdstat_get;_fd_fdstat_get.sig="iip";var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_pread"]=_fd_pread;_fd_pread.sig="iippjp";var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret};Module["doWritev"]=doWritev;function _fd_pwrite(fd,iov,iovcnt,offset,pnum){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt,offset);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_pwrite"]=_fd_pwrite;_fd_pwrite.sig="iippjp";function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_read"]=_fd_read;_fd_read.sig="iippp";function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>3]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_seek"]=_fd_seek;_fd_seek.sig="iijip";function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops&&stream.stream_ops.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_sync"]=_fd_sync;_fd_sync.sig="ii";function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_fd_write"]=_fd_write;_fd_write.sig="iippp";var _getaddrinfo=(node,service,hint,out)=>{var addrs=[];var canon=null;var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai,last;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAPU32[ai+24>>2]=canon;HEAPU32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>2]=ai;return 0};Module["_getaddrinfo"]=_getaddrinfo;_getaddrinfo.sig="ipppp";var _getentropy=(buffer,size)=>{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0};Module["_getentropy"]=_getentropy;_getentropy.sig="ipp";var getHostByName=name=>{var ret=_malloc(20);var nameBuf=stringToNewUTF8(name);HEAPU32[ret>>2]=nameBuf;var aliasesBuf=_malloc(4);HEAPU32[aliasesBuf>>2]=0;HEAPU32[ret+4>>2]=aliasesBuf;var afinet=2;HEAP32[ret+8>>2]=afinet;HEAP32[ret+12>>2]=4;var addrListBuf=_malloc(12);HEAPU32[addrListBuf>>2]=addrListBuf+8;HEAPU32[addrListBuf+4>>2]=0;HEAP32[addrListBuf+8>>2]=inetPton4(DNS.lookup_name(name));HEAPU32[ret+16>>2]=addrListBuf;return ret};Module["getHostByName"]=getHostByName;var _gethostbyaddr=(addr,addrlen,type)=>{if(type!==2){setErrNo(5);return null}addr=HEAP32[addr>>2];var host=inetNtop4(addr);var lookup=DNS.lookup_addr(host);if(lookup){host=lookup}return getHostByName(host)};Module["_gethostbyaddr"]=_gethostbyaddr;_gethostbyaddr.sig="ppii";var _gethostbyname=name=>getHostByName(UTF8ToString(name));Module["_gethostbyname"]=_gethostbyname;_gethostbyname.sig="pp";var _getnameinfo=(sa,salen,node,nodelen,serv,servlen,flags)=>{var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=""+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0};Module["_getnameinfo"]=_getnameinfo;_getnameinfo.sig="ipipipii";var Protocols={list:[],map:{}};Module["Protocols"]=Protocols;var _setprotoent=stayopen=>{function allocprotoent(name,proto,aliases){var nameBuf=_malloc(name.length+1);stringToAscii(name,nameBuf);var j=0;var length=aliases.length;var aliasListBuf=_malloc((length+1)*4);for(var i=0;i>2]=aliasBuf}HEAPU32[aliasListBuf+j>>2]=0;var pe=_malloc(12);HEAPU32[pe>>2]=nameBuf;HEAPU32[pe+4>>2]=aliasListBuf;HEAP32[pe+8>>2]=proto;return pe}var list=Protocols.list;var map=Protocols.map;if(list.length===0){var entry=allocprotoent("tcp",6,["TCP"]);list.push(entry);map["tcp"]=map["6"]=entry;entry=allocprotoent("udp",17,["UDP"]);list.push(entry);map["udp"]=map["17"]=entry}_setprotoent.index=0};Module["_setprotoent"]=_setprotoent;_setprotoent.sig="vi";var _getprotobyname=name=>{name=UTF8ToString(name);_setprotoent(true);var result=Protocols.map[name];return result};Module["_getprotobyname"]=_getprotobyname;_getprotobyname.sig="pp";var arraySum=(array,index)=>{var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum};Module["arraySum"]=arraySum;var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];Module["MONTH_DAYS_LEAP"]=MONTH_DAYS_LEAP;var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];Module["MONTH_DAYS_REGULAR"]=MONTH_DAYS_REGULAR;var addDays=(date,days)=>{var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate};Module["addDays"]=addDays;var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};Module["writeArrayToMemory"]=writeArrayToMemory;var _strftime=(s,maxsize,format,tm)=>{var tm_zone=HEAPU32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":date=>WEEKDAYS[date.tm_wday].substring(0,3),"%A":date=>WEEKDAYS[date.tm_wday],"%b":date=>MONTHS[date.tm_mon].substring(0,3),"%B":date=>MONTHS[date.tm_mon],"%C":date=>{var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":date=>leadingNulls(date.tm_mday,2),"%e":date=>leadingSomething(date.tm_mday,2," "),"%g":date=>getWeekBasedYear(date).toString().substring(2),"%G":date=>getWeekBasedYear(date),"%H":date=>leadingNulls(date.tm_hour,2),"%I":date=>{var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":date=>leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3),"%m":date=>leadingNulls(date.tm_mon+1,2),"%M":date=>leadingNulls(date.tm_min,2),"%n":()=>"\n","%p":date=>{if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":date=>leadingNulls(date.tm_sec,2),"%t":()=>"\t","%u":date=>date.tm_wday||7,"%U":date=>{var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":date=>{var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":date=>date.tm_wday,"%W":date=>{var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":date=>(date.tm_year+1900).toString().substring(2),"%Y":date=>date.tm_year+1900,"%z":date=>{var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":date=>date.tm_zone,"%%":()=>"%"};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1};Module["_strftime"]=_strftime;_strftime.sig="ppppp";var _strftime_l=(s,maxsize,format,tm,loc)=>_strftime(s,maxsize,format,tm);Module["_strftime_l"]=_strftime_l;_strftime_l.sig="pppppp";var _system=command=>{if(ENVIRONMENT_IS_NODE){if(!command)return 1;var cmdstr=UTF8ToString(command);if(!cmdstr.length)return 0;var cp=require("child_process");var ret=cp.spawnSync(cmdstr,[],{shell:true,stdio:"inherit"});var _W_EXITCODE=(ret,sig)=>ret<<8|sig;if(ret.status===null){var signalToNumber=sig=>{switch(sig){case"SIGHUP":return 1;case"SIGINT":return 2;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15}return 2};return _W_EXITCODE(0,signalToNumber(ret.signal))}return _W_EXITCODE(ret.status,0)}if(!command)return 0;setErrNo(52);return-1};Module["_system"]=_system;_system.sig="ip";var FS_unlink=path=>FS.unlink(path);Module["FS_unlink"]=FS_unlink;var writeI53ToI64Clamped=(ptr,num)=>{if(num>0x8000000000000000){HEAPU32[ptr>>2]=4294967295;HEAPU32[ptr+4>>2]=2147483647}else if(num<-0x8000000000000000){HEAPU32[ptr>>2]=0;HEAPU32[ptr+4>>2]=2147483648}else{writeI53ToI64(ptr,num)}};Module["writeI53ToI64Clamped"]=writeI53ToI64Clamped;var writeI53ToI64Signaling=(ptr,num)=>{if(num>0x8000000000000000||num<-0x8000000000000000){throw`RangeError: ${num}`}writeI53ToI64(ptr,num)};Module["writeI53ToI64Signaling"]=writeI53ToI64Signaling;var writeI53ToU64Clamped=(ptr,num)=>{if(num>0x10000000000000000){HEAPU32[ptr>>2]=4294967295;HEAPU32[ptr+4>>2]=4294967295}else if(num<0){HEAPU32[ptr>>2]=0;HEAPU32[ptr+4>>2]=0}else{writeI53ToI64(ptr,num)}};Module["writeI53ToU64Clamped"]=writeI53ToU64Clamped;var writeI53ToU64Signaling=(ptr,num)=>{if(num<0||num>0x10000000000000000){throw`RangeError: ${num}`}writeI53ToI64(ptr,num)};Module["writeI53ToU64Signaling"]=writeI53ToU64Signaling;var readI53FromU64=ptr=>HEAPU32[ptr>>2]+HEAPU32[ptr+4>>2]*4294967296;Module["readI53FromU64"]=readI53FromU64;var convertI32PairToI53=(lo,hi)=>(lo>>>0)+hi*4294967296;Module["convertI32PairToI53"]=convertI32PairToI53;var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;Module["convertI32PairToI53Checked"]=convertI32PairToI53Checked;var convertU32PairToI53=(lo,hi)=>(lo>>>0)+(hi>>>0)*4294967296;Module["convertU32PairToI53"]=convertU32PairToI53;var ptrToString=ptr=>{ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};Module["ptrToString"]=ptrToString;var _emscripten_notify_memory_growth=memoryIndex=>{updateMemoryViews()};Module["_emscripten_notify_memory_growth"]=_emscripten_notify_memory_growth;_emscripten_notify_memory_growth.sig="vp";var ___asctime_r=(tmPtr,buf)=>{var date={tm_sec:HEAP32[tmPtr>>2],tm_min:HEAP32[tmPtr+4>>2],tm_hour:HEAP32[tmPtr+8>>2],tm_mday:HEAP32[tmPtr+12>>2],tm_mon:HEAP32[tmPtr+16>>2],tm_year:HEAP32[tmPtr+20>>2],tm_wday:HEAP32[tmPtr+24>>2]};var days=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var s=days[date.tm_wday]+" "+months[date.tm_mon]+(date.tm_mday<10?" ":" ")+date.tm_mday+(date.tm_hour<10?" 0":" ")+date.tm_hour+(date.tm_min<10?":0":":")+date.tm_min+(date.tm_sec<10?":0":":")+date.tm_sec+" "+(1900+date.tm_year)+"\n";stringToUTF8(s,buf,26);return buf};Module["___asctime_r"]=___asctime_r;___asctime_r.sig="ppp";var _strptime=(buf,format,tm)=>{var pattern=UTF8ToString(format);var SPECIAL_CHARS="\\!@#$^&*()+=-[]/{}|:<>?,.";for(var i=0,ii=SPECIAL_CHARS.length;i=0;i=pattern.indexOf("%")){capture.push(pattern[i+1]);pattern=pattern.replace(new RegExp("\\%"+pattern[i+1],"g"),"")}var matches=new RegExp("^"+pattern,"i").exec(UTF8ToString(buf));function initDate(){function fixup(value,min,max){return typeof value!="number"||isNaN(value)?min:value>=min?value<=max?value:max:min}return{year:fixup(HEAP32[tm+20>>2]+1900,1970,9999),month:fixup(HEAP32[tm+16>>2],0,11),day:fixup(HEAP32[tm+12>>2],1,31),hour:fixup(HEAP32[tm+8>>2],0,23),min:fixup(HEAP32[tm+4>>2],0,59),sec:fixup(HEAP32[tm>>2],0,59)}}if(matches){var date=initDate();var value;var getMatch=symbol=>{var pos=capture.indexOf(symbol);if(pos>=0){return matches[pos+1]}return};if(value=getMatch("S")){date.sec=jstoi_q(value)}if(value=getMatch("M")){date.min=jstoi_q(value)}if(value=getMatch("H")){date.hour=jstoi_q(value)}else if(value=getMatch("I")){var hour=jstoi_q(value);if(value=getMatch("p")){hour+=value.toUpperCase()[0]==="P"?12:0}date.hour=hour}if(value=getMatch("Y")){date.year=jstoi_q(value)}else if(value=getMatch("y")){var year=jstoi_q(value);if(value=getMatch("C")){year+=jstoi_q(value)*100}else{year+=year<69?2e3:1900}date.year=year}if(value=getMatch("m")){date.month=jstoi_q(value)-1}else if(value=getMatch("b")){date.month=MONTH_NUMBERS[value.substring(0,3).toUpperCase()]||0}if(value=getMatch("d")){date.day=jstoi_q(value)}else if(value=getMatch("j")){var day=jstoi_q(value);var leapYear=isLeapYear(date.year);for(var month=0;month<12;++month){var daysUntilMonth=arraySum(leapYear?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,month-1);if(day<=daysUntilMonth+(leapYear?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[month]){date.day=day-daysUntilMonth}}}else if(value=getMatch("a")){var weekDay=value.substring(0,3).toUpperCase();if(value=getMatch("U")){var weekDayNumber=DAY_NUMBERS_SUN_FIRST[weekDay];var weekNumber=jstoi_q(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===0){endDate=addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=addDays(janFirst,7-janFirst.getDay()+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}else if(value=getMatch("W")){var weekDayNumber=DAY_NUMBERS_MON_FIRST[weekDay];var weekNumber=jstoi_q(value);var janFirst=new Date(date.year,0,1);var endDate;if(janFirst.getDay()===1){endDate=addDays(janFirst,weekDayNumber+7*(weekNumber-1))}else{endDate=addDays(janFirst,7-janFirst.getDay()+1+weekDayNumber+7*(weekNumber-1))}date.day=endDate.getDate();date.month=endDate.getMonth()}}var fullDate=new Date(date.year,date.month,date.day,date.hour,date.min,date.sec,0);HEAP32[tm>>2]=fullDate.getSeconds();HEAP32[tm+4>>2]=fullDate.getMinutes();HEAP32[tm+8>>2]=fullDate.getHours();HEAP32[tm+12>>2]=fullDate.getDate();HEAP32[tm+16>>2]=fullDate.getMonth();HEAP32[tm+20>>2]=fullDate.getFullYear()-1900;HEAP32[tm+24>>2]=fullDate.getDay();HEAP32[tm+28>>2]=arraySum(isLeapYear(fullDate.getFullYear())?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,fullDate.getMonth()-1)+fullDate.getDate()-1;HEAP32[tm+32>>2]=0;return buf+intArrayFromString(matches[0]).length-1}return 0};Module["_strptime"]=_strptime;_strptime.sig="pppp";var _strptime_l=(buf,format,tm,locale)=>_strptime(buf,format,tm);Module["_strptime_l"]=_strptime_l;_strptime_l.sig="ppppp";var ERRNO_MESSAGES={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"};Module["ERRNO_MESSAGES"]=ERRNO_MESSAGES;var _gethostbyname_r=(name,ret,buf,buflen,out,err)=>{var data=_gethostbyname(name);_memcpy(ret,data,20);_free(data);HEAP32[err>>2]=0;HEAPU32[out>>2]=ret;return 0};Module["_gethostbyname_r"]=_gethostbyname_r;_gethostbyname_r.sig="ipppppp";var _endprotoent=()=>{};Module["_endprotoent"]=_endprotoent;_endprotoent.sig="v";var _getprotoent=number=>{if(_setprotoent.index===Protocols.list.length){return 0}var result=Protocols.list[_setprotoent.index++];return result};Module["_getprotoent"]=_getprotoent;_getprotoent.sig="p";var _getprotobynumber=number=>{_setprotoent(true);var result=Protocols.map[number];return result};Module["_getprotobynumber"]=_getprotobynumber;_getprotobynumber.sig="pi";var _emscripten_run_script=ptr=>{eval(UTF8ToString(ptr))};Module["_emscripten_run_script"]=_emscripten_run_script;_emscripten_run_script.sig="vp";var _emscripten_run_script_int=ptr=>eval(UTF8ToString(ptr))|0;Module["_emscripten_run_script_int"]=_emscripten_run_script_int;_emscripten_run_script_int.sig="ip";var _emscripten_run_script_string=ptr=>{var s=eval(UTF8ToString(ptr));if(s==null){return 0}s+="";var me=_emscripten_run_script_string;var len=lengthBytesUTF8(s);if(!me.bufferSize||me.bufferSizeMath.random();Module["_emscripten_random"]=_emscripten_random;_emscripten_random.sig="f";var warnOnce=text=>{if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};Module["warnOnce"]=warnOnce;function getCallstack(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map=="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var symbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=` at ${symbolName} (${orig.source}:${orig.line}:${orig.column})\n`}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?` = ${symbolName}`:` at ${symbolName}`)+` (${file}:${lineno}:${column})\n`}}callstack=callstack.replace(/\s+$/,"");return callstack}Module["getCallstack"]=getCallstack;function _emscripten_get_callstack(flags,str,maxbytes){var callstack=getCallstack(flags);if(!str||maxbytes<=0){return lengthBytesUTF8(callstack)+1}var bytesWrittenExcludingNull=stringToUTF8(callstack,str,maxbytes);return bytesWrittenExcludingNull+1}Module["_emscripten_get_callstack"]=_emscripten_get_callstack;_emscripten_get_callstack.sig="iipi";var emscriptenLog=(flags,str)=>{if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+getCallstack(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}};Module["emscriptenLog"]=emscriptenLog;var reallyNegative=x=>x<0||x===0&&1/x===-Infinity;Module["reallyNegative"]=reallyNegative;var reSign=(value,bits)=>{if(value<=0){return value}var half=bits<=32?Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value};Module["reSign"]=reSign;var unSign=(value,bits)=>{if(value>=0){return value}return bits<=32?2*Math.abs(1<{var end=ptr;while(HEAPU8[end])++end;return end-ptr};Module["strLen"]=strLen;var formatString=(format,varargs)=>{var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){ptr+=4}}else{}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].includes(".")&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret};Module["formatString"]=formatString;var _emscripten_log=(flags,format,varargs)=>{var result=formatString(format,varargs);var str=UTF8ArrayToString(result,0);emscriptenLog(flags,str)};Module["_emscripten_log"]=_emscripten_log;_emscripten_log.sig="vipp";var _emscripten_get_compiler_setting=name=>{throw"You must build with -sRETAIN_COMPILER_SETTINGS for getCompilerSetting or emscripten_get_compiler_setting to work"};Module["_emscripten_get_compiler_setting"]=_emscripten_get_compiler_setting;_emscripten_get_compiler_setting.sig="pp";var _emscripten_has_asyncify=()=>0;Module["_emscripten_has_asyncify"]=_emscripten_has_asyncify;_emscripten_has_asyncify.sig="i";function _emscripten_debugger(){debugger}Module["_emscripten_debugger"]=_emscripten_debugger;_emscripten_debugger.sig="v";var _emscripten_print_double=(x,to,max)=>{var str=x+"";if(to)return stringToUTF8(str,to,max);else return lengthBytesUTF8(str)};Module["_emscripten_print_double"]=_emscripten_print_double;_emscripten_print_double.sig="idpi";var convertFrameToPC=frame=>{abort("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER");return 0};Module["convertFrameToPC"]=convertFrameToPC;var _emscripten_return_address=level=>{var callstack=jsStackTrace().split("\n");if(callstack[0]=="Error"){callstack.shift()}var caller=callstack[level+3];return convertFrameToPC(caller)};Module["_emscripten_return_address"]=_emscripten_return_address;_emscripten_return_address.sig="pi";var UNWIND_CACHE={};Module["UNWIND_CACHE"]=UNWIND_CACHE;var saveInUnwindCache=callstack=>{callstack.forEach(frame=>{var pc=convertFrameToPC(frame);if(pc){UNWIND_CACHE[pc]=frame}})};Module["saveInUnwindCache"]=saveInUnwindCache;function _emscripten_stack_snapshot(){var callstack=jsStackTrace().split("\n");if(callstack[0]=="Error"){callstack.shift()}saveInUnwindCache(callstack);UNWIND_CACHE.last_addr=convertFrameToPC(callstack[3]);UNWIND_CACHE.last_stack=callstack;return UNWIND_CACHE.last_addr}Module["_emscripten_stack_snapshot"]=_emscripten_stack_snapshot;_emscripten_stack_snapshot.sig="p";var _emscripten_stack_unwind_buffer=(addr,buffer,count)=>{var stack;if(UNWIND_CACHE.last_addr==addr){stack=UNWIND_CACHE.last_stack}else{stack=jsStackTrace().split("\n");if(stack[0]=="Error"){stack.shift()}saveInUnwindCache(stack)}var offset=3;while(stack[offset]&&convertFrameToPC(stack[offset])!=addr){++offset}for(var i=0;i>2]=convertFrameToPC(stack[i+offset])}return i};Module["_emscripten_stack_unwind_buffer"]=_emscripten_stack_unwind_buffer;_emscripten_stack_unwind_buffer.sig="ippi";var _emscripten_pc_get_function=pc=>{abort("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER");return 0};Module["_emscripten_pc_get_function"]=_emscripten_pc_get_function;_emscripten_pc_get_function.sig="pp";var convertPCtoSourceLocation=pc=>{if(UNWIND_CACHE.last_get_source_pc==pc)return UNWIND_CACHE.last_source;var match;var source;if(!source){var frame=UNWIND_CACHE[pc];if(!frame)return null;if(match=/\((.*):(\d+):(\d+)\)$/.exec(frame)){source={file:match[1],line:match[2],column:match[3]}}else if(match=/@(.*):(\d+):(\d+)/.exec(frame)){source={file:match[1],line:match[2],column:match[3]}}}UNWIND_CACHE.last_get_source_pc=pc;UNWIND_CACHE.last_source=source;return source};Module["convertPCtoSourceLocation"]=convertPCtoSourceLocation;var _emscripten_pc_get_file=pc=>{var result=convertPCtoSourceLocation(pc);if(!result)return 0;if(_emscripten_pc_get_file.ret)_free(_emscripten_pc_get_file.ret);_emscripten_pc_get_file.ret=stringToNewUTF8(result.file);return _emscripten_pc_get_file.ret};Module["_emscripten_pc_get_file"]=_emscripten_pc_get_file;_emscripten_pc_get_file.sig="pp";var _emscripten_pc_get_line=pc=>{var result=convertPCtoSourceLocation(pc);return result?result.line:0};Module["_emscripten_pc_get_line"]=_emscripten_pc_get_line;_emscripten_pc_get_line.sig="ip";var _emscripten_pc_get_column=pc=>{var result=convertPCtoSourceLocation(pc);return result?result.column||0:0};Module["_emscripten_pc_get_column"]=_emscripten_pc_get_column;_emscripten_pc_get_column.sig="ip";var _emscripten_get_module_name=(buf,length)=>stringToUTF8(wasmBinaryFile,buf,length);Module["_emscripten_get_module_name"]=_emscripten_get_module_name;_emscripten_get_module_name.sig="ppp";var _emscripten_asm_const_double=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);Module["_emscripten_asm_const_double"]=_emscripten_asm_const_double;_emscripten_asm_const_double.sig="dppp";var _emscripten_asm_const_ptr=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);Module["_emscripten_asm_const_ptr"]=_emscripten_asm_const_ptr;_emscripten_asm_const_ptr.sig="pppp";var runMainThreadEmAsm=(code,sigPtr,argbuf,sync)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)};Module["runMainThreadEmAsm"]=runMainThreadEmAsm;var _emscripten_asm_const_int_sync_on_main_thread=(code,sigPtr,argbuf)=>runMainThreadEmAsm(code,sigPtr,argbuf,1);Module["_emscripten_asm_const_int_sync_on_main_thread"]=_emscripten_asm_const_int_sync_on_main_thread;_emscripten_asm_const_int_sync_on_main_thread.sig="ippp";var _emscripten_asm_const_double_sync_on_main_thread=_emscripten_asm_const_int_sync_on_main_thread;Module["_emscripten_asm_const_double_sync_on_main_thread"]=_emscripten_asm_const_double_sync_on_main_thread;_emscripten_asm_const_double_sync_on_main_thread.sig="dppp";var _emscripten_asm_const_async_on_main_thread=(code,sigPtr,argbuf)=>runMainThreadEmAsm(code,sigPtr,argbuf,0);Module["_emscripten_asm_const_async_on_main_thread"]=_emscripten_asm_const_async_on_main_thread;_emscripten_asm_const_async_on_main_thread.sig="vppp";var jstoi_s=str=>Number(str);Module["jstoi_s"]=jstoi_s;var __Unwind_Backtrace=(func,arg)=>{var trace=getCallstack();var parts=trace.split("\n");for(var i=0;iabort("Unwind_GetIPInfo");Module["__Unwind_GetIPInfo"]=__Unwind_GetIPInfo;__Unwind_GetIPInfo.sig="ppp";var __Unwind_FindEnclosingFunction=ip=>0;Module["__Unwind_FindEnclosingFunction"]=__Unwind_FindEnclosingFunction;__Unwind_FindEnclosingFunction.sig="pp";var __Unwind_RaiseException=ex=>{err("Warning: _Unwind_RaiseException is not correctly implemented");return ___cxa_throw(ex,0,0)};Module["__Unwind_RaiseException"]=__Unwind_RaiseException;__Unwind_RaiseException.sig="ip";var __Unwind_DeleteException=ex=>{err("TODO: Unwind_DeleteException")};Module["__Unwind_DeleteException"]=__Unwind_DeleteException;__Unwind_DeleteException.sig="vp";var listenOnce=(object,event,func)=>{object.addEventListener(event,func,{"once":true})};Module["listenOnce"]=listenOnce;var autoResumeAudioContext=(ctx,elements)=>{if(!elements){elements=[document,document.getElementById("canvas")]}["keydown","mousedown","touchstart"].forEach(event=>{elements.forEach(element=>{if(element){listenOnce(element,event,()=>{if(ctx.state==="suspended")ctx.resume()})}})})};Module["autoResumeAudioContext"]=autoResumeAudioContext;var getDynCaller=(sig,ptr)=>{var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}};Module["getDynCaller"]=getDynCaller;var _emscripten_force_exit=status=>{noExitRuntime=false;runtimeKeepaliveCounter=0;_exit(status)};Module["_emscripten_force_exit"]=_emscripten_force_exit;_emscripten_force_exit.sig="vi";var _emscripten_outn=(str,len)=>out(UTF8ToString(str,len));Module["_emscripten_outn"]=_emscripten_outn;_emscripten_outn.sig="vpp";var _emscripten_errn=(str,len)=>err(UTF8ToString(str,len));Module["_emscripten_errn"]=_emscripten_errn;_emscripten_errn.sig="vpp";var _emscripten_throw_number=number=>{throw number};Module["_emscripten_throw_number"]=_emscripten_throw_number;_emscripten_throw_number.sig="vd";var _emscripten_throw_string=str=>{throw UTF8ToString(str)};Module["_emscripten_throw_string"]=_emscripten_throw_string;_emscripten_throw_string.sig="vp";var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};Module["runtimeKeepalivePush"]=runtimeKeepalivePush;runtimeKeepalivePush.sig="v";var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};Module["runtimeKeepalivePop"]=runtimeKeepalivePop;runtimeKeepalivePop.sig="v";var _emscripten_runtime_keepalive_push=runtimeKeepalivePush;Module["_emscripten_runtime_keepalive_push"]=_emscripten_runtime_keepalive_push;_emscripten_runtime_keepalive_push.sig="v";var _emscripten_runtime_keepalive_pop=runtimeKeepalivePop;Module["_emscripten_runtime_keepalive_pop"]=_emscripten_runtime_keepalive_pop;_emscripten_runtime_keepalive_pop.sig="v";var _emscripten_runtime_keepalive_check=()=>keepRuntimeAlive();Module["_emscripten_runtime_keepalive_check"]=_emscripten_runtime_keepalive_check;_emscripten_runtime_keepalive_check.sig="i";var safeSetTimeout=(func,timeout)=>setTimeout(()=>{callUserCallback(func)},timeout);Module["safeSetTimeout"]=safeSetTimeout;var asmjsMangle=x=>{var unmangledSymbols=["stackAlloc","stackSave","stackRestore","getTempRet0","setTempRet0"];if(x=="__main_argc_argv"){x="main"}return x.indexOf("dynCall_")==0||unmangledSymbols.includes(x)?x:"_"+x};Module["asmjsMangle"]=asmjsMangle;var ___global_base=1024;Module["___global_base"]=___global_base;var __emscripten_fs_load_embedded_files=ptr=>{do{var name_addr=HEAPU32[ptr>>2];ptr+=4;var len=HEAPU32[ptr>>2];ptr+=4;var content=HEAPU32[ptr>>2];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content,content+len),true,true,true)}while(HEAPU32[ptr>>2])};Module["__emscripten_fs_load_embedded_files"]=__emscripten_fs_load_embedded_files;__emscripten_fs_load_embedded_files.sig="vp";var POINTER_SIZE=4;Module["POINTER_SIZE"]=POINTER_SIZE;function getNativeTypeSize(type){switch(type){case"i1":case"i8":case"u8":return 1;case"i16":case"u16":return 2;case"i32":case"u32":return 4;case"i64":case"u64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return POINTER_SIZE}if(type[0]==="i"){const bits=Number(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}return 0}}}Module["getNativeTypeSize"]=getNativeTypeSize;var STACK_SIZE=5242880;Module["STACK_SIZE"]=STACK_SIZE;var STACK_ALIGN=16;Module["STACK_ALIGN"]=STACK_ALIGN;var ASSERTIONS=0;Module["ASSERTIONS"]=ASSERTIONS;var getCFunc=ident=>{var func=Module["_"+ident];return func};Module["getCFunc"]=getCFunc;var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}};Module["cwrap"]=cwrap;var removeFunction=index=>{functionsInTableMap.delete(getWasmTableEntry(index));setWasmTableEntry(index,null);freeTableIndexes.push(index)};Module["removeFunction"]=removeFunction;var _emscripten_math_cbrt=x=>Math.cbrt(x);Module["_emscripten_math_cbrt"]=_emscripten_math_cbrt;_emscripten_math_cbrt.sig="dd";var _emscripten_math_pow=(x,y)=>Math.pow(x,y);Module["_emscripten_math_pow"]=_emscripten_math_pow;_emscripten_math_pow.sig="ddd";var _emscripten_math_random=()=>Math.random();Module["_emscripten_math_random"]=_emscripten_math_random;_emscripten_math_random.sig="d";var _emscripten_math_sign=x=>Math.sign(x);Module["_emscripten_math_sign"]=_emscripten_math_sign;_emscripten_math_sign.sig="dd";var _emscripten_math_sqrt=x=>Math.sqrt(x);Module["_emscripten_math_sqrt"]=_emscripten_math_sqrt;_emscripten_math_sqrt.sig="dd";var _emscripten_math_exp=x=>Math.exp(x);Module["_emscripten_math_exp"]=_emscripten_math_exp;_emscripten_math_exp.sig="dd";var _emscripten_math_expm1=x=>Math.expm1(x);Module["_emscripten_math_expm1"]=_emscripten_math_expm1;_emscripten_math_expm1.sig="dd";var _emscripten_math_fmod=(x,y)=>x%y;Module["_emscripten_math_fmod"]=_emscripten_math_fmod;_emscripten_math_fmod.sig="ddd";var _emscripten_math_log=x=>Math.log(x);Module["_emscripten_math_log"]=_emscripten_math_log;_emscripten_math_log.sig="dd";var _emscripten_math_log1p=x=>Math.log1p(x);Module["_emscripten_math_log1p"]=_emscripten_math_log1p;_emscripten_math_log1p.sig="dd";var _emscripten_math_log10=x=>Math.log10(x);Module["_emscripten_math_log10"]=_emscripten_math_log10;_emscripten_math_log10.sig="dd";var _emscripten_math_log2=x=>Math.log2(x);Module["_emscripten_math_log2"]=_emscripten_math_log2;_emscripten_math_log2.sig="dd";var _emscripten_math_round=x=>Math.round(x);Module["_emscripten_math_round"]=_emscripten_math_round;_emscripten_math_round.sig="dd";var _emscripten_math_acos=x=>Math.acos(x);Module["_emscripten_math_acos"]=_emscripten_math_acos;_emscripten_math_acos.sig="dd";var _emscripten_math_acosh=x=>Math.acosh(x);Module["_emscripten_math_acosh"]=_emscripten_math_acosh;_emscripten_math_acosh.sig="dd";var _emscripten_math_asin=x=>Math.asin(x);Module["_emscripten_math_asin"]=_emscripten_math_asin;_emscripten_math_asin.sig="dd";var _emscripten_math_asinh=x=>Math.asinh(x);Module["_emscripten_math_asinh"]=_emscripten_math_asinh;_emscripten_math_asinh.sig="dd";var _emscripten_math_atan=x=>Math.atan(x);Module["_emscripten_math_atan"]=_emscripten_math_atan;_emscripten_math_atan.sig="dd";var _emscripten_math_atanh=x=>Math.atanh(x);Module["_emscripten_math_atanh"]=_emscripten_math_atanh;_emscripten_math_atanh.sig="dd";var _emscripten_math_atan2=(y,x)=>Math.atan2(y,x);Module["_emscripten_math_atan2"]=_emscripten_math_atan2;_emscripten_math_atan2.sig="ddd";var _emscripten_math_cos=x=>Math.cos(x);Module["_emscripten_math_cos"]=_emscripten_math_cos;_emscripten_math_cos.sig="dd";var _emscripten_math_cosh=x=>Math.cosh(x);Module["_emscripten_math_cosh"]=_emscripten_math_cosh;_emscripten_math_cosh.sig="dd";var _emscripten_math_hypot=(count,varargs)=>{var args=[];for(var i=0;i>3])}return Math.hypot.apply(null,args)};Module["_emscripten_math_hypot"]=_emscripten_math_hypot;_emscripten_math_hypot.sig="dip";var _emscripten_math_sin=x=>Math.sin(x);Module["_emscripten_math_sin"]=_emscripten_math_sin;_emscripten_math_sin.sig="dd";var _emscripten_math_sinh=x=>Math.sinh(x);Module["_emscripten_math_sinh"]=_emscripten_math_sinh;_emscripten_math_sinh.sig="dd";var _emscripten_math_tan=x=>Math.tan(x);Module["_emscripten_math_tan"]=_emscripten_math_tan;_emscripten_math_tan.sig="dd";var _emscripten_math_tanh=x=>Math.tanh(x);Module["_emscripten_math_tanh"]=_emscripten_math_tanh;_emscripten_math_tanh.sig="dd";function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}};Module["AsciiToString"]=AsciiToString;var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):undefined;Module["UTF16Decoder"]=UTF16Decoder;var UTF16ToString=(ptr,maxBytesToRead)=>{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};Module["UTF16ToString"]=UTF16ToString;var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};Module["stringToUTF16"]=stringToUTF16;var lengthBytesUTF16=str=>str.length*2;Module["lengthBytesUTF16"]=lengthBytesUTF16;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};Module["UTF32ToString"]=UTF32ToString;var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};Module["stringToUTF32"]=stringToUTF32;var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};Module["lengthBytesUTF32"]=lengthBytesUTF32;var JSEvents={inEventHandler:0,removeAllEventListeners(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedence{for(var i=0;icString>2?UTF8ToString(cString):cString;Module["maybeCStringToJsString"]=maybeCStringToJsString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];Module["specialHTMLTargets"]=specialHTMLTargets;var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement};Module["findEventTarget"]=findEventTarget;var registerKeyEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=e=>{var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerKeyEventCallback"]=registerKeyEventCallback;var findCanvasEventTarget=target=>findEventTarget(target);Module["findCanvasEventTarget"]=findCanvasEventTarget;var _emscripten_set_keypress_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);Module["_emscripten_set_keypress_callback_on_thread"]=_emscripten_set_keypress_callback_on_thread;_emscripten_set_keypress_callback_on_thread.sig="ippipp";var _emscripten_set_keydown_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);Module["_emscripten_set_keydown_callback_on_thread"]=_emscripten_set_keydown_callback_on_thread;_emscripten_set_keydown_callback_on_thread.sig="ippipp";var _emscripten_set_keyup_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);Module["_emscripten_set_keyup_callback_on_thread"]=_emscripten_set_keyup_callback_on_thread;_emscripten_set_keyup_callback_on_thread.sig="ippipp";var getBoundingClientRect=e=>specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0};Module["getBoundingClientRect"]=getBoundingClientRect;var fillMouseEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top};Module["fillMouseEventData"]=fillMouseEventData;var registerMouseEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=(e=event)=>{fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerMouseEventCallback"]=registerMouseEventCallback;var _emscripten_set_click_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,4,"click",targetThread);Module["_emscripten_set_click_callback_on_thread"]=_emscripten_set_click_callback_on_thread;_emscripten_set_click_callback_on_thread.sig="ippipp";var _emscripten_set_mousedown_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);Module["_emscripten_set_mousedown_callback_on_thread"]=_emscripten_set_mousedown_callback_on_thread;_emscripten_set_mousedown_callback_on_thread.sig="ippipp";var _emscripten_set_mouseup_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);Module["_emscripten_set_mouseup_callback_on_thread"]=_emscripten_set_mouseup_callback_on_thread;_emscripten_set_mouseup_callback_on_thread.sig="ippipp";var _emscripten_set_dblclick_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,7,"dblclick",targetThread);Module["_emscripten_set_dblclick_callback_on_thread"]=_emscripten_set_dblclick_callback_on_thread;_emscripten_set_dblclick_callback_on_thread.sig="ippipp";var _emscripten_set_mousemove_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);Module["_emscripten_set_mousemove_callback_on_thread"]=_emscripten_set_mousemove_callback_on_thread;_emscripten_set_mousemove_callback_on_thread.sig="ippipp";var _emscripten_set_mouseenter_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,33,"mouseenter",targetThread);Module["_emscripten_set_mouseenter_callback_on_thread"]=_emscripten_set_mouseenter_callback_on_thread;_emscripten_set_mouseenter_callback_on_thread.sig="ippipp";var _emscripten_set_mouseleave_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,34,"mouseleave",targetThread);Module["_emscripten_set_mouseleave_callback_on_thread"]=_emscripten_set_mouseleave_callback_on_thread;_emscripten_set_mouseleave_callback_on_thread.sig="ippipp";var _emscripten_set_mouseover_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,35,"mouseover",targetThread);Module["_emscripten_set_mouseover_callback_on_thread"]=_emscripten_set_mouseover_callback_on_thread;_emscripten_set_mouseover_callback_on_thread.sig="ippipp";var _emscripten_set_mouseout_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerMouseEventCallback(target,userData,useCapture,callbackfunc,36,"mouseout",targetThread);Module["_emscripten_set_mouseout_callback_on_thread"]=_emscripten_set_mouseout_callback_on_thread;_emscripten_set_mouseout_callback_on_thread.sig="ippipp";var _emscripten_get_mouse_status=mouseState=>{if(!JSEvents.mouseEvent)return-7;HEAP8.set(HEAP8.subarray(JSEvents.mouseEvent,JSEvents.mouseEvent+72),mouseState);return 0};Module["_emscripten_get_mouse_status"]=_emscripten_get_mouse_status;_emscripten_get_mouse_status.sig="ip";var registerWheelEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=(e=event)=>{var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerWheelEventCallback"]=registerWheelEventCallback;var _emscripten_set_wheel_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}};Module["_emscripten_set_wheel_callback_on_thread"]=_emscripten_set_wheel_callback_on_thread;_emscripten_set_wheel_callback_on_thread.sig="ippipp";var registerUiEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.uiEvent)JSEvents.uiEvent=_malloc(36);target=findEventTarget(target);var uiEventHandlerFunc=(e=event)=>{if(e.target!=target){return}var b=document.body;if(!b){return}var uiEvent=JSEvents.uiEvent;HEAP32[uiEvent>>2]=e.detail;HEAP32[uiEvent+4>>2]=b.clientWidth;HEAP32[uiEvent+8>>2]=b.clientHeight;HEAP32[uiEvent+12>>2]=innerWidth;HEAP32[uiEvent+16>>2]=innerHeight;HEAP32[uiEvent+20>>2]=outerWidth;HEAP32[uiEvent+24>>2]=outerHeight;HEAP32[uiEvent+28>>2]=pageXOffset;HEAP32[uiEvent+32>>2]=pageYOffset;if(getWasmTableEntry(callbackfunc)(eventTypeId,uiEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:uiEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerUiEventCallback"]=registerUiEventCallback;var _emscripten_set_resize_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerUiEventCallback(target,userData,useCapture,callbackfunc,10,"resize",targetThread);Module["_emscripten_set_resize_callback_on_thread"]=_emscripten_set_resize_callback_on_thread;_emscripten_set_resize_callback_on_thread.sig="ippipp";var _emscripten_set_scroll_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerUiEventCallback(target,userData,useCapture,callbackfunc,11,"scroll",targetThread);Module["_emscripten_set_scroll_callback_on_thread"]=_emscripten_set_scroll_callback_on_thread;_emscripten_set_scroll_callback_on_thread.sig="ippipp";var registerFocusEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=(e=event)=>{var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerFocusEventCallback"]=registerFocusEventCallback;var _emscripten_set_blur_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);Module["_emscripten_set_blur_callback_on_thread"]=_emscripten_set_blur_callback_on_thread;_emscripten_set_blur_callback_on_thread.sig="ippipp";var _emscripten_set_focus_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);Module["_emscripten_set_focus_callback_on_thread"]=_emscripten_set_focus_callback_on_thread;_emscripten_set_focus_callback_on_thread.sig="ippipp";var _emscripten_set_focusin_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,14,"focusin",targetThread);Module["_emscripten_set_focusin_callback_on_thread"]=_emscripten_set_focusin_callback_on_thread;_emscripten_set_focusin_callback_on_thread.sig="ippipp";var _emscripten_set_focusout_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerFocusEventCallback(target,userData,useCapture,callbackfunc,15,"focusout",targetThread);Module["_emscripten_set_focusout_callback_on_thread"]=_emscripten_set_focusout_callback_on_thread;_emscripten_set_focusout_callback_on_thread.sig="ippipp";var fillDeviceOrientationEventData=(eventStruct,e,target)=>{HEAPF64[eventStruct>>3]=e.alpha;HEAPF64[eventStruct+8>>3]=e.beta;HEAPF64[eventStruct+16>>3]=e.gamma;HEAP32[eventStruct+24>>2]=e.absolute};Module["fillDeviceOrientationEventData"]=fillDeviceOrientationEventData;var registerDeviceOrientationEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.deviceOrientationEvent)JSEvents.deviceOrientationEvent=_malloc(32);var deviceOrientationEventHandlerFunc=(e=event)=>{fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.deviceOrientationEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:deviceOrientationEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerDeviceOrientationEventCallback"]=registerDeviceOrientationEventCallback;var _emscripten_set_deviceorientation_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>registerDeviceOrientationEventCallback(2,userData,useCapture,callbackfunc,16,"deviceorientation",targetThread);Module["_emscripten_set_deviceorientation_callback_on_thread"]=_emscripten_set_deviceorientation_callback_on_thread;_emscripten_set_deviceorientation_callback_on_thread.sig="ipipp";var _emscripten_get_deviceorientation_status=orientationState=>{if(!JSEvents.deviceOrientationEvent)return-7;HEAP32.set(HEAP32.subarray(JSEvents.deviceOrientationEvent,32),orientationState);return 0};Module["_emscripten_get_deviceorientation_status"]=_emscripten_get_deviceorientation_status;_emscripten_get_deviceorientation_status.sig="ip";var fillDeviceMotionEventData=(eventStruct,e,target)=>{var supportedFields=0;var a=e["acceleration"];supportedFields|=a&&1;var ag=e["accelerationIncludingGravity"];supportedFields|=ag&&2;var rr=e["rotationRate"];supportedFields|=rr&&4;a=a||{};ag=ag||{};rr=rr||{};HEAPF64[eventStruct>>3]=a["x"];HEAPF64[eventStruct+8>>3]=a["y"];HEAPF64[eventStruct+16>>3]=a["z"];HEAPF64[eventStruct+24>>3]=ag["x"];HEAPF64[eventStruct+32>>3]=ag["y"];HEAPF64[eventStruct+40>>3]=ag["z"];HEAPF64[eventStruct+48>>3]=rr["alpha"];HEAPF64[eventStruct+56>>3]=rr["beta"];HEAPF64[eventStruct+64>>3]=rr["gamma"]};Module["fillDeviceMotionEventData"]=fillDeviceMotionEventData;var registerDeviceMotionEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.deviceMotionEvent)JSEvents.deviceMotionEvent=_malloc(80);var deviceMotionEventHandlerFunc=(e=event)=>{fillDeviceMotionEventData(JSEvents.deviceMotionEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.deviceMotionEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:deviceMotionEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerDeviceMotionEventCallback"]=registerDeviceMotionEventCallback;var _emscripten_set_devicemotion_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>registerDeviceMotionEventCallback(2,userData,useCapture,callbackfunc,17,"devicemotion",targetThread);Module["_emscripten_set_devicemotion_callback_on_thread"]=_emscripten_set_devicemotion_callback_on_thread;_emscripten_set_devicemotion_callback_on_thread.sig="ipipp";var _emscripten_get_devicemotion_status=motionState=>{if(!JSEvents.deviceMotionEvent)return-7;HEAP32.set(HEAP32.subarray(JSEvents.deviceMotionEvent,80),motionState);return 0};Module["_emscripten_get_devicemotion_status"]=_emscripten_get_devicemotion_status;_emscripten_get_devicemotion_status.sig="ip";var screenOrientation=()=>{if(!screen)return undefined;return screen.orientation||screen.mozOrientation||screen.webkitOrientation||screen.msOrientation};Module["screenOrientation"]=screenOrientation;var fillOrientationChangeEventData=eventStruct=>{var orientations=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var orientations2=["portrait","portrait","landscape","landscape"];var orientationString=screenOrientation();var orientation=orientations.indexOf(orientationString);if(orientation==-1){orientation=orientations2.indexOf(orientationString)}HEAP32[eventStruct>>2]=1<>2]=orientation};Module["fillOrientationChangeEventData"]=fillOrientationChangeEventData;var registerOrientationChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.orientationChangeEvent)JSEvents.orientationChangeEvent=_malloc(8);var orientationChangeEventHandlerFunc=(e=event)=>{var orientationChangeEvent=JSEvents.orientationChangeEvent;fillOrientationChangeEventData(orientationChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,orientationChangeEvent,userData))e.preventDefault()};if(eventTypeString=="orientationchange"&&screen.mozOrientation!==undefined){eventTypeString="mozorientationchange"}var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:orientationChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerOrientationChangeEventCallback"]=registerOrientationChangeEventCallback;var _emscripten_set_orientationchange_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!screen||!screen["addEventListener"])return-1;return registerOrientationChangeEventCallback(screen,userData,useCapture,callbackfunc,18,"orientationchange",targetThread)};Module["_emscripten_set_orientationchange_callback_on_thread"]=_emscripten_set_orientationchange_callback_on_thread;_emscripten_set_orientationchange_callback_on_thread.sig="ipipp";var _emscripten_get_orientation_status=orientationChangeEvent=>{if(!screenOrientation()&&typeof orientation=="undefined")return-1;fillOrientationChangeEventData(orientationChangeEvent);return 0};Module["_emscripten_get_orientation_status"]=_emscripten_get_orientation_status;_emscripten_get_orientation_status.sig="ip";var _emscripten_lock_orientation=allowedOrientations=>{var orientations=[];if(allowedOrientations&1)orientations.push("portrait-primary");if(allowedOrientations&2)orientations.push("portrait-secondary");if(allowedOrientations&4)orientations.push("landscape-primary");if(allowedOrientations&8)orientations.push("landscape-secondary");var succeeded;if(screen.lockOrientation){succeeded=screen.lockOrientation(orientations)}else if(screen.mozLockOrientation){succeeded=screen.mozLockOrientation(orientations)}else if(screen.webkitLockOrientation){succeeded=screen.webkitLockOrientation(orientations)}else if(screen.msLockOrientation){succeeded=screen.msLockOrientation(orientations)}else{return-1}if(succeeded){return 0}return-6};Module["_emscripten_lock_orientation"]=_emscripten_lock_orientation;_emscripten_lock_orientation.sig="ii";var _emscripten_unlock_orientation=()=>{if(screen.unlockOrientation){screen.unlockOrientation()}else if(screen.mozUnlockOrientation){screen.mozUnlockOrientation()}else if(screen.webkitUnlockOrientation){screen.webkitUnlockOrientation()}else if(screen.msUnlockOrientation){screen.msUnlockOrientation()}else{return-1}return 0};Module["_emscripten_unlock_orientation"]=_emscripten_unlock_orientation;_emscripten_unlock_orientation.sig="i";var fillFullscreenChangeEventData=eventStruct=>{var fullscreenElement=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;var isFullscreen=!!fullscreenElement;HEAP32[eventStruct>>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}};Module["fillFullscreenChangeEventData"]=fillFullscreenChangeEventData;var registerFullscreenChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=(e=event)=>{var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerFullscreenChangeEventCallback"]=registerFullscreenChangeEventCallback;var _emscripten_set_fullscreenchange_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread)};Module["_emscripten_set_fullscreenchange_callback_on_thread"]=_emscripten_set_fullscreenchange_callback_on_thread;_emscripten_set_fullscreenchange_callback_on_thread.sig="ippipp";var _emscripten_get_fullscreen_status=fullscreenStatus=>{if(!JSEvents.fullscreenEnabled())return-1;fillFullscreenChangeEventData(fullscreenStatus);return 0};Module["_emscripten_get_fullscreen_status"]=_emscripten_get_fullscreen_status;_emscripten_get_fullscreen_status.sig="ip";var _emscripten_get_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height};Module["_emscripten_get_canvas_element_size"]=_emscripten_get_canvas_element_size;_emscripten_get_canvas_element_size.sig="ippp";var getCanvasElementSize=target=>withStackSave(()=>{var w=stackAlloc(8);var h=w+4;var targetInt=stringToUTF8OnStack(target.id);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];return size});Module["getCanvasElementSize"]=getCanvasElementSize;var _emscripten_set_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0};Module["_emscripten_set_canvas_element_size"]=_emscripten_set_canvas_element_size;_emscripten_set_canvas_element_size.sig="ipii";var setCanvasElementSize=(target,width,height)=>{if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{withStackSave(()=>{var targetInt=stringToUTF8OnStack(target.id);_emscripten_set_canvas_element_size(targetInt,width,height)})}};Module["setCanvasElementSize"]=setCanvasElementSize;var registerRestoreOldStyle=canvas=>{var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle};Module["registerRestoreOldStyle"]=registerRestoreOldStyle;var setLetterbox=(element,topBottom,leftRight)=>{element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"};Module["setLetterbox"]=setLetterbox;var JSEvents_resizeCanvasForFullscreen=(target,strategy)=>{var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight{if(strategy.scaleMode!=0||strategy.canvasResolutionScaleMode!=0){JSEvents_resizeCanvasForFullscreen(target,strategy)}if(target.requestFullscreen){target.requestFullscreen()}else if(target.webkitRequestFullscreen){target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}else{return JSEvents.fullscreenEnabled()?-3:-1}currentFullscreenStrategy=strategy;if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}return 0};Module["JSEvents_requestFullscreen"]=JSEvents_requestFullscreen;var hideEverythingExceptGivenElement=onlyVisibleElement=>{var child=onlyVisibleElement;var parent=child.parentNode;var hiddenElements=[];while(child!=document.body){var children=parent.children;for(var i=0;i{for(var i=0;i{var dpr=devicePixelRatio;var inHiDPIFullscreenMode=currentFullscreenStrategy.canvasResolutionScaleMode==2;var inAspectRatioFixedFullscreenMode=currentFullscreenStrategy.scaleMode==2;var inPixelPerfectFullscreenMode=currentFullscreenStrategy.canvasResolutionScaleMode!=0;var inCenteredWithoutScalingFullscreenMode=currentFullscreenStrategy.scaleMode==3;var screenWidth=inHiDPIFullscreenMode?Math.round(innerWidth*dpr):innerWidth;var screenHeight=inHiDPIFullscreenMode?Math.round(innerHeight*dpr):innerHeight;var w=screenWidth;var h=screenHeight;var canvas=currentFullscreenStrategy.target;var canvasSize=getCanvasElementSize(canvas);var x=canvasSize[0];var y=canvasSize[1];var topMargin;if(inAspectRatioFixedFullscreenMode){if(w*yx*h)w=h*x/y|0;topMargin=(screenHeight-h)/2|0}if(inPixelPerfectFullscreenMode){setCanvasElementSize(canvas,w,h);if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,w,h)}if(inHiDPIFullscreenMode){topMargin/=dpr;w/=dpr;h/=dpr;w=Math.round(w*1e4)/1e4;h=Math.round(h*1e4)/1e4;topMargin=Math.round(topMargin*1e4)/1e4}if(inCenteredWithoutScalingFullscreenMode){var t=(innerHeight-jstoi_q(canvas.style.height))/2;var b=(innerWidth-jstoi_q(canvas.style.width))/2;setLetterbox(canvas,t,b)}else{canvas.style.width=w+"px";canvas.style.height=h+"px";var b=(innerWidth-w)/2;setLetterbox(canvas,topMargin,b)}if(!inCenteredWithoutScalingFullscreenMode&¤tFullscreenStrategy.canvasResizedCallback){getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}};Module["softFullscreenResizeWebGLRenderTarget"]=softFullscreenResizeWebGLRenderTarget;var doRequestFullscreen=(target,strategy)=>{if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(JSEvents_requestFullscreen,1,[target,strategy]);return 1}return-2}return JSEvents_requestFullscreen(target,strategy)};Module["doRequestFullscreen"]=doRequestFullscreen;var _emscripten_request_fullscreen=(target,deferUntilInEventHandler)=>{var strategy={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0,deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallbackTargetThread:2};return doRequestFullscreen(target,strategy)};Module["_emscripten_request_fullscreen"]=_emscripten_request_fullscreen;_emscripten_request_fullscreen.sig="ipi";var _emscripten_request_fullscreen_strategy=(target,deferUntilInEventHandler,fullscreenStrategy)=>{var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2]};return doRequestFullscreen(target,strategy)};Module["_emscripten_request_fullscreen_strategy"]=_emscripten_request_fullscreen_strategy;_emscripten_request_fullscreen_strategy.sig="ipip";var _emscripten_enter_soft_fullscreen=(target,fullscreenStrategy)=>{target=findEventTarget(target);if(!target)return-4;var strategy={scaleMode:HEAP32[fullscreenStrategy>>2],canvasResolutionScaleMode:HEAP32[fullscreenStrategy+4>>2],filteringMode:HEAP32[fullscreenStrategy+8>>2],canvasResizedCallback:HEAP32[fullscreenStrategy+12>>2],canvasResizedCallbackUserData:HEAP32[fullscreenStrategy+16>>2],target:target,softFullscreen:true};var restoreOldStyle=JSEvents_resizeCanvasForFullscreen(target,strategy);document.documentElement.style.overflow="hidden";document.body.scroll="no";document.body.style.margin="0px";var hiddenElements=hideEverythingExceptGivenElement(target);function restoreWindowedState(){restoreOldStyle();restoreHiddenElements(hiddenElements);removeEventListener("resize",softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}currentFullscreenStrategy=0}restoreOldWindowedStyle=restoreWindowedState;currentFullscreenStrategy=strategy;addEventListener("resize",softFullscreenResizeWebGLRenderTarget);if(strategy.canvasResizedCallback){getWasmTableEntry(strategy.canvasResizedCallback)(37,0,strategy.canvasResizedCallbackUserData)}return 0};Module["_emscripten_enter_soft_fullscreen"]=_emscripten_enter_soft_fullscreen;_emscripten_enter_soft_fullscreen.sig="ipp";var _emscripten_exit_soft_fullscreen=()=>{if(restoreOldWindowedStyle)restoreOldWindowedStyle();restoreOldWindowedStyle=null;return 0};Module["_emscripten_exit_soft_fullscreen"]=_emscripten_exit_soft_fullscreen;_emscripten_exit_soft_fullscreen.sig="i";var _emscripten_exit_fullscreen=()=>{if(!JSEvents.fullscreenEnabled())return-1;JSEvents.removeDeferredCalls(JSEvents_requestFullscreen);var d=specialHTMLTargets[1];if(d.exitFullscreen){d.fullscreenElement&&d.exitFullscreen()}else if(d.webkitExitFullscreen){d.webkitFullscreenElement&&d.webkitExitFullscreen()}else{return-1}return 0};Module["_emscripten_exit_fullscreen"]=_emscripten_exit_fullscreen;_emscripten_exit_fullscreen.sig="i";var fillPointerlockChangeEventData=eventStruct=>{var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)};Module["fillPointerlockChangeEventData"]=fillPointerlockChangeEventData;var registerPointerlockChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.pointerlockChangeEvent)JSEvents.pointerlockChangeEvent=_malloc(260);var pointerlockChangeEventHandlerFunc=(e=event)=>{var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerPointerlockChangeEventCallback"]=registerPointerlockChangeEventCallback;var _emscripten_set_pointerlockchange_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread)};Module["_emscripten_set_pointerlockchange_callback_on_thread"]=_emscripten_set_pointerlockchange_callback_on_thread;_emscripten_set_pointerlockchange_callback_on_thread.sig="ippipp";var registerPointerlockErrorEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var pointerlockErrorEventHandlerFunc=(e=event)=>{if(getWasmTableEntry(callbackfunc)(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockErrorEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerPointerlockErrorEventCallback"]=registerPointerlockErrorEventCallback;var _emscripten_set_pointerlockerror_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{if(!document||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mozpointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"webkitpointerlockerror",targetThread);registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"mspointerlockerror",targetThread);return registerPointerlockErrorEventCallback(target,userData,useCapture,callbackfunc,38,"pointerlockerror",targetThread)};Module["_emscripten_set_pointerlockerror_callback_on_thread"]=_emscripten_set_pointerlockerror_callback_on_thread;_emscripten_set_pointerlockerror_callback_on_thread.sig="ippipp";var _emscripten_get_pointerlock_status=pointerlockStatus=>{if(pointerlockStatus)fillPointerlockChangeEventData(pointerlockStatus);if(!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}return 0};Module["_emscripten_get_pointerlock_status"]=_emscripten_get_pointerlock_status;_emscripten_get_pointerlock_status.sig="ip";var requestPointerLock=target=>{if(target.requestPointerLock){target.requestPointerLock()}else{if(document.body.requestPointerLock){return-3}return-1}return 0};Module["requestPointerLock"]=requestPointerLock;var _emscripten_request_pointerlock=(target,deferUntilInEventHandler)=>{target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}return-2}return requestPointerLock(target)};Module["_emscripten_request_pointerlock"]=_emscripten_request_pointerlock;_emscripten_request_pointerlock.sig="ipi";var _emscripten_exit_pointerlock=()=>{JSEvents.removeDeferredCalls(requestPointerLock);if(document.exitPointerLock){document.exitPointerLock()}else{return-1}return 0};Module["_emscripten_exit_pointerlock"]=_emscripten_exit_pointerlock;_emscripten_exit_pointerlock.sig="i";var _emscripten_vibrate=msecs=>{if(!navigator.vibrate)return-1;navigator.vibrate(msecs);return 0};Module["_emscripten_vibrate"]=_emscripten_vibrate;_emscripten_vibrate.sig="ii";var _emscripten_vibrate_pattern=(msecsArray,numEntries)=>{if(!navigator.vibrate)return-1;var vibrateList=[];for(var i=0;i>2];vibrateList.push(msecs)}navigator.vibrate(vibrateList);return 0};Module["_emscripten_vibrate_pattern"]=_emscripten_vibrate_pattern;_emscripten_vibrate_pattern.sig="ipi";var fillVisibilityChangeEventData=eventStruct=>{var visibilityStates=["hidden","visible","prerender","unloaded"];var visibilityState=visibilityStates.indexOf(document.visibilityState);HEAP32[eventStruct>>2]=document.hidden;HEAP32[eventStruct+4>>2]=visibilityState};Module["fillVisibilityChangeEventData"]=fillVisibilityChangeEventData;var registerVisibilityChangeEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.visibilityChangeEvent)JSEvents.visibilityChangeEvent=_malloc(8);var visibilityChangeEventHandlerFunc=(e=event)=>{var visibilityChangeEvent=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(visibilityChangeEvent);if(getWasmTableEntry(callbackfunc)(eventTypeId,visibilityChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:visibilityChangeEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerVisibilityChangeEventCallback"]=registerVisibilityChangeEventCallback;var _emscripten_set_visibilitychange_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!specialHTMLTargets[1]){return-4}return registerVisibilityChangeEventCallback(specialHTMLTargets[1],userData,useCapture,callbackfunc,21,"visibilitychange",targetThread)};Module["_emscripten_set_visibilitychange_callback_on_thread"]=_emscripten_set_visibilitychange_callback_on_thread;_emscripten_set_visibilitychange_callback_on_thread.sig="ipipp";var _emscripten_get_visibility_status=visibilityStatus=>{if(typeof document.visibilityState=="undefined"&&typeof document.hidden=="undefined"){return-1}fillVisibilityChangeEventData(visibilityStatus);return 0};Module["_emscripten_get_visibility_status"]=_emscripten_get_visibility_status;_emscripten_get_visibility_status.sig="ip";var registerTouchEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=e=>{var t,touches={},et=e.touches;for(var i=0;i>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerTouchEventCallback"]=registerTouchEventCallback;var _emscripten_set_touchstart_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);Module["_emscripten_set_touchstart_callback_on_thread"]=_emscripten_set_touchstart_callback_on_thread;_emscripten_set_touchstart_callback_on_thread.sig="ippipp";var _emscripten_set_touchend_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);Module["_emscripten_set_touchend_callback_on_thread"]=_emscripten_set_touchend_callback_on_thread;_emscripten_set_touchend_callback_on_thread.sig="ippipp";var _emscripten_set_touchmove_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);Module["_emscripten_set_touchmove_callback_on_thread"]=_emscripten_set_touchmove_callback_on_thread;_emscripten_set_touchmove_callback_on_thread.sig="ippipp";var _emscripten_set_touchcancel_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);Module["_emscripten_set_touchcancel_callback_on_thread"]=_emscripten_set_touchcancel_callback_on_thread;_emscripten_set_touchcancel_callback_on_thread.sig="ippipp";var fillGamepadEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)};Module["fillGamepadEventData"]=fillGamepadEventData;var registerGamepadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=(e=event)=>{var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(getWasmTableEntry(callbackfunc)(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerGamepadEventCallback"]=registerGamepadEventCallback;var _emscripten_set_gamepadconnected_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread)};Module["_emscripten_set_gamepadconnected_callback_on_thread"]=_emscripten_set_gamepadconnected_callback_on_thread;_emscripten_set_gamepadconnected_callback_on_thread.sig="ipipp";var _emscripten_set_gamepaddisconnected_callback_on_thread=(userData,useCapture,callbackfunc,targetThread)=>{if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;return registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread)};Module["_emscripten_set_gamepaddisconnected_callback_on_thread"]=_emscripten_set_gamepaddisconnected_callback_on_thread;_emscripten_set_gamepaddisconnected_callback_on_thread.sig="ipipp";var _emscripten_sample_gamepad_data=()=>(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1;Module["_emscripten_sample_gamepad_data"]=_emscripten_sample_gamepad_data;_emscripten_sample_gamepad_data.sig="i";var _emscripten_get_num_gamepads=()=>JSEvents.lastGamepadState.length;Module["_emscripten_get_num_gamepads"]=_emscripten_get_num_gamepads;_emscripten_get_num_gamepads.sig="i";var _emscripten_get_gamepad_status=(index,gamepadState)=>{if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0};Module["_emscripten_get_gamepad_status"]=_emscripten_get_gamepad_status;_emscripten_get_gamepad_status.sig="iip";var registerBeforeUnloadEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString)=>{var beforeUnloadEventHandlerFunc=(e=event)=>{var confirmationMessage=getWasmTableEntry(callbackfunc)(eventTypeId,0,userData);if(confirmationMessage){confirmationMessage=UTF8ToString(confirmationMessage)}if(confirmationMessage){e.preventDefault();e.returnValue=confirmationMessage;return confirmationMessage}};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:beforeUnloadEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerBeforeUnloadEventCallback"]=registerBeforeUnloadEventCallback;var _emscripten_set_beforeunload_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(typeof onbeforeunload=="undefined")return-1;if(targetThread!==1)return-5;return registerBeforeUnloadEventCallback(2,userData,true,callbackfunc,28,"beforeunload")};Module["_emscripten_set_beforeunload_callback_on_thread"]=_emscripten_set_beforeunload_callback_on_thread;_emscripten_set_beforeunload_callback_on_thread.sig="ippp";var fillBatteryEventData=(eventStruct,e)=>{HEAPF64[eventStruct>>3]=e.chargingTime;HEAPF64[eventStruct+8>>3]=e.dischargingTime;HEAPF64[eventStruct+16>>3]=e.level;HEAP32[eventStruct+24>>2]=e.charging};Module["fillBatteryEventData"]=fillBatteryEventData;var battery=()=>navigator.battery||navigator.mozBattery||navigator.webkitBattery;Module["battery"]=battery;var registerBatteryEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{if(!JSEvents.batteryEvent)JSEvents.batteryEvent=_malloc(32);var batteryEventHandlerFunc=(e=event)=>{var batteryEvent=JSEvents.batteryEvent;fillBatteryEventData(batteryEvent,battery());if(getWasmTableEntry(callbackfunc)(eventTypeId,batteryEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:batteryEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerBatteryEventCallback"]=registerBatteryEventCallback;var _emscripten_set_batterychargingchange_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(!battery())return-1;return registerBatteryEventCallback(battery(),userData,true,callbackfunc,29,"chargingchange",targetThread)};Module["_emscripten_set_batterychargingchange_callback_on_thread"]=_emscripten_set_batterychargingchange_callback_on_thread;_emscripten_set_batterychargingchange_callback_on_thread.sig="ippp";var _emscripten_set_batterylevelchange_callback_on_thread=(userData,callbackfunc,targetThread)=>{if(!battery())return-1;return registerBatteryEventCallback(battery(),userData,true,callbackfunc,30,"levelchange",targetThread)};Module["_emscripten_set_batterylevelchange_callback_on_thread"]=_emscripten_set_batterylevelchange_callback_on_thread;_emscripten_set_batterylevelchange_callback_on_thread.sig="ippp";var _emscripten_get_battery_status=batteryState=>{if(!battery())return-1;fillBatteryEventData(batteryState,battery());return 0};Module["_emscripten_get_battery_status"]=_emscripten_get_battery_status;_emscripten_get_battery_status.sig="ip";var _emscripten_set_element_css_size=(target,width,height)=>{target=findEventTarget(target);if(!target)return-4;target.style.width=width+"px";target.style.height=height+"px";return 0};Module["_emscripten_set_element_css_size"]=_emscripten_set_element_css_size;_emscripten_set_element_css_size.sig="ipdd";var _emscripten_get_element_css_size=(target,width,height)=>{target=findEventTarget(target);if(!target)return-4;var rect=getBoundingClientRect(target);HEAPF64[width>>3]=rect.width;HEAPF64[height>>3]=rect.height;return 0};Module["_emscripten_get_element_css_size"]=_emscripten_get_element_css_size;_emscripten_get_element_css_size.sig="ippp";var _emscripten_html5_remove_all_event_listeners=()=>JSEvents.removeAllEventListeners();Module["_emscripten_html5_remove_all_event_listeners"]=_emscripten_html5_remove_all_event_listeners;_emscripten_html5_remove_all_event_listeners.sig="v";var _emscripten_request_animation_frame=(cb,userData)=>requestAnimationFrame(timeStamp=>getWasmTableEntry(cb)(timeStamp,userData));Module["_emscripten_request_animation_frame"]=_emscripten_request_animation_frame;_emscripten_request_animation_frame.sig="ipp";var _emscripten_cancel_animation_frame=id=>cancelAnimationFrame(id);Module["_emscripten_cancel_animation_frame"]=_emscripten_cancel_animation_frame;_emscripten_cancel_animation_frame.sig="vi";var _emscripten_request_animation_frame_loop=(cb,userData)=>{function tick(timeStamp){if(getWasmTableEntry(cb)(timeStamp,userData)){requestAnimationFrame(tick)}}return requestAnimationFrame(tick)};Module["_emscripten_request_animation_frame_loop"]=_emscripten_request_animation_frame_loop;_emscripten_request_animation_frame_loop.sig="vpp";var _emscripten_performance_now=()=>performance.now();Module["_emscripten_performance_now"]=_emscripten_performance_now;_emscripten_performance_now.sig="d";var _emscripten_get_device_pixel_ratio=()=>typeof devicePixelRatio=="number"&&devicePixelRatio||1;Module["_emscripten_get_device_pixel_ratio"]=_emscripten_get_device_pixel_ratio;_emscripten_get_device_pixel_ratio.sig="d";function _random_get(buf,buf_len){try{_getentropy(buf,buf_len);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}Module["_random_get"]=_random_get;_random_get.sig="ipp";var checkWasiClock=clock_id=>clock_id==0||clock_id==1||clock_id==2||clock_id==3;Module["checkWasiClock"]=checkWasiClock;function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=Date.now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP32[ptime>>2]=nsec>>>0;HEAP32[ptime+4>>2]=nsec/Math.pow(2,32)>>>0;return 0}Module["_clock_time_get"]=_clock_time_get;_clock_time_get.sig="iijp";var _clock_res_get=(clk_id,pres)=>{if(!checkWasiClock(clk_id)){return 28}var nsec;if(clk_id===0){nsec=1e3*1e3}else if(nowIsMonotonic){nsec=_emscripten_get_now_res()}else{return 52}HEAP32[pres>>2]=nsec>>>0;HEAP32[pres+4>>2]=nsec/Math.pow(2,32)>>>0;return 0};Module["_clock_res_get"]=_clock_res_get;_clock_res_get.sig="iip";var wasiRightsToMuslOFlags=rights=>{if(rights&2&&rights&64){return 2}if(rights&2){return 0}if(rights&64){return 1}throw new FS.ErrnoError(28)};Module["wasiRightsToMuslOFlags"]=wasiRightsToMuslOFlags;var wasiOFlagsToMuslOFlags=oflags=>{var musl_oflags=0;if(oflags&1){musl_oflags|=64}if(oflags&8){musl_oflags|=512}if(oflags&2){musl_oflags|=65536}if(oflags&4){musl_oflags|=128}return musl_oflags};Module["wasiOFlagsToMuslOFlags"]=wasiOFlagsToMuslOFlags;var createDyncallWrapper=sig=>{var sections=[];var prelude=[0,97,115,109,1,0,0,0];sections.push(prelude);var wrappersig=[sig[0].replace("j","i"),"i",sig.slice(1).replace(/j/g,"ii")].join("");var typeSectionBody=[3];generateFuncType(wrappersig,typeSectionBody);generateFuncType(sig,typeSectionBody);generateFuncType("vi",typeSectionBody);var typeSection=[1];uleb128Encode(typeSectionBody.length,typeSection);typeSection.push.apply(typeSection,typeSectionBody);sections.push(typeSection);var importSection=[2,15,2,1,101,1,116,1,112,0,0,1,101,1,114,0,2];sections.push(importSection);var functionSection=[3,2,1,0];sections.push(functionSection);var exportSection=[7,5,1,1,102,0,1];sections.push(exportSection);var convert_code=[];if(sig[0]==="j"){convert_code=[1,1,126]}else{convert_code.push(0)}function localGet(j){convert_code.push(32);uleb128Encode(j,convert_code)}var j=1;for(var i=1;i{throw"unwind"};Module["_emscripten_unwind_to_js_event_loop"]=_emscripten_unwind_to_js_event_loop;_emscripten_unwind_to_js_event_loop.sig="v";var setImmediateWrapped=func=>{if(!setImmediateWrapped.mapping)setImmediateWrapped.mapping=[];var id=setImmediateWrapped.mapping.length;setImmediateWrapped.mapping[id]=setImmediate(()=>{setImmediateWrapped.mapping[id]=undefined;func()});return id};Module["setImmediateWrapped"]=setImmediateWrapped;var clearImmediateWrapped=id=>{clearImmediate(setImmediateWrapped.mapping[id]);setImmediateWrapped.mapping[id]=undefined};Module["clearImmediateWrapped"]=clearImmediateWrapped;var polyfillSetImmediate=()=>{};Module["polyfillSetImmediate"]=polyfillSetImmediate;var _emscripten_set_immediate=(cb,userData)=>{polyfillSetImmediate();return emSetImmediate(function(){callUserCallback(function(){getWasmTableEntry(cb)(userData)})})};Module["_emscripten_set_immediate"]=_emscripten_set_immediate;_emscripten_set_immediate.sig="ipp";var _emscripten_clear_immediate=id=>{emClearImmediate(id)};Module["_emscripten_clear_immediate"]=_emscripten_clear_immediate;_emscripten_clear_immediate.sig="vi";var _emscripten_set_immediate_loop=(cb,userData)=>{polyfillSetImmediate();function tick(){callUserCallback(function(){if(getWasmTableEntry(cb)(userData)){emSetImmediate(tick)}else{}})}emSetImmediate(tick)};Module["_emscripten_set_immediate_loop"]=_emscripten_set_immediate_loop;_emscripten_set_immediate_loop.sig="vpp";var _emscripten_set_timeout=(cb,msecs,userData)=>safeSetTimeout(()=>getWasmTableEntry(cb)(userData),msecs);Module["_emscripten_set_timeout"]=_emscripten_set_timeout;_emscripten_set_timeout.sig="ipdp";var _emscripten_clear_timeout=id=>clearTimeout(id);Module["_emscripten_clear_timeout"]=_emscripten_clear_timeout;_emscripten_clear_timeout.sig="vi";var _emscripten_set_timeout_loop=(cb,msecs,userData)=>{function tick(){var t=_emscripten_get_now();var n=t+msecs;callUserCallback(function(){if(getWasmTableEntry(cb)(t,userData)){setTimeout(tick,n-_emscripten_get_now())}})}return setTimeout(tick,0)};Module["_emscripten_set_timeout_loop"]=_emscripten_set_timeout_loop;_emscripten_set_timeout_loop.sig="vpdp";var _emscripten_set_interval=(cb,msecs,userData)=>setInterval(function(){callUserCallback(function(){getWasmTableEntry(cb)(userData)})},msecs);Module["_emscripten_set_interval"]=_emscripten_set_interval;_emscripten_set_interval.sig="ipdp";var _emscripten_clear_interval=id=>{clearInterval(id)};Module["_emscripten_clear_interval"]=_emscripten_clear_interval;_emscripten_clear_interval.sig="vi";var idsToPromises=(idBuf,size)=>{var promises=[];for(var i=0;i>2];promises[i]=getPromise(id)}return promises};Module["idsToPromises"]=idsToPromises;var makePromiseCallback=(callback,userData)=>value=>{var stack=stackSave();var resultPtr=stackAlloc(POINTER_SIZE);HEAPU32[resultPtr>>2]=0;try{var result=getWasmTableEntry(callback)(resultPtr,userData,value);var resultVal=HEAPU32[resultPtr>>2]}catch(e){if(typeof e!=="number"){throw 0}throw e}finally{stackRestore(stack)}switch(result){case 0:return resultVal;case 1:return getPromise(resultVal);case 2:var ret=getPromise(resultVal);_emscripten_promise_destroy(resultVal);return ret;case 3:throw resultVal}};Module["makePromiseCallback"]=makePromiseCallback;var _emscripten_promise_then=(id,onFulfilled,onRejected,userData)=>{var promise=getPromise(id);var newId=promiseMap.allocate({promise:promise.then(makePromiseCallback(onFulfilled,userData),makePromiseCallback(onRejected,userData))});return newId};Module["_emscripten_promise_then"]=_emscripten_promise_then;_emscripten_promise_then.sig="ppppp";var _emscripten_promise_all=(idBuf,resultBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.all(promises).then(results=>{if(resultBuf){for(var i=0;i>2]=result}}return resultBuf})});return id};Module["_emscripten_promise_all"]=_emscripten_promise_all;_emscripten_promise_all.sig="pppp";var setPromiseResult=(ptr,fulfill,value)=>{var result=fulfill?0:3;HEAP32[ptr>>2]=result;HEAPU32[ptr+4>>2]=value};Module["setPromiseResult"]=setPromiseResult;var _emscripten_promise_all_settled=(idBuf,resultBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.allSettled(promises).then(results=>{if(resultBuf){var offset=resultBuf;for(var i=0;i{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.any(promises).catch(err=>{if(errorBuf){for(var i=0;i>2]=err.errors[i]}}throw errorBuf})});return id};Module["_emscripten_promise_any"]=_emscripten_promise_any;_emscripten_promise_any.sig="pppp";var _emscripten_promise_race=(idBuf,size)=>{var promises=idsToPromises(idBuf,size);var id=promiseMap.allocate({promise:Promise.race(promises)});return id};Module["_emscripten_promise_race"]=_emscripten_promise_race;_emscripten_promise_race.sig="ppp";var _emscripten_promise_await=(returnValuePtr,id)=>{abort("emscripten_promise_await is only available with ASYNCIFY")};Module["_emscripten_promise_await"]=_emscripten_promise_await;_emscripten_promise_await.sig="vpp";var ___cxa_find_matching_catch_4=(arg0,arg1)=>findMatchingCatch([arg0,arg1]);Module["___cxa_find_matching_catch_4"]=___cxa_find_matching_catch_4;___cxa_find_matching_catch_4.sig="ppp";var _llvm_eh_typeid_for=type=>type;Module["_llvm_eh_typeid_for"]=_llvm_eh_typeid_for;_llvm_eh_typeid_for.sig="vp";var ___cxa_get_exception_ptr=ptr=>{var rtn=new ExceptionInfo(ptr).get_exception_ptr();return rtn};Module["___cxa_get_exception_ptr"]=___cxa_get_exception_ptr;___cxa_get_exception_ptr.sig="pp";var ___cxa_call_unexpected=exception=>abort("Unexpected exception thrown, this is not properly supported - aborting");Module["___cxa_call_unexpected"]=___cxa_call_unexpected;___cxa_call_unexpected.sig="vp";var _emscripten_set_main_loop_timing=(mode,value)=>{Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0};Module["_emscripten_set_main_loop_timing"]=_emscripten_set_main_loop_timing;_emscripten_set_main_loop_timing.sig="iii";var setMainLoop=(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};Module["setMainLoop"]=setMainLoop;var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{assert(img.complete,`Image ${name} could not be decoded`);var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);if(onerror)onerror()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;preloadedAudios[name]=new Audio;if(onerror)onerror()}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`);function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame(func){return Browser.requestAnimationFrame(()=>{callUserCallback(func)})},getMimetype(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},resizeListeners:[],updateResizeListeners(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h{var _file=UTF8ToString(file);var data=FS.analyzePath(_file);if(!data.exists)return-1;FS.createPreloadedFile(PATH.dirname(_file),PATH.basename(_file),new Uint8Array(data.object.contents),true,true,()=>{if(onload)getWasmTableEntry(onload)(file)},()=>{if(onerror)getWasmTableEntry(onerror)(file)},true);return 0};Module["_emscripten_run_preload_plugins"]=_emscripten_run_preload_plugins;_emscripten_run_preload_plugins.sig="ippp";var _emscripten_run_preload_plugins_data=(data,size,suffix,arg,onload,onerror)=>{var _suffix=UTF8ToString(suffix);if(!Browser.asyncPrepareDataCounter)Browser.asyncPrepareDataCounter=0;var name="prepare_data_"+Browser.asyncPrepareDataCounter+++"."+_suffix;var cname=stringToNewUTF8(name);FS.createPreloadedFile("/",name,HEAPU8.subarray(data,data+size),true,true,()=>{if(onload)getWasmTableEntry(onload)(arg,cname)},()=>{if(onerror)getWasmTableEntry(onerror)(arg)},true)};Module["_emscripten_run_preload_plugins_data"]=_emscripten_run_preload_plugins_data;_emscripten_run_preload_plugins_data.sig="vpipppp";var _emscripten_async_run_script=(script,millis)=>{safeSetTimeout(()=>_emscripten_run_script(script),millis)};Module["_emscripten_async_run_script"]=_emscripten_async_run_script;_emscripten_async_run_script.sig="vpi";var _emscripten_async_load_script=(url,onload,onerror)=>{url=UTF8ToString(url);onload=getWasmTableEntry(onload);onerror=getWasmTableEntry(onerror);assert(runDependencies===0,"async_load_script must be run when no other dependencies are active");var loadDone=()=>{if(onload){if(runDependencies>0){dependenciesFulfilled=onload}else{onload()}}};var loadError=()=>{if(onerror)onerror()};if(ENVIRONMENT_IS_NODE){readAsync(url,data=>{eval(data);loadDone()},loadError,false);return}var script=document.createElement("script");script.onload=loadDone;script.onerror=loadError;script.src=url;document.body.appendChild(script)};Module["_emscripten_async_load_script"]=_emscripten_async_load_script;_emscripten_async_load_script.sig="vppp";var _emscripten_get_main_loop_timing=(mode,value)=>{if(mode)HEAP32[mode>>2]=Browser.mainLoop.timingMode;if(value)HEAP32[value>>2]=Browser.mainLoop.timingValue};Module["_emscripten_get_main_loop_timing"]=_emscripten_get_main_loop_timing;_emscripten_get_main_loop_timing.sig="vpp";var _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)};Module["_emscripten_set_main_loop"]=_emscripten_set_main_loop;_emscripten_set_main_loop.sig="vpii";var _emscripten_set_main_loop_arg=(func,arg,fps,simulateInfiniteLoop)=>{var browserIterationFunc=()=>getWasmTableEntry(func)(arg);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg)};Module["_emscripten_set_main_loop_arg"]=_emscripten_set_main_loop_arg;_emscripten_set_main_loop_arg.sig="vppii";var _emscripten_cancel_main_loop=()=>{Browser.mainLoop.pause();Browser.mainLoop.func=null};Module["_emscripten_cancel_main_loop"]=_emscripten_cancel_main_loop;_emscripten_cancel_main_loop.sig="v";var _emscripten_pause_main_loop=()=>{Browser.mainLoop.pause()};Module["_emscripten_pause_main_loop"]=_emscripten_pause_main_loop;_emscripten_pause_main_loop.sig="v";var _emscripten_resume_main_loop=()=>{Browser.mainLoop.resume()};Module["_emscripten_resume_main_loop"]=_emscripten_resume_main_loop;_emscripten_resume_main_loop.sig="v";var __emscripten_push_main_loop_blocker=(func,arg,name)=>{Browser.mainLoop.queue.push({func:()=>{getWasmTableEntry(func)(arg)},name:UTF8ToString(name),counted:true});Browser.mainLoop.updateStatus()};Module["__emscripten_push_main_loop_blocker"]=__emscripten_push_main_loop_blocker;__emscripten_push_main_loop_blocker.sig="vppp";var __emscripten_push_uncounted_main_loop_blocker=(func,arg,name)=>{Browser.mainLoop.queue.push({func:()=>{getWasmTableEntry(func)(arg)},name:UTF8ToString(name),counted:false});Browser.mainLoop.updateStatus()};Module["__emscripten_push_uncounted_main_loop_blocker"]=__emscripten_push_uncounted_main_loop_blocker;__emscripten_push_uncounted_main_loop_blocker.sig="vppp";var _emscripten_set_main_loop_expected_blockers=num=>{Browser.mainLoop.expectedBlockers=num;Browser.mainLoop.remainingBlockers=num;Browser.mainLoop.updateStatus()};Module["_emscripten_set_main_loop_expected_blockers"]=_emscripten_set_main_loop_expected_blockers;_emscripten_set_main_loop_expected_blockers.sig="vi";var _emscripten_async_call=(func,arg,millis)=>{function wrapper(){getWasmTableEntry(func)(arg)}if(millis>=0||ENVIRONMENT_IS_NODE){safeSetTimeout(wrapper,millis)}else{Browser.safeRequestAnimationFrame(wrapper)}};Module["_emscripten_async_call"]=_emscripten_async_call;_emscripten_async_call.sig="vppi";var _emscripten_get_window_title=()=>{var buflen=256;if(!_emscripten_get_window_title.buffer){_emscripten_get_window_title.buffer=_malloc(buflen)}stringToUTF8(document.title,_emscripten_get_window_title.buffer,buflen);return _emscripten_get_window_title.buffer};Module["_emscripten_get_window_title"]=_emscripten_get_window_title;_emscripten_get_window_title.sig="p";var _emscripten_set_window_title=title=>document.title=UTF8ToString(title);Module["_emscripten_set_window_title"]=_emscripten_set_window_title;_emscripten_set_window_title.sig="vp";var _emscripten_get_screen_size=(width,height)=>{HEAP32[width>>2]=screen.width;HEAP32[height>>2]=screen.height};Module["_emscripten_get_screen_size"]=_emscripten_get_screen_size;_emscripten_get_screen_size.sig="vpp";var _emscripten_hide_mouse=()=>{var styleSheet=document.styleSheets[0];var rules=styleSheet.cssRules;for(var i=0;i{Browser.setCanvasSize(width,height)};Module["_emscripten_set_canvas_size"]=_emscripten_set_canvas_size;_emscripten_set_canvas_size.sig="vii";var _emscripten_get_canvas_size=(width,height,isFullscreen)=>{var canvas=Module["canvas"];HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height;HEAP32[isFullscreen>>2]=Browser.isFullscreen?1:0};Module["_emscripten_get_canvas_size"]=_emscripten_get_canvas_size;_emscripten_get_canvas_size.sig="vppp";var _emscripten_create_worker=url=>{url=UTF8ToString(url);var id=Browser.workers.length;var info={worker:new Worker(url),callbacks:[],awaited:0,buffer:0,bufferSize:0};info.worker.onmessage=function info_worker_onmessage(msg){if(ABORT)return;var info=Browser.workers[id];if(!info)return;var callbackId=msg.data["callbackId"];var callbackInfo=info.callbacks[callbackId];if(!callbackInfo)return;if(msg.data["finalResponse"]){info.awaited--;info.callbacks[callbackId]=null}var data=msg.data["data"];if(data){if(!data.byteLength)data=new Uint8Array(data);if(!info.buffer||info.bufferSize{var info=Browser.workers[id];info.worker.terminate();if(info.buffer)_free(info.buffer);Browser.workers[id]=null};Module["_emscripten_destroy_worker"]=_emscripten_destroy_worker;_emscripten_destroy_worker.sig="vi";var _emscripten_call_worker=(id,funcName,data,size,callback,arg)=>{funcName=UTF8ToString(funcName);var info=Browser.workers[id];var callbackId=-1;if(callback){callbackId=info.callbacks.length;info.callbacks.push({func:getWasmTableEntry(callback),arg:arg});info.awaited++}var transferObject={"funcName":funcName,"callbackId":callbackId,"data":data?new Uint8Array(HEAPU8.subarray(data,data+size)):0};if(data){info.worker.postMessage(transferObject,[transferObject.data.buffer])}else{info.worker.postMessage(transferObject)}};Module["_emscripten_call_worker"]=_emscripten_call_worker;_emscripten_call_worker.sig="vippipp";var _emscripten_get_worker_queue_size=id=>{var info=Browser.workers[id];if(!info)return-1;return info.awaited};Module["_emscripten_get_worker_queue_size"]=_emscripten_get_worker_queue_size;_emscripten_get_worker_queue_size.sig="ii";var _emscripten_get_preloaded_image_data=(path,w,h)=>{if((path|0)===path)path=UTF8ToString(path);path=PATH_FS.resolve(path);var canvas=preloadedImages[path];if(canvas){var ctx=canvas.getContext("2d");var image=ctx.getImageData(0,0,canvas.width,canvas.height);var buf=_malloc(canvas.width*canvas.height*4);HEAPU8.set(image.data,buf);HEAP32[w>>2]=canvas.width;HEAP32[h>>2]=canvas.height;return buf}return 0};Module["_emscripten_get_preloaded_image_data"]=_emscripten_get_preloaded_image_data;_emscripten_get_preloaded_image_data.sig="pppp";var _emscripten_get_preloaded_image_data_from_FILE=(file,w,h)=>{var fd=_fileno(file);var stream=FS.getStream(fd);if(stream){return _emscripten_get_preloaded_image_data(stream.path,w,h)}return 0};Module["_emscripten_get_preloaded_image_data_from_FILE"]=_emscripten_get_preloaded_image_data_from_FILE;_emscripten_get_preloaded_image_data_from_FILE.sig="pppp";var wget={wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle(){var handle=wget.nextWgetRequestHandle;wget.nextWgetRequestHandle++;return handle}};Module["wget"]=wget;var FS_mkdirTree=(path,mode)=>FS.mkdirTree(path,mode);Module["FS_mkdirTree"]=FS_mkdirTree;var _emscripten_async_wget=(url,file,onload,onerror)=>{var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);function doCallback(callback){if(callback){callUserCallback(function(){withStackSave(function(){getWasmTableEntry(callback)(stringToUTF8OnStack(_file))})})}}var destinationDirectory=PATH.dirname(_file);FS_createPreloadedFile(destinationDirectory,PATH.basename(_file),_url,true,true,function(){doCallback(onload)},function(){doCallback(onerror)},false,false,function(){try{FS_unlink(_file)}catch(e){}FS_mkdirTree(destinationDirectory)})};Module["_emscripten_async_wget"]=_emscripten_async_wget;_emscripten_async_wget.sig="vpppp";var _emscripten_async_wget_data=(url,arg,onload,onerror)=>{asyncLoad(UTF8ToString(url),function(byteArray){callUserCallback(function(){var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);getWasmTableEntry(onload)(arg,buffer,byteArray.length);_free(buffer)})},function(){if(onerror){callUserCallback(function(){getWasmTableEntry(onerror)(arg)})}},true)};Module["_emscripten_async_wget_data"]=_emscripten_async_wget_data;_emscripten_async_wget_data.sig="vpppp";var _emscripten_async_wget2=(url,file,request,param,arg,onload,onerror,onprogress)=>{var _url=UTF8ToString(url);var _file=UTF8ToString(file);_file=PATH_FS.resolve(_file);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var index=_file.lastIndexOf("/");var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();var destinationDirectory=PATH.dirname(_file);http.onload=function http_onload(e){if(http.status>=200&&http.status<300){try{FS.unlink(_file)}catch(e){}FS.mkdirTree(destinationDirectory);FS.createDataFile(_file.substr(0,index),_file.substr(index+1),new Uint8Array(http.response),true,true,false);if(onload){withStackSave(function(){getWasmTableEntry(onload)(handle,arg,stringToUTF8OnStack(_file))})}}else{if(onerror)getWasmTableEntry(onerror)(handle,arg,http.status)}delete wget.wgetRequests[handle]};http.onerror=function http_onerror(e){if(onerror)getWasmTableEntry(onerror)(handle,arg,http.status);delete wget.wgetRequests[handle]};http.onprogress=function http_onprogress(e){if(e.lengthComputable||e.lengthComputable===undefined&&e.total!=0){var percentComplete=e.loaded/e.total*100;if(onprogress)getWasmTableEntry(onprogress)(handle,arg,percentComplete)}};http.onabort=function http_onabort(e){delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle};Module["_emscripten_async_wget2"]=_emscripten_async_wget2;_emscripten_async_wget2.sig="ipppppppp";var _emscripten_async_wget2_data=(url,request,param,arg,free,onload,onerror,onprogress)=>{var _url=UTF8ToString(url);var _request=UTF8ToString(request);var _param=UTF8ToString(param);var http=new XMLHttpRequest;http.open(_request,_url,true);http.responseType="arraybuffer";var handle=wget.getNextWgetRequestHandle();function onerrorjs(){if(onerror){withStackSave(()=>{var statusText=0;if(http.statusText){statusText=stringToUTF8OnStack(http.statusText)}getWasmTableEntry(onerror)(handle,arg,http.status,statusText)})}}http.onload=function http_onload(e){if(http.status>=200&&http.status<300||http.status===0&&_url.substr(0,4).toLowerCase()!="http"){var byteArray=new Uint8Array(http.response);var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);if(onload)getWasmTableEntry(onload)(handle,arg,buffer,byteArray.length);if(free)_free(buffer)}else{onerrorjs()}delete wget.wgetRequests[handle]};http.onerror=function http_onerror(e){onerrorjs();delete wget.wgetRequests[handle]};http.onprogress=function http_onprogress(e){if(onprogress)getWasmTableEntry(onprogress)(handle,arg,e.loaded,e.lengthComputable||e.lengthComputable===undefined?e.total:0)};http.onabort=function http_onabort(e){delete wget.wgetRequests[handle]};if(_request=="POST"){http.setRequestHeader("Content-type","application/x-www-form-urlencoded");http.send(_param)}else{http.send(null)}wget.wgetRequests[handle]=http;return handle};Module["_emscripten_async_wget2_data"]=_emscripten_async_wget2_data;_emscripten_async_wget2_data.sig="ippppippp";var _emscripten_async_wget2_abort=handle=>{var http=wget.wgetRequests[handle];if(http){http.abort()}};Module["_emscripten_async_wget2_abort"]=_emscripten_async_wget2_abort;_emscripten_async_wget2_abort.sig="vi";var __dlsym_catchup_js=(handle,symbolIndex)=>{var lib=LDSO.loadedLibsByHandle[handle];var symDict=lib.exports;var symName=Object.keys(symDict)[symbolIndex];var sym=symDict[symName];var result=addFunction(sym,sym.sig);return result};Module["__dlsym_catchup_js"]=__dlsym_catchup_js;__dlsym_catchup_js.sig="ppi";var _setNetworkCallback=(event,userData,callback)=>{function _callback(data){try{if(event==="error"){withStackSave(function(){var msg=stringToUTF8OnStack(data[2]);getWasmTableEntry(callback)(data[0],data[1],msg,userData)})}else{getWasmTableEntry(callback)(data,userData)}}catch(e){if(!(e instanceof ExitStatus)){if(e&&typeof e=="object"&&e.stack)err("exception thrown: "+[e,e.stack]);throw e}}}Module["websocket"]["on"](event,callback?_callback:null)};Module["_setNetworkCallback"]=_setNetworkCallback;var _emscripten_set_socket_error_callback=(userData,callback)=>{_setNetworkCallback("error",userData,callback)};Module["_emscripten_set_socket_error_callback"]=_emscripten_set_socket_error_callback;_emscripten_set_socket_error_callback.sig="vpp";var _emscripten_set_socket_open_callback=(userData,callback)=>{_setNetworkCallback("open",userData,callback)};Module["_emscripten_set_socket_open_callback"]=_emscripten_set_socket_open_callback;_emscripten_set_socket_open_callback.sig="vpp";var _emscripten_set_socket_listen_callback=(userData,callback)=>{_setNetworkCallback("listen",userData,callback)};Module["_emscripten_set_socket_listen_callback"]=_emscripten_set_socket_listen_callback;_emscripten_set_socket_listen_callback.sig="vpp";var _emscripten_set_socket_connection_callback=(userData,callback)=>{_setNetworkCallback("connection",userData,callback)};Module["_emscripten_set_socket_connection_callback"]=_emscripten_set_socket_connection_callback;_emscripten_set_socket_connection_callback.sig="vpp";var _emscripten_set_socket_message_callback=(userData,callback)=>{_setNetworkCallback("message",userData,callback)};Module["_emscripten_set_socket_message_callback"]=_emscripten_set_socket_message_callback;_emscripten_set_socket_message_callback.sig="vpp";var _emscripten_set_socket_close_callback=(userData,callback)=>{_setNetworkCallback("close",userData,callback)};Module["_emscripten_set_socket_close_callback"]=_emscripten_set_socket_close_callback;_emscripten_set_socket_close_callback.sig="vpp";var ALLOC_NORMAL=0;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;var ALLOC_STACK=1;Module["ALLOC_STACK"]=ALLOC_STACK;var allocate=(slab,allocator)=>{var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(!slab.subarray&&!slab.slice){slab=new Uint8Array(slab)}HEAPU8.set(slab,ret);return ret};Module["allocate"]=allocate;var writeStringToMemory=(string,buffer,dontAddNull)=>{warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar};Module["writeStringToMemory"]=writeStringToMemory;var writeAsciiToMemory=(str,buffer,dontAddNull)=>{for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0};Module["writeAsciiToMemory"]=writeAsciiToMemory;var allocateUTF8=stringToNewUTF8;Module["allocateUTF8"]=allocateUTF8;var allocateUTF8OnStack=stringToUTF8OnStack;Module["allocateUTF8OnStack"]=allocateUTF8OnStack;var _emscripten_is_main_browser_thread=()=>!ENVIRONMENT_IS_WORKER;Module["_emscripten_is_main_browser_thread"]=_emscripten_is_main_browser_thread;var WS={sockets:[null],socketEvent:null};Module["WS"]=WS;var _emscripten_websocket_get_ready_state=(socketId,readyState)=>{var socket=WS.sockets[socketId];if(!socket){return-3}HEAP16[readyState>>1]=socket.readyState;return 0};Module["_emscripten_websocket_get_ready_state"]=_emscripten_websocket_get_ready_state;_emscripten_websocket_get_ready_state.sig="iip";var _emscripten_websocket_get_buffered_amount=(socketId,bufferedAmount)=>{var socket=WS.sockets[socketId];if(!socket){return-3}HEAPU32[bufferedAmount>>2]=socket.bufferedAmount;return 0};Module["_emscripten_websocket_get_buffered_amount"]=_emscripten_websocket_get_buffered_amount;_emscripten_websocket_get_buffered_amount.sig="iip";var _emscripten_websocket_get_extensions=(socketId,extensions,extensionsLength)=>{var socket=WS.sockets[socketId];if(!socket){return-3}if(!extensions)return-5;stringToUTF8(socket.extensions,extensions,extensionsLength);return 0};Module["_emscripten_websocket_get_extensions"]=_emscripten_websocket_get_extensions;_emscripten_websocket_get_extensions.sig="iipi";var _emscripten_websocket_get_extensions_length=(socketId,extensionsLength)=>{var socket=WS.sockets[socketId];if(!socket){return-3}if(!extensionsLength)return-5;HEAP32[extensionsLength>>2]=lengthBytesUTF8(socket.extensions)+1;return 0};Module["_emscripten_websocket_get_extensions_length"]=_emscripten_websocket_get_extensions_length;_emscripten_websocket_get_extensions_length.sig="iip";var _emscripten_websocket_get_protocol=(socketId,protocol,protocolLength)=>{var socket=WS.sockets[socketId];if(!socket){return-3}if(!protocol)return-5;stringToUTF8(socket.protocol,protocol,protocolLength);return 0};Module["_emscripten_websocket_get_protocol"]=_emscripten_websocket_get_protocol;_emscripten_websocket_get_protocol.sig="iipi";var _emscripten_websocket_get_protocol_length=(socketId,protocolLength)=>{var socket=WS.sockets[socketId];if(!socket){return-3}if(!protocolLength)return-5;HEAP32[protocolLength>>2]=lengthBytesUTF8(socket.protocol)+1;return 0};Module["_emscripten_websocket_get_protocol_length"]=_emscripten_websocket_get_protocol_length;_emscripten_websocket_get_protocol_length.sig="iip";var _emscripten_websocket_get_url=(socketId,url,urlLength)=>{var socket=WS.sockets[socketId];if(!socket){return-3}if(!url)return-5;stringToUTF8(socket.url,url,urlLength);return 0};Module["_emscripten_websocket_get_url"]=_emscripten_websocket_get_url;_emscripten_websocket_get_url.sig="iipi";var _emscripten_websocket_get_url_length=(socketId,urlLength)=>{var socket=WS.sockets[socketId];if(!socket){return-3}if(!urlLength)return-5;HEAP32[urlLength>>2]=lengthBytesUTF8(socket.url)+1;return 0};Module["_emscripten_websocket_get_url_length"]=_emscripten_websocket_get_url_length;_emscripten_websocket_get_url_length.sig="iip";var _emscripten_websocket_set_onopen_callback_on_thread=(socketId,userData,callbackFunc,thread)=>{if(!WS.socketEvent)WS.socketEvent=_malloc(1024);var socket=WS.sockets[socketId];if(!socket){return-3}socket.onopen=function(e){HEAPU32[WS.socketEvent>>2]=socketId;getWasmTableEntry(callbackFunc)(0,WS.socketEvent,userData)};return 0};Module["_emscripten_websocket_set_onopen_callback_on_thread"]=_emscripten_websocket_set_onopen_callback_on_thread;_emscripten_websocket_set_onopen_callback_on_thread.sig="iippp";var _emscripten_websocket_set_onerror_callback_on_thread=(socketId,userData,callbackFunc,thread)=>{if(!WS.socketEvent)WS.socketEvent=_malloc(1024);var socket=WS.sockets[socketId];if(!socket){return-3}socket.onerror=function(e){HEAPU32[WS.socketEvent>>2]=socketId;getWasmTableEntry(callbackFunc)(0,WS.socketEvent,userData)};return 0};Module["_emscripten_websocket_set_onerror_callback_on_thread"]=_emscripten_websocket_set_onerror_callback_on_thread;_emscripten_websocket_set_onerror_callback_on_thread.sig="iippp";var _emscripten_websocket_set_onclose_callback_on_thread=(socketId,userData,callbackFunc,thread)=>{if(!WS.socketEvent)WS.socketEvent=_malloc(1024);var socket=WS.sockets[socketId];if(!socket){return-3}socket.onclose=function(e){HEAPU32[WS.socketEvent>>2]=socketId;HEAPU32[WS.socketEvent+4>>2]=e.wasClean;HEAPU32[WS.socketEvent+8>>2]=e.code;stringToUTF8(e.reason,WS.socketEvent+10,512);getWasmTableEntry(callbackFunc)(0,WS.socketEvent,userData)};return 0};Module["_emscripten_websocket_set_onclose_callback_on_thread"]=_emscripten_websocket_set_onclose_callback_on_thread;_emscripten_websocket_set_onclose_callback_on_thread.sig="iippp";var _emscripten_websocket_set_onmessage_callback_on_thread=(socketId,userData,callbackFunc,thread)=>{if(!WS.socketEvent)WS.socketEvent=_malloc(1024);var socket=WS.sockets[socketId];if(!socket){return-3}socket.onmessage=function(e){HEAPU32[WS.socketEvent>>2]=socketId;if(typeof e.data=="string"){var buf=stringToNewUTF8(e.data);var len=lengthBytesUTF8(e.data)+1;HEAPU32[WS.socketEvent+12>>2]=1}else{var len=e.data.byteLength;var buf=_malloc(len);HEAP8.set(new Uint8Array(e.data),buf);HEAPU32[WS.socketEvent+12>>2]=0}HEAPU32[WS.socketEvent+4>>2]=buf;HEAPU32[WS.socketEvent+8>>2]=len;getWasmTableEntry(callbackFunc)(0,WS.socketEvent,userData);_free(buf)};return 0};Module["_emscripten_websocket_set_onmessage_callback_on_thread"]=_emscripten_websocket_set_onmessage_callback_on_thread;_emscripten_websocket_set_onmessage_callback_on_thread.sig="iippp";var _emscripten_websocket_new=createAttributes=>{if(typeof WebSocket=="undefined"){return-1}if(!createAttributes){return-5}var createAttrs=createAttributes>>2;var url=UTF8ToString(HEAP32[createAttrs]);var protocols=HEAP32[createAttrs+1];var socket=protocols?new WebSocket(url,UTF8ToString(protocols).split(",")):new WebSocket(url);socket.binaryType="arraybuffer";var socketId=WS.sockets.length;WS.sockets[socketId]=socket;return socketId};Module["_emscripten_websocket_new"]=_emscripten_websocket_new;_emscripten_websocket_new.sig="ip";var _emscripten_websocket_send_utf8_text=(socketId,textData)=>{var socket=WS.sockets[socketId];if(!socket){return-3}var str=UTF8ToString(textData);socket.send(str);return 0};Module["_emscripten_websocket_send_utf8_text"]=_emscripten_websocket_send_utf8_text;_emscripten_websocket_send_utf8_text.sig="iip";var _emscripten_websocket_send_binary=(socketId,binaryData,dataLength)=>{var socket=WS.sockets[socketId];if(!socket){return-3}socket.send(HEAPU8.subarray(binaryData,binaryData+dataLength));return 0};Module["_emscripten_websocket_send_binary"]=_emscripten_websocket_send_binary;_emscripten_websocket_send_binary.sig="iipi";var _emscripten_websocket_close=(socketId,code,reason)=>{var socket=WS.sockets[socketId];if(!socket){return-3}var reasonStr=reason?UTF8ToString(reason):undefined;if(reason)socket.close(code||undefined,UTF8ToString(reason));else if(code)socket.close(code);else socket.close();return 0};Module["_emscripten_websocket_close"]=_emscripten_websocket_close;_emscripten_websocket_close.sig="iiip";var _emscripten_websocket_delete=socketId=>{var socket=WS.sockets[socketId];if(!socket){return-3}socket.onopen=socket.onerror=socket.onclose=socket.onmessage=null;delete WS.sockets[socketId];return 0};Module["_emscripten_websocket_delete"]=_emscripten_websocket_delete;_emscripten_websocket_delete.sig="ii";var _emscripten_websocket_is_supported=()=>typeof WebSocket!="undefined";Module["_emscripten_websocket_is_supported"]=_emscripten_websocket_is_supported;_emscripten_websocket_is_supported.sig="i";var _emscripten_websocket_deinitialize=()=>{for(var i in WS.sockets){var socket=WS.sockets[i];if(socket){socket.close();_emscripten_websocket_delete(i)}}WS.sockets=[]};Module["_emscripten_websocket_deinitialize"]=_emscripten_websocket_deinitialize;_emscripten_websocket_deinitialize.sig="v";var _emscripten_webgl_enable_ANGLE_instanced_arrays=ctx=>webgl_enable_ANGLE_instanced_arrays(GL.contexts[ctx].GLctx);Module["_emscripten_webgl_enable_ANGLE_instanced_arrays"]=_emscripten_webgl_enable_ANGLE_instanced_arrays;_emscripten_webgl_enable_ANGLE_instanced_arrays.sig="ii";var _emscripten_webgl_enable_OES_vertex_array_object=ctx=>webgl_enable_OES_vertex_array_object(GL.contexts[ctx].GLctx);Module["_emscripten_webgl_enable_OES_vertex_array_object"]=_emscripten_webgl_enable_OES_vertex_array_object;_emscripten_webgl_enable_OES_vertex_array_object.sig="ii";var _emscripten_webgl_enable_WEBGL_draw_buffers=ctx=>webgl_enable_WEBGL_draw_buffers(GL.contexts[ctx].GLctx);Module["_emscripten_webgl_enable_WEBGL_draw_buffers"]=_emscripten_webgl_enable_WEBGL_draw_buffers;_emscripten_webgl_enable_WEBGL_draw_buffers.sig="ii";var _emscripten_webgl_enable_WEBGL_multi_draw=ctx=>webgl_enable_WEBGL_multi_draw(GL.contexts[ctx].GLctx);Module["_emscripten_webgl_enable_WEBGL_multi_draw"]=_emscripten_webgl_enable_WEBGL_multi_draw;_emscripten_webgl_enable_WEBGL_multi_draw.sig="ii";var _glVertexPointer=(size,type,stride,ptr)=>{throw"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};Module["_glVertexPointer"]=_glVertexPointer;_glVertexPointer.sig="viiip";var _glMatrixMode=()=>{throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};Module["_glMatrixMode"]=_glMatrixMode;_glMatrixMode.sig="vi";var _glBegin=()=>{throw"Legacy GL function (glBegin) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};Module["_glBegin"]=_glBegin;_glBegin.sig="vi";var _glLoadIdentity=()=>{throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};Module["_glLoadIdentity"]=_glLoadIdentity;_glLoadIdentity.sig="v";var _glVertexAttribDivisorNV=_glVertexAttribDivisor;Module["_glVertexAttribDivisorNV"]=_glVertexAttribDivisorNV;var _glDrawArraysInstancedNV=_glDrawArraysInstanced;Module["_glDrawArraysInstancedNV"]=_glDrawArraysInstancedNV;var _glDrawElementsInstancedNV=_glDrawElementsInstanced;Module["_glDrawElementsInstancedNV"]=_glDrawElementsInstancedNV;var _glVertexAttribDivisorEXT=_glVertexAttribDivisor;Module["_glVertexAttribDivisorEXT"]=_glVertexAttribDivisorEXT;var _glDrawArraysInstancedEXT=_glDrawArraysInstanced;Module["_glDrawArraysInstancedEXT"]=_glDrawArraysInstancedEXT;var _glDrawElementsInstancedEXT=_glDrawElementsInstanced;Module["_glDrawElementsInstancedEXT"]=_glDrawElementsInstancedEXT;var _glVertexAttribDivisorARB=_glVertexAttribDivisor;Module["_glVertexAttribDivisorARB"]=_glVertexAttribDivisorARB;var _glDrawArraysInstancedARB=_glDrawArraysInstanced;Module["_glDrawArraysInstancedARB"]=_glDrawArraysInstancedARB;var _glDrawElementsInstancedARB=_glDrawElementsInstanced;Module["_glDrawElementsInstancedARB"]=_glDrawElementsInstancedARB;var _glDrawBuffersEXT=_glDrawBuffers;Module["_glDrawBuffersEXT"]=_glDrawBuffersEXT;var _glMultiDrawArraysWEBGL=(mode,firsts,counts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawArraysWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,drawcount)};Module["_glMultiDrawArraysWEBGL"]=_glMultiDrawArraysWEBGL;_glMultiDrawArraysWEBGL.sig="vippi";var _glMultiDrawArrays=_glMultiDrawArraysWEBGL;Module["_glMultiDrawArrays"]=_glMultiDrawArrays;_glMultiDrawArrays.sig="vippi";var _glMultiDrawArraysANGLE=_glMultiDrawArraysWEBGL;Module["_glMultiDrawArraysANGLE"]=_glMultiDrawArraysANGLE;var _glMultiDrawArraysInstancedWEBGL=(mode,firsts,counts,instanceCounts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawArraysInstancedWEBGL"](mode,HEAP32,firsts>>2,HEAP32,counts>>2,HEAP32,instanceCounts>>2,drawcount)};Module["_glMultiDrawArraysInstancedWEBGL"]=_glMultiDrawArraysInstancedWEBGL;_glMultiDrawArraysInstancedWEBGL.sig="viiiii";var _glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedWEBGL;Module["_glMultiDrawArraysInstancedANGLE"]=_glMultiDrawArraysInstancedANGLE;var _glMultiDrawElementsWEBGL=(mode,counts,type,offsets,drawcount)=>{GLctx.multiDrawWebgl["multiDrawElementsWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,drawcount)};Module["_glMultiDrawElementsWEBGL"]=_glMultiDrawElementsWEBGL;_glMultiDrawElementsWEBGL.sig="vipipi";var _glMultiDrawElements=_glMultiDrawElementsWEBGL;Module["_glMultiDrawElements"]=_glMultiDrawElements;_glMultiDrawElements.sig="vipipi";var _glMultiDrawElementsANGLE=_glMultiDrawElementsWEBGL;Module["_glMultiDrawElementsANGLE"]=_glMultiDrawElementsANGLE;var _glMultiDrawElementsInstancedWEBGL=(mode,counts,type,offsets,instanceCounts,drawcount)=>{GLctx.multiDrawWebgl["multiDrawElementsInstancedWEBGL"](mode,HEAP32,counts>>2,type,HEAP32,offsets>>2,HEAP32,instanceCounts>>2,drawcount)};Module["_glMultiDrawElementsInstancedWEBGL"]=_glMultiDrawElementsInstancedWEBGL;_glMultiDrawElementsInstancedWEBGL.sig="viiiiii";var _glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedWEBGL;Module["_glMultiDrawElementsInstancedANGLE"]=_glMultiDrawElementsInstancedANGLE;function _glClearDepth(x0){GLctx.clearDepth(x0)}Module["_glClearDepth"]=_glClearDepth;_glClearDepth.sig="vd";function _glDepthRange(x0,x1){GLctx.depthRange(x0,x1)}Module["_glDepthRange"]=_glDepthRange;_glDepthRange.sig="vdd";var _emscripten_glGenVertexArrays=_glGenVertexArrays;Module["_emscripten_glGenVertexArrays"]=_emscripten_glGenVertexArrays;var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;Module["_emscripten_glDeleteVertexArrays"]=_emscripten_glDeleteVertexArrays;var _emscripten_glBindVertexArray=_glBindVertexArray;Module["_emscripten_glBindVertexArray"]=_emscripten_glBindVertexArray;var _emscripten_glIsVertexArray=_glIsVertexArray;Module["_emscripten_glIsVertexArray"]=_emscripten_glIsVertexArray;var _emscripten_glVertexPointer=_glVertexPointer;Module["_emscripten_glVertexPointer"]=_emscripten_glVertexPointer;var _emscripten_glMatrixMode=_glMatrixMode;Module["_emscripten_glMatrixMode"]=_emscripten_glMatrixMode;var _emscripten_glBegin=_glBegin;Module["_emscripten_glBegin"]=_emscripten_glBegin;var _emscripten_glLoadIdentity=_glLoadIdentity;Module["_emscripten_glLoadIdentity"]=_emscripten_glLoadIdentity;var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;Module["_emscripten_glVertexAttribDivisor"]=_emscripten_glVertexAttribDivisor;var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;Module["_emscripten_glDrawArraysInstanced"]=_emscripten_glDrawArraysInstanced;var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;Module["_emscripten_glDrawElementsInstanced"]=_emscripten_glDrawElementsInstanced;var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV;Module["_emscripten_glVertexAttribDivisorNV"]=_emscripten_glVertexAttribDivisorNV;var _emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV;Module["_emscripten_glDrawArraysInstancedNV"]=_emscripten_glDrawArraysInstancedNV;var _emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV;Module["_emscripten_glDrawElementsInstancedNV"]=_emscripten_glDrawElementsInstancedNV;var _emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT;Module["_emscripten_glVertexAttribDivisorEXT"]=_emscripten_glVertexAttribDivisorEXT;var _emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT;Module["_emscripten_glDrawArraysInstancedEXT"]=_emscripten_glDrawArraysInstancedEXT;var _emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT;Module["_emscripten_glDrawElementsInstancedEXT"]=_emscripten_glDrawElementsInstancedEXT;var _emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB;Module["_emscripten_glVertexAttribDivisorARB"]=_emscripten_glVertexAttribDivisorARB;var _emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB;Module["_emscripten_glDrawArraysInstancedARB"]=_emscripten_glDrawArraysInstancedARB;var _emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB;Module["_emscripten_glDrawElementsInstancedARB"]=_emscripten_glDrawElementsInstancedARB;var _emscripten_glDrawBuffers=_glDrawBuffers;Module["_emscripten_glDrawBuffers"]=_emscripten_glDrawBuffers;var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT;Module["_emscripten_glDrawBuffersEXT"]=_emscripten_glDrawBuffersEXT;var _emscripten_glMultiDrawArrays=_glMultiDrawArrays;Module["_emscripten_glMultiDrawArrays"]=_emscripten_glMultiDrawArrays;var _emscripten_glMultiDrawArraysANGLE=_glMultiDrawArraysANGLE;Module["_emscripten_glMultiDrawArraysANGLE"]=_emscripten_glMultiDrawArraysANGLE;var _emscripten_glMultiDrawArraysWEBGL=_glMultiDrawArraysWEBGL;Module["_emscripten_glMultiDrawArraysWEBGL"]=_emscripten_glMultiDrawArraysWEBGL;var _emscripten_glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedANGLE;Module["_emscripten_glMultiDrawArraysInstancedANGLE"]=_emscripten_glMultiDrawArraysInstancedANGLE;var _emscripten_glMultiDrawArraysInstancedWEBGL=_glMultiDrawArraysInstancedWEBGL;Module["_emscripten_glMultiDrawArraysInstancedWEBGL"]=_emscripten_glMultiDrawArraysInstancedWEBGL;var _emscripten_glMultiDrawElements=_glMultiDrawElements;Module["_emscripten_glMultiDrawElements"]=_emscripten_glMultiDrawElements;var _emscripten_glMultiDrawElementsANGLE=_glMultiDrawElementsANGLE;Module["_emscripten_glMultiDrawElementsANGLE"]=_emscripten_glMultiDrawElementsANGLE;var _emscripten_glMultiDrawElementsWEBGL=_glMultiDrawElementsWEBGL;Module["_emscripten_glMultiDrawElementsWEBGL"]=_emscripten_glMultiDrawElementsWEBGL;var _emscripten_glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedANGLE;Module["_emscripten_glMultiDrawElementsInstancedANGLE"]=_emscripten_glMultiDrawElementsInstancedANGLE;var _emscripten_glMultiDrawElementsInstancedWEBGL=_glMultiDrawElementsInstancedWEBGL;Module["_emscripten_glMultiDrawElementsInstancedWEBGL"]=_emscripten_glMultiDrawElementsInstancedWEBGL;var _emscripten_glClearDepth=_glClearDepth;Module["_emscripten_glClearDepth"]=_emscripten_glClearDepth;var _emscripten_glDepthRange=_glDepthRange;Module["_emscripten_glDepthRange"]=_emscripten_glDepthRange;var writeGLArray=(arr,dst,dstLength,heapType)=>{var len=arr.length;var writeLength=dstLength>2)+i]=arr[i]}return len};Module["writeGLArray"]=writeGLArray;var _emscripten_webgl_init_context_attributes=attributes=>{var a=attributes>>2;for(var i=0;i<56>>2;++i){HEAP32[a+i]=0}HEAP32[a+(0>>2)]=HEAP32[a+(4>>2)]=HEAP32[a+(12>>2)]=HEAP32[a+(16>>2)]=HEAP32[a+(32>>2)]=HEAP32[a+(40>>2)]=1};Module["_emscripten_webgl_init_context_attributes"]=_emscripten_webgl_init_context_attributes;_emscripten_webgl_init_context_attributes.sig="vp";var emscripten_webgl_power_preferences=["default","low-power","high-performance"];Module["emscripten_webgl_power_preferences"]=emscripten_webgl_power_preferences;var _emscripten_webgl_do_create_context=(target,attributes)=>{var a=attributes>>2;var powerPreference=HEAP32[a+(24>>2)];var contextAttributes={"alpha":!!HEAP32[a+(0>>2)],"depth":!!HEAP32[a+(4>>2)],"stencil":!!HEAP32[a+(8>>2)],"antialias":!!HEAP32[a+(12>>2)],"premultipliedAlpha":!!HEAP32[a+(16>>2)],"preserveDrawingBuffer":!!HEAP32[a+(20>>2)],"powerPreference":emscripten_webgl_power_preferences[powerPreference],"failIfMajorPerformanceCaveat":!!HEAP32[a+(28>>2)],majorVersion:HEAP32[a+(32>>2)],minorVersion:HEAP32[a+(36>>2)],enableExtensionsByDefault:HEAP32[a+(40>>2)],explicitSwapControl:HEAP32[a+(44>>2)],proxyContextToMainThread:HEAP32[a+(48>>2)],renderViaOffscreenBackBuffer:HEAP32[a+(52>>2)]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle};Module["_emscripten_webgl_do_create_context"]=_emscripten_webgl_do_create_context;_emscripten_webgl_do_create_context.sig="ipp";var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;Module["_emscripten_webgl_create_context"]=_emscripten_webgl_create_context;_emscripten_webgl_create_context.sig="ipp";var _emscripten_webgl_do_get_current_context=()=>GL.currentContext?GL.currentContext.handle:0;Module["_emscripten_webgl_do_get_current_context"]=_emscripten_webgl_do_get_current_context;_emscripten_webgl_do_get_current_context.sig="i";var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;Module["_emscripten_webgl_get_current_context"]=_emscripten_webgl_get_current_context;_emscripten_webgl_get_current_context.sig="i";var _emscripten_webgl_do_commit_frame=()=>{if(!GL.currentContext||!GL.currentContext.GLctx){return-3}if(!GL.currentContext.attributes.explicitSwapControl){return-3}return 0};Module["_emscripten_webgl_do_commit_frame"]=_emscripten_webgl_do_commit_frame;_emscripten_webgl_do_commit_frame.sig="i";var _emscripten_webgl_commit_frame=_emscripten_webgl_do_commit_frame;Module["_emscripten_webgl_commit_frame"]=_emscripten_webgl_commit_frame;_emscripten_webgl_commit_frame.sig="i";var _emscripten_webgl_make_context_current=contextHandle=>{var success=GL.makeContextCurrent(contextHandle);return success?0:-5};Module["_emscripten_webgl_make_context_current"]=_emscripten_webgl_make_context_current;_emscripten_webgl_make_context_current.sig="ii";var _emscripten_webgl_get_drawing_buffer_size=(contextHandle,width,height)=>{var GLContext=GL.getContext(contextHandle);if(!GLContext||!GLContext.GLctx||!width||!height){return-5}HEAP32[width>>2]=GLContext.GLctx.drawingBufferWidth;HEAP32[height>>2]=GLContext.GLctx.drawingBufferHeight;return 0};Module["_emscripten_webgl_get_drawing_buffer_size"]=_emscripten_webgl_get_drawing_buffer_size;_emscripten_webgl_get_drawing_buffer_size.sig="iipp";var _emscripten_webgl_get_context_attributes=(c,a)=>{if(!a)return-5;c=GL.contexts[c];if(!c)return-3;var t=c.GLctx;if(!t)return-3;t=t.getContextAttributes();HEAP32[a>>2]=t.alpha;HEAP32[a+4>>2]=t.depth;HEAP32[a+8>>2]=t.stencil;HEAP32[a+12>>2]=t.antialias;HEAP32[a+16>>2]=t.premultipliedAlpha;HEAP32[a+20>>2]=t.preserveDrawingBuffer;var power=t["powerPreference"]&&emscripten_webgl_power_preferences.indexOf(t["powerPreference"]);HEAP32[a+24>>2]=power;HEAP32[a+28>>2]=t.failIfMajorPerformanceCaveat;HEAP32[a+32>>2]=c.version;HEAP32[a+36>>2]=0;HEAP32[a+40>>2]=c.attributes.enableExtensionsByDefault;return 0};Module["_emscripten_webgl_get_context_attributes"]=_emscripten_webgl_get_context_attributes;_emscripten_webgl_get_context_attributes.sig="iip";var _emscripten_webgl_destroy_context=contextHandle=>{if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)};Module["_emscripten_webgl_destroy_context"]=_emscripten_webgl_destroy_context;_emscripten_webgl_destroy_context.sig="ii";var _emscripten_webgl_enable_extension=(contextHandle,extension)=>{var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.startsWith("GL_"))extString=extString.substr(3);if(extString=="ANGLE_instanced_arrays")webgl_enable_ANGLE_instanced_arrays(GLctx);if(extString=="OES_vertex_array_object")webgl_enable_OES_vertex_array_object(GLctx);if(extString=="WEBGL_draw_buffers")webgl_enable_WEBGL_draw_buffers(GLctx);if(extString=="WEBGL_multi_draw")webgl_enable_WEBGL_multi_draw(GLctx);var ext=context.GLctx.getExtension(extString);return!!ext};Module["_emscripten_webgl_enable_extension"]=_emscripten_webgl_enable_extension;_emscripten_webgl_enable_extension.sig="iip";var _emscripten_supports_offscreencanvas=()=>0;Module["_emscripten_supports_offscreencanvas"]=_emscripten_supports_offscreencanvas;_emscripten_supports_offscreencanvas.sig="i";var registerWebGlEventCallback=(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread)=>{var webGlEventHandlerFunc=(e=event)=>{if(getWasmTableEntry(callbackfunc)(eventTypeId,0,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:webGlEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)};Module["registerWebGlEventCallback"]=registerWebGlEventCallback;var _emscripten_set_webglcontextlost_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{registerWebGlEventCallback(target,userData,useCapture,callbackfunc,31,"webglcontextlost",targetThread);return 0};Module["_emscripten_set_webglcontextlost_callback_on_thread"]=_emscripten_set_webglcontextlost_callback_on_thread;_emscripten_set_webglcontextlost_callback_on_thread.sig="ippipp";var _emscripten_set_webglcontextrestored_callback_on_thread=(target,userData,useCapture,callbackfunc,targetThread)=>{registerWebGlEventCallback(target,userData,useCapture,callbackfunc,32,"webglcontextrestored",targetThread);return 0};Module["_emscripten_set_webglcontextrestored_callback_on_thread"]=_emscripten_set_webglcontextrestored_callback_on_thread;_emscripten_set_webglcontextrestored_callback_on_thread.sig="ippipp";var _emscripten_is_webgl_context_lost=contextHandle=>!GL.contexts[contextHandle]||GL.contexts[contextHandle].GLctx.isContextLost();Module["_emscripten_is_webgl_context_lost"]=_emscripten_is_webgl_context_lost;_emscripten_is_webgl_context_lost.sig="ii";var _emscripten_webgl_get_supported_extensions=()=>stringToNewUTF8(GLctx.getSupportedExtensions().join(" "));Module["_emscripten_webgl_get_supported_extensions"]=_emscripten_webgl_get_supported_extensions;_emscripten_webgl_get_supported_extensions.sig="p";var _emscripten_webgl_get_program_parameter_d=(program,param)=>GLctx.getProgramParameter(GL.programs[program],param);Module["_emscripten_webgl_get_program_parameter_d"]=_emscripten_webgl_get_program_parameter_d;_emscripten_webgl_get_program_parameter_d.sig="dii";var _emscripten_webgl_get_program_info_log_utf8=program=>stringToNewUTF8(GLctx.getProgramInfoLog(GL.programs[program]));Module["_emscripten_webgl_get_program_info_log_utf8"]=_emscripten_webgl_get_program_info_log_utf8;_emscripten_webgl_get_program_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_parameter_d=(shader,param)=>GLctx.getShaderParameter(GL.shaders[shader],param);Module["_emscripten_webgl_get_shader_parameter_d"]=_emscripten_webgl_get_shader_parameter_d;_emscripten_webgl_get_shader_parameter_d.sig="dii";var _emscripten_webgl_get_shader_info_log_utf8=shader=>stringToNewUTF8(GLctx.getShaderInfoLog(GL.shaders[shader]));Module["_emscripten_webgl_get_shader_info_log_utf8"]=_emscripten_webgl_get_shader_info_log_utf8;_emscripten_webgl_get_shader_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_source_utf8=shader=>stringToNewUTF8(GLctx.getShaderSource(GL.shaders[shader]));Module["_emscripten_webgl_get_shader_source_utf8"]=_emscripten_webgl_get_shader_source_utf8;_emscripten_webgl_get_shader_source_utf8.sig="pi";var _emscripten_webgl_get_vertex_attrib_d=(index,param)=>GLctx.getVertexAttrib(index,param);Module["_emscripten_webgl_get_vertex_attrib_d"]=_emscripten_webgl_get_vertex_attrib_d;_emscripten_webgl_get_vertex_attrib_d.sig="dii";var _emscripten_webgl_get_vertex_attrib_o=(index,param)=>{var obj=GLctx.getVertexAttrib(index,param);return obj&&obj.name};Module["_emscripten_webgl_get_vertex_attrib_o"]=_emscripten_webgl_get_vertex_attrib_o;_emscripten_webgl_get_vertex_attrib_o.sig="iii";var _emscripten_webgl_get_vertex_attrib_v=(index,param,dst,dstLength,dstType)=>writeGLArray(GLctx.getVertexAttrib(index,param),dst,dstLength,dstType);Module["_emscripten_webgl_get_vertex_attrib_v"]=_emscripten_webgl_get_vertex_attrib_v;_emscripten_webgl_get_vertex_attrib_v.sig="iiipii";var _emscripten_webgl_get_uniform_d=(program,location)=>GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location));Module["_emscripten_webgl_get_uniform_d"]=_emscripten_webgl_get_uniform_d;_emscripten_webgl_get_uniform_d.sig="dii";var _emscripten_webgl_get_uniform_v=(program,location,dst,dstLength,dstType)=>writeGLArray(GLctx.getUniform(GL.programs[program],webglGetUniformLocation(location)),dst,dstLength,dstType);Module["_emscripten_webgl_get_uniform_v"]=_emscripten_webgl_get_uniform_v;_emscripten_webgl_get_uniform_v.sig="iiipii";var _emscripten_webgl_get_parameter_v=(param,dst,dstLength,dstType)=>writeGLArray(GLctx.getParameter(param),dst,dstLength,dstType);Module["_emscripten_webgl_get_parameter_v"]=_emscripten_webgl_get_parameter_v;_emscripten_webgl_get_parameter_v.sig="iipii";var _emscripten_webgl_get_parameter_d=param=>GLctx.getParameter(param);Module["_emscripten_webgl_get_parameter_d"]=_emscripten_webgl_get_parameter_d;_emscripten_webgl_get_parameter_d.sig="di";var _emscripten_webgl_get_parameter_o=param=>{var obj=GLctx.getParameter(param);return obj&&obj.name};Module["_emscripten_webgl_get_parameter_o"]=_emscripten_webgl_get_parameter_o;_emscripten_webgl_get_parameter_o.sig="ii";var _emscripten_webgl_get_parameter_utf8=param=>stringToNewUTF8(GLctx.getParameter(param));Module["_emscripten_webgl_get_parameter_utf8"]=_emscripten_webgl_get_parameter_utf8;_emscripten_webgl_get_parameter_utf8.sig="pi";var _emscripten_webgl_get_parameter_i64v=(param,dst)=>writeI53ToI64(dst,GLctx.getParameter(param));Module["_emscripten_webgl_get_parameter_i64v"]=_emscripten_webgl_get_parameter_i64v;_emscripten_webgl_get_parameter_i64v.sig="vip";var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:false,depth:false,stencil:false,antialias:false},stringCache:{},setErrorCode(code){EGL.errorCode=code},chooseConfig(display,attribList,config,config_size,numConfigs){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(attribList){for(;;){var param=HEAP32[attribList>>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};Module["EGL"]=EGL;var _eglGetDisplay=nativeDisplayType=>{EGL.setErrorCode(12288);return 62e3};Module["_eglGetDisplay"]=_eglGetDisplay;_eglGetDisplay.sig="pi";var _eglInitialize=(display,majorVersion,minorVersion)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1};Module["_eglInitialize"]=_eglInitialize;_eglInitialize.sig="ippp";var _eglTerminate=display=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1};Module["_eglTerminate"]=_eglTerminate;_eglTerminate.sig="ip";var _eglGetConfigs=(display,configs,config_size,numConfigs)=>EGL.chooseConfig(display,0,configs,config_size,numConfigs);Module["_eglGetConfigs"]=_eglGetConfigs;_eglGetConfigs.sig="ippip";var _eglChooseConfig=(display,attrib_list,configs,config_size,numConfigs)=>EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs);Module["_eglChooseConfig"]=_eglChooseConfig;_eglChooseConfig.sig="ipppip";var _eglGetConfigAttrib=(display,config,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12320:HEAP32[value>>2]=EGL.contextAttributes.alpha?32:24;return 1;case 12321:HEAP32[value>>2]=EGL.contextAttributes.alpha?8:0;return 1;case 12322:HEAP32[value>>2]=8;return 1;case 12323:HEAP32[value>>2]=8;return 1;case 12324:HEAP32[value>>2]=8;return 1;case 12325:HEAP32[value>>2]=EGL.contextAttributes.depth?24:0;return 1;case 12326:HEAP32[value>>2]=EGL.contextAttributes.stencil?8:0;return 1;case 12327:HEAP32[value>>2]=12344;return 1;case 12328:HEAP32[value>>2]=62002;return 1;case 12329:HEAP32[value>>2]=0;return 1;case 12330:HEAP32[value>>2]=4096;return 1;case 12331:HEAP32[value>>2]=16777216;return 1;case 12332:HEAP32[value>>2]=4096;return 1;case 12333:HEAP32[value>>2]=0;return 1;case 12334:HEAP32[value>>2]=0;return 1;case 12335:HEAP32[value>>2]=12344;return 1;case 12337:HEAP32[value>>2]=EGL.contextAttributes.antialias?4:0;return 1;case 12338:HEAP32[value>>2]=EGL.contextAttributes.antialias?1:0;return 1;case 12339:HEAP32[value>>2]=4;return 1;case 12340:HEAP32[value>>2]=12344;return 1;case 12341:case 12342:case 12343:HEAP32[value>>2]=-1;return 1;case 12345:case 12346:HEAP32[value>>2]=0;return 1;case 12347:HEAP32[value>>2]=0;return 1;case 12348:HEAP32[value>>2]=1;return 1;case 12349:case 12350:HEAP32[value>>2]=0;return 1;case 12351:HEAP32[value>>2]=12430;return 1;case 12352:HEAP32[value>>2]=4;return 1;case 12354:HEAP32[value>>2]=0;return 1;default:EGL.setErrorCode(12292);return 0}};Module["_eglGetConfigAttrib"]=_eglGetConfigAttrib;_eglGetConfigAttrib.sig="ippip";var _eglCreateWindowSurface=(display,config,win,attrib_list)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006};Module["_eglCreateWindowSurface"]=_eglCreateWindowSurface;_eglCreateWindowSurface.sig="pppip";var _eglDestroySurface=(display,surface)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1};Module["_eglDestroySurface"]=_eglDestroySurface;_eglDestroySurface.sig="ipp";var _eglCreateContext=(display,config,hmm,contextAttribs)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion!=2){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}};Module["_eglCreateContext"]=_eglCreateContext;_eglCreateContext.sig="ppppp";var _eglDestroyContext=(display,context)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1};Module["_eglDestroyContext"]=_eglDestroyContext;_eglDestroyContext.sig="ipp";var _eglQuerySurface=(display,surface,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>2]=62002;return 1;case 12376:return 1;case 12375:HEAP32[value>>2]=Module["canvas"].width;return 1;case 12374:HEAP32[value>>2]=Module["canvas"].height;return 1;case 12432:HEAP32[value>>2]=-1;return 1;case 12433:HEAP32[value>>2]=-1;return 1;case 12434:HEAP32[value>>2]=-1;return 1;case 12422:HEAP32[value>>2]=12420;return 1;case 12441:HEAP32[value>>2]=12442;return 1;case 12435:HEAP32[value>>2]=12437;return 1;case 12416:case 12417:case 12418:case 12419:return 1;default:EGL.setErrorCode(12292);return 0}};Module["_eglQuerySurface"]=_eglQuerySurface;_eglQuerySurface.sig="ippip";var _eglQueryContext=(display,context,attribute,value)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}if(!value){EGL.setErrorCode(12300);return 0}EGL.setErrorCode(12288);switch(attribute){case 12328:HEAP32[value>>2]=62002;return 1;case 12439:HEAP32[value>>2]=12448;return 1;case 12440:HEAP32[value>>2]=EGL.contextAttributes.majorVersion+1;return 1;case 12422:HEAP32[value>>2]=12420;return 1;default:EGL.setErrorCode(12292);return 0}};Module["_eglQueryContext"]=_eglQueryContext;_eglQueryContext.sig="ippip";var _eglGetError=()=>EGL.errorCode;Module["_eglGetError"]=_eglGetError;_eglGetError.sig="i";var _eglQueryString=(display,name)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.setErrorCode(12288);if(EGL.stringCache[name])return EGL.stringCache[name];var ret;switch(name){case 12371:ret=stringToNewUTF8("Emscripten");break;case 12372:ret=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:ret=stringToNewUTF8("");break;case 12429:ret=stringToNewUTF8("OpenGL_ES");break;default:EGL.setErrorCode(12300);return 0}EGL.stringCache[name]=ret;return ret};Module["_eglQueryString"]=_eglQueryString;_eglQueryString.sig="ppi";var _eglBindAPI=api=>{if(api==12448){EGL.setErrorCode(12288);return 1}EGL.setErrorCode(12300);return 0};Module["_eglBindAPI"]=_eglBindAPI;_eglBindAPI.sig="ii";var _eglQueryAPI=()=>{EGL.setErrorCode(12288);return 12448};Module["_eglQueryAPI"]=_eglQueryAPI;_eglQueryAPI.sig="i";var _eglWaitClient=()=>{EGL.setErrorCode(12288);return 1};Module["_eglWaitClient"]=_eglWaitClient;_eglWaitClient.sig="i";var _eglWaitNative=nativeEngineId=>{EGL.setErrorCode(12288);return 1};Module["_eglWaitNative"]=_eglWaitNative;_eglWaitNative.sig="ii";var _eglWaitGL=_eglWaitClient;Module["_eglWaitGL"]=_eglWaitGL;_eglWaitGL.sig="i";var _eglSwapInterval=(display,interval)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1};Module["_eglSwapInterval"]=_eglSwapInterval;_eglSwapInterval.sig="ipi";var _eglMakeCurrent=(display,draw,read,context)=>{if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1};Module["_eglMakeCurrent"]=_eglMakeCurrent;_eglMakeCurrent.sig="ipppp";var _eglGetCurrentContext=()=>EGL.currentContext;Module["_eglGetCurrentContext"]=_eglGetCurrentContext;_eglGetCurrentContext.sig="p";var _eglGetCurrentSurface=readdraw=>{if(readdraw==12378){return EGL.currentReadSurface}else if(readdraw==12377){return EGL.currentDrawSurface}else{EGL.setErrorCode(12300);return 0}};Module["_eglGetCurrentSurface"]=_eglGetCurrentSurface;_eglGetCurrentSurface.sig="pi";var _eglGetCurrentDisplay=()=>EGL.currentContext?62e3:0;Module["_eglGetCurrentDisplay"]=_eglGetCurrentDisplay;_eglGetCurrentDisplay.sig="p";var _eglSwapBuffers=(dpy,surface)=>{if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0};Module["_eglSwapBuffers"]=_eglSwapBuffers;_eglSwapBuffers.sig="ipp";var _eglReleaseThread=()=>{EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.setErrorCode(12288);return 1};Module["_eglReleaseThread"]=_eglReleaseThread;_eglReleaseThread.sig="i";if(!Module.createInvoke){Module.createInvoke=Module.createInvokeFunction}registerWasmPlugin();var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;if(ENVIRONMENT_IS_NODE){NODEFS.staticInit()}ERRNO_CODES={"EPERM":63,"ENOENT":44,"ESRCH":71,"EINTR":27,"EIO":29,"ENXIO":60,"E2BIG":1,"ENOEXEC":45,"EBADF":8,"ECHILD":12,"EAGAIN":6,"EWOULDBLOCK":6,"ENOMEM":48,"EACCES":2,"EFAULT":21,"ENOTBLK":105,"EBUSY":10,"EEXIST":20,"EXDEV":75,"ENODEV":43,"ENOTDIR":54,"EISDIR":31,"EINVAL":28,"ENFILE":41,"EMFILE":33,"ENOTTY":59,"ETXTBSY":74,"EFBIG":22,"ENOSPC":51,"ESPIPE":70,"EROFS":69,"EMLINK":34,"EPIPE":64,"EDOM":18,"ERANGE":68,"ENOMSG":49,"EIDRM":24,"ECHRNG":106,"EL2NSYNC":156,"EL3HLT":107,"EL3RST":108,"ELNRNG":109,"EUNATCH":110,"ENOCSI":111,"EL2HLT":112,"EDEADLK":16,"ENOLCK":46,"EBADE":113,"EBADR":114,"EXFULL":115,"ENOANO":104,"EBADRQC":103,"EBADSLT":102,"EDEADLOCK":16,"EBFONT":101,"ENOSTR":100,"ENODATA":116,"ETIME":117,"ENOSR":118,"ENONET":119,"ENOPKG":120,"EREMOTE":121,"ENOLINK":47,"EADV":122,"ESRMNT":123,"ECOMM":124,"EPROTO":65,"EMULTIHOP":36,"EDOTDOT":125,"EBADMSG":9,"ENOTUNIQ":126,"EBADFD":127,"EREMCHG":128,"ELIBACC":129,"ELIBBAD":130,"ELIBSCN":131,"ELIBMAX":132,"ELIBEXEC":133,"ENOSYS":52,"ENOTEMPTY":55,"ENAMETOOLONG":37,"ELOOP":32,"EOPNOTSUPP":138,"EPFNOSUPPORT":139,"ECONNRESET":15,"ENOBUFS":42,"EAFNOSUPPORT":5,"EPROTOTYPE":67,"ENOTSOCK":57,"ENOPROTOOPT":50,"ESHUTDOWN":140,"ECONNREFUSED":14,"EADDRINUSE":3,"ECONNABORTED":13,"ENETUNREACH":40,"ENETDOWN":38,"ETIMEDOUT":73,"EHOSTDOWN":142,"EHOSTUNREACH":23,"EINPROGRESS":26,"EALREADY":7,"EDESTADDRREQ":17,"EMSGSIZE":35,"EPROTONOSUPPORT":66,"ESOCKTNOSUPPORT":137,"EADDRNOTAVAIL":4,"ENETRESET":39,"EISCONN":30,"ENOTCONN":53,"ETOOMANYREFS":141,"EUSERS":136,"EDQUOT":19,"ESTALE":72,"ENOTSUP":138,"ENOMEDIUM":148,"EILSEQ":25,"EOVERFLOW":61,"ECANCELED":11,"ENOTRECOVERABLE":56,"EOWNERDEAD":62,"ESTRPIPE":135};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i+1)}handleAllocatorInit();var emSetImmediate;var emClearImmediate;if(typeof setImmediate!="undefined"){emSetImmediate=setImmediateWrapped;emClearImmediate=clearImmediateWrapped}else if(typeof addEventListener=="function"){var __setImmediate_id_counter=0;var __setImmediate_queue=[];var __setImmediate_message_id="_si";var __setImmediate_cb=e=>{if(e.data===__setImmediate_message_id){e.stopPropagation();__setImmediate_queue.shift()();++__setImmediate_id_counter}};addEventListener("message",__setImmediate_cb,true);emSetImmediate=func=>{postMessage(__setImmediate_message_id,"*");return __setImmediate_id_counter+__setImmediate_queue.push(func)-1};emClearImmediate=id=>{var index=id-__setImmediate_id_counter;if(index>=0&&index<__setImmediate_queue.length)__setImmediate_queue[index]=()=>{}}}Module["requestFullscreen"]=(lockPointer,resizeCanvas)=>Browser.requestFullscreen(lockPointer,resizeCanvas);Module["requestAnimationFrame"]=func=>Browser.requestAnimationFrame(func);Module["setCanvasSize"]=(width,height,noUpdates)=>Browser.setCanvasSize(width,height,noUpdates);Module["pauseMainLoop"]=()=>Browser.mainLoop.pause();Module["resumeMainLoop"]=()=>Browser.mainLoop.resume();Module["getUserMedia"]=()=>Browser.getUserMedia();Module["createContext"]=(canvas,useWebGL,setInModule,webGLContextAttributes)=>Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes);var preloadedImages={};var preloadedAudios={};var wasmImports={JsArray_count_js:JsArray_count_js,JsArray_index_js:JsArray_index_js,JsArray_inplace_repeat_js:JsArray_inplace_repeat_js,JsArray_repeat_js:JsArray_repeat_js,JsArray_reverse_js:JsArray_reverse_js,JsArray_reversed_iterator:JsArray_reversed_iterator,JsBuffer_DecodeString_js:JsBuffer_DecodeString_js,JsBuffer_get_info:JsBuffer_get_info,JsDoubleProxy_unwrap_helper:JsDoubleProxy_unwrap_helper,JsException_new_helper:JsException_new_helper,JsMap_GetIter_js:JsMap_GetIter_js,JsMap_clear_js:JsMap_clear_js,JsObjMap_GetIter_js:JsObjMap_GetIter_js,JsObjMap_ass_subscript_js:JsObjMap_ass_subscript_js,JsObjMap_contains_js:JsObjMap_contains_js,JsObjMap_length_js:JsObjMap_length_js,JsObjMap_subscript_js:JsObjMap_subscript_js,JsProxy_Bool_js:JsProxy_Bool_js,JsProxy_DelAttr_js:JsProxy_DelAttr_js,JsProxy_Dir_js:JsProxy_Dir_js,JsProxy_GetAsyncIter_js:JsProxy_GetAsyncIter_js,JsProxy_GetAttr_js:JsProxy_GetAttr_js,JsProxy_GetIter_js:JsProxy_GetIter_js,JsProxy_SetAttr_js:JsProxy_SetAttr_js,JsProxy_compute_typeflags:JsProxy_compute_typeflags,JsProxy_subscript_js:JsProxy_subscript_js,JsvArray_Check:JsvArray_Check,JsvArray_Delete:JsvArray_Delete,JsvArray_Extend:JsvArray_Extend,JsvArray_Get:JsvArray_Get,JsvArray_Insert:JsvArray_Insert,JsvArray_New:JsvArray_New,JsvArray_Push:JsvArray_Push,JsvArray_Set:JsvArray_Set,JsvArray_ShallowCopy:JsvArray_ShallowCopy,JsvArray_slice:JsvArray_slice,JsvArray_slice_assign:JsvArray_slice_assign,JsvAsyncGenerator_Check:JsvAsyncGenerator_Check,JsvBuffer_assignFromPtr:JsvBuffer_assignFromPtr,JsvBuffer_assignToPtr:JsvBuffer_assignToPtr,JsvBuffer_intoFile:JsvBuffer_intoFile,JsvBuffer_readFromFile:JsvBuffer_readFromFile,JsvBuffer_writeToFile:JsvBuffer_writeToFile,JsvError_Throw:JsvError_Throw,JsvFunction_CallBound:JsvFunction_CallBound,JsvFunction_Call_OneArg:JsvFunction_Call_OneArg,JsvFunction_Check:JsvFunction_Check,JsvFunction_Construct:JsvFunction_Construct,JsvGenerator_Check:JsvGenerator_Check,JsvMap_New:JsvMap_New,JsvMap_Set:JsvMap_Set,JsvNoValue_Check:JsvNoValue_Check,JsvNum_fromDigits:JsvNum_fromDigits,JsvNum_fromDouble:JsvNum_fromDouble,JsvNum_fromInt:JsvNum_fromInt,JsvObject_CallMethod:JsvObject_CallMethod,JsvObject_CallMethod_NoArgs:JsvObject_CallMethod_NoArgs,JsvObject_CallMethod_OneArg:JsvObject_CallMethod_OneArg,JsvObject_CallMethod_TwoArgs:JsvObject_CallMethod_TwoArgs,JsvObject_Entries:JsvObject_Entries,JsvObject_Keys:JsvObject_Keys,JsvObject_New:JsvObject_New,JsvObject_SetAttr:JsvObject_SetAttr,JsvObject_Values:JsvObject_Values,JsvObject_toString:JsvObject_toString,JsvPromise_Check:JsvPromise_Check,JsvPromise_Resolve:JsvPromise_Resolve,JsvPromise_Syncify_handleError:JsvPromise_Syncify_handleError,JsvSet_Add:JsvSet_Add,JsvSet_New:JsvSet_New,JsvUTF8ToString:JsvUTF8ToString,Jsv_constructorName:Jsv_constructorName,Jsv_equal:Jsv_equal,Jsv_greater_than:Jsv_greater_than,Jsv_greater_than_equal:Jsv_greater_than_equal,Jsv_less_than:Jsv_less_than,Jsv_less_than_equal:Jsv_less_than_equal,Jsv_not_equal:Jsv_not_equal,Jsv_to_bool:Jsv_to_bool,Jsv_typeof:Jsv_typeof,_JsArray_PostProcess_helper:_JsArray_PostProcess_helper,_JsArray_PushEntry_helper:_JsArray_PushEntry_helper,_PyEM_CountFuncParams:_PyEM_CountFuncParams,_PyEM_TrampolineCall_JS:_PyEM_TrampolineCall_JS,_PyEM_detect_type_reflection:_PyEM_detect_type_reflection,_PyImport_InitFunc_TrampolineCall:_PyImport_InitFunc_TrampolineCall,_Py_CheckEmscriptenSignals_Helper:_Py_CheckEmscriptenSignals_Helper,_Py_emscripten_runtime:_Py_emscripten_runtime,_Unwind_Backtrace:__Unwind_Backtrace,_Unwind_DeleteException:__Unwind_DeleteException,_Unwind_FindEnclosingFunction:__Unwind_FindEnclosingFunction,_Unwind_GetIPInfo:__Unwind_GetIPInfo,_Unwind_RaiseException:__Unwind_RaiseException,__asctime_r:___asctime_r,__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__cxa_begin_catch:___cxa_begin_catch,__cxa_call_unexpected:___cxa_call_unexpected,__cxa_current_primary_exception:___cxa_current_primary_exception,__cxa_end_catch:___cxa_end_catch,__cxa_find_matching_catch_2:___cxa_find_matching_catch_2,__cxa_find_matching_catch_3:___cxa_find_matching_catch_3,__cxa_find_matching_catch_4:___cxa_find_matching_catch_4,__cxa_get_exception_ptr:___cxa_get_exception_ptr,__cxa_rethrow:___cxa_rethrow,__cxa_rethrow_primary_exception:___cxa_rethrow_primary_exception,__cxa_throw:___cxa_throw,__cxa_uncaught_exceptions:___cxa_uncaught_exceptions,__global_base:___global_base,__heap_base:___heap_base,__hiwire_deduplicate_delete:__hiwire_deduplicate_delete,__hiwire_deduplicate_get:__hiwire_deduplicate_get,__hiwire_deduplicate_new:__hiwire_deduplicate_new,__hiwire_deduplicate_set:__hiwire_deduplicate_set,__indirect_function_table:wasmTable,__memory_base:___memory_base,__resumeException:___resumeException,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__syscall__newselect:___syscall__newselect,__syscall_accept4:___syscall_accept4,__syscall_bind:___syscall_bind,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_connect:___syscall_connect,__syscall_dup:___syscall_dup,__syscall_dup3:___syscall_dup3,__syscall_faccessat:___syscall_faccessat,__syscall_fadvise64:___syscall_fadvise64,__syscall_fallocate:___syscall_fallocate,__syscall_fchdir:___syscall_fchdir,__syscall_fchmod:___syscall_fchmod,__syscall_fchmodat:___syscall_fchmodat,__syscall_fchown32:___syscall_fchown32,__syscall_fchownat:___syscall_fchownat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fdatasync:___syscall_fdatasync,__syscall_fstat64:___syscall_fstat64,__syscall_fstatfs64:___syscall_fstatfs64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_getpeername:___syscall_getpeername,__syscall_getsockname:___syscall_getsockname,__syscall_getsockopt:___syscall_getsockopt,__syscall_ioctl:___syscall_ioctl,__syscall_listen:___syscall_listen,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_mknodat:___syscall_mknodat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_pipe:___syscall_pipe,__syscall_poll:___syscall_poll,__syscall_readlinkat:___syscall_readlinkat,__syscall_recvfrom:___syscall_recvfrom,__syscall_recvmsg:___syscall_recvmsg,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_sendmsg:___syscall_sendmsg,__syscall_sendto:___syscall_sendto,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_statfs64:___syscall_statfs64,__syscall_symlink:___syscall_symlink,__syscall_symlinkat:___syscall_symlinkat,__syscall_truncate64:___syscall_truncate64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,__table_base:___table_base,_agen_handle_result_js:_agen_handle_result_js,_dlopen_js:__dlopen_js,_dlsym_catchup_js:__dlsym_catchup_js,_dlsym_js:__dlsym_js,_emscripten_dlopen_js:__emscripten_dlopen_js,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_get_progname:__emscripten_get_progname,_emscripten_push_main_loop_blocker:__emscripten_push_main_loop_blocker,_emscripten_push_uncounted_main_loop_blocker:__emscripten_push_uncounted_main_loop_blocker,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_glGenObject:__glGenObject,_glGetActiveAttribOrUniform:__glGetActiveAttribOrUniform,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_mktime_js:__mktime_js,_mmap_js:__mmap_js,_msync_js:__msync_js,_munmap_js:__munmap_js,_pyproxyGen_make_result:_pyproxyGen_make_result,_pyproxy_get_buffer_result:_pyproxy_get_buffer_result,_python2js_add_to_cache:_python2js_add_to_cache,_python2js_addto_postprocess_list:_python2js_addto_postprocess_list,_python2js_buffer_inner:_python2js_buffer_inner,_python2js_cache_lookup:_python2js_cache_lookup,_python2js_handle_postprocess_list:_python2js_handle_postprocess_list,_python2js_ucs1:_python2js_ucs1,_python2js_ucs2:_python2js_ucs2,_python2js_ucs4:_python2js_ucs4,_setitimer_js:__setitimer_js,_timegm_js:__timegm_js,_tzset_js:__tzset_js,abort:_abort,array_to_js:array_to_js,clock_res_get:_clock_res_get,clock_time_get:_clock_time_get,create_once_callable:create_once_callable,create_promise_handles:create_promise_handles,destroy_jsarray_entries:destroy_jsarray_entries,destroy_proxies:destroy_proxies,destroy_proxies_js:destroy_proxies_js,destroy_proxy:destroy_proxy,eglBindAPI:_eglBindAPI,eglChooseConfig:_eglChooseConfig,eglCreateContext:_eglCreateContext,eglCreateWindowSurface:_eglCreateWindowSurface,eglDestroyContext:_eglDestroyContext,eglDestroySurface:_eglDestroySurface,eglGetConfigAttrib:_eglGetConfigAttrib,eglGetConfigs:_eglGetConfigs,eglGetCurrentContext:_eglGetCurrentContext,eglGetCurrentDisplay:_eglGetCurrentDisplay,eglGetCurrentSurface:_eglGetCurrentSurface,eglGetDisplay:_eglGetDisplay,eglGetError:_eglGetError,eglInitialize:_eglInitialize,eglMakeCurrent:_eglMakeCurrent,eglQueryAPI:_eglQueryAPI,eglQueryContext:_eglQueryContext,eglQueryString:_eglQueryString,eglQuerySurface:_eglQuerySurface,eglReleaseThread:_eglReleaseThread,eglSwapBuffers:_eglSwapBuffers,eglSwapInterval:_eglSwapInterval,eglTerminate:_eglTerminate,eglWaitClient:_eglWaitClient,eglWaitGL:_eglWaitGL,eglWaitNative:_eglWaitNative,emscripten_asm_const_async_on_main_thread:_emscripten_asm_const_async_on_main_thread,emscripten_asm_const_double:_emscripten_asm_const_double,emscripten_asm_const_double_sync_on_main_thread:_emscripten_asm_const_double_sync_on_main_thread,emscripten_asm_const_int:_emscripten_asm_const_int,emscripten_asm_const_int_sync_on_main_thread:_emscripten_asm_const_int_sync_on_main_thread,emscripten_asm_const_ptr:_emscripten_asm_const_ptr,emscripten_async_call:_emscripten_async_call,emscripten_async_load_script:_emscripten_async_load_script,emscripten_async_run_script:_emscripten_async_run_script,emscripten_async_wget:_emscripten_async_wget,emscripten_async_wget2:_emscripten_async_wget2,emscripten_async_wget2_abort:_emscripten_async_wget2_abort,emscripten_async_wget2_data:_emscripten_async_wget2_data,emscripten_async_wget_data:_emscripten_async_wget_data,emscripten_call_worker:_emscripten_call_worker,emscripten_cancel_animation_frame:_emscripten_cancel_animation_frame,emscripten_cancel_main_loop:_emscripten_cancel_main_loop,emscripten_clear_immediate:_emscripten_clear_immediate,emscripten_clear_interval:_emscripten_clear_interval,emscripten_clear_timeout:_emscripten_clear_timeout,emscripten_console_error:_emscripten_console_error,emscripten_console_log:_emscripten_console_log,emscripten_console_warn:_emscripten_console_warn,emscripten_create_worker:_emscripten_create_worker,emscripten_date_now:_emscripten_date_now,emscripten_debugger:_emscripten_debugger,emscripten_destroy_worker:_emscripten_destroy_worker,emscripten_enter_soft_fullscreen:_emscripten_enter_soft_fullscreen,emscripten_err:_emscripten_err,emscripten_errn:_emscripten_errn,emscripten_exit_fullscreen:_emscripten_exit_fullscreen,emscripten_exit_pointerlock:_emscripten_exit_pointerlock,emscripten_exit_soft_fullscreen:_emscripten_exit_soft_fullscreen,emscripten_exit_with_live_runtime:_emscripten_exit_with_live_runtime,emscripten_force_exit:_emscripten_force_exit,emscripten_get_battery_status:_emscripten_get_battery_status,emscripten_get_callstack:_emscripten_get_callstack,emscripten_get_canvas_element_size:_emscripten_get_canvas_element_size,emscripten_get_canvas_size:_emscripten_get_canvas_size,emscripten_get_compiler_setting:_emscripten_get_compiler_setting,emscripten_get_device_pixel_ratio:_emscripten_get_device_pixel_ratio,emscripten_get_devicemotion_status:_emscripten_get_devicemotion_status,emscripten_get_deviceorientation_status:_emscripten_get_deviceorientation_status,emscripten_get_element_css_size:_emscripten_get_element_css_size,emscripten_get_fullscreen_status:_emscripten_get_fullscreen_status,emscripten_get_gamepad_status:_emscripten_get_gamepad_status,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_main_loop_timing:_emscripten_get_main_loop_timing,emscripten_get_module_name:_emscripten_get_module_name,emscripten_get_mouse_status:_emscripten_get_mouse_status,emscripten_get_now:_emscripten_get_now,emscripten_get_now_res:_emscripten_get_now_res,emscripten_get_num_gamepads:_emscripten_get_num_gamepads,emscripten_get_orientation_status:_emscripten_get_orientation_status,emscripten_get_pointerlock_status:_emscripten_get_pointerlock_status,emscripten_get_preloaded_image_data:_emscripten_get_preloaded_image_data,emscripten_get_preloaded_image_data_from_FILE:_emscripten_get_preloaded_image_data_from_FILE,emscripten_get_screen_size:_emscripten_get_screen_size,emscripten_get_visibility_status:_emscripten_get_visibility_status,emscripten_get_window_title:_emscripten_get_window_title,emscripten_get_worker_queue_size:_emscripten_get_worker_queue_size,emscripten_glActiveTexture:_emscripten_glActiveTexture,emscripten_glAttachShader:_emscripten_glAttachShader,emscripten_glBegin:_emscripten_glBegin,emscripten_glBeginQueryEXT:_emscripten_glBeginQueryEXT,emscripten_glBindAttribLocation:_emscripten_glBindAttribLocation,emscripten_glBindBuffer:_emscripten_glBindBuffer,emscripten_glBindFramebuffer:_emscripten_glBindFramebuffer,emscripten_glBindRenderbuffer:_emscripten_glBindRenderbuffer,emscripten_glBindTexture:_emscripten_glBindTexture,emscripten_glBindVertexArray:_emscripten_glBindVertexArray,emscripten_glBindVertexArrayOES:_emscripten_glBindVertexArrayOES,emscripten_glBlendColor:_emscripten_glBlendColor,emscripten_glBlendEquation:_emscripten_glBlendEquation,emscripten_glBlendEquationSeparate:_emscripten_glBlendEquationSeparate,emscripten_glBlendFunc:_emscripten_glBlendFunc,emscripten_glBlendFuncSeparate:_emscripten_glBlendFuncSeparate,emscripten_glBufferData:_emscripten_glBufferData,emscripten_glBufferSubData:_emscripten_glBufferSubData,emscripten_glCheckFramebufferStatus:_emscripten_glCheckFramebufferStatus,emscripten_glClear:_emscripten_glClear,emscripten_glClearColor:_emscripten_glClearColor,emscripten_glClearDepth:_emscripten_glClearDepth,emscripten_glClearDepthf:_emscripten_glClearDepthf,emscripten_glClearStencil:_emscripten_glClearStencil,emscripten_glColorMask:_emscripten_glColorMask,emscripten_glCompileShader:_emscripten_glCompileShader,emscripten_glCompressedTexImage2D:_emscripten_glCompressedTexImage2D,emscripten_glCompressedTexSubImage2D:_emscripten_glCompressedTexSubImage2D,emscripten_glCopyTexImage2D:_emscripten_glCopyTexImage2D,emscripten_glCopyTexSubImage2D:_emscripten_glCopyTexSubImage2D,emscripten_glCreateProgram:_emscripten_glCreateProgram,emscripten_glCreateShader:_emscripten_glCreateShader,emscripten_glCullFace:_emscripten_glCullFace,emscripten_glDeleteBuffers:_emscripten_glDeleteBuffers,emscripten_glDeleteFramebuffers:_emscripten_glDeleteFramebuffers,emscripten_glDeleteProgram:_emscripten_glDeleteProgram,emscripten_glDeleteQueriesEXT:_emscripten_glDeleteQueriesEXT,emscripten_glDeleteRenderbuffers:_emscripten_glDeleteRenderbuffers,emscripten_glDeleteShader:_emscripten_glDeleteShader,emscripten_glDeleteTextures:_emscripten_glDeleteTextures,emscripten_glDeleteVertexArrays:_emscripten_glDeleteVertexArrays,emscripten_glDeleteVertexArraysOES:_emscripten_glDeleteVertexArraysOES,emscripten_glDepthFunc:_emscripten_glDepthFunc,emscripten_glDepthMask:_emscripten_glDepthMask,emscripten_glDepthRange:_emscripten_glDepthRange,emscripten_glDepthRangef:_emscripten_glDepthRangef,emscripten_glDetachShader:_emscripten_glDetachShader,emscripten_glDisable:_emscripten_glDisable,emscripten_glDisableVertexAttribArray:_emscripten_glDisableVertexAttribArray,emscripten_glDrawArrays:_emscripten_glDrawArrays,emscripten_glDrawArraysInstanced:_emscripten_glDrawArraysInstanced,emscripten_glDrawArraysInstancedANGLE:_emscripten_glDrawArraysInstancedANGLE,emscripten_glDrawArraysInstancedARB:_emscripten_glDrawArraysInstancedARB,emscripten_glDrawArraysInstancedEXT:_emscripten_glDrawArraysInstancedEXT,emscripten_glDrawArraysInstancedNV:_emscripten_glDrawArraysInstancedNV,emscripten_glDrawBuffers:_emscripten_glDrawBuffers,emscripten_glDrawBuffersEXT:_emscripten_glDrawBuffersEXT,emscripten_glDrawBuffersWEBGL:_emscripten_glDrawBuffersWEBGL,emscripten_glDrawElements:_emscripten_glDrawElements,emscripten_glDrawElementsInstanced:_emscripten_glDrawElementsInstanced,emscripten_glDrawElementsInstancedANGLE:_emscripten_glDrawElementsInstancedANGLE,emscripten_glDrawElementsInstancedARB:_emscripten_glDrawElementsInstancedARB,emscripten_glDrawElementsInstancedEXT:_emscripten_glDrawElementsInstancedEXT,emscripten_glDrawElementsInstancedNV:_emscripten_glDrawElementsInstancedNV,emscripten_glEnable:_emscripten_glEnable,emscripten_glEnableVertexAttribArray:_emscripten_glEnableVertexAttribArray,emscripten_glEndQueryEXT:_emscripten_glEndQueryEXT,emscripten_glFinish:_emscripten_glFinish,emscripten_glFlush:_emscripten_glFlush,emscripten_glFramebufferRenderbuffer:_emscripten_glFramebufferRenderbuffer,emscripten_glFramebufferTexture2D:_emscripten_glFramebufferTexture2D,emscripten_glFrontFace:_emscripten_glFrontFace,emscripten_glGenBuffers:_emscripten_glGenBuffers,emscripten_glGenFramebuffers:_emscripten_glGenFramebuffers,emscripten_glGenQueriesEXT:_emscripten_glGenQueriesEXT,emscripten_glGenRenderbuffers:_emscripten_glGenRenderbuffers,emscripten_glGenTextures:_emscripten_glGenTextures,emscripten_glGenVertexArrays:_emscripten_glGenVertexArrays,emscripten_glGenVertexArraysOES:_emscripten_glGenVertexArraysOES,emscripten_glGenerateMipmap:_emscripten_glGenerateMipmap,emscripten_glGetActiveAttrib:_emscripten_glGetActiveAttrib,emscripten_glGetActiveUniform:_emscripten_glGetActiveUniform,emscripten_glGetAttachedShaders:_emscripten_glGetAttachedShaders,emscripten_glGetAttribLocation:_emscripten_glGetAttribLocation,emscripten_glGetBooleanv:_emscripten_glGetBooleanv,emscripten_glGetBufferParameteriv:_emscripten_glGetBufferParameteriv,emscripten_glGetError:_emscripten_glGetError,emscripten_glGetFloatv:_emscripten_glGetFloatv,emscripten_glGetFramebufferAttachmentParameteriv:_emscripten_glGetFramebufferAttachmentParameteriv,emscripten_glGetIntegerv:_emscripten_glGetIntegerv,emscripten_glGetProgramInfoLog:_emscripten_glGetProgramInfoLog,emscripten_glGetProgramiv:_emscripten_glGetProgramiv,emscripten_glGetQueryObjecti64vEXT:_emscripten_glGetQueryObjecti64vEXT,emscripten_glGetQueryObjectivEXT:_emscripten_glGetQueryObjectivEXT,emscripten_glGetQueryObjectui64vEXT:_emscripten_glGetQueryObjectui64vEXT,emscripten_glGetQueryObjectuivEXT:_emscripten_glGetQueryObjectuivEXT,emscripten_glGetQueryivEXT:_emscripten_glGetQueryivEXT,emscripten_glGetRenderbufferParameteriv:_emscripten_glGetRenderbufferParameteriv,emscripten_glGetShaderInfoLog:_emscripten_glGetShaderInfoLog,emscripten_glGetShaderPrecisionFormat:_emscripten_glGetShaderPrecisionFormat,emscripten_glGetShaderSource:_emscripten_glGetShaderSource,emscripten_glGetShaderiv:_emscripten_glGetShaderiv,emscripten_glGetString:_emscripten_glGetString,emscripten_glGetTexParameterfv:_emscripten_glGetTexParameterfv,emscripten_glGetTexParameteriv:_emscripten_glGetTexParameteriv,emscripten_glGetUniformLocation:_emscripten_glGetUniformLocation,emscripten_glGetUniformfv:_emscripten_glGetUniformfv,emscripten_glGetUniformiv:_emscripten_glGetUniformiv,emscripten_glGetVertexAttribPointerv:_emscripten_glGetVertexAttribPointerv,emscripten_glGetVertexAttribfv:_emscripten_glGetVertexAttribfv,emscripten_glGetVertexAttribiv:_emscripten_glGetVertexAttribiv,emscripten_glHint:_emscripten_glHint,emscripten_glIsBuffer:_emscripten_glIsBuffer,emscripten_glIsEnabled:_emscripten_glIsEnabled,emscripten_glIsFramebuffer:_emscripten_glIsFramebuffer,emscripten_glIsProgram:_emscripten_glIsProgram,emscripten_glIsQueryEXT:_emscripten_glIsQueryEXT,emscripten_glIsRenderbuffer:_emscripten_glIsRenderbuffer,emscripten_glIsShader:_emscripten_glIsShader,emscripten_glIsTexture:_emscripten_glIsTexture,emscripten_glIsVertexArray:_emscripten_glIsVertexArray,emscripten_glIsVertexArrayOES:_emscripten_glIsVertexArrayOES,emscripten_glLineWidth:_emscripten_glLineWidth,emscripten_glLinkProgram:_emscripten_glLinkProgram,emscripten_glLoadIdentity:_emscripten_glLoadIdentity,emscripten_glMatrixMode:_emscripten_glMatrixMode,emscripten_glMultiDrawArrays:_emscripten_glMultiDrawArrays,emscripten_glMultiDrawArraysANGLE:_emscripten_glMultiDrawArraysANGLE,emscripten_glMultiDrawArraysInstancedANGLE:_emscripten_glMultiDrawArraysInstancedANGLE,emscripten_glMultiDrawArraysInstancedWEBGL:_emscripten_glMultiDrawArraysInstancedWEBGL,emscripten_glMultiDrawArraysWEBGL:_emscripten_glMultiDrawArraysWEBGL,emscripten_glMultiDrawElements:_emscripten_glMultiDrawElements,emscripten_glMultiDrawElementsANGLE:_emscripten_glMultiDrawElementsANGLE,emscripten_glMultiDrawElementsInstancedANGLE:_emscripten_glMultiDrawElementsInstancedANGLE,emscripten_glMultiDrawElementsInstancedWEBGL:_emscripten_glMultiDrawElementsInstancedWEBGL,emscripten_glMultiDrawElementsWEBGL:_emscripten_glMultiDrawElementsWEBGL,emscripten_glPixelStorei:_emscripten_glPixelStorei,emscripten_glPolygonOffset:_emscripten_glPolygonOffset,emscripten_glQueryCounterEXT:_emscripten_glQueryCounterEXT,emscripten_glReadPixels:_emscripten_glReadPixels,emscripten_glReleaseShaderCompiler:_emscripten_glReleaseShaderCompiler,emscripten_glRenderbufferStorage:_emscripten_glRenderbufferStorage,emscripten_glSampleCoverage:_emscripten_glSampleCoverage,emscripten_glScissor:_emscripten_glScissor,emscripten_glShaderBinary:_emscripten_glShaderBinary,emscripten_glShaderSource:_emscripten_glShaderSource,emscripten_glStencilFunc:_emscripten_glStencilFunc,emscripten_glStencilFuncSeparate:_emscripten_glStencilFuncSeparate,emscripten_glStencilMask:_emscripten_glStencilMask,emscripten_glStencilMaskSeparate:_emscripten_glStencilMaskSeparate,emscripten_glStencilOp:_emscripten_glStencilOp,emscripten_glStencilOpSeparate:_emscripten_glStencilOpSeparate,emscripten_glTexImage2D:_emscripten_glTexImage2D,emscripten_glTexParameterf:_emscripten_glTexParameterf,emscripten_glTexParameterfv:_emscripten_glTexParameterfv,emscripten_glTexParameteri:_emscripten_glTexParameteri,emscripten_glTexParameteriv:_emscripten_glTexParameteriv,emscripten_glTexSubImage2D:_emscripten_glTexSubImage2D,emscripten_glUniform1f:_emscripten_glUniform1f,emscripten_glUniform1fv:_emscripten_glUniform1fv,emscripten_glUniform1i:_emscripten_glUniform1i,emscripten_glUniform1iv:_emscripten_glUniform1iv,emscripten_glUniform2f:_emscripten_glUniform2f,emscripten_glUniform2fv:_emscripten_glUniform2fv,emscripten_glUniform2i:_emscripten_glUniform2i,emscripten_glUniform2iv:_emscripten_glUniform2iv,emscripten_glUniform3f:_emscripten_glUniform3f,emscripten_glUniform3fv:_emscripten_glUniform3fv,emscripten_glUniform3i:_emscripten_glUniform3i,emscripten_glUniform3iv:_emscripten_glUniform3iv,emscripten_glUniform4f:_emscripten_glUniform4f,emscripten_glUniform4fv:_emscripten_glUniform4fv,emscripten_glUniform4i:_emscripten_glUniform4i,emscripten_glUniform4iv:_emscripten_glUniform4iv,emscripten_glUniformMatrix2fv:_emscripten_glUniformMatrix2fv,emscripten_glUniformMatrix3fv:_emscripten_glUniformMatrix3fv,emscripten_glUniformMatrix4fv:_emscripten_glUniformMatrix4fv,emscripten_glUseProgram:_emscripten_glUseProgram,emscripten_glValidateProgram:_emscripten_glValidateProgram,emscripten_glVertexAttrib1f:_emscripten_glVertexAttrib1f,emscripten_glVertexAttrib1fv:_emscripten_glVertexAttrib1fv,emscripten_glVertexAttrib2f:_emscripten_glVertexAttrib2f,emscripten_glVertexAttrib2fv:_emscripten_glVertexAttrib2fv,emscripten_glVertexAttrib3f:_emscripten_glVertexAttrib3f,emscripten_glVertexAttrib3fv:_emscripten_glVertexAttrib3fv,emscripten_glVertexAttrib4f:_emscripten_glVertexAttrib4f,emscripten_glVertexAttrib4fv:_emscripten_glVertexAttrib4fv,emscripten_glVertexAttribDivisor:_emscripten_glVertexAttribDivisor,emscripten_glVertexAttribDivisorANGLE:_emscripten_glVertexAttribDivisorANGLE,emscripten_glVertexAttribDivisorARB:_emscripten_glVertexAttribDivisorARB,emscripten_glVertexAttribDivisorEXT:_emscripten_glVertexAttribDivisorEXT,emscripten_glVertexAttribDivisorNV:_emscripten_glVertexAttribDivisorNV,emscripten_glVertexAttribPointer:_emscripten_glVertexAttribPointer,emscripten_glVertexPointer:_emscripten_glVertexPointer,emscripten_glViewport:_emscripten_glViewport,emscripten_has_asyncify:_emscripten_has_asyncify,emscripten_hide_mouse:_emscripten_hide_mouse,emscripten_html5_remove_all_event_listeners:_emscripten_html5_remove_all_event_listeners,emscripten_is_main_browser_thread:_emscripten_is_main_browser_thread,emscripten_is_webgl_context_lost:_emscripten_is_webgl_context_lost,emscripten_lock_orientation:_emscripten_lock_orientation,emscripten_log:_emscripten_log,emscripten_math_acos:_emscripten_math_acos,emscripten_math_acosh:_emscripten_math_acosh,emscripten_math_asin:_emscripten_math_asin,emscripten_math_asinh:_emscripten_math_asinh,emscripten_math_atan:_emscripten_math_atan,emscripten_math_atan2:_emscripten_math_atan2,emscripten_math_atanh:_emscripten_math_atanh,emscripten_math_cbrt:_emscripten_math_cbrt,emscripten_math_cos:_emscripten_math_cos,emscripten_math_cosh:_emscripten_math_cosh,emscripten_math_exp:_emscripten_math_exp,emscripten_math_expm1:_emscripten_math_expm1,emscripten_math_fmod:_emscripten_math_fmod,emscripten_math_hypot:_emscripten_math_hypot,emscripten_math_log:_emscripten_math_log,emscripten_math_log10:_emscripten_math_log10,emscripten_math_log1p:_emscripten_math_log1p,emscripten_math_log2:_emscripten_math_log2,emscripten_math_pow:_emscripten_math_pow,emscripten_math_random:_emscripten_math_random,emscripten_math_round:_emscripten_math_round,emscripten_math_sign:_emscripten_math_sign,emscripten_math_sin:_emscripten_math_sin,emscripten_math_sinh:_emscripten_math_sinh,emscripten_math_sqrt:_emscripten_math_sqrt,emscripten_math_tan:_emscripten_math_tan,emscripten_math_tanh:_emscripten_math_tanh,emscripten_memcpy_js:_emscripten_memcpy_js,emscripten_notify_memory_growth:_emscripten_notify_memory_growth,emscripten_out:_emscripten_out,emscripten_outn:_emscripten_outn,emscripten_pause_main_loop:_emscripten_pause_main_loop,emscripten_pc_get_column:_emscripten_pc_get_column,emscripten_pc_get_file:_emscripten_pc_get_file,emscripten_pc_get_function:_emscripten_pc_get_function,emscripten_pc_get_line:_emscripten_pc_get_line,emscripten_performance_now:_emscripten_performance_now,emscripten_print_double:_emscripten_print_double,emscripten_promise_all:_emscripten_promise_all,emscripten_promise_all_settled:_emscripten_promise_all_settled,emscripten_promise_any:_emscripten_promise_any,emscripten_promise_await:_emscripten_promise_await,emscripten_promise_create:_emscripten_promise_create,emscripten_promise_destroy:_emscripten_promise_destroy,emscripten_promise_race:_emscripten_promise_race,emscripten_promise_resolve:_emscripten_promise_resolve,emscripten_promise_then:_emscripten_promise_then,emscripten_random:_emscripten_random,emscripten_request_animation_frame:_emscripten_request_animation_frame,emscripten_request_animation_frame_loop:_emscripten_request_animation_frame_loop,emscripten_request_fullscreen:_emscripten_request_fullscreen,emscripten_request_fullscreen_strategy:_emscripten_request_fullscreen_strategy,emscripten_request_pointerlock:_emscripten_request_pointerlock,emscripten_resize_heap:_emscripten_resize_heap,emscripten_resume_main_loop:_emscripten_resume_main_loop,emscripten_return_address:_emscripten_return_address,emscripten_run_preload_plugins:_emscripten_run_preload_plugins,emscripten_run_preload_plugins_data:_emscripten_run_preload_plugins_data,emscripten_run_script:_emscripten_run_script,emscripten_run_script_int:_emscripten_run_script_int,emscripten_run_script_string:_emscripten_run_script_string,emscripten_runtime_keepalive_check:_emscripten_runtime_keepalive_check,emscripten_runtime_keepalive_pop:_emscripten_runtime_keepalive_pop,emscripten_runtime_keepalive_push:_emscripten_runtime_keepalive_push,emscripten_sample_gamepad_data:_emscripten_sample_gamepad_data,emscripten_set_batterychargingchange_callback_on_thread:_emscripten_set_batterychargingchange_callback_on_thread,emscripten_set_batterylevelchange_callback_on_thread:_emscripten_set_batterylevelchange_callback_on_thread,emscripten_set_beforeunload_callback_on_thread:_emscripten_set_beforeunload_callback_on_thread,emscripten_set_blur_callback_on_thread:_emscripten_set_blur_callback_on_thread,emscripten_set_canvas_element_size:_emscripten_set_canvas_element_size,emscripten_set_canvas_size:_emscripten_set_canvas_size,emscripten_set_click_callback_on_thread:_emscripten_set_click_callback_on_thread,emscripten_set_dblclick_callback_on_thread:_emscripten_set_dblclick_callback_on_thread,emscripten_set_devicemotion_callback_on_thread:_emscripten_set_devicemotion_callback_on_thread,emscripten_set_deviceorientation_callback_on_thread:_emscripten_set_deviceorientation_callback_on_thread,emscripten_set_element_css_size:_emscripten_set_element_css_size,emscripten_set_focus_callback_on_thread:_emscripten_set_focus_callback_on_thread,emscripten_set_focusin_callback_on_thread:_emscripten_set_focusin_callback_on_thread,emscripten_set_focusout_callback_on_thread:_emscripten_set_focusout_callback_on_thread,emscripten_set_fullscreenchange_callback_on_thread:_emscripten_set_fullscreenchange_callback_on_thread,emscripten_set_gamepadconnected_callback_on_thread:_emscripten_set_gamepadconnected_callback_on_thread,emscripten_set_gamepaddisconnected_callback_on_thread:_emscripten_set_gamepaddisconnected_callback_on_thread,emscripten_set_immediate:_emscripten_set_immediate,emscripten_set_immediate_loop:_emscripten_set_immediate_loop,emscripten_set_interval:_emscripten_set_interval,emscripten_set_keydown_callback_on_thread:_emscripten_set_keydown_callback_on_thread,emscripten_set_keypress_callback_on_thread:_emscripten_set_keypress_callback_on_thread,emscripten_set_keyup_callback_on_thread:_emscripten_set_keyup_callback_on_thread,emscripten_set_main_loop:_emscripten_set_main_loop,emscripten_set_main_loop_arg:_emscripten_set_main_loop_arg,emscripten_set_main_loop_expected_blockers:_emscripten_set_main_loop_expected_blockers,emscripten_set_main_loop_timing:_emscripten_set_main_loop_timing,emscripten_set_mousedown_callback_on_thread:_emscripten_set_mousedown_callback_on_thread,emscripten_set_mouseenter_callback_on_thread:_emscripten_set_mouseenter_callback_on_thread,emscripten_set_mouseleave_callback_on_thread:_emscripten_set_mouseleave_callback_on_thread,emscripten_set_mousemove_callback_on_thread:_emscripten_set_mousemove_callback_on_thread,emscripten_set_mouseout_callback_on_thread:_emscripten_set_mouseout_callback_on_thread,emscripten_set_mouseover_callback_on_thread:_emscripten_set_mouseover_callback_on_thread,emscripten_set_mouseup_callback_on_thread:_emscripten_set_mouseup_callback_on_thread,emscripten_set_orientationchange_callback_on_thread:_emscripten_set_orientationchange_callback_on_thread,emscripten_set_pointerlockchange_callback_on_thread:_emscripten_set_pointerlockchange_callback_on_thread,emscripten_set_pointerlockerror_callback_on_thread:_emscripten_set_pointerlockerror_callback_on_thread,emscripten_set_resize_callback_on_thread:_emscripten_set_resize_callback_on_thread,emscripten_set_scroll_callback_on_thread:_emscripten_set_scroll_callback_on_thread,emscripten_set_socket_close_callback:_emscripten_set_socket_close_callback,emscripten_set_socket_connection_callback:_emscripten_set_socket_connection_callback,emscripten_set_socket_error_callback:_emscripten_set_socket_error_callback,emscripten_set_socket_listen_callback:_emscripten_set_socket_listen_callback,emscripten_set_socket_message_callback:_emscripten_set_socket_message_callback,emscripten_set_socket_open_callback:_emscripten_set_socket_open_callback,emscripten_set_timeout:_emscripten_set_timeout,emscripten_set_timeout_loop:_emscripten_set_timeout_loop,emscripten_set_touchcancel_callback_on_thread:_emscripten_set_touchcancel_callback_on_thread,emscripten_set_touchend_callback_on_thread:_emscripten_set_touchend_callback_on_thread,emscripten_set_touchmove_callback_on_thread:_emscripten_set_touchmove_callback_on_thread,emscripten_set_touchstart_callback_on_thread:_emscripten_set_touchstart_callback_on_thread,emscripten_set_visibilitychange_callback_on_thread:_emscripten_set_visibilitychange_callback_on_thread,emscripten_set_webglcontextlost_callback_on_thread:_emscripten_set_webglcontextlost_callback_on_thread,emscripten_set_webglcontextrestored_callback_on_thread:_emscripten_set_webglcontextrestored_callback_on_thread,emscripten_set_wheel_callback_on_thread:_emscripten_set_wheel_callback_on_thread,emscripten_set_window_title:_emscripten_set_window_title,emscripten_stack_snapshot:_emscripten_stack_snapshot,emscripten_stack_unwind_buffer:_emscripten_stack_unwind_buffer,emscripten_supports_offscreencanvas:_emscripten_supports_offscreencanvas,emscripten_throw_number:_emscripten_throw_number,emscripten_throw_string:_emscripten_throw_string,emscripten_unlock_orientation:_emscripten_unlock_orientation,emscripten_unwind_to_js_event_loop:_emscripten_unwind_to_js_event_loop,emscripten_vibrate:_emscripten_vibrate,emscripten_vibrate_pattern:_emscripten_vibrate_pattern,emscripten_webgl_commit_frame:_emscripten_webgl_commit_frame,emscripten_webgl_create_context:_emscripten_webgl_create_context,emscripten_webgl_destroy_context:_emscripten_webgl_destroy_context,emscripten_webgl_do_commit_frame:_emscripten_webgl_do_commit_frame,emscripten_webgl_do_create_context:_emscripten_webgl_do_create_context,emscripten_webgl_do_get_current_context:_emscripten_webgl_do_get_current_context,emscripten_webgl_enable_ANGLE_instanced_arrays:_emscripten_webgl_enable_ANGLE_instanced_arrays,emscripten_webgl_enable_OES_vertex_array_object:_emscripten_webgl_enable_OES_vertex_array_object,emscripten_webgl_enable_WEBGL_draw_buffers:_emscripten_webgl_enable_WEBGL_draw_buffers,emscripten_webgl_enable_WEBGL_multi_draw:_emscripten_webgl_enable_WEBGL_multi_draw,emscripten_webgl_enable_extension:_emscripten_webgl_enable_extension,emscripten_webgl_get_context_attributes:_emscripten_webgl_get_context_attributes,emscripten_webgl_get_current_context:_emscripten_webgl_get_current_context,emscripten_webgl_get_drawing_buffer_size:_emscripten_webgl_get_drawing_buffer_size,emscripten_webgl_get_parameter_d:_emscripten_webgl_get_parameter_d,emscripten_webgl_get_parameter_i64v:_emscripten_webgl_get_parameter_i64v,emscripten_webgl_get_parameter_o:_emscripten_webgl_get_parameter_o,emscripten_webgl_get_parameter_utf8:_emscripten_webgl_get_parameter_utf8,emscripten_webgl_get_parameter_v:_emscripten_webgl_get_parameter_v,emscripten_webgl_get_program_info_log_utf8:_emscripten_webgl_get_program_info_log_utf8,emscripten_webgl_get_program_parameter_d:_emscripten_webgl_get_program_parameter_d,emscripten_webgl_get_shader_info_log_utf8:_emscripten_webgl_get_shader_info_log_utf8,emscripten_webgl_get_shader_parameter_d:_emscripten_webgl_get_shader_parameter_d,emscripten_webgl_get_shader_source_utf8:_emscripten_webgl_get_shader_source_utf8,emscripten_webgl_get_supported_extensions:_emscripten_webgl_get_supported_extensions,emscripten_webgl_get_uniform_d:_emscripten_webgl_get_uniform_d,emscripten_webgl_get_uniform_v:_emscripten_webgl_get_uniform_v,emscripten_webgl_get_vertex_attrib_d:_emscripten_webgl_get_vertex_attrib_d,emscripten_webgl_get_vertex_attrib_o:_emscripten_webgl_get_vertex_attrib_o,emscripten_webgl_get_vertex_attrib_v:_emscripten_webgl_get_vertex_attrib_v,emscripten_webgl_init_context_attributes:_emscripten_webgl_init_context_attributes,emscripten_webgl_make_context_current:_emscripten_webgl_make_context_current,emscripten_websocket_close:_emscripten_websocket_close,emscripten_websocket_deinitialize:_emscripten_websocket_deinitialize,emscripten_websocket_delete:_emscripten_websocket_delete,emscripten_websocket_get_buffered_amount:_emscripten_websocket_get_buffered_amount,emscripten_websocket_get_extensions:_emscripten_websocket_get_extensions,emscripten_websocket_get_extensions_length:_emscripten_websocket_get_extensions_length,emscripten_websocket_get_protocol:_emscripten_websocket_get_protocol,emscripten_websocket_get_protocol_length:_emscripten_websocket_get_protocol_length,emscripten_websocket_get_ready_state:_emscripten_websocket_get_ready_state,emscripten_websocket_get_url:_emscripten_websocket_get_url,emscripten_websocket_get_url_length:_emscripten_websocket_get_url_length,emscripten_websocket_is_supported:_emscripten_websocket_is_supported,emscripten_websocket_new:_emscripten_websocket_new,emscripten_websocket_send_binary:_emscripten_websocket_send_binary,emscripten_websocket_send_utf8_text:_emscripten_websocket_send_utf8_text,emscripten_websocket_set_onclose_callback_on_thread:_emscripten_websocket_set_onclose_callback_on_thread,emscripten_websocket_set_onerror_callback_on_thread:_emscripten_websocket_set_onerror_callback_on_thread,emscripten_websocket_set_onmessage_callback_on_thread:_emscripten_websocket_set_onmessage_callback_on_thread,emscripten_websocket_set_onopen_callback_on_thread:_emscripten_websocket_set_onopen_callback_on_thread,endprotoent:_endprotoent,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fail_test:fail_test,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_pread:_fd_pread,fd_pwrite:_fd_pwrite,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,ffi_call_js:ffi_call_js,ffi_closure_alloc_js:ffi_closure_alloc_js,ffi_closure_free_js:ffi_closure_free_js,ffi_prep_closure_loc_js:ffi_prep_closure_loc_js,gc_register_proxies:gc_register_proxies,get_async_js_call_done_callback:get_async_js_call_done_callback,get_length_helper:get_length_helper,get_length_string:get_length_string,getaddrinfo:_getaddrinfo,getentropy:_getentropy,gethostbyaddr:_gethostbyaddr,gethostbyname:_gethostbyname,gethostbyname_r:_gethostbyname_r,getnameinfo:_getnameinfo,getprotobyname:_getprotobyname,getprotobynumber:_getprotobynumber,getprotoent:_getprotoent,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBegin:_glBegin,glBeginQueryEXT:_glBeginQueryEXT,glBindAttribLocation:_glBindAttribLocation,glBindBuffer:_glBindBuffer,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindTexture:_glBindTexture,glBindVertexArray:_glBindVertexArray,glBindVertexArrayOES:_glBindVertexArrayOES,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendEquationSeparate:_glBlendEquationSeparate,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearColor:_glClearColor,glClearDepth:_glClearDepth,glClearDepthf:_glClearDepthf,glClearStencil:_glClearStencil,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexSubImage2D:_glCompressedTexSubImage2D,glCopyTexImage2D:_glCopyTexImage2D,glCopyTexSubImage2D:_glCopyTexSubImage2D,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueriesEXT:_glDeleteQueriesEXT,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteShader:_glDeleteShader,glDeleteTextures:_glDeleteTextures,glDeleteVertexArrays:_glDeleteVertexArrays,glDeleteVertexArraysOES:_glDeleteVertexArraysOES,glDepthFunc:_glDepthFunc,glDepthMask:_glDepthMask,glDepthRange:_glDepthRange,glDepthRangef:_glDepthRangef,glDetachShader:_glDetachShader,glDisable:_glDisable,glDisableVertexAttribArray:_glDisableVertexAttribArray,glDrawArrays:_glDrawArrays,glDrawArraysInstanced:_glDrawArraysInstanced,glDrawArraysInstancedANGLE:_glDrawArraysInstancedANGLE,glDrawArraysInstancedARB:_glDrawArraysInstancedARB,glDrawArraysInstancedEXT:_glDrawArraysInstancedEXT,glDrawArraysInstancedNV:_glDrawArraysInstancedNV,glDrawBuffers:_glDrawBuffers,glDrawBuffersEXT:_glDrawBuffersEXT,glDrawBuffersWEBGL:_glDrawBuffersWEBGL,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glDrawElementsInstancedANGLE:_glDrawElementsInstancedANGLE,glDrawElementsInstancedARB:_glDrawElementsInstancedARB,glDrawElementsInstancedEXT:_glDrawElementsInstancedEXT,glDrawElementsInstancedNV:_glDrawElementsInstancedNV,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndQueryEXT:_glEndQueryEXT,glFinish:_glFinish,glFlush:_glFlush,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueriesEXT:_glGenQueriesEXT,glGenRenderbuffers:_glGenRenderbuffers,glGenTextures:_glGenTextures,glGenVertexArrays:_glGenVertexArrays,glGenVertexArraysOES:_glGenVertexArraysOES,glGenerateMipmap:_glGenerateMipmap,glGetActiveAttrib:_glGetActiveAttrib,glGetActiveUniform:_glGetActiveUniform,glGetAttachedShaders:_glGetAttachedShaders,glGetAttribLocation:_glGetAttribLocation,glGetBooleanv:_glGetBooleanv,glGetBufferParameteriv:_glGetBufferParameteriv,glGetError:_glGetError,glGetFloatv:_glGetFloatv,glGetFramebufferAttachmentParameteriv:_glGetFramebufferAttachmentParameteriv,glGetIntegerv:_glGetIntegerv,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetQueryObjecti64vEXT:_glGetQueryObjecti64vEXT,glGetQueryObjectivEXT:_glGetQueryObjectivEXT,glGetQueryObjectui64vEXT:_glGetQueryObjectui64vEXT,glGetQueryObjectuivEXT:_glGetQueryObjectuivEXT,glGetQueryivEXT:_glGetQueryivEXT,glGetRenderbufferParameteriv:_glGetRenderbufferParameteriv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderPrecisionFormat:_glGetShaderPrecisionFormat,glGetShaderSource:_glGetShaderSource,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetTexParameterfv:_glGetTexParameterfv,glGetTexParameteriv:_glGetTexParameteriv,glGetUniformLocation:_glGetUniformLocation,glGetUniformfv:_glGetUniformfv,glGetUniformiv:_glGetUniformiv,glGetVertexAttribPointerv:_glGetVertexAttribPointerv,glGetVertexAttribfv:_glGetVertexAttribfv,glGetVertexAttribiv:_glGetVertexAttribiv,glHint:_glHint,glIsBuffer:_glIsBuffer,glIsEnabled:_glIsEnabled,glIsFramebuffer:_glIsFramebuffer,glIsProgram:_glIsProgram,glIsQueryEXT:_glIsQueryEXT,glIsRenderbuffer:_glIsRenderbuffer,glIsShader:_glIsShader,glIsTexture:_glIsTexture,glIsVertexArray:_glIsVertexArray,glIsVertexArrayOES:_glIsVertexArrayOES,glLineWidth:_glLineWidth,glLinkProgram:_glLinkProgram,glLoadIdentity:_glLoadIdentity,glMatrixMode:_glMatrixMode,glMultiDrawArrays:_glMultiDrawArrays,glMultiDrawArraysANGLE:_glMultiDrawArraysANGLE,glMultiDrawArraysInstancedANGLE:_glMultiDrawArraysInstancedANGLE,glMultiDrawArraysInstancedWEBGL:_glMultiDrawArraysInstancedWEBGL,glMultiDrawArraysWEBGL:_glMultiDrawArraysWEBGL,glMultiDrawElements:_glMultiDrawElements,glMultiDrawElementsANGLE:_glMultiDrawElementsANGLE,glMultiDrawElementsInstancedANGLE:_glMultiDrawElementsInstancedANGLE,glMultiDrawElementsInstancedWEBGL:_glMultiDrawElementsInstancedWEBGL,glMultiDrawElementsWEBGL:_glMultiDrawElementsWEBGL,glPixelStorei:_glPixelStorei,glPolygonOffset:_glPolygonOffset,glQueryCounterEXT:_glQueryCounterEXT,glReadPixels:_glReadPixels,glReleaseShaderCompiler:_glReleaseShaderCompiler,glRenderbufferStorage:_glRenderbufferStorage,glSampleCoverage:_glSampleCoverage,glScissor:_glScissor,glShaderBinary:_glShaderBinary,glShaderSource:_glShaderSource,glStencilFunc:_glStencilFunc,glStencilFuncSeparate:_glStencilFuncSeparate,glStencilMask:_glStencilMask,glStencilMaskSeparate:_glStencilMaskSeparate,glStencilOp:_glStencilOp,glStencilOpSeparate:_glStencilOpSeparate,glTexImage2D:_glTexImage2D,glTexParameterf:_glTexParameterf,glTexParameterfv:_glTexParameterfv,glTexParameteri:_glTexParameteri,glTexParameteriv:_glTexParameteriv,glTexSubImage2D:_glTexSubImage2D,glUniform1f:_glUniform1f,glUniform1fv:_glUniform1fv,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2i:_glUniform2i,glUniform2iv:_glUniform2iv,glUniform3f:_glUniform3f,glUniform3fv:_glUniform3fv,glUniform3i:_glUniform3i,glUniform3iv:_glUniform3iv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniform4i:_glUniform4i,glUniform4iv:_glUniform4iv,glUniformMatrix2fv:_glUniformMatrix2fv,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUseProgram:_glUseProgram,glValidateProgram:_glValidateProgram,glVertexAttrib1f:_glVertexAttrib1f,glVertexAttrib1fv:_glVertexAttrib1fv,glVertexAttrib2f:_glVertexAttrib2f,glVertexAttrib2fv:_glVertexAttrib2fv,glVertexAttrib3f:_glVertexAttrib3f,glVertexAttrib3fv:_glVertexAttrib3fv,glVertexAttrib4f:_glVertexAttrib4f,glVertexAttrib4fv:_glVertexAttrib4fv,glVertexAttribDivisor:_glVertexAttribDivisor,glVertexAttribDivisorANGLE:_glVertexAttribDivisorANGLE,glVertexAttribDivisorARB:_glVertexAttribDivisorARB,glVertexAttribDivisorEXT:_glVertexAttribDivisorEXT,glVertexAttribDivisorNV:_glVertexAttribDivisorNV,glVertexAttribPointer:_glVertexAttribPointer,glVertexPointer:_glVertexPointer,glViewport:_glViewport,handle_next_result_js:handle_next_result_js,hiwire_invalid_ref:hiwire_invalid_ref,invoke_diii:invoke_diii,invoke_fiii:invoke_fiii,invoke_i:invoke_i,invoke_ii:invoke_ii,invoke_iii:invoke_iii,invoke_iiii:invoke_iiii,invoke_iiiii:invoke_iiiii,invoke_iiiiid:invoke_iiiiid,invoke_iiiiii:invoke_iiiiii,invoke_iiiiiii:invoke_iiiiiii,invoke_iiiiiiii:invoke_iiiiiiii,invoke_iiiiiiiiiii:invoke_iiiiiiiiiii,invoke_iiiiiiiiiiii:invoke_iiiiiiiiiiii,invoke_iiiiiiiiiiiii:invoke_iiiiiiiiiiiii,invoke_iiiiij:invoke_iiiiij,invoke_iiiiijj:invoke_iiiiijj,invoke_j:invoke_j,invoke_ji:invoke_ji,invoke_jii:invoke_jii,invoke_jiii:invoke_jiii,invoke_jiiii:invoke_jiiii,invoke_v:invoke_v,invoke_vi:invoke_vi,invoke_vii:invoke_vii,invoke_viid:invoke_viid,invoke_viif:invoke_viif,invoke_viii:invoke_viii,invoke_viiidi:invoke_viiidi,invoke_viiifi:invoke_viiifi,invoke_viiii:invoke_viiii,invoke_viiiii:invoke_viiiii,invoke_viiiiii:invoke_viiiiii,invoke_viiiiiii:invoke_viiiiiii,invoke_viiiiiiiiii:invoke_viiiiiiiiii,invoke_viiiiiiiiiiiiiii:invoke_viiiiiiiiiiiiiii,invoke_viijii:invoke_viijii,invoke_viijj:invoke_viijj,is_comlink_proxy:is_comlink_proxy,js2python_convert:js2python_convert,js2python_immutable_js:js2python_immutable_js,js2python_init:js2python_init,js2python_js:js2python_js,jslib_init_buffers_js:jslib_init_buffers_js,jslib_init_js:jslib_init_js,llvm_eh_typeid_for:_llvm_eh_typeid_for,memory:wasmMemory,new_error:new_error,proc_exit:_proc_exit,proxy_cache_get:proxy_cache_get,proxy_cache_set:proxy_cache_set,pyodide_js_init:pyodide_js_init,pyproxy_AsPyObject:pyproxy_AsPyObject,pyproxy_Check:pyproxy_Check,pyproxy_new:pyproxy_new,pyproxy_new_ex:pyproxy_new_ex,python2js__default_converter_js:python2js__default_converter_js,python2js_buffer_init:python2js_buffer_init,python2js_custom__create_jscontext:python2js_custom__create_jscontext,random_get:_random_get,raw_call_js:raw_call_js,setNetworkCallback:_setNetworkCallback,set_pyodide_module:set_pyodide_module,setprotoent:_setprotoent,strftime:_strftime,strftime_l:_strftime_l,strptime:_strptime,strptime_l:_strptime_l,system:_system,throw_no_gil:throw_no_gil,wrap_async_generator:wrap_async_generator,wrap_generator:wrap_generator};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["__wasm_call_ctors"])();var ___wasm_apply_data_relocs=Module["___wasm_apply_data_relocs"]=()=>(___wasm_apply_data_relocs=Module["___wasm_apply_data_relocs"]=wasmExports["__wasm_apply_data_relocs"])();var _set_method_docstring=Module["_set_method_docstring"]=(a0,a1)=>(_set_method_docstring=Module["_set_method_docstring"]=wasmExports["set_method_docstring"])(a0,a1);var _PyObject_GetAttrString=Module["_PyObject_GetAttrString"]=(a0,a1)=>(_PyObject_GetAttrString=Module["_PyObject_GetAttrString"]=wasmExports["PyObject_GetAttrString"])(a0,a1);var __PyUnicode_FromId=Module["__PyUnicode_FromId"]=a0=>(__PyUnicode_FromId=Module["__PyUnicode_FromId"]=wasmExports["_PyUnicode_FromId"])(a0);var _PyObject_VectorcallMethod=Module["_PyObject_VectorcallMethod"]=(a0,a1,a2,a3)=>(_PyObject_VectorcallMethod=Module["_PyObject_VectorcallMethod"]=wasmExports["PyObject_VectorcallMethod"])(a0,a1,a2,a3);var _PyUnicode_AsUTF8AndSize=Module["_PyUnicode_AsUTF8AndSize"]=(a0,a1)=>(_PyUnicode_AsUTF8AndSize=Module["_PyUnicode_AsUTF8AndSize"]=wasmExports["PyUnicode_AsUTF8AndSize"])(a0,a1);var _malloc=a0=>(_malloc=wasmExports["malloc"])(a0);var _memcpy=(a0,a1,a2)=>(_memcpy=wasmExports["memcpy"])(a0,a1,a2);var __Py_Dealloc=Module["__Py_Dealloc"]=a0=>(__Py_Dealloc=Module["__Py_Dealloc"]=wasmExports["_Py_Dealloc"])(a0);var _PyErr_Format=Module["_PyErr_Format"]=(a0,a1,a2)=>(_PyErr_Format=Module["_PyErr_Format"]=wasmExports["PyErr_Format"])(a0,a1,a2);var _add_methods_and_set_docstrings=Module["_add_methods_and_set_docstrings"]=(a0,a1,a2)=>(_add_methods_and_set_docstrings=Module["_add_methods_and_set_docstrings"]=wasmExports["add_methods_and_set_docstrings"])(a0,a1,a2);var _PyModule_AddFunctions=Module["_PyModule_AddFunctions"]=(a0,a1)=>(_PyModule_AddFunctions=Module["_PyModule_AddFunctions"]=wasmExports["PyModule_AddFunctions"])(a0,a1);var _docstring_init=Module["_docstring_init"]=()=>(_docstring_init=Module["_docstring_init"]=wasmExports["docstring_init"])();var _PyImport_ImportModule=Module["_PyImport_ImportModule"]=a0=>(_PyImport_ImportModule=Module["_PyImport_ImportModule"]=wasmExports["PyImport_ImportModule"])(a0);var _dump_traceback=Module["_dump_traceback"]=()=>(_dump_traceback=Module["_dump_traceback"]=wasmExports["dump_traceback"])();var _fileno=a0=>(_fileno=wasmExports["fileno"])(a0);var _PyGILState_GetThisThreadState=Module["_PyGILState_GetThisThreadState"]=()=>(_PyGILState_GetThisThreadState=Module["_PyGILState_GetThisThreadState"]=wasmExports["PyGILState_GetThisThreadState"])();var __Py_DumpTraceback=Module["__Py_DumpTraceback"]=(a0,a1)=>(__Py_DumpTraceback=Module["__Py_DumpTraceback"]=wasmExports["_Py_DumpTraceback"])(a0,a1);var _set_error=Module["_set_error"]=a0=>(_set_error=Module["_set_error"]=wasmExports["set_error"])(a0);var _PyErr_SetObject=Module["_PyErr_SetObject"]=(a0,a1)=>(_PyErr_SetObject=Module["_PyErr_SetObject"]=wasmExports["PyErr_SetObject"])(a0,a1);var _restore_sys_last_exception=Module["_restore_sys_last_exception"]=a0=>(_restore_sys_last_exception=Module["_restore_sys_last_exception"]=wasmExports["restore_sys_last_exception"])(a0);var _PySys_GetObject=Module["_PySys_GetObject"]=a0=>(_PySys_GetObject=Module["_PySys_GetObject"]=wasmExports["PySys_GetObject"])(a0);var _PyErr_Restore=Module["_PyErr_Restore"]=(a0,a1,a2)=>(_PyErr_Restore=Module["_PyErr_Restore"]=wasmExports["PyErr_Restore"])(a0,a1,a2);var _wrap_exception=Module["_wrap_exception"]=()=>(_wrap_exception=Module["_wrap_exception"]=wasmExports["wrap_exception"])();var _PyErr_Fetch=Module["_PyErr_Fetch"]=(a0,a1,a2)=>(_PyErr_Fetch=Module["_PyErr_Fetch"]=wasmExports["PyErr_Fetch"])(a0,a1,a2);var _PyErr_NormalizeException=Module["_PyErr_NormalizeException"]=(a0,a1,a2)=>(_PyErr_NormalizeException=Module["_PyErr_NormalizeException"]=wasmExports["PyErr_NormalizeException"])(a0,a1,a2);var _PyErr_SetString=Module["_PyErr_SetString"]=(a0,a1)=>(_PyErr_SetString=Module["_PyErr_SetString"]=wasmExports["PyErr_SetString"])(a0,a1);var _PyException_SetTraceback=Module["_PyException_SetTraceback"]=(a0,a1)=>(_PyException_SetTraceback=Module["_PyException_SetTraceback"]=wasmExports["PyException_SetTraceback"])(a0,a1);var _PySys_SetObject=Module["_PySys_SetObject"]=(a0,a1)=>(_PySys_SetObject=Module["_PySys_SetObject"]=wasmExports["PySys_SetObject"])(a0,a1);var __PyObject_GetAttrId=Module["__PyObject_GetAttrId"]=(a0,a1)=>(__PyObject_GetAttrId=Module["__PyObject_GetAttrId"]=wasmExports["_PyObject_GetAttrId"])(a0,a1);var _PyUnicode_AsUTF8=Module["_PyUnicode_AsUTF8"]=a0=>(_PyUnicode_AsUTF8=Module["_PyUnicode_AsUTF8"]=wasmExports["PyUnicode_AsUTF8"])(a0);var __PyObject_CallMethodIdObjArgs=Module["__PyObject_CallMethodIdObjArgs"]=(a0,a1,a2)=>(__PyObject_CallMethodIdObjArgs=Module["__PyObject_CallMethodIdObjArgs"]=wasmExports["_PyObject_CallMethodIdObjArgs"])(a0,a1,a2);var _PyUnicode_New=Module["_PyUnicode_New"]=(a0,a1)=>(_PyUnicode_New=Module["_PyUnicode_New"]=wasmExports["PyUnicode_New"])(a0,a1);var _PyUnicode_Join=Module["_PyUnicode_Join"]=(a0,a1)=>(_PyUnicode_Join=Module["_PyUnicode_Join"]=wasmExports["PyUnicode_Join"])(a0,a1);var _JsvNull_Check=Module["_JsvNull_Check"]=a0=>(_JsvNull_Check=Module["_JsvNull_Check"]=wasmExports["JsvNull_Check"])(a0);var _PySys_WriteStderr=Module["_PySys_WriteStderr"]=(a0,a1)=>(_PySys_WriteStderr=Module["_PySys_WriteStderr"]=wasmExports["PySys_WriteStderr"])(a0,a1);var _PyErr_Print=Module["_PyErr_Print"]=()=>(_PyErr_Print=Module["_PyErr_Print"]=wasmExports["PyErr_Print"])();var _PyErr_Display=Module["_PyErr_Display"]=(a0,a1,a2)=>(_PyErr_Display=Module["_PyErr_Display"]=wasmExports["PyErr_Display"])(a0,a1,a2);var _pythonexc2js=Module["_pythonexc2js"]=()=>(_pythonexc2js=Module["_pythonexc2js"]=wasmExports["pythonexc2js"])();var _trigger_fatal_error=Module["_trigger_fatal_error"]=(a0,a1)=>(_trigger_fatal_error=Module["_trigger_fatal_error"]=wasmExports["trigger_fatal_error"])(a0,a1);var _raw_call=Module["_raw_call"]=(a0,a1)=>(_raw_call=Module["_raw_call"]=wasmExports["raw_call"])(a0,a1);var _JsProxy_Val=Module["_JsProxy_Val"]=a0=>(_JsProxy_Val=Module["_JsProxy_Val"]=wasmExports["JsProxy_Val"])(a0);var _error_handling_init=Module["_error_handling_init"]=a0=>(_error_handling_init=Module["_error_handling_init"]=wasmExports["error_handling_init"])(a0);var _hiwire_new_deduplicate=Module["_hiwire_new_deduplicate"]=a0=>(_hiwire_new_deduplicate=Module["_hiwire_new_deduplicate"]=wasmExports["hiwire_new_deduplicate"])(a0);var _hiwire_new=Module["_hiwire_new"]=a0=>(_hiwire_new=Module["_hiwire_new"]=wasmExports["hiwire_new"])(a0);var _hiwire_incref_deduplicate=Module["_hiwire_incref_deduplicate"]=a0=>(_hiwire_incref_deduplicate=Module["_hiwire_incref_deduplicate"]=wasmExports["hiwire_incref_deduplicate"])(a0);var _hiwire_decref=Module["_hiwire_decref"]=a0=>(_hiwire_decref=Module["_hiwire_decref"]=wasmExports["hiwire_decref"])(a0);var _PyInit__pyodide_core=Module["_PyInit__pyodide_core"]=()=>(_PyInit__pyodide_core=Module["_PyInit__pyodide_core"]=wasmExports["PyInit__pyodide_core"])();var _PyErr_Occurred=Module["_PyErr_Occurred"]=()=>(_PyErr_Occurred=Module["_PyErr_Occurred"]=wasmExports["PyErr_Occurred"])();var __PyErr_FormatFromCause=Module["__PyErr_FormatFromCause"]=(a0,a1,a2)=>(__PyErr_FormatFromCause=Module["__PyErr_FormatFromCause"]=wasmExports["_PyErr_FormatFromCause"])(a0,a1,a2);var _PyModule_Create2=Module["_PyModule_Create2"]=(a0,a1)=>(_PyModule_Create2=Module["_PyModule_Create2"]=wasmExports["PyModule_Create2"])(a0,a1);var _jslib_init=Module["_jslib_init"]=()=>(_jslib_init=Module["_jslib_init"]=wasmExports["jslib_init"])();var _python2js_init=Module["_python2js_init"]=a0=>(_python2js_init=Module["_python2js_init"]=wasmExports["python2js_init"])(a0);var _JsProxy_init=Module["_JsProxy_init"]=a0=>(_JsProxy_init=Module["_JsProxy_init"]=wasmExports["JsProxy_init"])(a0);var _pyproxy_init=Module["_pyproxy_init"]=a0=>(_pyproxy_init=Module["_pyproxy_init"]=wasmExports["pyproxy_init"])(a0);var _PyImport_GetModuleDict=Module["_PyImport_GetModuleDict"]=()=>(_PyImport_GetModuleDict=Module["_PyImport_GetModuleDict"]=wasmExports["PyImport_GetModuleDict"])();var _PyDict_SetItemString=Module["_PyDict_SetItemString"]=(a0,a1,a2)=>(_PyDict_SetItemString=Module["_PyDict_SetItemString"]=wasmExports["PyDict_SetItemString"])(a0,a1,a2);var _python2js=Module["_python2js"]=a0=>(_python2js=Module["_python2js"]=wasmExports["python2js"])(a0);var _pyodide_export=Module["_pyodide_export"]=()=>(_pyodide_export=Module["_pyodide_export"]=wasmExports["pyodide_export"])();var _py_version_major=Module["_py_version_major"]=()=>(_py_version_major=Module["_py_version_major"]=wasmExports["py_version_major"])();var _set_new_cframe=Module["_set_new_cframe"]=a0=>(_set_new_cframe=Module["_set_new_cframe"]=wasmExports["set_new_cframe"])(a0);var _PyUnicode_Data=Module["_PyUnicode_Data"]=a0=>(_PyUnicode_Data=Module["_PyUnicode_Data"]=wasmExports["PyUnicode_Data"])(a0);var __js2python_none=Module["__js2python_none"]=()=>(__js2python_none=Module["__js2python_none"]=wasmExports["_js2python_none"])();var __js2python_true=Module["__js2python_true"]=()=>(__js2python_true=Module["__js2python_true"]=wasmExports["_js2python_true"])();var __js2python_false=Module["__js2python_false"]=()=>(__js2python_false=Module["__js2python_false"]=wasmExports["_js2python_false"])();var __js2python_pyproxy=Module["__js2python_pyproxy"]=a0=>(__js2python_pyproxy=Module["__js2python_pyproxy"]=wasmExports["_js2python_pyproxy"])(a0);var _js2python_immutable=Module["_js2python_immutable"]=a0=>(_js2python_immutable=Module["_js2python_immutable"]=wasmExports["js2python_immutable"])(a0);var _js2python=Module["_js2python"]=a0=>(_js2python=Module["_js2python"]=wasmExports["js2python"])(a0);var _JsProxy_getflags=Module["_JsProxy_getflags"]=a0=>(_JsProxy_getflags=Module["_JsProxy_getflags"]=wasmExports["JsProxy_getflags"])(a0);var _PyLong_AsLong=Module["_PyLong_AsLong"]=a0=>(_PyLong_AsLong=Module["_PyLong_AsLong"]=wasmExports["PyLong_AsLong"])(a0);var _handle_next_result=Module["_handle_next_result"]=(a0,a1,a2)=>(_handle_next_result=Module["_handle_next_result"]=wasmExports["handle_next_result"])(a0,a1,a2);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["free"])(a0);var _JsProxy_create_with_type=Module["_JsProxy_create_with_type"]=(a0,a1,a2)=>(_JsProxy_create_with_type=Module["_JsProxy_create_with_type"]=wasmExports["JsProxy_create_with_type"])(a0,a1,a2);var _JsProxy_create_objmap=Module["_JsProxy_create_objmap"]=(a0,a1)=>(_JsProxy_create_objmap=Module["_JsProxy_create_objmap"]=wasmExports["JsProxy_create_objmap"])(a0,a1);var _JsProxy_am_send=Module["_JsProxy_am_send"]=(a0,a1,a2)=>(_JsProxy_am_send=Module["_JsProxy_am_send"]=wasmExports["JsProxy_am_send"])(a0,a1,a2);var _hiwire_get=Module["_hiwire_get"]=a0=>(_hiwire_get=Module["_hiwire_get"]=wasmExports["hiwire_get"])(a0);var _python2js_track_proxies=Module["_python2js_track_proxies"]=(a0,a1,a2)=>(_python2js_track_proxies=Module["_python2js_track_proxies"]=wasmExports["python2js_track_proxies"])(a0,a1,a2);var _JsvObject_CallMethodId_OneArg=Module["_JsvObject_CallMethodId_OneArg"]=(a0,a1,a2)=>(_JsvObject_CallMethodId_OneArg=Module["_JsvObject_CallMethodId_OneArg"]=wasmExports["JsvObject_CallMethodId_OneArg"])(a0,a1,a2);var _JsProxy_IterNext=Module["_JsProxy_IterNext"]=a0=>(_JsProxy_IterNext=Module["_JsProxy_IterNext"]=wasmExports["JsProxy_IterNext"])(a0);var __PyGen_SetStopIterationValue=Module["__PyGen_SetStopIterationValue"]=a0=>(__PyGen_SetStopIterationValue=Module["__PyGen_SetStopIterationValue"]=wasmExports["_PyGen_SetStopIterationValue"])(a0);var _JsGenerator_send=Module["_JsGenerator_send"]=(a0,a1)=>(_JsGenerator_send=Module["_JsGenerator_send"]=wasmExports["JsGenerator_send"])(a0,a1);var _PyErr_SetNone=Module["_PyErr_SetNone"]=a0=>(_PyErr_SetNone=Module["_PyErr_SetNone"]=wasmExports["PyErr_SetNone"])(a0);var _JsException_js_error_getter=Module["_JsException_js_error_getter"]=(a0,a1)=>(_JsException_js_error_getter=Module["_JsException_js_error_getter"]=wasmExports["JsException_js_error_getter"])(a0,a1);var _process_throw_args=Module["_process_throw_args"]=(a0,a1,a2,a3)=>(_process_throw_args=Module["_process_throw_args"]=wasmExports["process_throw_args"])(a0,a1,a2,a3);var _PyException_GetTraceback=Module["_PyException_GetTraceback"]=a0=>(_PyException_GetTraceback=Module["_PyException_GetTraceback"]=wasmExports["PyException_GetTraceback"])(a0);var _PyErr_ExceptionMatches=Module["_PyErr_ExceptionMatches"]=a0=>(_PyErr_ExceptionMatches=Module["_PyErr_ExceptionMatches"]=wasmExports["PyErr_ExceptionMatches"])(a0);var _PyErr_Clear=Module["_PyErr_Clear"]=()=>(_PyErr_Clear=Module["_PyErr_Clear"]=wasmExports["PyErr_Clear"])();var _JsvObject_CallMethodId_NoArgs=Module["_JsvObject_CallMethodId_NoArgs"]=(a0,a1)=>(_JsvObject_CallMethodId_NoArgs=Module["_JsvObject_CallMethodId_NoArgs"]=wasmExports["JsvObject_CallMethodId_NoArgs"])(a0,a1);var __agen_handle_result_js_c=Module["__agen_handle_result_js_c"]=(a0,a1,a2,a3,a4)=>(__agen_handle_result_js_c=Module["__agen_handle_result_js_c"]=wasmExports["_agen_handle_result_js_c"])(a0,a1,a2,a3,a4);var _PyObject_CallOneArg=Module["_PyObject_CallOneArg"]=(a0,a1)=>(_PyObject_CallOneArg=Module["_PyObject_CallOneArg"]=wasmExports["PyObject_CallOneArg"])(a0,a1);var _PyErr_GivenExceptionMatches=Module["_PyErr_GivenExceptionMatches"]=(a0,a1)=>(_PyErr_GivenExceptionMatches=Module["_PyErr_GivenExceptionMatches"]=wasmExports["PyErr_GivenExceptionMatches"])(a0,a1);var __agen_handle_result=Module["__agen_handle_result"]=(a0,a1)=>(__agen_handle_result=Module["__agen_handle_result"]=wasmExports["_agen_handle_result"])(a0,a1);var _PyObject_CallNoArgs=Module["_PyObject_CallNoArgs"]=a0=>(_PyObject_CallNoArgs=Module["_PyObject_CallNoArgs"]=wasmExports["PyObject_CallNoArgs"])(a0);var _JsArray_sq_item=Module["_JsArray_sq_item"]=(a0,a1)=>(_JsArray_sq_item=Module["_JsArray_sq_item"]=wasmExports["JsArray_sq_item"])(a0,a1);var _JsArray_sq_ass_item=Module["_JsArray_sq_ass_item"]=(a0,a1,a2)=>(_JsArray_sq_ass_item=Module["_JsArray_sq_ass_item"]=wasmExports["JsArray_sq_ass_item"])(a0,a1,a2);var _JsTypedArray_sq_ass_item=Module["_JsTypedArray_sq_ass_item"]=(a0,a1,a2)=>(_JsTypedArray_sq_ass_item=Module["_JsTypedArray_sq_ass_item"]=wasmExports["JsTypedArray_sq_ass_item"])(a0,a1,a2);var _JsMap_update=Module["_JsMap_update"]=(a0,a1,a2)=>(_JsMap_update=Module["_JsMap_update"]=wasmExports["JsMap_update"])(a0,a1,a2);var __PyArg_ParseTuple_SizeT=Module["__PyArg_ParseTuple_SizeT"]=(a0,a1,a2)=>(__PyArg_ParseTuple_SizeT=Module["__PyArg_ParseTuple_SizeT"]=wasmExports["_PyArg_ParseTuple_SizeT"])(a0,a1,a2);var _JsProxy_syncify_not_supported=Module["_JsProxy_syncify_not_supported"]=(a0,a1)=>(_JsProxy_syncify_not_supported=Module["_JsProxy_syncify_not_supported"]=wasmExports["JsProxy_syncify_not_supported"])(a0,a1);var _JsProxy_syncify=Module["_JsProxy_syncify"]=(a0,a1)=>(_JsProxy_syncify=Module["_JsProxy_syncify"]=wasmExports["JsProxy_syncify"])(a0,a1);var _JsvPromise_Syncify=Module["_JsvPromise_Syncify"]=a0=>(_JsvPromise_Syncify=Module["_JsvPromise_Syncify"]=wasmExports["JsvPromise_Syncify"])(a0);var _JsMethod_ConvertArgs=Module["_JsMethod_ConvertArgs"]=(a0,a1,a2,a3)=>(_JsMethod_ConvertArgs=Module["_JsMethod_ConvertArgs"]=wasmExports["JsMethod_ConvertArgs"])(a0,a1,a2,a3);var _PyTuple_GetItem=Module["_PyTuple_GetItem"]=(a0,a1)=>(_PyTuple_GetItem=Module["_PyTuple_GetItem"]=wasmExports["PyTuple_GetItem"])(a0,a1);var _PyTuple_Size=Module["_PyTuple_Size"]=a0=>(_PyTuple_Size=Module["_PyTuple_Size"]=wasmExports["PyTuple_Size"])(a0);var _Buffer_dealloc=Module["_Buffer_dealloc"]=a0=>(_Buffer_dealloc=Module["_Buffer_dealloc"]=wasmExports["Buffer_dealloc"])(a0);var _PyMem_Free=Module["_PyMem_Free"]=a0=>(_PyMem_Free=Module["_PyMem_Free"]=wasmExports["PyMem_Free"])(a0);var _JsBuffer_CopyIntoMemoryView=Module["_JsBuffer_CopyIntoMemoryView"]=(a0,a1,a2,a3)=>(_JsBuffer_CopyIntoMemoryView=Module["_JsBuffer_CopyIntoMemoryView"]=wasmExports["JsBuffer_CopyIntoMemoryView"])(a0,a1,a2,a3);var _PyMem_Malloc=Module["_PyMem_Malloc"]=a0=>(_PyMem_Malloc=Module["_PyMem_Malloc"]=wasmExports["PyMem_Malloc"])(a0);var _PyMemoryView_FromObject=Module["_PyMemoryView_FromObject"]=a0=>(_PyMemoryView_FromObject=Module["_PyMemoryView_FromObject"]=wasmExports["PyMemoryView_FromObject"])(a0);var _JsBuffer_cinit=Module["_JsBuffer_cinit"]=a0=>(_JsBuffer_cinit=Module["_JsBuffer_cinit"]=wasmExports["JsBuffer_cinit"])(a0);var _JsRef_new=Module["_JsRef_new"]=a0=>(_JsRef_new=Module["_JsRef_new"]=wasmExports["JsRef_new"])(a0);var _PyTuple_Pack=Module["_PyTuple_Pack"]=(a0,a1)=>(_PyTuple_Pack=Module["_PyTuple_Pack"]=wasmExports["PyTuple_Pack"])(a0,a1);var _PyLong_FromLong=Module["_PyLong_FromLong"]=a0=>(_PyLong_FromLong=Module["_PyLong_FromLong"]=wasmExports["PyLong_FromLong"])(a0);var _PyDict_GetItemWithError=Module["_PyDict_GetItemWithError"]=(a0,a1)=>(_PyDict_GetItemWithError=Module["_PyDict_GetItemWithError"]=wasmExports["PyDict_GetItemWithError"])(a0,a1);var _PyObject_SelfIter=Module["_PyObject_SelfIter"]=a0=>(_PyObject_SelfIter=Module["_PyObject_SelfIter"]=wasmExports["PyObject_SelfIter"])(a0);var _PyVectorcall_Call=Module["_PyVectorcall_Call"]=(a0,a1,a2)=>(_PyVectorcall_Call=Module["_PyVectorcall_Call"]=wasmExports["PyVectorcall_Call"])(a0,a1,a2);var _PyErr_NoMemory=Module["_PyErr_NoMemory"]=()=>(_PyErr_NoMemory=Module["_PyErr_NoMemory"]=wasmExports["PyErr_NoMemory"])();var _PyType_FromSpecWithBases=Module["_PyType_FromSpecWithBases"]=(a0,a1)=>(_PyType_FromSpecWithBases=Module["_PyType_FromSpecWithBases"]=wasmExports["PyType_FromSpecWithBases"])(a0,a1);var __PyObject_SetAttrId=Module["__PyObject_SetAttrId"]=(a0,a1,a2)=>(__PyObject_SetAttrId=Module["__PyObject_SetAttrId"]=wasmExports["_PyObject_SetAttrId"])(a0,a1,a2);var _PyDict_SetItem=Module["_PyDict_SetItem"]=(a0,a1,a2)=>(_PyDict_SetItem=Module["_PyDict_SetItem"]=wasmExports["PyDict_SetItem"])(a0,a1,a2);var _JsProxy_create_with_this=Module["_JsProxy_create_with_this"]=(a0,a1)=>(_JsProxy_create_with_this=Module["_JsProxy_create_with_this"]=wasmExports["JsProxy_create_with_this"])(a0,a1);var _JsProxy_create=Module["_JsProxy_create"]=a0=>(_JsProxy_create=Module["_JsProxy_create"]=wasmExports["JsProxy_create"])(a0);var _JsProxy_Check=Module["_JsProxy_Check"]=a0=>(_JsProxy_Check=Module["_JsProxy_Check"]=wasmExports["JsProxy_Check"])(a0);var _PyType_IsSubtype=Module["_PyType_IsSubtype"]=(a0,a1)=>(_PyType_IsSubtype=Module["_PyType_IsSubtype"]=wasmExports["PyType_IsSubtype"])(a0,a1);var _JsProxy_init_docstrings=Module["_JsProxy_init_docstrings"]=()=>(_JsProxy_init_docstrings=Module["_JsProxy_init_docstrings"]=wasmExports["JsProxy_init_docstrings"])();var _PyDict_New=Module["_PyDict_New"]=()=>(_PyDict_New=Module["_PyDict_New"]=wasmExports["PyDict_New"])();var _PyObject_SetAttrString=Module["_PyObject_SetAttrString"]=(a0,a1,a2)=>(_PyObject_SetAttrString=Module["_PyObject_SetAttrString"]=wasmExports["PyObject_SetAttrString"])(a0,a1,a2);var _PyModule_AddObject=Module["_PyModule_AddObject"]=(a0,a1,a2)=>(_PyModule_AddObject=Module["_PyModule_AddObject"]=wasmExports["PyModule_AddObject"])(a0,a1,a2);var _PyType_Ready=Module["_PyType_Ready"]=a0=>(_PyType_Ready=Module["_PyType_Ready"]=wasmExports["PyType_Ready"])(a0);var _JsvObject_CallMethodId_TwoArgs=Module["_JsvObject_CallMethodId_TwoArgs"]=(a0,a1,a2,a3)=>(_JsvObject_CallMethodId_TwoArgs=Module["_JsvObject_CallMethodId_TwoArgs"]=wasmExports["JsvObject_CallMethodId_TwoArgs"])(a0,a1,a2,a3);var _PyObject_Repr=Module["_PyObject_Repr"]=a0=>(_PyObject_Repr=Module["_PyObject_Repr"]=wasmExports["PyObject_Repr"])(a0);var _PyIndex_Check=Module["_PyIndex_Check"]=a0=>(_PyIndex_Check=Module["_PyIndex_Check"]=wasmExports["PyIndex_Check"])(a0);var _PyNumber_AsSsize_t=Module["_PyNumber_AsSsize_t"]=(a0,a1)=>(_PyNumber_AsSsize_t=Module["_PyNumber_AsSsize_t"]=wasmExports["PyNumber_AsSsize_t"])(a0,a1);var _PySlice_Unpack=Module["_PySlice_Unpack"]=(a0,a1,a2,a3)=>(_PySlice_Unpack=Module["_PySlice_Unpack"]=wasmExports["PySlice_Unpack"])(a0,a1,a2,a3);var _PySlice_AdjustIndices=Module["_PySlice_AdjustIndices"]=(a0,a1,a2,a3)=>(_PySlice_AdjustIndices=Module["_PySlice_AdjustIndices"]=wasmExports["PySlice_AdjustIndices"])(a0,a1,a2,a3);var _PySequence_Fast=Module["_PySequence_Fast"]=(a0,a1)=>(_PySequence_Fast=Module["_PySequence_Fast"]=wasmExports["PySequence_Fast"])(a0,a1);var __PyArg_ParseTupleAndKeywords_SizeT=Module["__PyArg_ParseTupleAndKeywords_SizeT"]=(a0,a1,a2,a3,a4)=>(__PyArg_ParseTupleAndKeywords_SizeT=Module["__PyArg_ParseTupleAndKeywords_SizeT"]=wasmExports["_PyArg_ParseTupleAndKeywords_SizeT"])(a0,a1,a2,a3,a4);var _PySet_New=Module["_PySet_New"]=a0=>(_PySet_New=Module["_PySet_New"]=wasmExports["PySet_New"])(a0);var __PySet_Update=Module["__PySet_Update"]=(a0,a1)=>(__PySet_Update=Module["__PySet_Update"]=wasmExports["_PySet_Update"])(a0,a1);var _PyUnicode_FromString=Module["_PyUnicode_FromString"]=a0=>(_PyUnicode_FromString=Module["_PyUnicode_FromString"]=wasmExports["PyUnicode_FromString"])(a0);var _PySet_Discard=Module["_PySet_Discard"]=(a0,a1)=>(_PySet_Discard=Module["_PySet_Discard"]=wasmExports["PySet_Discard"])(a0,a1);var _PyList_New=Module["_PyList_New"]=a0=>(_PyList_New=Module["_PyList_New"]=wasmExports["PyList_New"])(a0);var __PyList_Extend=Module["__PyList_Extend"]=(a0,a1)=>(__PyList_Extend=Module["__PyList_Extend"]=wasmExports["_PyList_Extend"])(a0,a1);var _PyList_Sort=Module["_PyList_Sort"]=a0=>(_PyList_Sort=Module["_PyList_Sort"]=wasmExports["PyList_Sort"])(a0);var __PyArg_ParseStack_SizeT=Module["__PyArg_ParseStack_SizeT"]=(a0,a1,a2,a3)=>(__PyArg_ParseStack_SizeT=Module["__PyArg_ParseStack_SizeT"]=wasmExports["_PyArg_ParseStack_SizeT"])(a0,a1,a2,a3);var _JsvObject_CallMethodId=Module["_JsvObject_CallMethodId"]=(a0,a1,a2)=>(_JsvObject_CallMethodId=Module["_JsvObject_CallMethodId"]=wasmExports["JsvObject_CallMethodId"])(a0,a1,a2);var _PyObject_GetIter=Module["_PyObject_GetIter"]=a0=>(_PyObject_GetIter=Module["_PyObject_GetIter"]=wasmExports["PyObject_GetIter"])(a0);var _PyObject_RichCompareBool=Module["_PyObject_RichCompareBool"]=(a0,a1,a2)=>(_PyObject_RichCompareBool=Module["_PyObject_RichCompareBool"]=wasmExports["PyObject_RichCompareBool"])(a0,a1,a2);var __PyArg_ParseStackAndKeywords_SizeT=Module["__PyArg_ParseStackAndKeywords_SizeT"]=(a0,a1,a2,a3,a4)=>(__PyArg_ParseStackAndKeywords_SizeT=Module["__PyArg_ParseStackAndKeywords_SizeT"]=wasmExports["_PyArg_ParseStackAndKeywords_SizeT"])(a0,a1,a2,a3,a4);var _JsRef_toVal=Module["_JsRef_toVal"]=a0=>(_JsRef_toVal=Module["_JsRef_toVal"]=wasmExports["JsRef_toVal"])(a0);var _Py_EnterRecursiveCall=Module["_Py_EnterRecursiveCall"]=a0=>(_Py_EnterRecursiveCall=Module["_Py_EnterRecursiveCall"]=wasmExports["Py_EnterRecursiveCall"])(a0);var _Py_LeaveRecursiveCall=Module["_Py_LeaveRecursiveCall"]=()=>(_Py_LeaveRecursiveCall=Module["_Py_LeaveRecursiveCall"]=wasmExports["Py_LeaveRecursiveCall"])();var _hiwire_pop=Module["_hiwire_pop"]=a0=>(_hiwire_pop=Module["_hiwire_pop"]=wasmExports["hiwire_pop"])(a0);var _puts=Module["_puts"]=a0=>(_puts=Module["_puts"]=wasmExports["puts"])(a0);var _PyObject_GenericGetAttr=Module["_PyObject_GenericGetAttr"]=(a0,a1)=>(_PyObject_GenericGetAttr=Module["_PyObject_GenericGetAttr"]=wasmExports["PyObject_GenericGetAttr"])(a0,a1);var _strcmp=Module["_strcmp"]=(a0,a1)=>(_strcmp=Module["_strcmp"]=wasmExports["strcmp"])(a0,a1);var _strncmp=Module["_strncmp"]=(a0,a1,a2)=>(_strncmp=Module["_strncmp"]=wasmExports["strncmp"])(a0,a1,a2);var _PyObject_GenericSetAttr=Module["_PyObject_GenericSetAttr"]=(a0,a1,a2)=>(_PyObject_GenericSetAttr=Module["_PyObject_GenericSetAttr"]=wasmExports["PyObject_GenericSetAttr"])(a0,a1,a2);var __Py_HashBytes=Module["__Py_HashBytes"]=(a0,a1)=>(__Py_HashBytes=Module["__Py_HashBytes"]=wasmExports["_Py_HashBytes"])(a0,a1);var __PyArg_CheckPositional=Module["__PyArg_CheckPositional"]=(a0,a1,a2,a3)=>(__PyArg_CheckPositional=Module["__PyArg_CheckPositional"]=wasmExports["_PyArg_CheckPositional"])(a0,a1,a2,a3);var __PyNumber_Index=Module["__PyNumber_Index"]=a0=>(__PyNumber_Index=Module["__PyNumber_Index"]=wasmExports["_PyNumber_Index"])(a0);var _PyLong_AsSsize_t=Module["_PyLong_AsSsize_t"]=a0=>(_PyLong_AsSsize_t=Module["_PyLong_AsSsize_t"]=wasmExports["PyLong_AsSsize_t"])(a0);var _PyLong_FromSsize_t=Module["_PyLong_FromSsize_t"]=a0=>(_PyLong_FromSsize_t=Module["_PyLong_FromSsize_t"]=wasmExports["PyLong_FromSsize_t"])(a0);var _PyObject_GetItem=Module["_PyObject_GetItem"]=(a0,a1)=>(_PyObject_GetItem=Module["_PyObject_GetItem"]=wasmExports["PyObject_GetItem"])(a0,a1);var _PyObject_DelItem=Module["_PyObject_DelItem"]=(a0,a1)=>(_PyObject_DelItem=Module["_PyObject_DelItem"]=wasmExports["PyObject_DelItem"])(a0,a1);var _PyObject_SetItem=Module["_PyObject_SetItem"]=(a0,a1,a2)=>(_PyObject_SetItem=Module["_PyObject_SetItem"]=wasmExports["PyObject_SetItem"])(a0,a1,a2);var _PyObject_GetBuffer=Module["_PyObject_GetBuffer"]=(a0,a1,a2)=>(_PyObject_GetBuffer=Module["_PyObject_GetBuffer"]=wasmExports["PyObject_GetBuffer"])(a0,a1,a2);var _PyBuffer_Release=Module["_PyBuffer_Release"]=a0=>(_PyBuffer_Release=Module["_PyBuffer_Release"]=wasmExports["PyBuffer_Release"])(a0);var _PyBytes_FromStringAndSize=Module["_PyBytes_FromStringAndSize"]=(a0,a1)=>(_PyBytes_FromStringAndSize=Module["_PyBytes_FromStringAndSize"]=wasmExports["PyBytes_FromStringAndSize"])(a0,a1);var _check_gil=Module["_check_gil"]=()=>(_check_gil=Module["_check_gil"]=wasmExports["check_gil"])();var _PyGILState_Check=Module["_PyGILState_Check"]=()=>(_PyGILState_Check=Module["_PyGILState_Check"]=wasmExports["PyGILState_Check"])();var _pyproxy_getflags=Module["_pyproxy_getflags"]=a0=>(_pyproxy_getflags=Module["_pyproxy_getflags"]=wasmExports["pyproxy_getflags"])(a0);var _PyObject_HasAttr=Module["_PyObject_HasAttr"]=(a0,a1)=>(_PyObject_HasAttr=Module["_PyObject_HasAttr"]=wasmExports["PyObject_HasAttr"])(a0,a1);var __PyObject_NextNotImplemented=Module["__PyObject_NextNotImplemented"]=a0=>(__PyObject_NextNotImplemented=Module["__PyObject_NextNotImplemented"]=wasmExports["_PyObject_NextNotImplemented"])(a0);var _PyObject_IsSubclass=Module["_PyObject_IsSubclass"]=(a0,a1)=>(_PyObject_IsSubclass=Module["_PyObject_IsSubclass"]=wasmExports["PyObject_IsSubclass"])(a0,a1);var __pyproxy_repr=Module["__pyproxy_repr"]=a0=>(__pyproxy_repr=Module["__pyproxy_repr"]=wasmExports["_pyproxy_repr"])(a0);var _PyObject_Str=Module["_PyObject_Str"]=a0=>(_PyObject_Str=Module["_PyObject_Str"]=wasmExports["PyObject_Str"])(a0);var __pyproxy_type=Module["__pyproxy_type"]=a0=>(__pyproxy_type=Module["__pyproxy_type"]=wasmExports["_pyproxy_type"])(a0);var __pyproxy_hasattr=Module["__pyproxy_hasattr"]=(a0,a1)=>(__pyproxy_hasattr=Module["__pyproxy_hasattr"]=wasmExports["_pyproxy_hasattr"])(a0,a1);var __pyproxy_getattr=Module["__pyproxy_getattr"]=(a0,a1,a2)=>(__pyproxy_getattr=Module["__pyproxy_getattr"]=wasmExports["_pyproxy_getattr"])(a0,a1,a2);var __PyObject_GetMethod=Module["__PyObject_GetMethod"]=(a0,a1,a2)=>(__PyObject_GetMethod=Module["__PyObject_GetMethod"]=wasmExports["_PyObject_GetMethod"])(a0,a1,a2);var __pyproxy_setattr=Module["__pyproxy_setattr"]=(a0,a1,a2)=>(__pyproxy_setattr=Module["__pyproxy_setattr"]=wasmExports["_pyproxy_setattr"])(a0,a1,a2);var _PyObject_SetAttr=Module["_PyObject_SetAttr"]=(a0,a1,a2)=>(_PyObject_SetAttr=Module["_PyObject_SetAttr"]=wasmExports["PyObject_SetAttr"])(a0,a1,a2);var __pyproxy_delattr=Module["__pyproxy_delattr"]=(a0,a1)=>(__pyproxy_delattr=Module["__pyproxy_delattr"]=wasmExports["_pyproxy_delattr"])(a0,a1);var __pyproxy_getitem=Module["__pyproxy_getitem"]=(a0,a1)=>(__pyproxy_getitem=Module["__pyproxy_getitem"]=wasmExports["_pyproxy_getitem"])(a0,a1);var __pyproxy_setitem=Module["__pyproxy_setitem"]=(a0,a1,a2)=>(__pyproxy_setitem=Module["__pyproxy_setitem"]=wasmExports["_pyproxy_setitem"])(a0,a1,a2);var __pyproxy_delitem=Module["__pyproxy_delitem"]=(a0,a1)=>(__pyproxy_delitem=Module["__pyproxy_delitem"]=wasmExports["_pyproxy_delitem"])(a0,a1);var __pyproxy_slice_assign=Module["__pyproxy_slice_assign"]=(a0,a1,a2,a3)=>(__pyproxy_slice_assign=Module["__pyproxy_slice_assign"]=wasmExports["_pyproxy_slice_assign"])(a0,a1,a2,a3);var _PySequence_Size=Module["_PySequence_Size"]=a0=>(_PySequence_Size=Module["_PySequence_Size"]=wasmExports["PySequence_Size"])(a0);var _PySequence_GetSlice=Module["_PySequence_GetSlice"]=(a0,a1,a2)=>(_PySequence_GetSlice=Module["_PySequence_GetSlice"]=wasmExports["PySequence_GetSlice"])(a0,a1,a2);var _PySequence_SetSlice=Module["_PySequence_SetSlice"]=(a0,a1,a2,a3)=>(_PySequence_SetSlice=Module["_PySequence_SetSlice"]=wasmExports["PySequence_SetSlice"])(a0,a1,a2,a3);var _python2js_with_depth=Module["_python2js_with_depth"]=(a0,a1,a2)=>(_python2js_with_depth=Module["_python2js_with_depth"]=wasmExports["python2js_with_depth"])(a0,a1,a2);var __pyproxy_pop=Module["__pyproxy_pop"]=(a0,a1)=>(__pyproxy_pop=Module["__pyproxy_pop"]=wasmExports["_pyproxy_pop"])(a0,a1);var __pyproxy_contains=Module["__pyproxy_contains"]=(a0,a1)=>(__pyproxy_contains=Module["__pyproxy_contains"]=wasmExports["_pyproxy_contains"])(a0,a1);var _PySequence_Contains=Module["_PySequence_Contains"]=(a0,a1)=>(_PySequence_Contains=Module["_PySequence_Contains"]=wasmExports["PySequence_Contains"])(a0,a1);var __pyproxy_ownKeys=Module["__pyproxy_ownKeys"]=a0=>(__pyproxy_ownKeys=Module["__pyproxy_ownKeys"]=wasmExports["_pyproxy_ownKeys"])(a0);var _PyObject_Dir=Module["_PyObject_Dir"]=a0=>(_PyObject_Dir=Module["_PyObject_Dir"]=wasmExports["PyObject_Dir"])(a0);var _PyList_Size=Module["_PyList_Size"]=a0=>(_PyList_Size=Module["_PyList_Size"]=wasmExports["PyList_Size"])(a0);var _PyList_GetItem=Module["_PyList_GetItem"]=(a0,a1)=>(_PyList_GetItem=Module["_PyList_GetItem"]=wasmExports["PyList_GetItem"])(a0,a1);var __pyproxy_apply=Module["__pyproxy_apply"]=(a0,a1,a2,a3,a4)=>(__pyproxy_apply=Module["__pyproxy_apply"]=wasmExports["_pyproxy_apply"])(a0,a1,a2,a3,a4);var _PyTuple_New=Module["_PyTuple_New"]=a0=>(_PyTuple_New=Module["_PyTuple_New"]=wasmExports["PyTuple_New"])(a0);var _PyObject_Vectorcall=Module["_PyObject_Vectorcall"]=(a0,a1,a2,a3)=>(_PyObject_Vectorcall=Module["_PyObject_Vectorcall"]=wasmExports["PyObject_Vectorcall"])(a0,a1,a2,a3);var __iscoroutinefunction=Module["__iscoroutinefunction"]=a0=>(__iscoroutinefunction=Module["__iscoroutinefunction"]=wasmExports["_iscoroutinefunction"])(a0);var __pyproxy_iter_next=Module["__pyproxy_iter_next"]=a0=>(__pyproxy_iter_next=Module["__pyproxy_iter_next"]=wasmExports["_pyproxy_iter_next"])(a0);var _PyIter_Next=Module["_PyIter_Next"]=a0=>(_PyIter_Next=Module["_PyIter_Next"]=wasmExports["PyIter_Next"])(a0);var __pyproxyGen_Send=Module["__pyproxyGen_Send"]=(a0,a1)=>(__pyproxyGen_Send=Module["__pyproxyGen_Send"]=wasmExports["_pyproxyGen_Send"])(a0,a1);var _PyIter_Send=Module["_PyIter_Send"]=(a0,a1,a2)=>(_PyIter_Send=Module["_PyIter_Send"]=wasmExports["PyIter_Send"])(a0,a1,a2);var __pyproxyGen_return=Module["__pyproxyGen_return"]=(a0,a1)=>(__pyproxyGen_return=Module["__pyproxyGen_return"]=wasmExports["_pyproxyGen_return"])(a0,a1);var __PyGen_FetchStopIterationValue=Module["__PyGen_FetchStopIterationValue"]=a0=>(__PyGen_FetchStopIterationValue=Module["__PyGen_FetchStopIterationValue"]=wasmExports["_PyGen_FetchStopIterationValue"])(a0);var __pyproxyGen_throw=Module["__pyproxyGen_throw"]=(a0,a1)=>(__pyproxyGen_throw=Module["__pyproxyGen_throw"]=wasmExports["_pyproxyGen_throw"])(a0,a1);var __pyproxyGen_asend=Module["__pyproxyGen_asend"]=(a0,a1)=>(__pyproxyGen_asend=Module["__pyproxyGen_asend"]=wasmExports["_pyproxyGen_asend"])(a0,a1);var __pyproxyGen_areturn=Module["__pyproxyGen_areturn"]=a0=>(__pyproxyGen_areturn=Module["__pyproxyGen_areturn"]=wasmExports["_pyproxyGen_areturn"])(a0);var __pyproxyGen_athrow=Module["__pyproxyGen_athrow"]=(a0,a1)=>(__pyproxyGen_athrow=Module["__pyproxyGen_athrow"]=wasmExports["_pyproxyGen_athrow"])(a0,a1);var __pyproxy_aiter_next=Module["__pyproxy_aiter_next"]=a0=>(__pyproxy_aiter_next=Module["__pyproxy_aiter_next"]=wasmExports["_pyproxy_aiter_next"])(a0);var _FutureDoneCallback_call_resolve=Module["_FutureDoneCallback_call_resolve"]=(a0,a1)=>(_FutureDoneCallback_call_resolve=Module["_FutureDoneCallback_call_resolve"]=wasmExports["FutureDoneCallback_call_resolve"])(a0,a1);var _FutureDoneCallback_call_reject=Module["_FutureDoneCallback_call_reject"]=a0=>(_FutureDoneCallback_call_reject=Module["_FutureDoneCallback_call_reject"]=wasmExports["FutureDoneCallback_call_reject"])(a0);var _FutureDoneCallback_call=Module["_FutureDoneCallback_call"]=(a0,a1,a2)=>(_FutureDoneCallback_call=Module["_FutureDoneCallback_call"]=wasmExports["FutureDoneCallback_call"])(a0,a1,a2);var _PyArg_UnpackTuple=Module["_PyArg_UnpackTuple"]=(a0,a1,a2,a3,a4)=>(_PyArg_UnpackTuple=Module["_PyArg_UnpackTuple"]=wasmExports["PyArg_UnpackTuple"])(a0,a1,a2,a3,a4);var __pyproxy_ensure_future=Module["__pyproxy_ensure_future"]=(a0,a1,a2)=>(__pyproxy_ensure_future=Module["__pyproxy_ensure_future"]=wasmExports["_pyproxy_ensure_future"])(a0,a1,a2);var __pyproxy_get_buffer=Module["__pyproxy_get_buffer"]=a0=>(__pyproxy_get_buffer=Module["__pyproxy_get_buffer"]=wasmExports["_pyproxy_get_buffer"])(a0);var _PyBuffer_FillContiguousStrides=Module["_PyBuffer_FillContiguousStrides"]=(a0,a1,a2,a3,a4)=>(_PyBuffer_FillContiguousStrides=Module["_PyBuffer_FillContiguousStrides"]=wasmExports["PyBuffer_FillContiguousStrides"])(a0,a1,a2,a3,a4);var _PyBuffer_IsContiguous=Module["_PyBuffer_IsContiguous"]=(a0,a1)=>(_PyBuffer_IsContiguous=Module["_PyBuffer_IsContiguous"]=wasmExports["PyBuffer_IsContiguous"])(a0,a1);var __python2js_buffer=Module["__python2js_buffer"]=a0=>(__python2js_buffer=Module["__python2js_buffer"]=wasmExports["_python2js_buffer"])(a0);var _jslib_init_buffers=Module["_jslib_init_buffers"]=()=>(_jslib_init_buffers=Module["_jslib_init_buffers"]=wasmExports["jslib_init_buffers"])();var _JsRef_pop=Module["_JsRef_pop"]=a0=>(_JsRef_pop=Module["_JsRef_pop"]=wasmExports["JsRef_pop"])(a0);var _JsrString_FromId=Module["_JsrString_FromId"]=a0=>(_JsrString_FromId=Module["_JsrString_FromId"]=wasmExports["JsrString_FromId"])(a0);var _hiwire_intern=Module["_hiwire_intern"]=a0=>(_hiwire_intern=Module["_hiwire_intern"]=wasmExports["hiwire_intern"])(a0);var _JsvString_FromId=Module["_JsvString_FromId"]=a0=>(_JsvString_FromId=Module["_JsvString_FromId"]=wasmExports["JsvString_FromId"])(a0);var __python2js=Module["__python2js"]=(a0,a1)=>(__python2js=Module["__python2js"]=wasmExports["_python2js"])(a0,a1);var _python2js_inner=Module["_python2js_inner"]=(a0,a1,a2,a3)=>(_python2js_inner=Module["_python2js_inner"]=wasmExports["python2js_inner"])(a0,a1,a2,a3);var _PySequence_GetItem=Module["_PySequence_GetItem"]=(a0,a1)=>(_PySequence_GetItem=Module["_PySequence_GetItem"]=wasmExports["PySequence_GetItem"])(a0,a1);var _PyDict_Next=Module["_PyDict_Next"]=(a0,a1,a2,a3)=>(_PyDict_Next=Module["_PyDict_Next"]=wasmExports["PyDict_Next"])(a0,a1,a2,a3);var _PyObject_CheckBuffer=Module["_PyObject_CheckBuffer"]=a0=>(_PyObject_CheckBuffer=Module["_PyObject_CheckBuffer"]=wasmExports["PyObject_CheckBuffer"])(a0);var _PyFloat_AsDouble=Module["_PyFloat_AsDouble"]=a0=>(_PyFloat_AsDouble=Module["_PyFloat_AsDouble"]=wasmExports["PyFloat_AsDouble"])(a0);var _python2js__default_converter=Module["_python2js__default_converter"]=(a0,a1)=>(_python2js__default_converter=Module["_python2js__default_converter"]=wasmExports["python2js__default_converter"])(a0,a1);var _python2js_custom=Module["_python2js_custom"]=(a0,a1,a2,a3,a4)=>(_python2js_custom=Module["_python2js_custom"]=wasmExports["python2js_custom"])(a0,a1,a2,a3,a4);var _PyLong_AsLongAndOverflow=Module["_PyLong_AsLongAndOverflow"]=(a0,a1)=>(_PyLong_AsLongAndOverflow=Module["_PyLong_AsLongAndOverflow"]=wasmExports["PyLong_AsLongAndOverflow"])(a0,a1);var __PyLong_NumBits=Module["__PyLong_NumBits"]=a0=>(__PyLong_NumBits=Module["__PyLong_NumBits"]=wasmExports["_PyLong_NumBits"])(a0);var __PyLong_AsByteArray=Module["__PyLong_AsByteArray"]=(a0,a1,a2,a3,a4)=>(__PyLong_AsByteArray=Module["__PyLong_AsByteArray"]=wasmExports["_PyLong_AsByteArray"])(a0,a1,a2,a3,a4);var _py_version_minor=Module["_py_version_minor"]=()=>(_py_version_minor=Module["_py_version_minor"]=wasmExports["py_version_minor"])();var _py_version_micro=Module["_py_version_micro"]=()=>(_py_version_micro=Module["_py_version_micro"]=wasmExports["py_version_micro"])();var _saveExceptionState=Module["_saveExceptionState"]=(a0,a1)=>(_saveExceptionState=Module["_saveExceptionState"]=wasmExports["saveExceptionState"])(a0,a1);var _restoreExceptionState=Module["_restoreExceptionState"]=(a0,a1)=>(_restoreExceptionState=Module["_restoreExceptionState"]=wasmExports["restoreExceptionState"])(a0,a1);var _savePythonState=Module["_savePythonState"]=(a0,a1)=>(_savePythonState=Module["_savePythonState"]=wasmExports["savePythonState"])(a0,a1);var _PyThreadState_GetFrame=Module["_PyThreadState_GetFrame"]=a0=>(_PyThreadState_GetFrame=Module["_PyThreadState_GetFrame"]=wasmExports["PyThreadState_GetFrame"])(a0);var _restorePythonState=Module["_restorePythonState"]=(a0,a1)=>(_restorePythonState=Module["_restorePythonState"]=wasmExports["restorePythonState"])(a0,a1);var _captureThreadState=Module["_captureThreadState"]=()=>(_captureThreadState=Module["_captureThreadState"]=wasmExports["captureThreadState"])();var _PyThreadState_Get=Module["_PyThreadState_Get"]=()=>(_PyThreadState_Get=Module["_PyThreadState_Get"]=wasmExports["PyThreadState_Get"])();var _restoreThreadState=Module["_restoreThreadState"]=a0=>(_restoreThreadState=Module["_restoreThreadState"]=wasmExports["restoreThreadState"])(a0);var _get_cframe=Module["_get_cframe"]=()=>(_get_cframe=Module["_get_cframe"]=wasmExports["get_cframe"])();var _restore_cframe=Module["_restore_cframe"]=a0=>(_restore_cframe=Module["_restore_cframe"]=wasmExports["restore_cframe"])(a0);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["__main_argc_argv"])(a0,a1);var _PyImport_AppendInittab=Module["_PyImport_AppendInittab"]=(a0,a1)=>(_PyImport_AppendInittab=Module["_PyImport_AppendInittab"]=wasmExports["PyImport_AppendInittab"])(a0,a1);var _PyPreConfig_InitPythonConfig=Module["_PyPreConfig_InitPythonConfig"]=a0=>(_PyPreConfig_InitPythonConfig=Module["_PyPreConfig_InitPythonConfig"]=wasmExports["PyPreConfig_InitPythonConfig"])(a0);var _Py_PreInitializeFromBytesArgs=Module["_Py_PreInitializeFromBytesArgs"]=(a0,a1,a2,a3)=>(_Py_PreInitializeFromBytesArgs=Module["_Py_PreInitializeFromBytesArgs"]=wasmExports["Py_PreInitializeFromBytesArgs"])(a0,a1,a2,a3);var _PyStatus_Exception=Module["_PyStatus_Exception"]=a0=>(_PyStatus_Exception=Module["_PyStatus_Exception"]=wasmExports["PyStatus_Exception"])(a0);var _PyConfig_InitPythonConfig=Module["_PyConfig_InitPythonConfig"]=a0=>(_PyConfig_InitPythonConfig=Module["_PyConfig_InitPythonConfig"]=wasmExports["PyConfig_InitPythonConfig"])(a0);var _PyConfig_SetBytesArgv=Module["_PyConfig_SetBytesArgv"]=(a0,a1,a2,a3)=>(_PyConfig_SetBytesArgv=Module["_PyConfig_SetBytesArgv"]=wasmExports["PyConfig_SetBytesArgv"])(a0,a1,a2,a3);var _PyConfig_SetBytesString=Module["_PyConfig_SetBytesString"]=(a0,a1,a2,a3)=>(_PyConfig_SetBytesString=Module["_PyConfig_SetBytesString"]=wasmExports["PyConfig_SetBytesString"])(a0,a1,a2,a3);var _Py_InitializeFromConfig=Module["_Py_InitializeFromConfig"]=(a0,a1)=>(_Py_InitializeFromConfig=Module["_Py_InitializeFromConfig"]=wasmExports["Py_InitializeFromConfig"])(a0,a1);var _PyConfig_Clear=Module["_PyConfig_Clear"]=a0=>(_PyConfig_Clear=Module["_PyConfig_Clear"]=wasmExports["PyConfig_Clear"])(a0);var _Py_ExitStatusException=Module["_Py_ExitStatusException"]=a0=>(_Py_ExitStatusException=Module["_Py_ExitStatusException"]=wasmExports["Py_ExitStatusException"])(a0);var _run_main=Module["_run_main"]=()=>(_run_main=Module["_run_main"]=wasmExports["run_main"])();var _Py_GetBuildInfo=Module["_Py_GetBuildInfo"]=()=>(_Py_GetBuildInfo=Module["_Py_GetBuildInfo"]=wasmExports["Py_GetBuildInfo"])();var _PyOS_snprintf=Module["_PyOS_snprintf"]=(a0,a1,a2,a3)=>(_PyOS_snprintf=Module["_PyOS_snprintf"]=wasmExports["PyOS_snprintf"])(a0,a1,a2,a3);var __Py_gitversion=Module["__Py_gitversion"]=()=>(__Py_gitversion=Module["__Py_gitversion"]=wasmExports["_Py_gitversion"])();var __Py_gitidentifier=Module["__Py_gitidentifier"]=()=>(__Py_gitidentifier=Module["__Py_gitidentifier"]=wasmExports["_Py_gitidentifier"])();var _PyToken_OneChar=Module["_PyToken_OneChar"]=a0=>(_PyToken_OneChar=Module["_PyToken_OneChar"]=wasmExports["PyToken_OneChar"])(a0);var _PyToken_TwoChars=Module["_PyToken_TwoChars"]=(a0,a1)=>(_PyToken_TwoChars=Module["_PyToken_TwoChars"]=wasmExports["PyToken_TwoChars"])(a0,a1);var _PyToken_ThreeChars=Module["_PyToken_ThreeChars"]=(a0,a1,a2)=>(_PyToken_ThreeChars=Module["_PyToken_ThreeChars"]=wasmExports["PyToken_ThreeChars"])(a0,a1,a2);var _strlen=Module["_strlen"]=a0=>(_strlen=Module["_strlen"]=wasmExports["strlen"])(a0);var _PyUnicode_DecodeUTF8=Module["_PyUnicode_DecodeUTF8"]=(a0,a1,a2)=>(_PyUnicode_DecodeUTF8=Module["_PyUnicode_DecodeUTF8"]=wasmExports["PyUnicode_DecodeUTF8"])(a0,a1,a2);var __PyArena_Malloc=Module["__PyArena_Malloc"]=(a0,a1)=>(__PyArena_Malloc=Module["__PyArena_Malloc"]=wasmExports["_PyArena_Malloc"])(a0,a1);var _strncpy=Module["_strncpy"]=(a0,a1,a2)=>(_strncpy=Module["_strncpy"]=wasmExports["strncpy"])(a0,a1,a2);var _PyMem_Realloc=Module["_PyMem_Realloc"]=(a0,a1)=>(_PyMem_Realloc=Module["_PyMem_Realloc"]=wasmExports["PyMem_Realloc"])(a0,a1);var _PyMem_Calloc=Module["_PyMem_Calloc"]=(a0,a1)=>(_PyMem_Calloc=Module["_PyMem_Calloc"]=wasmExports["PyMem_Calloc"])(a0,a1);var __PyArena_AddPyObject=Module["__PyArena_AddPyObject"]=(a0,a1)=>(__PyArena_AddPyObject=Module["__PyArena_AddPyObject"]=wasmExports["_PyArena_AddPyObject"])(a0,a1);var _PyBytes_AsString=Module["_PyBytes_AsString"]=a0=>(_PyBytes_AsString=Module["_PyBytes_AsString"]=wasmExports["PyBytes_AsString"])(a0);var _PyUnicode_InternFromString=Module["_PyUnicode_InternFromString"]=a0=>(_PyUnicode_InternFromString=Module["_PyUnicode_InternFromString"]=wasmExports["PyUnicode_InternFromString"])(a0);var __PyObject_FastCall=Module["__PyObject_FastCall"]=(a0,a1,a2)=>(__PyObject_FastCall=Module["__PyObject_FastCall"]=wasmExports["_PyObject_FastCall"])(a0,a1,a2);var __PyType_Name=Module["__PyType_Name"]=a0=>(__PyType_Name=Module["__PyType_Name"]=wasmExports["_PyType_Name"])(a0);var _PyUnicode_InternInPlace=Module["_PyUnicode_InternInPlace"]=a0=>(_PyUnicode_InternInPlace=Module["_PyUnicode_InternInPlace"]=wasmExports["PyUnicode_InternInPlace"])(a0);var _PyBytes_AsStringAndSize=Module["_PyBytes_AsStringAndSize"]=(a0,a1,a2)=>(_PyBytes_AsStringAndSize=Module["_PyBytes_AsStringAndSize"]=wasmExports["PyBytes_AsStringAndSize"])(a0,a1,a2);var _strchr=Module["_strchr"]=(a0,a1)=>(_strchr=Module["_strchr"]=wasmExports["strchr"])(a0,a1);var _PyUnicode_CompareWithASCIIString=Module["_PyUnicode_CompareWithASCIIString"]=(a0,a1)=>(_PyUnicode_CompareWithASCIIString=Module["_PyUnicode_CompareWithASCIIString"]=wasmExports["PyUnicode_CompareWithASCIIString"])(a0,a1);var ___errno_location=()=>(___errno_location=wasmExports["__errno_location"])();var _PyOS_strtoul=Module["_PyOS_strtoul"]=(a0,a1,a2)=>(_PyOS_strtoul=Module["_PyOS_strtoul"]=wasmExports["PyOS_strtoul"])(a0,a1,a2);var _PyLong_FromString=Module["_PyLong_FromString"]=(a0,a1,a2)=>(_PyLong_FromString=Module["_PyLong_FromString"]=wasmExports["PyLong_FromString"])(a0,a1,a2);var _PyOS_strtol=Module["_PyOS_strtol"]=(a0,a1,a2)=>(_PyOS_strtol=Module["_PyOS_strtol"]=wasmExports["PyOS_strtol"])(a0,a1,a2);var _PyOS_string_to_double=Module["_PyOS_string_to_double"]=(a0,a1,a2)=>(_PyOS_string_to_double=Module["_PyOS_string_to_double"]=wasmExports["PyOS_string_to_double"])(a0,a1,a2);var _PyComplex_FromCComplex=Module["_PyComplex_FromCComplex"]=a0=>(_PyComplex_FromCComplex=Module["_PyComplex_FromCComplex"]=wasmExports["PyComplex_FromCComplex"])(a0);var _PyFloat_FromDouble=Module["_PyFloat_FromDouble"]=a0=>(_PyFloat_FromDouble=Module["_PyFloat_FromDouble"]=wasmExports["PyFloat_FromDouble"])(a0);var _Py_BuildValue=Module["_Py_BuildValue"]=(a0,a1)=>(_Py_BuildValue=Module["_Py_BuildValue"]=wasmExports["Py_BuildValue"])(a0,a1);var _PyUnicode_FromFormatV=Module["_PyUnicode_FromFormatV"]=(a0,a1)=>(_PyUnicode_FromFormatV=Module["_PyUnicode_FromFormatV"]=wasmExports["PyUnicode_FromFormatV"])(a0,a1);var __PyErr_ProgramDecodedTextObject=Module["__PyErr_ProgramDecodedTextObject"]=(a0,a1,a2)=>(__PyErr_ProgramDecodedTextObject=Module["__PyErr_ProgramDecodedTextObject"]=wasmExports["_PyErr_ProgramDecodedTextObject"])(a0,a1,a2);var _PyUnicode_FromStringAndSize=Module["_PyUnicode_FromStringAndSize"]=(a0,a1)=>(_PyUnicode_FromStringAndSize=Module["_PyUnicode_FromStringAndSize"]=wasmExports["PyUnicode_FromStringAndSize"])(a0,a1);var __PyUnicode_Ready=Module["__PyUnicode_Ready"]=a0=>(__PyUnicode_Ready=Module["__PyUnicode_Ready"]=wasmExports["_PyUnicode_Ready"])(a0);var _strcpy=Module["_strcpy"]=(a0,a1)=>(_strcpy=Module["_strcpy"]=wasmExports["strcpy"])(a0,a1);var _PyBytes_ConcatAndDel=Module["_PyBytes_ConcatAndDel"]=(a0,a1)=>(_PyBytes_ConcatAndDel=Module["_PyBytes_ConcatAndDel"]=wasmExports["PyBytes_ConcatAndDel"])(a0,a1);var __PyErr_BadInternalCall=Module["__PyErr_BadInternalCall"]=(a0,a1)=>(__PyErr_BadInternalCall=Module["__PyErr_BadInternalCall"]=wasmExports["_PyErr_BadInternalCall"])(a0,a1);var _PyUnicode_DecodeUTF8Stateful=Module["_PyUnicode_DecodeUTF8Stateful"]=(a0,a1,a2,a3)=>(_PyUnicode_DecodeUTF8Stateful=Module["_PyUnicode_DecodeUTF8Stateful"]=wasmExports["PyUnicode_DecodeUTF8Stateful"])(a0,a1,a2,a3);var __PyBytes_DecodeEscape=Module["__PyBytes_DecodeEscape"]=(a0,a1,a2,a3)=>(__PyBytes_DecodeEscape=Module["__PyBytes_DecodeEscape"]=wasmExports["_PyBytes_DecodeEscape"])(a0,a1,a2,a3);var _siprintf=Module["_siprintf"]=(a0,a1,a2)=>(_siprintf=Module["_siprintf"]=wasmExports["siprintf"])(a0,a1,a2);var __PyUnicode_DecodeUnicodeEscapeInternal=Module["__PyUnicode_DecodeUnicodeEscapeInternal"]=(a0,a1,a2,a3,a4)=>(__PyUnicode_DecodeUnicodeEscapeInternal=Module["__PyUnicode_DecodeUnicodeEscapeInternal"]=wasmExports["_PyUnicode_DecodeUnicodeEscapeInternal"])(a0,a1,a2,a3,a4);var _PyUnicode_AppendAndDel=Module["_PyUnicode_AppendAndDel"]=(a0,a1)=>(_PyUnicode_AppendAndDel=Module["_PyUnicode_AppendAndDel"]=wasmExports["PyUnicode_AppendAndDel"])(a0,a1);var _PyUnicode_FromFormat=Module["_PyUnicode_FromFormat"]=(a0,a1)=>(_PyUnicode_FromFormat=Module["_PyUnicode_FromFormat"]=wasmExports["PyUnicode_FromFormat"])(a0,a1);var _PyErr_WarnExplicitObject=Module["_PyErr_WarnExplicitObject"]=(a0,a1,a2,a3,a4,a5)=>(_PyErr_WarnExplicitObject=Module["_PyErr_WarnExplicitObject"]=wasmExports["PyErr_WarnExplicitObject"])(a0,a1,a2,a3,a4,a5);var _PySys_Audit=Module["_PySys_Audit"]=(a0,a1,a2)=>(_PySys_Audit=Module["_PySys_Audit"]=wasmExports["PySys_Audit"])(a0,a1,a2);var _fflush=Module["_fflush"]=a0=>(_fflush=Module["_fflush"]=wasmExports["fflush"])(a0);var _fputs=Module["_fputs"]=(a0,a1)=>(_fputs=Module["_fputs"]=wasmExports["fputs"])(a0,a1);var _PyMem_RawFree=Module["_PyMem_RawFree"]=a0=>(_PyMem_RawFree=Module["_PyMem_RawFree"]=wasmExports["PyMem_RawFree"])(a0);var _PyEval_RestoreThread=Module["_PyEval_RestoreThread"]=a0=>(_PyEval_RestoreThread=Module["_PyEval_RestoreThread"]=wasmExports["PyEval_RestoreThread"])(a0);var _PyEval_SaveThread=Module["_PyEval_SaveThread"]=()=>(_PyEval_SaveThread=Module["_PyEval_SaveThread"]=wasmExports["PyEval_SaveThread"])();var _PyMem_RawRealloc=Module["_PyMem_RawRealloc"]=(a0,a1)=>(_PyMem_RawRealloc=Module["_PyMem_RawRealloc"]=wasmExports["PyMem_RawRealloc"])(a0,a1);var _clearerr=Module["_clearerr"]=a0=>(_clearerr=Module["_clearerr"]=wasmExports["clearerr"])(a0);var _fgets=Module["_fgets"]=(a0,a1,a2)=>(_fgets=Module["_fgets"]=wasmExports["fgets"])(a0,a1,a2);var _feof=Module["_feof"]=a0=>(_feof=Module["_feof"]=wasmExports["feof"])(a0);var __PyOS_InterruptOccurred=Module["__PyOS_InterruptOccurred"]=a0=>(__PyOS_InterruptOccurred=Module["__PyOS_InterruptOccurred"]=wasmExports["_PyOS_InterruptOccurred"])(a0);var _PyErr_CheckSignals=Module["_PyErr_CheckSignals"]=()=>(_PyErr_CheckSignals=Module["_PyErr_CheckSignals"]=wasmExports["PyErr_CheckSignals"])();var _PyOS_Readline=Module["_PyOS_Readline"]=(a0,a1,a2)=>(_PyOS_Readline=Module["_PyOS_Readline"]=wasmExports["PyOS_Readline"])(a0,a1,a2);var _PyThread_allocate_lock=Module["_PyThread_allocate_lock"]=()=>(_PyThread_allocate_lock=Module["_PyThread_allocate_lock"]=wasmExports["PyThread_allocate_lock"])();var _PyThread_acquire_lock=Module["_PyThread_acquire_lock"]=(a0,a1)=>(_PyThread_acquire_lock=Module["_PyThread_acquire_lock"]=wasmExports["PyThread_acquire_lock"])(a0,a1);var _isatty=Module["_isatty"]=a0=>(_isatty=Module["_isatty"]=wasmExports["isatty"])(a0);var _PyThread_release_lock=Module["_PyThread_release_lock"]=a0=>(_PyThread_release_lock=Module["_PyThread_release_lock"]=wasmExports["PyThread_release_lock"])(a0);var _PyUnicode_Decode=Module["_PyUnicode_Decode"]=(a0,a1,a2,a3)=>(_PyUnicode_Decode=Module["_PyUnicode_Decode"]=wasmExports["PyUnicode_Decode"])(a0,a1,a2,a3);var _PyUnicode_AsUTF8String=Module["_PyUnicode_AsUTF8String"]=a0=>(_PyUnicode_AsUTF8String=Module["_PyUnicode_AsUTF8String"]=wasmExports["PyUnicode_AsUTF8String"])(a0);var __Py_FatalErrorFunc=Module["__Py_FatalErrorFunc"]=(a0,a1)=>(__Py_FatalErrorFunc=Module["__Py_FatalErrorFunc"]=wasmExports["_Py_FatalErrorFunc"])(a0,a1);var _memcmp=Module["_memcmp"]=(a0,a1,a2)=>(_memcmp=Module["_memcmp"]=wasmExports["memcmp"])(a0,a1,a2);var __PyUnicode_ScanIdentifier=Module["__PyUnicode_ScanIdentifier"]=a0=>(__PyUnicode_ScanIdentifier=Module["__PyUnicode_ScanIdentifier"]=wasmExports["_PyUnicode_ScanIdentifier"])(a0);var _PyUnicode_Substring=Module["_PyUnicode_Substring"]=(a0,a1,a2)=>(_PyUnicode_Substring=Module["_PyUnicode_Substring"]=wasmExports["PyUnicode_Substring"])(a0,a1,a2);var __PyUnicode_IsPrintable=Module["__PyUnicode_IsPrintable"]=a0=>(__PyUnicode_IsPrintable=Module["__PyUnicode_IsPrintable"]=wasmExports["_PyUnicode_IsPrintable"])(a0);var _isxdigit=Module["_isxdigit"]=a0=>(_isxdigit=Module["_isxdigit"]=wasmExports["isxdigit"])(a0);var __Py_dup=Module["__Py_dup"]=a0=>(__Py_dup=Module["__Py_dup"]=wasmExports["_Py_dup"])(a0);var _fdopen=Module["_fdopen"]=(a0,a1)=>(_fdopen=Module["_fdopen"]=wasmExports["fdopen"])(a0,a1);var _fclose=Module["_fclose"]=a0=>(_fclose=Module["_fclose"]=wasmExports["fclose"])(a0);var _tolower=Module["_tolower"]=a0=>(_tolower=Module["_tolower"]=wasmExports["tolower"])(a0);var _getc=Module["_getc"]=a0=>(_getc=Module["_getc"]=wasmExports["getc"])(a0);var _ungetc=Module["_ungetc"]=(a0,a1)=>(_ungetc=Module["_ungetc"]=wasmExports["ungetc"])(a0,a1);var _Py_UniversalNewlineFgets=Module["_Py_UniversalNewlineFgets"]=(a0,a1,a2,a3)=>(_Py_UniversalNewlineFgets=Module["_Py_UniversalNewlineFgets"]=wasmExports["Py_UniversalNewlineFgets"])(a0,a1,a2,a3);var _ftell=Module["_ftell"]=a0=>(_ftell=Module["_ftell"]=wasmExports["ftell"])(a0);var _lseek=Module["_lseek"]=(a0,a1,a2)=>(_lseek=Module["_lseek"]=wasmExports["lseek"])(a0,a1,a2);var _PyErr_SetFromErrnoWithFilename=Module["_PyErr_SetFromErrnoWithFilename"]=(a0,a1)=>(_PyErr_SetFromErrnoWithFilename=Module["_PyErr_SetFromErrnoWithFilename"]=wasmExports["PyErr_SetFromErrnoWithFilename"])(a0,a1);var __PyObject_CallMethod=Module["__PyObject_CallMethod"]=(a0,a1,a2,a3)=>(__PyObject_CallMethod=Module["__PyObject_CallMethod"]=wasmExports["_PyObject_CallMethod"])(a0,a1,a2,a3);var _PyObject_GetAttr=Module["_PyObject_GetAttr"]=(a0,a1)=>(_PyObject_GetAttr=Module["_PyObject_GetAttr"]=wasmExports["PyObject_GetAttr"])(a0,a1);var __PyObject_MakeTpCall=Module["__PyObject_MakeTpCall"]=(a0,a1,a2,a3,a4)=>(__PyObject_MakeTpCall=Module["__PyObject_MakeTpCall"]=wasmExports["_PyObject_MakeTpCall"])(a0,a1,a2,a3,a4);var __Py_CheckFunctionResult=Module["__Py_CheckFunctionResult"]=(a0,a1,a2,a3)=>(__Py_CheckFunctionResult=Module["__Py_CheckFunctionResult"]=wasmExports["_Py_CheckFunctionResult"])(a0,a1,a2,a3);var _strcspn=Module["_strcspn"]=(a0,a1)=>(_strcspn=Module["_strcspn"]=wasmExports["strcspn"])(a0,a1);var __Py_BuildValue_SizeT=Module["__Py_BuildValue_SizeT"]=(a0,a1)=>(__Py_BuildValue_SizeT=Module["__Py_BuildValue_SizeT"]=wasmExports["_Py_BuildValue_SizeT"])(a0,a1);var _PyObject_Type=Module["_PyObject_Type"]=a0=>(_PyObject_Type=Module["_PyObject_Type"]=wasmExports["PyObject_Type"])(a0);var __PyErr_SetString=Module["__PyErr_SetString"]=(a0,a1,a2)=>(__PyErr_SetString=Module["__PyErr_SetString"]=wasmExports["_PyErr_SetString"])(a0,a1,a2);var _PyObject_Size=Module["_PyObject_Size"]=a0=>(_PyObject_Size=Module["_PyObject_Size"]=wasmExports["PyObject_Size"])(a0);var _PyMapping_Size=Module["_PyMapping_Size"]=a0=>(_PyMapping_Size=Module["_PyMapping_Size"]=wasmExports["PyMapping_Size"])(a0);var _PyObject_Length=Module["_PyObject_Length"]=a0=>(_PyObject_Length=Module["_PyObject_Length"]=wasmExports["PyObject_Length"])(a0);var __PyObject_HasLen=Module["__PyObject_HasLen"]=a0=>(__PyObject_HasLen=Module["__PyObject_HasLen"]=wasmExports["_PyObject_HasLen"])(a0);var _PyObject_LengthHint=Module["_PyObject_LengthHint"]=(a0,a1)=>(_PyObject_LengthHint=Module["_PyObject_LengthHint"]=wasmExports["PyObject_LengthHint"])(a0,a1);var __PyErr_ExceptionMatches=Module["__PyErr_ExceptionMatches"]=(a0,a1)=>(__PyErr_ExceptionMatches=Module["__PyErr_ExceptionMatches"]=wasmExports["_PyErr_ExceptionMatches"])(a0,a1);var __PyErr_Clear=Module["__PyErr_Clear"]=a0=>(__PyErr_Clear=Module["__PyErr_Clear"]=wasmExports["_PyErr_Clear"])(a0);var __PyObject_LookupSpecial=Module["__PyObject_LookupSpecial"]=(a0,a1)=>(__PyObject_LookupSpecial=Module["__PyObject_LookupSpecial"]=wasmExports["_PyObject_LookupSpecial"])(a0,a1);var _Py_GenericAlias=Module["_Py_GenericAlias"]=(a0,a1)=>(_Py_GenericAlias=Module["_Py_GenericAlias"]=wasmExports["Py_GenericAlias"])(a0,a1);var __PyObject_LookupAttr=Module["__PyObject_LookupAttr"]=(a0,a1,a2)=>(__PyObject_LookupAttr=Module["__PyObject_LookupAttr"]=wasmExports["_PyObject_LookupAttr"])(a0,a1,a2);var __PyLong_Sign=Module["__PyLong_Sign"]=a0=>(__PyLong_Sign=Module["__PyLong_Sign"]=wasmExports["_PyLong_Sign"])(a0);var __PyErr_Format=Module["__PyErr_Format"]=(a0,a1,a2,a3)=>(__PyErr_Format=Module["__PyErr_Format"]=wasmExports["_PyErr_Format"])(a0,a1,a2,a3);var _PySequence_SetItem=Module["_PySequence_SetItem"]=(a0,a1,a2)=>(_PySequence_SetItem=Module["_PySequence_SetItem"]=wasmExports["PySequence_SetItem"])(a0,a1,a2);var _PySequence_DelItem=Module["_PySequence_DelItem"]=(a0,a1)=>(_PySequence_DelItem=Module["_PySequence_DelItem"]=wasmExports["PySequence_DelItem"])(a0,a1);var _PyObject_DelItemString=Module["_PyObject_DelItemString"]=(a0,a1)=>(_PyObject_DelItemString=Module["_PyObject_DelItemString"]=wasmExports["PyObject_DelItemString"])(a0,a1);var _PyObject_CheckReadBuffer=Module["_PyObject_CheckReadBuffer"]=a0=>(_PyObject_CheckReadBuffer=Module["_PyObject_CheckReadBuffer"]=wasmExports["PyObject_CheckReadBuffer"])(a0);var _PyObject_AsCharBuffer=Module["_PyObject_AsCharBuffer"]=(a0,a1,a2)=>(_PyObject_AsCharBuffer=Module["_PyObject_AsCharBuffer"]=wasmExports["PyObject_AsCharBuffer"])(a0,a1,a2);var _PyObject_AsReadBuffer=Module["_PyObject_AsReadBuffer"]=(a0,a1,a2)=>(_PyObject_AsReadBuffer=Module["_PyObject_AsReadBuffer"]=wasmExports["PyObject_AsReadBuffer"])(a0,a1,a2);var _PyObject_AsWriteBuffer=Module["_PyObject_AsWriteBuffer"]=(a0,a1,a2)=>(_PyObject_AsWriteBuffer=Module["_PyObject_AsWriteBuffer"]=wasmExports["PyObject_AsWriteBuffer"])(a0,a1,a2);var _PyBuffer_GetPointer=Module["_PyBuffer_GetPointer"]=(a0,a1)=>(_PyBuffer_GetPointer=Module["_PyBuffer_GetPointer"]=wasmExports["PyBuffer_GetPointer"])(a0,a1);var __Py_add_one_to_index_F=Module["__Py_add_one_to_index_F"]=(a0,a1,a2)=>(__Py_add_one_to_index_F=Module["__Py_add_one_to_index_F"]=wasmExports["_Py_add_one_to_index_F"])(a0,a1,a2);var __Py_add_one_to_index_C=Module["__Py_add_one_to_index_C"]=(a0,a1,a2)=>(__Py_add_one_to_index_C=Module["__Py_add_one_to_index_C"]=wasmExports["_Py_add_one_to_index_C"])(a0,a1,a2);var _PyBuffer_SizeFromFormat=Module["_PyBuffer_SizeFromFormat"]=a0=>(_PyBuffer_SizeFromFormat=Module["_PyBuffer_SizeFromFormat"]=wasmExports["PyBuffer_SizeFromFormat"])(a0);var _PyObject_CallFunctionObjArgs=Module["_PyObject_CallFunctionObjArgs"]=(a0,a1)=>(_PyObject_CallFunctionObjArgs=Module["_PyObject_CallFunctionObjArgs"]=wasmExports["PyObject_CallFunctionObjArgs"])(a0,a1);var _PyBuffer_FromContiguous=Module["_PyBuffer_FromContiguous"]=(a0,a1,a2,a3)=>(_PyBuffer_FromContiguous=Module["_PyBuffer_FromContiguous"]=wasmExports["PyBuffer_FromContiguous"])(a0,a1,a2,a3);var _memset=Module["_memset"]=(a0,a1,a2)=>(_memset=Module["_memset"]=wasmExports["memset"])(a0,a1,a2);var _PyObject_CopyData=Module["_PyObject_CopyData"]=(a0,a1)=>(_PyObject_CopyData=Module["_PyObject_CopyData"]=wasmExports["PyObject_CopyData"])(a0,a1);var _PyBuffer_FillInfo=Module["_PyBuffer_FillInfo"]=(a0,a1,a2,a3,a4,a5)=>(_PyBuffer_FillInfo=Module["_PyBuffer_FillInfo"]=wasmExports["PyBuffer_FillInfo"])(a0,a1,a2,a3,a4,a5);var _PyObject_Format=Module["_PyObject_Format"]=(a0,a1)=>(_PyObject_Format=Module["_PyObject_Format"]=wasmExports["PyObject_Format"])(a0,a1);var _PyNumber_Check=Module["_PyNumber_Check"]=a0=>(_PyNumber_Check=Module["_PyNumber_Check"]=wasmExports["PyNumber_Check"])(a0);var _PyNumber_Or=Module["_PyNumber_Or"]=(a0,a1)=>(_PyNumber_Or=Module["_PyNumber_Or"]=wasmExports["PyNumber_Or"])(a0,a1);var _PyNumber_Xor=Module["_PyNumber_Xor"]=(a0,a1)=>(_PyNumber_Xor=Module["_PyNumber_Xor"]=wasmExports["PyNumber_Xor"])(a0,a1);var _PyNumber_And=Module["_PyNumber_And"]=(a0,a1)=>(_PyNumber_And=Module["_PyNumber_And"]=wasmExports["PyNumber_And"])(a0,a1);var _PyNumber_Lshift=Module["_PyNumber_Lshift"]=(a0,a1)=>(_PyNumber_Lshift=Module["_PyNumber_Lshift"]=wasmExports["PyNumber_Lshift"])(a0,a1);var _PyNumber_Rshift=Module["_PyNumber_Rshift"]=(a0,a1)=>(_PyNumber_Rshift=Module["_PyNumber_Rshift"]=wasmExports["PyNumber_Rshift"])(a0,a1);var _PyNumber_Subtract=Module["_PyNumber_Subtract"]=(a0,a1)=>(_PyNumber_Subtract=Module["_PyNumber_Subtract"]=wasmExports["PyNumber_Subtract"])(a0,a1);var _PyNumber_Divmod=Module["_PyNumber_Divmod"]=(a0,a1)=>(_PyNumber_Divmod=Module["_PyNumber_Divmod"]=wasmExports["PyNumber_Divmod"])(a0,a1);var _PyNumber_Add=Module["_PyNumber_Add"]=(a0,a1)=>(_PyNumber_Add=Module["_PyNumber_Add"]=wasmExports["PyNumber_Add"])(a0,a1);var _PyNumber_Multiply=Module["_PyNumber_Multiply"]=(a0,a1)=>(_PyNumber_Multiply=Module["_PyNumber_Multiply"]=wasmExports["PyNumber_Multiply"])(a0,a1);var _PyNumber_MatrixMultiply=Module["_PyNumber_MatrixMultiply"]=(a0,a1)=>(_PyNumber_MatrixMultiply=Module["_PyNumber_MatrixMultiply"]=wasmExports["PyNumber_MatrixMultiply"])(a0,a1);var _PyNumber_FloorDivide=Module["_PyNumber_FloorDivide"]=(a0,a1)=>(_PyNumber_FloorDivide=Module["_PyNumber_FloorDivide"]=wasmExports["PyNumber_FloorDivide"])(a0,a1);var _PyNumber_TrueDivide=Module["_PyNumber_TrueDivide"]=(a0,a1)=>(_PyNumber_TrueDivide=Module["_PyNumber_TrueDivide"]=wasmExports["PyNumber_TrueDivide"])(a0,a1);var _PyNumber_Remainder=Module["_PyNumber_Remainder"]=(a0,a1)=>(_PyNumber_Remainder=Module["_PyNumber_Remainder"]=wasmExports["PyNumber_Remainder"])(a0,a1);var _PyNumber_Power=Module["_PyNumber_Power"]=(a0,a1,a2)=>(_PyNumber_Power=Module["_PyNumber_Power"]=wasmExports["PyNumber_Power"])(a0,a1,a2);var _PyNumber_InPlaceOr=Module["_PyNumber_InPlaceOr"]=(a0,a1)=>(_PyNumber_InPlaceOr=Module["_PyNumber_InPlaceOr"]=wasmExports["PyNumber_InPlaceOr"])(a0,a1);var _PyNumber_InPlaceXor=Module["_PyNumber_InPlaceXor"]=(a0,a1)=>(_PyNumber_InPlaceXor=Module["_PyNumber_InPlaceXor"]=wasmExports["PyNumber_InPlaceXor"])(a0,a1);var _PyNumber_InPlaceAnd=Module["_PyNumber_InPlaceAnd"]=(a0,a1)=>(_PyNumber_InPlaceAnd=Module["_PyNumber_InPlaceAnd"]=wasmExports["PyNumber_InPlaceAnd"])(a0,a1);var _PyNumber_InPlaceLshift=Module["_PyNumber_InPlaceLshift"]=(a0,a1)=>(_PyNumber_InPlaceLshift=Module["_PyNumber_InPlaceLshift"]=wasmExports["PyNumber_InPlaceLshift"])(a0,a1);var _PyNumber_InPlaceRshift=Module["_PyNumber_InPlaceRshift"]=(a0,a1)=>(_PyNumber_InPlaceRshift=Module["_PyNumber_InPlaceRshift"]=wasmExports["PyNumber_InPlaceRshift"])(a0,a1);var _PyNumber_InPlaceSubtract=Module["_PyNumber_InPlaceSubtract"]=(a0,a1)=>(_PyNumber_InPlaceSubtract=Module["_PyNumber_InPlaceSubtract"]=wasmExports["PyNumber_InPlaceSubtract"])(a0,a1);var _PyNumber_InPlaceMatrixMultiply=Module["_PyNumber_InPlaceMatrixMultiply"]=(a0,a1)=>(_PyNumber_InPlaceMatrixMultiply=Module["_PyNumber_InPlaceMatrixMultiply"]=wasmExports["PyNumber_InPlaceMatrixMultiply"])(a0,a1);var _PyNumber_InPlaceFloorDivide=Module["_PyNumber_InPlaceFloorDivide"]=(a0,a1)=>(_PyNumber_InPlaceFloorDivide=Module["_PyNumber_InPlaceFloorDivide"]=wasmExports["PyNumber_InPlaceFloorDivide"])(a0,a1);var _PyNumber_InPlaceTrueDivide=Module["_PyNumber_InPlaceTrueDivide"]=(a0,a1)=>(_PyNumber_InPlaceTrueDivide=Module["_PyNumber_InPlaceTrueDivide"]=wasmExports["PyNumber_InPlaceTrueDivide"])(a0,a1);var _PyNumber_InPlaceRemainder=Module["_PyNumber_InPlaceRemainder"]=(a0,a1)=>(_PyNumber_InPlaceRemainder=Module["_PyNumber_InPlaceRemainder"]=wasmExports["PyNumber_InPlaceRemainder"])(a0,a1);var _PyNumber_InPlaceAdd=Module["_PyNumber_InPlaceAdd"]=(a0,a1)=>(_PyNumber_InPlaceAdd=Module["_PyNumber_InPlaceAdd"]=wasmExports["PyNumber_InPlaceAdd"])(a0,a1);var _PyNumber_InPlaceMultiply=Module["_PyNumber_InPlaceMultiply"]=(a0,a1)=>(_PyNumber_InPlaceMultiply=Module["_PyNumber_InPlaceMultiply"]=wasmExports["PyNumber_InPlaceMultiply"])(a0,a1);var _PyNumber_InPlacePower=Module["_PyNumber_InPlacePower"]=(a0,a1,a2)=>(_PyNumber_InPlacePower=Module["_PyNumber_InPlacePower"]=wasmExports["PyNumber_InPlacePower"])(a0,a1,a2);var _PyNumber_Negative=Module["_PyNumber_Negative"]=a0=>(_PyNumber_Negative=Module["_PyNumber_Negative"]=wasmExports["PyNumber_Negative"])(a0);var _PyNumber_Positive=Module["_PyNumber_Positive"]=a0=>(_PyNumber_Positive=Module["_PyNumber_Positive"]=wasmExports["PyNumber_Positive"])(a0);var _PyNumber_Invert=Module["_PyNumber_Invert"]=a0=>(_PyNumber_Invert=Module["_PyNumber_Invert"]=wasmExports["PyNumber_Invert"])(a0);var _PyNumber_Absolute=Module["_PyNumber_Absolute"]=a0=>(_PyNumber_Absolute=Module["_PyNumber_Absolute"]=wasmExports["PyNumber_Absolute"])(a0);var _PyErr_WarnFormat=Module["_PyErr_WarnFormat"]=(a0,a1,a2,a3)=>(_PyErr_WarnFormat=Module["_PyErr_WarnFormat"]=wasmExports["PyErr_WarnFormat"])(a0,a1,a2,a3);var _PyNumber_Index=Module["_PyNumber_Index"]=a0=>(_PyNumber_Index=Module["_PyNumber_Index"]=wasmExports["PyNumber_Index"])(a0);var __PyLong_Copy=Module["__PyLong_Copy"]=a0=>(__PyLong_Copy=Module["__PyLong_Copy"]=wasmExports["_PyLong_Copy"])(a0);var _PyNumber_Long=Module["_PyNumber_Long"]=a0=>(_PyNumber_Long=Module["_PyNumber_Long"]=wasmExports["PyNumber_Long"])(a0);var _PyErr_WarnEx=Module["_PyErr_WarnEx"]=(a0,a1,a2)=>(_PyErr_WarnEx=Module["_PyErr_WarnEx"]=wasmExports["PyErr_WarnEx"])(a0,a1,a2);var _PyLong_FromUnicodeObject=Module["_PyLong_FromUnicodeObject"]=(a0,a1)=>(_PyLong_FromUnicodeObject=Module["_PyLong_FromUnicodeObject"]=wasmExports["PyLong_FromUnicodeObject"])(a0,a1);var __PyLong_FromBytes=Module["__PyLong_FromBytes"]=(a0,a1,a2)=>(__PyLong_FromBytes=Module["__PyLong_FromBytes"]=wasmExports["_PyLong_FromBytes"])(a0,a1,a2);var _PyNumber_Float=Module["_PyNumber_Float"]=a0=>(_PyNumber_Float=Module["_PyNumber_Float"]=wasmExports["PyNumber_Float"])(a0);var _PyLong_AsDouble=Module["_PyLong_AsDouble"]=a0=>(_PyLong_AsDouble=Module["_PyLong_AsDouble"]=wasmExports["PyLong_AsDouble"])(a0);var _PyFloat_FromString=Module["_PyFloat_FromString"]=a0=>(_PyFloat_FromString=Module["_PyFloat_FromString"]=wasmExports["PyFloat_FromString"])(a0);var _PyNumber_ToBase=Module["_PyNumber_ToBase"]=(a0,a1)=>(_PyNumber_ToBase=Module["_PyNumber_ToBase"]=wasmExports["PyNumber_ToBase"])(a0,a1);var __PyLong_Format=Module["__PyLong_Format"]=(a0,a1)=>(__PyLong_Format=Module["__PyLong_Format"]=wasmExports["_PyLong_Format"])(a0,a1);var _PySequence_Check=Module["_PySequence_Check"]=a0=>(_PySequence_Check=Module["_PySequence_Check"]=wasmExports["PySequence_Check"])(a0);var _PySequence_Length=Module["_PySequence_Length"]=a0=>(_PySequence_Length=Module["_PySequence_Length"]=wasmExports["PySequence_Length"])(a0);var _PySequence_Concat=Module["_PySequence_Concat"]=(a0,a1)=>(_PySequence_Concat=Module["_PySequence_Concat"]=wasmExports["PySequence_Concat"])(a0,a1);var _PySequence_Repeat=Module["_PySequence_Repeat"]=(a0,a1)=>(_PySequence_Repeat=Module["_PySequence_Repeat"]=wasmExports["PySequence_Repeat"])(a0,a1);var _PySequence_InPlaceConcat=Module["_PySequence_InPlaceConcat"]=(a0,a1)=>(_PySequence_InPlaceConcat=Module["_PySequence_InPlaceConcat"]=wasmExports["PySequence_InPlaceConcat"])(a0,a1);var _PySequence_InPlaceRepeat=Module["_PySequence_InPlaceRepeat"]=(a0,a1)=>(_PySequence_InPlaceRepeat=Module["_PySequence_InPlaceRepeat"]=wasmExports["PySequence_InPlaceRepeat"])(a0,a1);var __PySlice_FromIndices=Module["__PySlice_FromIndices"]=(a0,a1)=>(__PySlice_FromIndices=Module["__PySlice_FromIndices"]=wasmExports["_PySlice_FromIndices"])(a0,a1);var _PySequence_DelSlice=Module["_PySequence_DelSlice"]=(a0,a1,a2)=>(_PySequence_DelSlice=Module["_PySequence_DelSlice"]=wasmExports["PySequence_DelSlice"])(a0,a1,a2);var _PySequence_Tuple=Module["_PySequence_Tuple"]=a0=>(_PySequence_Tuple=Module["_PySequence_Tuple"]=wasmExports["PySequence_Tuple"])(a0);var _PyList_AsTuple=Module["_PyList_AsTuple"]=a0=>(_PyList_AsTuple=Module["_PyList_AsTuple"]=wasmExports["PyList_AsTuple"])(a0);var __PyTuple_Resize=Module["__PyTuple_Resize"]=(a0,a1)=>(__PyTuple_Resize=Module["__PyTuple_Resize"]=wasmExports["_PyTuple_Resize"])(a0,a1);var _PySeqIter_New=Module["_PySeqIter_New"]=a0=>(_PySeqIter_New=Module["_PySeqIter_New"]=wasmExports["PySeqIter_New"])(a0);var _PySequence_List=Module["_PySequence_List"]=a0=>(_PySequence_List=Module["_PySequence_List"]=wasmExports["PySequence_List"])(a0);var __PySequence_IterSearch=Module["__PySequence_IterSearch"]=(a0,a1,a2)=>(__PySequence_IterSearch=Module["__PySequence_IterSearch"]=wasmExports["_PySequence_IterSearch"])(a0,a1,a2);var _PySequence_Count=Module["_PySequence_Count"]=(a0,a1)=>(_PySequence_Count=Module["_PySequence_Count"]=wasmExports["PySequence_Count"])(a0,a1);var _PySequence_In=Module["_PySequence_In"]=(a0,a1)=>(_PySequence_In=Module["_PySequence_In"]=wasmExports["PySequence_In"])(a0,a1);var _PySequence_Index=Module["_PySequence_Index"]=(a0,a1)=>(_PySequence_Index=Module["_PySequence_Index"]=wasmExports["PySequence_Index"])(a0,a1);var _PyMapping_Check=Module["_PyMapping_Check"]=a0=>(_PyMapping_Check=Module["_PyMapping_Check"]=wasmExports["PyMapping_Check"])(a0);var _PyMapping_Length=Module["_PyMapping_Length"]=a0=>(_PyMapping_Length=Module["_PyMapping_Length"]=wasmExports["PyMapping_Length"])(a0);var _PyMapping_GetItemString=Module["_PyMapping_GetItemString"]=(a0,a1)=>(_PyMapping_GetItemString=Module["_PyMapping_GetItemString"]=wasmExports["PyMapping_GetItemString"])(a0,a1);var _PyMapping_SetItemString=Module["_PyMapping_SetItemString"]=(a0,a1,a2)=>(_PyMapping_SetItemString=Module["_PyMapping_SetItemString"]=wasmExports["PyMapping_SetItemString"])(a0,a1,a2);var _PyMapping_HasKeyString=Module["_PyMapping_HasKeyString"]=(a0,a1)=>(_PyMapping_HasKeyString=Module["_PyMapping_HasKeyString"]=wasmExports["PyMapping_HasKeyString"])(a0,a1);var _PyMapping_HasKey=Module["_PyMapping_HasKey"]=(a0,a1)=>(_PyMapping_HasKey=Module["_PyMapping_HasKey"]=wasmExports["PyMapping_HasKey"])(a0,a1);var _PyMapping_Keys=Module["_PyMapping_Keys"]=a0=>(_PyMapping_Keys=Module["_PyMapping_Keys"]=wasmExports["PyMapping_Keys"])(a0);var _PyDict_Keys=Module["_PyDict_Keys"]=a0=>(_PyDict_Keys=Module["_PyDict_Keys"]=wasmExports["PyDict_Keys"])(a0);var _PyMapping_Items=Module["_PyMapping_Items"]=a0=>(_PyMapping_Items=Module["_PyMapping_Items"]=wasmExports["PyMapping_Items"])(a0);var _PyDict_Items=Module["_PyDict_Items"]=a0=>(_PyDict_Items=Module["_PyDict_Items"]=wasmExports["PyDict_Items"])(a0);var _PyMapping_Values=Module["_PyMapping_Values"]=a0=>(_PyMapping_Values=Module["_PyMapping_Values"]=wasmExports["PyMapping_Values"])(a0);var _PyDict_Values=Module["_PyDict_Values"]=a0=>(_PyDict_Values=Module["_PyDict_Values"]=wasmExports["PyDict_Values"])(a0);var _PyObject_IsInstance=Module["_PyObject_IsInstance"]=(a0,a1)=>(_PyObject_IsInstance=Module["_PyObject_IsInstance"]=wasmExports["PyObject_IsInstance"])(a0,a1);var __Py_CheckRecursiveCall=Module["__Py_CheckRecursiveCall"]=(a0,a1)=>(__Py_CheckRecursiveCall=Module["__Py_CheckRecursiveCall"]=wasmExports["_Py_CheckRecursiveCall"])(a0,a1);var _PyObject_IsTrue=Module["_PyObject_IsTrue"]=a0=>(_PyObject_IsTrue=Module["_PyObject_IsTrue"]=wasmExports["PyObject_IsTrue"])(a0);var __PyObject_RealIsInstance=Module["__PyObject_RealIsInstance"]=(a0,a1)=>(__PyObject_RealIsInstance=Module["__PyObject_RealIsInstance"]=wasmExports["_PyObject_RealIsInstance"])(a0,a1);var __PyObject_RealIsSubclass=Module["__PyObject_RealIsSubclass"]=(a0,a1)=>(__PyObject_RealIsSubclass=Module["__PyObject_RealIsSubclass"]=wasmExports["_PyObject_RealIsSubclass"])(a0,a1);var _PyIter_Check=Module["_PyIter_Check"]=a0=>(_PyIter_Check=Module["_PyIter_Check"]=wasmExports["PyIter_Check"])(a0);var _PyObject_GetAIter=Module["_PyObject_GetAIter"]=a0=>(_PyObject_GetAIter=Module["_PyObject_GetAIter"]=wasmExports["PyObject_GetAIter"])(a0);var _PyAIter_Check=Module["_PyAIter_Check"]=a0=>(_PyAIter_Check=Module["_PyAIter_Check"]=wasmExports["PyAIter_Check"])(a0);var __PySequence_BytesToCharpArray=Module["__PySequence_BytesToCharpArray"]=a0=>(__PySequence_BytesToCharpArray=Module["__PySequence_BytesToCharpArray"]=wasmExports["_PySequence_BytesToCharpArray"])(a0);var __Py_FreeCharPArray=Module["__Py_FreeCharPArray"]=a0=>(__Py_FreeCharPArray=Module["__Py_FreeCharPArray"]=wasmExports["_Py_FreeCharPArray"])(a0);var __PyAccu_Init=Module["__PyAccu_Init"]=a0=>(__PyAccu_Init=Module["__PyAccu_Init"]=wasmExports["_PyAccu_Init"])(a0);var __PyAccu_Accumulate=Module["__PyAccu_Accumulate"]=(a0,a1)=>(__PyAccu_Accumulate=Module["__PyAccu_Accumulate"]=wasmExports["_PyAccu_Accumulate"])(a0,a1);var _PyList_Append=Module["_PyList_Append"]=(a0,a1)=>(_PyList_Append=Module["_PyList_Append"]=wasmExports["PyList_Append"])(a0,a1);var _PyList_SetSlice=Module["_PyList_SetSlice"]=(a0,a1,a2,a3)=>(_PyList_SetSlice=Module["_PyList_SetSlice"]=wasmExports["PyList_SetSlice"])(a0,a1,a2,a3);var __PyAccu_FinishAsList=Module["__PyAccu_FinishAsList"]=a0=>(__PyAccu_FinishAsList=Module["__PyAccu_FinishAsList"]=wasmExports["_PyAccu_FinishAsList"])(a0);var __PyAccu_Finish=Module["__PyAccu_Finish"]=a0=>(__PyAccu_Finish=Module["__PyAccu_Finish"]=wasmExports["_PyAccu_Finish"])(a0);var __PyAccu_Destroy=Module["__PyAccu_Destroy"]=a0=>(__PyAccu_Destroy=Module["__PyAccu_Destroy"]=wasmExports["_PyAccu_Destroy"])(a0);var _PyBool_FromLong=Module["_PyBool_FromLong"]=a0=>(_PyBool_FromLong=Module["_PyBool_FromLong"]=wasmExports["PyBool_FromLong"])(a0);var __Py_FatalRefcountErrorFunc=Module["__Py_FatalRefcountErrorFunc"]=(a0,a1)=>(__Py_FatalRefcountErrorFunc=Module["__Py_FatalRefcountErrorFunc"]=wasmExports["_Py_FatalRefcountErrorFunc"])(a0,a1);var __PyArg_NoKeywords=Module["__PyArg_NoKeywords"]=(a0,a1)=>(__PyArg_NoKeywords=Module["__PyArg_NoKeywords"]=wasmExports["_PyArg_NoKeywords"])(a0,a1);var __PyArg_NoKwnames=Module["__PyArg_NoKwnames"]=(a0,a1)=>(__PyArg_NoKwnames=Module["__PyArg_NoKwnames"]=wasmExports["_PyArg_NoKwnames"])(a0,a1);var _memrchr=Module["_memrchr"]=(a0,a1,a2)=>(_memrchr=Module["_memrchr"]=wasmExports["memrchr"])(a0,a1,a2);var _memchr=Module["_memchr"]=(a0,a1,a2)=>(_memchr=Module["_memchr"]=wasmExports["memchr"])(a0,a1,a2);var __PyEval_SliceIndex=Module["__PyEval_SliceIndex"]=(a0,a1)=>(__PyEval_SliceIndex=Module["__PyEval_SliceIndex"]=wasmExports["_PyEval_SliceIndex"])(a0,a1);var _PyByteArray_FromObject=Module["_PyByteArray_FromObject"]=a0=>(_PyByteArray_FromObject=Module["_PyByteArray_FromObject"]=wasmExports["PyByteArray_FromObject"])(a0);var _PyByteArray_FromStringAndSize=Module["_PyByteArray_FromStringAndSize"]=(a0,a1)=>(_PyByteArray_FromStringAndSize=Module["_PyByteArray_FromStringAndSize"]=wasmExports["PyByteArray_FromStringAndSize"])(a0,a1);var __PyObject_New=Module["__PyObject_New"]=a0=>(__PyObject_New=Module["__PyObject_New"]=wasmExports["_PyObject_New"])(a0);var _PyObject_Malloc=Module["_PyObject_Malloc"]=a0=>(_PyObject_Malloc=Module["_PyObject_Malloc"]=wasmExports["PyObject_Malloc"])(a0);var _PyByteArray_Size=Module["_PyByteArray_Size"]=a0=>(_PyByteArray_Size=Module["_PyByteArray_Size"]=wasmExports["PyByteArray_Size"])(a0);var _PyByteArray_AsString=Module["_PyByteArray_AsString"]=a0=>(_PyByteArray_AsString=Module["_PyByteArray_AsString"]=wasmExports["PyByteArray_AsString"])(a0);var _PyByteArray_Resize=Module["_PyByteArray_Resize"]=(a0,a1)=>(_PyByteArray_Resize=Module["_PyByteArray_Resize"]=wasmExports["PyByteArray_Resize"])(a0,a1);var _PyObject_Free=Module["_PyObject_Free"]=a0=>(_PyObject_Free=Module["_PyObject_Free"]=wasmExports["PyObject_Free"])(a0);var _PyObject_Realloc=Module["_PyObject_Realloc"]=(a0,a1)=>(_PyObject_Realloc=Module["_PyObject_Realloc"]=wasmExports["PyObject_Realloc"])(a0,a1);var _PyByteArray_Concat=Module["_PyByteArray_Concat"]=(a0,a1)=>(_PyByteArray_Concat=Module["_PyByteArray_Concat"]=wasmExports["PyByteArray_Concat"])(a0,a1);var __Py_GetConfig=Module["__Py_GetConfig"]=()=>(__Py_GetConfig=Module["__Py_GetConfig"]=wasmExports["_Py_GetConfig"])();var __PyObject_GC_New=Module["__PyObject_GC_New"]=a0=>(__PyObject_GC_New=Module["__PyObject_GC_New"]=wasmExports["_PyObject_GC_New"])(a0);var __PyArg_UnpackKeywords=Module["__PyArg_UnpackKeywords"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(__PyArg_UnpackKeywords=Module["__PyArg_UnpackKeywords"]=wasmExports["_PyArg_UnpackKeywords"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var __PyArg_BadArgument=Module["__PyArg_BadArgument"]=(a0,a1,a2,a3)=>(__PyArg_BadArgument=Module["__PyArg_BadArgument"]=wasmExports["_PyArg_BadArgument"])(a0,a1,a2,a3);var _PyUnicode_AsEncodedString=Module["_PyUnicode_AsEncodedString"]=(a0,a1,a2)=>(_PyUnicode_AsEncodedString=Module["_PyUnicode_AsEncodedString"]=wasmExports["PyUnicode_AsEncodedString"])(a0,a1,a2);var _PyBuffer_ToContiguous=Module["_PyBuffer_ToContiguous"]=(a0,a1,a2,a3)=>(_PyBuffer_ToContiguous=Module["_PyBuffer_ToContiguous"]=wasmExports["PyBuffer_ToContiguous"])(a0,a1,a2,a3);var _PyObject_GC_Del=Module["_PyObject_GC_Del"]=a0=>(_PyObject_GC_Del=Module["_PyObject_GC_Del"]=wasmExports["PyObject_GC_Del"])(a0);var __PyBytes_FormatEx=Module["__PyBytes_FormatEx"]=(a0,a1,a2,a3)=>(__PyBytes_FormatEx=Module["__PyBytes_FormatEx"]=wasmExports["_PyBytes_FormatEx"])(a0,a1,a2,a3);var __PyBytes_Repeat=Module["__PyBytes_Repeat"]=(a0,a1,a2,a3)=>(__PyBytes_Repeat=Module["__PyBytes_Repeat"]=wasmExports["_PyBytes_Repeat"])(a0,a1,a2,a3);var _memmove=Module["_memmove"]=(a0,a1,a2)=>(_memmove=Module["_memmove"]=wasmExports["memmove"])(a0,a1,a2);var __PyObject_GetState=Module["__PyObject_GetState"]=a0=>(__PyObject_GetState=Module["__PyObject_GetState"]=wasmExports["_PyObject_GetState"])(a0);var _PyUnicode_DecodeLatin1=Module["_PyUnicode_DecodeLatin1"]=(a0,a1,a2)=>(_PyUnicode_DecodeLatin1=Module["_PyUnicode_DecodeLatin1"]=wasmExports["PyUnicode_DecodeLatin1"])(a0,a1,a2);var __PyLong_AsInt=Module["__PyLong_AsInt"]=a0=>(__PyLong_AsInt=Module["__PyLong_AsInt"]=wasmExports["_PyLong_AsInt"])(a0);var _PyUnicode_GetDefaultEncoding=Module["_PyUnicode_GetDefaultEncoding"]=()=>(_PyUnicode_GetDefaultEncoding=Module["_PyUnicode_GetDefaultEncoding"]=wasmExports["PyUnicode_GetDefaultEncoding"])();var _PyUnicode_FromEncodedObject=Module["_PyUnicode_FromEncodedObject"]=(a0,a1,a2)=>(_PyUnicode_FromEncodedObject=Module["_PyUnicode_FromEncodedObject"]=wasmExports["PyUnicode_FromEncodedObject"])(a0,a1,a2);var __PyBytes_FromHex=Module["__PyBytes_FromHex"]=(a0,a1)=>(__PyBytes_FromHex=Module["__PyBytes_FromHex"]=wasmExports["_PyBytes_FromHex"])(a0,a1);var __Py_strhex_with_sep=Module["__Py_strhex_with_sep"]=(a0,a1,a2,a3)=>(__Py_strhex_with_sep=Module["__Py_strhex_with_sep"]=wasmExports["_Py_strhex_with_sep"])(a0,a1,a2,a3);var _PyList_Reverse=Module["_PyList_Reverse"]=a0=>(_PyList_Reverse=Module["_PyList_Reverse"]=wasmExports["PyList_Reverse"])(a0);var __PyEval_GetBuiltin=Module["__PyEval_GetBuiltin"]=a0=>(__PyEval_GetBuiltin=Module["__PyEval_GetBuiltin"]=wasmExports["_PyEval_GetBuiltin"])(a0);var _PyType_GenericAlloc=Module["_PyType_GenericAlloc"]=(a0,a1)=>(_PyType_GenericAlloc=Module["_PyType_GenericAlloc"]=wasmExports["PyType_GenericAlloc"])(a0,a1);var _PyType_GenericNew=Module["_PyType_GenericNew"]=(a0,a1,a2)=>(_PyType_GenericNew=Module["_PyType_GenericNew"]=wasmExports["PyType_GenericNew"])(a0,a1,a2);var __Py_NewReference=Module["__Py_NewReference"]=a0=>(__Py_NewReference=Module["__Py_NewReference"]=wasmExports["_Py_NewReference"])(a0);var _PyObject_Calloc=Module["_PyObject_Calloc"]=(a0,a1)=>(_PyObject_Calloc=Module["_PyObject_Calloc"]=wasmExports["PyObject_Calloc"])(a0,a1);var _PyBytes_FromString=Module["_PyBytes_FromString"]=a0=>(_PyBytes_FromString=Module["_PyBytes_FromString"]=wasmExports["PyBytes_FromString"])(a0);var _PyBytes_FromFormatV=Module["_PyBytes_FromFormatV"]=(a0,a1)=>(_PyBytes_FromFormatV=Module["_PyBytes_FromFormatV"]=wasmExports["PyBytes_FromFormatV"])(a0,a1);var __PyBytesWriter_Resize=Module["__PyBytesWriter_Resize"]=(a0,a1,a2)=>(__PyBytesWriter_Resize=Module["__PyBytesWriter_Resize"]=wasmExports["_PyBytesWriter_Resize"])(a0,a1,a2);var __PyBytesWriter_Finish=Module["__PyBytesWriter_Finish"]=(a0,a1)=>(__PyBytesWriter_Finish=Module["__PyBytesWriter_Finish"]=wasmExports["_PyBytesWriter_Finish"])(a0,a1);var __PyBytesWriter_Init=Module["__PyBytesWriter_Init"]=a0=>(__PyBytesWriter_Init=Module["__PyBytesWriter_Init"]=wasmExports["_PyBytesWriter_Init"])(a0);var __PyBytesWriter_Alloc=Module["__PyBytesWriter_Alloc"]=(a0,a1)=>(__PyBytesWriter_Alloc=Module["__PyBytesWriter_Alloc"]=wasmExports["_PyBytesWriter_Alloc"])(a0,a1);var __PyBytesWriter_WriteBytes=Module["__PyBytesWriter_WriteBytes"]=(a0,a1,a2,a3)=>(__PyBytesWriter_WriteBytes=Module["__PyBytesWriter_WriteBytes"]=wasmExports["_PyBytesWriter_WriteBytes"])(a0,a1,a2,a3);var __PyBytes_Resize=Module["__PyBytes_Resize"]=(a0,a1)=>(__PyBytes_Resize=Module["__PyBytes_Resize"]=wasmExports["_PyBytes_Resize"])(a0,a1);var __PyBytesWriter_Dealloc=Module["__PyBytesWriter_Dealloc"]=a0=>(__PyBytesWriter_Dealloc=Module["__PyBytesWriter_Dealloc"]=wasmExports["_PyBytesWriter_Dealloc"])(a0);var _PyBytes_FromFormat=Module["_PyBytes_FromFormat"]=(a0,a1)=>(_PyBytes_FromFormat=Module["_PyBytes_FromFormat"]=wasmExports["PyBytes_FromFormat"])(a0,a1);var _PyObject_ASCII=Module["_PyObject_ASCII"]=a0=>(_PyObject_ASCII=Module["_PyObject_ASCII"]=wasmExports["PyObject_ASCII"])(a0);var __PyLong_FormatBytesWriter=Module["__PyLong_FormatBytesWriter"]=(a0,a1,a2,a3,a4)=>(__PyLong_FormatBytesWriter=Module["__PyLong_FormatBytesWriter"]=wasmExports["_PyLong_FormatBytesWriter"])(a0,a1,a2,a3,a4);var __PyUnicode_FormatLong=Module["__PyUnicode_FormatLong"]=(a0,a1,a2,a3)=>(__PyUnicode_FormatLong=Module["__PyUnicode_FormatLong"]=wasmExports["_PyUnicode_FormatLong"])(a0,a1,a2,a3);var _PyOS_double_to_string=Module["_PyOS_double_to_string"]=(a0,a1,a2,a3,a4)=>(_PyOS_double_to_string=Module["_PyOS_double_to_string"]=wasmExports["PyOS_double_to_string"])(a0,a1,a2,a3,a4);var __PyBytesWriter_Prepare=Module["__PyBytesWriter_Prepare"]=(a0,a1,a2)=>(__PyBytesWriter_Prepare=Module["__PyBytesWriter_Prepare"]=wasmExports["_PyBytesWriter_Prepare"])(a0,a1,a2);var _PyBytes_DecodeEscape=Module["_PyBytes_DecodeEscape"]=(a0,a1,a2,a3,a4)=>(_PyBytes_DecodeEscape=Module["_PyBytes_DecodeEscape"]=wasmExports["PyBytes_DecodeEscape"])(a0,a1,a2,a3,a4);var _PyBytes_Size=Module["_PyBytes_Size"]=a0=>(_PyBytes_Size=Module["_PyBytes_Size"]=wasmExports["PyBytes_Size"])(a0);var __PyBytes_Find=Module["__PyBytes_Find"]=(a0,a1,a2,a3,a4)=>(__PyBytes_Find=Module["__PyBytes_Find"]=wasmExports["_PyBytes_Find"])(a0,a1,a2,a3,a4);var __PyBytes_ReverseFind=Module["__PyBytes_ReverseFind"]=(a0,a1,a2,a3,a4)=>(__PyBytes_ReverseFind=Module["__PyBytes_ReverseFind"]=wasmExports["_PyBytes_ReverseFind"])(a0,a1,a2,a3,a4);var _PyBytes_Repr=Module["_PyBytes_Repr"]=(a0,a1)=>(_PyBytes_Repr=Module["_PyBytes_Repr"]=wasmExports["PyBytes_Repr"])(a0,a1);var __PyBytes_Join=Module["__PyBytes_Join"]=(a0,a1)=>(__PyBytes_Join=Module["__PyBytes_Join"]=wasmExports["_PyBytes_Join"])(a0,a1);var _PyBytes_FromObject=Module["_PyBytes_FromObject"]=a0=>(_PyBytes_FromObject=Module["_PyBytes_FromObject"]=wasmExports["PyBytes_FromObject"])(a0);var _PyErr_BadArgument=Module["_PyErr_BadArgument"]=()=>(_PyErr_BadArgument=Module["_PyErr_BadArgument"]=wasmExports["PyErr_BadArgument"])();var _PyBytes_Concat=Module["_PyBytes_Concat"]=(a0,a1)=>(_PyBytes_Concat=Module["_PyBytes_Concat"]=wasmExports["PyBytes_Concat"])(a0,a1);var __PyErr_FormatFromCauseTstate=Module["__PyErr_FormatFromCauseTstate"]=(a0,a1,a2,a3)=>(__PyErr_FormatFromCauseTstate=Module["__PyErr_FormatFromCauseTstate"]=wasmExports["_PyErr_FormatFromCauseTstate"])(a0,a1,a2,a3);var __Py_FatalErrorFormat=Module["__Py_FatalErrorFormat"]=(a0,a1,a2)=>(__Py_FatalErrorFormat=Module["__Py_FatalErrorFormat"]=wasmExports["_Py_FatalErrorFormat"])(a0,a1,a2);var __PyObject_FastCallDictTstate=Module["__PyObject_FastCallDictTstate"]=(a0,a1,a2,a3,a4)=>(__PyObject_FastCallDictTstate=Module["__PyObject_FastCallDictTstate"]=wasmExports["_PyObject_FastCallDictTstate"])(a0,a1,a2,a3,a4);var _PyVectorcall_Function=Module["_PyVectorcall_Function"]=a0=>(_PyVectorcall_Function=Module["_PyVectorcall_Function"]=wasmExports["PyVectorcall_Function"])(a0);var __PyErr_NoMemory=Module["__PyErr_NoMemory"]=a0=>(__PyErr_NoMemory=Module["__PyErr_NoMemory"]=wasmExports["_PyErr_NoMemory"])(a0);var _PyObject_VectorcallDict=Module["_PyObject_VectorcallDict"]=(a0,a1,a2,a3)=>(_PyObject_VectorcallDict=Module["_PyObject_VectorcallDict"]=wasmExports["PyObject_VectorcallDict"])(a0,a1,a2,a3);var __PyStack_AsDict=Module["__PyStack_AsDict"]=(a0,a1)=>(__PyStack_AsDict=Module["__PyStack_AsDict"]=wasmExports["_PyStack_AsDict"])(a0,a1);var __PyObject_Call=Module["__PyObject_Call"]=(a0,a1,a2,a3)=>(__PyObject_Call=Module["__PyObject_Call"]=wasmExports["_PyObject_Call"])(a0,a1,a2,a3);var _PyObject_Call=Module["_PyObject_Call"]=(a0,a1,a2)=>(_PyObject_Call=Module["_PyObject_Call"]=wasmExports["PyObject_Call"])(a0,a1,a2);var _PyCFunction_Call=Module["_PyCFunction_Call"]=(a0,a1,a2)=>(_PyCFunction_Call=Module["_PyCFunction_Call"]=wasmExports["PyCFunction_Call"])(a0,a1,a2);var __PyFunction_Vectorcall=Module["__PyFunction_Vectorcall"]=(a0,a1,a2,a3)=>(__PyFunction_Vectorcall=Module["__PyFunction_Vectorcall"]=wasmExports["_PyFunction_Vectorcall"])(a0,a1,a2,a3);var _PyEval_CallObjectWithKeywords=Module["_PyEval_CallObjectWithKeywords"]=(a0,a1,a2)=>(_PyEval_CallObjectWithKeywords=Module["_PyEval_CallObjectWithKeywords"]=wasmExports["PyEval_CallObjectWithKeywords"])(a0,a1,a2);var _PyObject_CallObject=Module["_PyObject_CallObject"]=(a0,a1)=>(_PyObject_CallObject=Module["_PyObject_CallObject"]=wasmExports["PyObject_CallObject"])(a0,a1);var __PyObject_Call_Prepend=Module["__PyObject_Call_Prepend"]=(a0,a1,a2,a3,a4)=>(__PyObject_Call_Prepend=Module["__PyObject_Call_Prepend"]=wasmExports["_PyObject_Call_Prepend"])(a0,a1,a2,a3,a4);var _PyObject_CallFunction=Module["_PyObject_CallFunction"]=(a0,a1,a2)=>(_PyObject_CallFunction=Module["_PyObject_CallFunction"]=wasmExports["PyObject_CallFunction"])(a0,a1,a2);var __Py_VaBuildStack_SizeT=Module["__Py_VaBuildStack_SizeT"]=(a0,a1,a2,a3,a4)=>(__Py_VaBuildStack_SizeT=Module["__Py_VaBuildStack_SizeT"]=wasmExports["_Py_VaBuildStack_SizeT"])(a0,a1,a2,a3,a4);var __Py_VaBuildStack=Module["__Py_VaBuildStack"]=(a0,a1,a2,a3,a4)=>(__Py_VaBuildStack=Module["__Py_VaBuildStack"]=wasmExports["_Py_VaBuildStack"])(a0,a1,a2,a3,a4);var _PyEval_CallFunction=Module["_PyEval_CallFunction"]=(a0,a1,a2)=>(_PyEval_CallFunction=Module["_PyEval_CallFunction"]=wasmExports["PyEval_CallFunction"])(a0,a1,a2);var __PyObject_CallFunction_SizeT=Module["__PyObject_CallFunction_SizeT"]=(a0,a1,a2)=>(__PyObject_CallFunction_SizeT=Module["__PyObject_CallFunction_SizeT"]=wasmExports["_PyObject_CallFunction_SizeT"])(a0,a1,a2);var _PyObject_CallMethod=Module["_PyObject_CallMethod"]=(a0,a1,a2,a3)=>(_PyObject_CallMethod=Module["_PyObject_CallMethod"]=wasmExports["PyObject_CallMethod"])(a0,a1,a2,a3);var _PyCallable_Check=Module["_PyCallable_Check"]=a0=>(_PyCallable_Check=Module["_PyCallable_Check"]=wasmExports["PyCallable_Check"])(a0);var _PyEval_CallMethod=Module["_PyEval_CallMethod"]=(a0,a1,a2,a3)=>(_PyEval_CallMethod=Module["_PyEval_CallMethod"]=wasmExports["PyEval_CallMethod"])(a0,a1,a2,a3);var __PyObject_CallMethodId=Module["__PyObject_CallMethodId"]=(a0,a1,a2,a3)=>(__PyObject_CallMethodId=Module["__PyObject_CallMethodId"]=wasmExports["_PyObject_CallMethodId"])(a0,a1,a2,a3);var __PyObject_CallMethod_SizeT=Module["__PyObject_CallMethod_SizeT"]=(a0,a1,a2,a3)=>(__PyObject_CallMethod_SizeT=Module["__PyObject_CallMethod_SizeT"]=wasmExports["_PyObject_CallMethod_SizeT"])(a0,a1,a2,a3);var __PyObject_CallMethodId_SizeT=Module["__PyObject_CallMethodId_SizeT"]=(a0,a1,a2,a3)=>(__PyObject_CallMethodId_SizeT=Module["__PyObject_CallMethodId_SizeT"]=wasmExports["_PyObject_CallMethodId_SizeT"])(a0,a1,a2,a3);var _PyObject_CallMethodObjArgs=Module["_PyObject_CallMethodObjArgs"]=(a0,a1,a2)=>(_PyObject_CallMethodObjArgs=Module["_PyObject_CallMethodObjArgs"]=wasmExports["PyObject_CallMethodObjArgs"])(a0,a1,a2);var _PyCapsule_New=Module["_PyCapsule_New"]=(a0,a1,a2)=>(_PyCapsule_New=Module["_PyCapsule_New"]=wasmExports["PyCapsule_New"])(a0,a1,a2);var _PyCapsule_IsValid=Module["_PyCapsule_IsValid"]=(a0,a1)=>(_PyCapsule_IsValid=Module["_PyCapsule_IsValid"]=wasmExports["PyCapsule_IsValid"])(a0,a1);var _PyCapsule_GetPointer=Module["_PyCapsule_GetPointer"]=(a0,a1)=>(_PyCapsule_GetPointer=Module["_PyCapsule_GetPointer"]=wasmExports["PyCapsule_GetPointer"])(a0,a1);var _PyCapsule_GetName=Module["_PyCapsule_GetName"]=a0=>(_PyCapsule_GetName=Module["_PyCapsule_GetName"]=wasmExports["PyCapsule_GetName"])(a0);var _PyCapsule_GetDestructor=Module["_PyCapsule_GetDestructor"]=a0=>(_PyCapsule_GetDestructor=Module["_PyCapsule_GetDestructor"]=wasmExports["PyCapsule_GetDestructor"])(a0);var _PyCapsule_GetContext=Module["_PyCapsule_GetContext"]=a0=>(_PyCapsule_GetContext=Module["_PyCapsule_GetContext"]=wasmExports["PyCapsule_GetContext"])(a0);var _PyCapsule_SetPointer=Module["_PyCapsule_SetPointer"]=(a0,a1)=>(_PyCapsule_SetPointer=Module["_PyCapsule_SetPointer"]=wasmExports["PyCapsule_SetPointer"])(a0,a1);var _PyCapsule_SetName=Module["_PyCapsule_SetName"]=(a0,a1)=>(_PyCapsule_SetName=Module["_PyCapsule_SetName"]=wasmExports["PyCapsule_SetName"])(a0,a1);var _PyCapsule_SetDestructor=Module["_PyCapsule_SetDestructor"]=(a0,a1)=>(_PyCapsule_SetDestructor=Module["_PyCapsule_SetDestructor"]=wasmExports["PyCapsule_SetDestructor"])(a0,a1);var _PyCapsule_SetContext=Module["_PyCapsule_SetContext"]=(a0,a1)=>(_PyCapsule_SetContext=Module["_PyCapsule_SetContext"]=wasmExports["PyCapsule_SetContext"])(a0,a1);var _PyCapsule_Import=Module["_PyCapsule_Import"]=(a0,a1)=>(_PyCapsule_Import=Module["_PyCapsule_Import"]=wasmExports["PyCapsule_Import"])(a0,a1);var _PyCell_New=Module["_PyCell_New"]=a0=>(_PyCell_New=Module["_PyCell_New"]=wasmExports["PyCell_New"])(a0);var _PyCell_Get=Module["_PyCell_Get"]=a0=>(_PyCell_Get=Module["_PyCell_Get"]=wasmExports["PyCell_Get"])(a0);var _PyCell_Set=Module["_PyCell_Set"]=(a0,a1)=>(_PyCell_Set=Module["_PyCell_Set"]=wasmExports["PyCell_Set"])(a0,a1);var _PyObject_RichCompare=Module["_PyObject_RichCompare"]=(a0,a1,a2)=>(_PyObject_RichCompare=Module["_PyObject_RichCompare"]=wasmExports["PyObject_RichCompare"])(a0,a1,a2);var _PyMethod_Function=Module["_PyMethod_Function"]=a0=>(_PyMethod_Function=Module["_PyMethod_Function"]=wasmExports["PyMethod_Function"])(a0);var _PyMethod_Self=Module["_PyMethod_Self"]=a0=>(_PyMethod_Self=Module["_PyMethod_Self"]=wasmExports["PyMethod_Self"])(a0);var _PyMethod_New=Module["_PyMethod_New"]=(a0,a1)=>(_PyMethod_New=Module["_PyMethod_New"]=wasmExports["PyMethod_New"])(a0,a1);var _PyObject_ClearWeakRefs=Module["_PyObject_ClearWeakRefs"]=a0=>(_PyObject_ClearWeakRefs=Module["_PyObject_ClearWeakRefs"]=wasmExports["PyObject_ClearWeakRefs"])(a0);var __Py_HashPointer=Module["__Py_HashPointer"]=a0=>(__Py_HashPointer=Module["__Py_HashPointer"]=wasmExports["_Py_HashPointer"])(a0);var _PyObject_Hash=Module["_PyObject_Hash"]=a0=>(_PyObject_Hash=Module["_PyObject_Hash"]=wasmExports["PyObject_Hash"])(a0);var __PyType_Lookup=Module["__PyType_Lookup"]=(a0,a1)=>(__PyType_Lookup=Module["__PyType_Lookup"]=wasmExports["_PyType_Lookup"])(a0,a1);var _PyInstanceMethod_New=Module["_PyInstanceMethod_New"]=a0=>(_PyInstanceMethod_New=Module["_PyInstanceMethod_New"]=wasmExports["PyInstanceMethod_New"])(a0);var _PyInstanceMethod_Function=Module["_PyInstanceMethod_Function"]=a0=>(_PyInstanceMethod_Function=Module["_PyInstanceMethod_Function"]=wasmExports["PyInstanceMethod_Function"])(a0);var __PyCode_Validate=Module["__PyCode_Validate"]=a0=>(__PyCode_Validate=Module["__PyCode_Validate"]=wasmExports["_PyCode_Validate"])(a0);var __PyCode_New=Module["__PyCode_New"]=a0=>(__PyCode_New=Module["__PyCode_New"]=wasmExports["_PyCode_New"])(a0);var __PyObject_NewVar=Module["__PyObject_NewVar"]=(a0,a1)=>(__PyObject_NewVar=Module["__PyObject_NewVar"]=wasmExports["_PyObject_NewVar"])(a0,a1);var _PyFrozenSet_New=Module["_PyFrozenSet_New"]=a0=>(_PyFrozenSet_New=Module["_PyFrozenSet_New"]=wasmExports["PyFrozenSet_New"])(a0);var _PyCode_NewWithPosOnlyArgs=Module["_PyCode_NewWithPosOnlyArgs"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17)=>(_PyCode_NewWithPosOnlyArgs=Module["_PyCode_NewWithPosOnlyArgs"]=wasmExports["PyCode_NewWithPosOnlyArgs"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17);var _PyUnicode_Compare=Module["_PyUnicode_Compare"]=(a0,a1)=>(_PyUnicode_Compare=Module["_PyUnicode_Compare"]=wasmExports["PyUnicode_Compare"])(a0,a1);var _PyCode_New=Module["_PyCode_New"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16)=>(_PyCode_New=Module["_PyCode_New"]=wasmExports["PyCode_New"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);var _PyCode_NewEmpty=Module["_PyCode_NewEmpty"]=(a0,a1,a2)=>(_PyCode_NewEmpty=Module["_PyCode_NewEmpty"]=wasmExports["PyCode_NewEmpty"])(a0,a1,a2);var _PyUnicode_DecodeFSDefault=Module["_PyUnicode_DecodeFSDefault"]=a0=>(_PyUnicode_DecodeFSDefault=Module["_PyUnicode_DecodeFSDefault"]=wasmExports["PyUnicode_DecodeFSDefault"])(a0);var _PyCode_Addr2Line=Module["_PyCode_Addr2Line"]=(a0,a1)=>(_PyCode_Addr2Line=Module["_PyCode_Addr2Line"]=wasmExports["PyCode_Addr2Line"])(a0,a1);var __PyCode_CheckLineNumber=Module["__PyCode_CheckLineNumber"]=(a0,a1)=>(__PyCode_CheckLineNumber=Module["__PyCode_CheckLineNumber"]=wasmExports["_PyCode_CheckLineNumber"])(a0,a1);var _PyCode_Addr2Location=Module["_PyCode_Addr2Location"]=(a0,a1,a2,a3,a4,a5)=>(_PyCode_Addr2Location=Module["_PyCode_Addr2Location"]=wasmExports["PyCode_Addr2Location"])(a0,a1,a2,a3,a4,a5);var __PyCode_GetExtra=Module["__PyCode_GetExtra"]=(a0,a1,a2)=>(__PyCode_GetExtra=Module["__PyCode_GetExtra"]=wasmExports["_PyCode_GetExtra"])(a0,a1,a2);var __PyCode_SetExtra=Module["__PyCode_SetExtra"]=(a0,a1,a2)=>(__PyCode_SetExtra=Module["__PyCode_SetExtra"]=wasmExports["_PyCode_SetExtra"])(a0,a1,a2);var _PyCode_GetVarnames=Module["_PyCode_GetVarnames"]=a0=>(_PyCode_GetVarnames=Module["_PyCode_GetVarnames"]=wasmExports["PyCode_GetVarnames"])(a0);var _PyCode_GetCellvars=Module["_PyCode_GetCellvars"]=a0=>(_PyCode_GetCellvars=Module["_PyCode_GetCellvars"]=wasmExports["PyCode_GetCellvars"])(a0);var _PyCode_GetFreevars=Module["_PyCode_GetFreevars"]=a0=>(_PyCode_GetFreevars=Module["_PyCode_GetFreevars"]=wasmExports["PyCode_GetFreevars"])(a0);var _PyCode_GetCode=Module["_PyCode_GetCode"]=a0=>(_PyCode_GetCode=Module["_PyCode_GetCode"]=wasmExports["PyCode_GetCode"])(a0);var __PyCode_ConstantKey=Module["__PyCode_ConstantKey"]=a0=>(__PyCode_ConstantKey=Module["__PyCode_ConstantKey"]=wasmExports["_PyCode_ConstantKey"])(a0);var _PyComplex_AsCComplex=Module["_PyComplex_AsCComplex"]=(a0,a1)=>(_PyComplex_AsCComplex=Module["_PyComplex_AsCComplex"]=wasmExports["PyComplex_AsCComplex"])(a0,a1);var __PySet_NextEntry=Module["__PySet_NextEntry"]=(a0,a1,a2,a3)=>(__PySet_NextEntry=Module["__PySet_NextEntry"]=wasmExports["_PySet_NextEntry"])(a0,a1,a2,a3);var _PyLong_FromVoidPtr=Module["_PyLong_FromVoidPtr"]=a0=>(_PyLong_FromVoidPtr=Module["_PyLong_FromVoidPtr"]=wasmExports["PyLong_FromVoidPtr"])(a0);var __PyUnicode_Copy=Module["__PyUnicode_Copy"]=a0=>(__PyUnicode_Copy=Module["__PyUnicode_Copy"]=wasmExports["_PyUnicode_Copy"])(a0);var __Py_c_sum=Module["__Py_c_sum"]=(a0,a1,a2)=>(__Py_c_sum=Module["__Py_c_sum"]=wasmExports["_Py_c_sum"])(a0,a1,a2);var __Py_c_diff=Module["__Py_c_diff"]=(a0,a1,a2)=>(__Py_c_diff=Module["__Py_c_diff"]=wasmExports["_Py_c_diff"])(a0,a1,a2);var __Py_c_neg=Module["__Py_c_neg"]=(a0,a1)=>(__Py_c_neg=Module["__Py_c_neg"]=wasmExports["_Py_c_neg"])(a0,a1);var __Py_c_prod=Module["__Py_c_prod"]=(a0,a1,a2)=>(__Py_c_prod=Module["__Py_c_prod"]=wasmExports["_Py_c_prod"])(a0,a1,a2);var __Py_c_quot=Module["__Py_c_quot"]=(a0,a1,a2)=>(__Py_c_quot=Module["__Py_c_quot"]=wasmExports["_Py_c_quot"])(a0,a1,a2);var __Py_c_pow=Module["__Py_c_pow"]=(a0,a1,a2)=>(__Py_c_pow=Module["__Py_c_pow"]=wasmExports["_Py_c_pow"])(a0,a1,a2);var _hypot=Module["_hypot"]=(a0,a1)=>(_hypot=Module["_hypot"]=wasmExports["hypot"])(a0,a1);var _atan2=Module["_atan2"]=(a0,a1)=>(_atan2=Module["_atan2"]=wasmExports["atan2"])(a0,a1);var _pow=Module["_pow"]=(a0,a1)=>(_pow=Module["_pow"]=wasmExports["pow"])(a0,a1);var _log=Module["_log"]=a0=>(_log=Module["_log"]=wasmExports["log"])(a0);var _exp=Module["_exp"]=a0=>(_exp=Module["_exp"]=wasmExports["exp"])(a0);var _sin=Module["_sin"]=a0=>(_sin=Module["_sin"]=wasmExports["sin"])(a0);var _cos=Module["_cos"]=a0=>(_cos=Module["_cos"]=wasmExports["cos"])(a0);var __Py_c_abs=Module["__Py_c_abs"]=a0=>(__Py_c_abs=Module["__Py_c_abs"]=wasmExports["_Py_c_abs"])(a0);var _PyComplex_FromDoubles=Module["_PyComplex_FromDoubles"]=(a0,a1)=>(_PyComplex_FromDoubles=Module["_PyComplex_FromDoubles"]=wasmExports["PyComplex_FromDoubles"])(a0,a1);var _PyComplex_RealAsDouble=Module["_PyComplex_RealAsDouble"]=a0=>(_PyComplex_RealAsDouble=Module["_PyComplex_RealAsDouble"]=wasmExports["PyComplex_RealAsDouble"])(a0);var _PyComplex_ImagAsDouble=Module["_PyComplex_ImagAsDouble"]=a0=>(_PyComplex_ImagAsDouble=Module["_PyComplex_ImagAsDouble"]=wasmExports["PyComplex_ImagAsDouble"])(a0);var __Py_HashDouble=Module["__Py_HashDouble"]=(a0,a1)=>(__Py_HashDouble=Module["__Py_HashDouble"]=wasmExports["_Py_HashDouble"])(a0,a1);var __PyUnicode_TransformDecimalAndSpaceToASCII=Module["__PyUnicode_TransformDecimalAndSpaceToASCII"]=a0=>(__PyUnicode_TransformDecimalAndSpaceToASCII=Module["__PyUnicode_TransformDecimalAndSpaceToASCII"]=wasmExports["_PyUnicode_TransformDecimalAndSpaceToASCII"])(a0);var __Py_string_to_number_with_underscores=Module["__Py_string_to_number_with_underscores"]=(a0,a1,a2,a3,a4,a5)=>(__Py_string_to_number_with_underscores=Module["__Py_string_to_number_with_underscores"]=wasmExports["_Py_string_to_number_with_underscores"])(a0,a1,a2,a3,a4,a5);var __PyUnicodeWriter_Init=Module["__PyUnicodeWriter_Init"]=a0=>(__PyUnicodeWriter_Init=Module["__PyUnicodeWriter_Init"]=wasmExports["_PyUnicodeWriter_Init"])(a0);var __PyUnicodeWriter_Dealloc=Module["__PyUnicodeWriter_Dealloc"]=a0=>(__PyUnicodeWriter_Dealloc=Module["__PyUnicodeWriter_Dealloc"]=wasmExports["_PyUnicodeWriter_Dealloc"])(a0);var __PyUnicodeWriter_Finish=Module["__PyUnicodeWriter_Finish"]=a0=>(__PyUnicodeWriter_Finish=Module["__PyUnicodeWriter_Finish"]=wasmExports["_PyUnicodeWriter_Finish"])(a0);var _PyCMethod_New=Module["_PyCMethod_New"]=(a0,a1,a2,a3)=>(_PyCMethod_New=Module["_PyCMethod_New"]=wasmExports["PyCMethod_New"])(a0,a1,a2,a3);var _PyMember_GetOne=Module["_PyMember_GetOne"]=(a0,a1)=>(_PyMember_GetOne=Module["_PyMember_GetOne"]=wasmExports["PyMember_GetOne"])(a0,a1);var _PyMember_SetOne=Module["_PyMember_SetOne"]=(a0,a1,a2)=>(_PyMember_SetOne=Module["_PyMember_SetOne"]=wasmExports["PyMember_SetOne"])(a0,a1,a2);var _PyTuple_GetSlice=Module["_PyTuple_GetSlice"]=(a0,a1,a2)=>(_PyTuple_GetSlice=Module["_PyTuple_GetSlice"]=wasmExports["PyTuple_GetSlice"])(a0,a1,a2);var _PyDescr_NewMethod=Module["_PyDescr_NewMethod"]=(a0,a1)=>(_PyDescr_NewMethod=Module["_PyDescr_NewMethod"]=wasmExports["PyDescr_NewMethod"])(a0,a1);var __PyObject_FunctionStr=Module["__PyObject_FunctionStr"]=a0=>(__PyObject_FunctionStr=Module["__PyObject_FunctionStr"]=wasmExports["_PyObject_FunctionStr"])(a0);var _PyDescr_NewClassMethod=Module["_PyDescr_NewClassMethod"]=(a0,a1)=>(_PyDescr_NewClassMethod=Module["_PyDescr_NewClassMethod"]=wasmExports["PyDescr_NewClassMethod"])(a0,a1);var _PyDescr_NewMember=Module["_PyDescr_NewMember"]=(a0,a1)=>(_PyDescr_NewMember=Module["_PyDescr_NewMember"]=wasmExports["PyDescr_NewMember"])(a0,a1);var _PyDescr_NewGetSet=Module["_PyDescr_NewGetSet"]=(a0,a1)=>(_PyDescr_NewGetSet=Module["_PyDescr_NewGetSet"]=wasmExports["PyDescr_NewGetSet"])(a0,a1);var _PyDescr_NewWrapper=Module["_PyDescr_NewWrapper"]=(a0,a1,a2)=>(_PyDescr_NewWrapper=Module["_PyDescr_NewWrapper"]=wasmExports["PyDescr_NewWrapper"])(a0,a1,a2);var _PyDescr_IsData=Module["_PyDescr_IsData"]=a0=>(_PyDescr_IsData=Module["_PyDescr_IsData"]=wasmExports["PyDescr_IsData"])(a0);var _PyDictProxy_New=Module["_PyDictProxy_New"]=a0=>(_PyDictProxy_New=Module["_PyDictProxy_New"]=wasmExports["PyDictProxy_New"])(a0);var _PyObject_GC_UnTrack=Module["_PyObject_GC_UnTrack"]=a0=>(_PyObject_GC_UnTrack=Module["_PyObject_GC_UnTrack"]=wasmExports["PyObject_GC_UnTrack"])(a0);var __PyTrash_cond=Module["__PyTrash_cond"]=(a0,a1)=>(__PyTrash_cond=Module["__PyTrash_cond"]=wasmExports["_PyTrash_cond"])(a0,a1);var __PyTrash_begin=Module["__PyTrash_begin"]=(a0,a1)=>(__PyTrash_begin=Module["__PyTrash_begin"]=wasmExports["_PyTrash_begin"])(a0,a1);var __PyTrash_end=Module["__PyTrash_end"]=a0=>(__PyTrash_end=Module["__PyTrash_end"]=wasmExports["_PyTrash_end"])(a0);var _PyWrapper_New=Module["_PyWrapper_New"]=(a0,a1)=>(_PyWrapper_New=Module["_PyWrapper_New"]=wasmExports["PyWrapper_New"])(a0,a1);var _PyType_GetQualName=Module["_PyType_GetQualName"]=a0=>(_PyType_GetQualName=Module["_PyType_GetQualName"]=wasmExports["PyType_GetQualName"])(a0);var __PyType_GetDocFromInternalDoc=Module["__PyType_GetDocFromInternalDoc"]=(a0,a1)=>(__PyType_GetDocFromInternalDoc=Module["__PyType_GetDocFromInternalDoc"]=wasmExports["_PyType_GetDocFromInternalDoc"])(a0,a1);var __PyType_GetTextSignatureFromInternalDoc=Module["__PyType_GetTextSignatureFromInternalDoc"]=(a0,a1)=>(__PyType_GetTextSignatureFromInternalDoc=Module["__PyType_GetTextSignatureFromInternalDoc"]=wasmExports["_PyType_GetTextSignatureFromInternalDoc"])(a0,a1);var _PyDict_Contains=Module["_PyDict_Contains"]=(a0,a1)=>(_PyDict_Contains=Module["_PyDict_Contains"]=wasmExports["PyDict_Contains"])(a0,a1);var __PyArg_UnpackStack=Module["__PyArg_UnpackStack"]=(a0,a1,a2,a3,a4,a5)=>(__PyArg_UnpackStack=Module["__PyArg_UnpackStack"]=wasmExports["_PyArg_UnpackStack"])(a0,a1,a2,a3,a4,a5);var __PyObject_IsAbstract=Module["__PyObject_IsAbstract"]=a0=>(__PyObject_IsAbstract=Module["__PyObject_IsAbstract"]=wasmExports["_PyObject_IsAbstract"])(a0);var __PyUnicode_EqualToASCIIString=Module["__PyUnicode_EqualToASCIIString"]=(a0,a1)=>(__PyUnicode_EqualToASCIIString=Module["__PyUnicode_EqualToASCIIString"]=wasmExports["_PyUnicode_EqualToASCIIString"])(a0,a1);var _PyException_GetCause=Module["_PyException_GetCause"]=a0=>(_PyException_GetCause=Module["_PyException_GetCause"]=wasmExports["PyException_GetCause"])(a0);var _PyException_SetCause=Module["_PyException_SetCause"]=(a0,a1)=>(_PyException_SetCause=Module["_PyException_SetCause"]=wasmExports["PyException_SetCause"])(a0,a1);var _PyException_GetContext=Module["_PyException_GetContext"]=a0=>(_PyException_GetContext=Module["_PyException_GetContext"]=wasmExports["PyException_GetContext"])(a0);var _PyException_SetContext=Module["_PyException_SetContext"]=(a0,a1)=>(_PyException_SetContext=Module["_PyException_SetContext"]=wasmExports["PyException_SetContext"])(a0,a1);var _PyExceptionClass_Name=Module["_PyExceptionClass_Name"]=a0=>(_PyExceptionClass_Name=Module["_PyExceptionClass_Name"]=wasmExports["PyExceptionClass_Name"])(a0);var _PyUnicodeEncodeError_GetEncoding=Module["_PyUnicodeEncodeError_GetEncoding"]=a0=>(_PyUnicodeEncodeError_GetEncoding=Module["_PyUnicodeEncodeError_GetEncoding"]=wasmExports["PyUnicodeEncodeError_GetEncoding"])(a0);var _PyUnicodeDecodeError_GetEncoding=Module["_PyUnicodeDecodeError_GetEncoding"]=a0=>(_PyUnicodeDecodeError_GetEncoding=Module["_PyUnicodeDecodeError_GetEncoding"]=wasmExports["PyUnicodeDecodeError_GetEncoding"])(a0);var _PyUnicodeEncodeError_GetObject=Module["_PyUnicodeEncodeError_GetObject"]=a0=>(_PyUnicodeEncodeError_GetObject=Module["_PyUnicodeEncodeError_GetObject"]=wasmExports["PyUnicodeEncodeError_GetObject"])(a0);var _PyUnicodeDecodeError_GetObject=Module["_PyUnicodeDecodeError_GetObject"]=a0=>(_PyUnicodeDecodeError_GetObject=Module["_PyUnicodeDecodeError_GetObject"]=wasmExports["PyUnicodeDecodeError_GetObject"])(a0);var _PyUnicodeTranslateError_GetObject=Module["_PyUnicodeTranslateError_GetObject"]=a0=>(_PyUnicodeTranslateError_GetObject=Module["_PyUnicodeTranslateError_GetObject"]=wasmExports["PyUnicodeTranslateError_GetObject"])(a0);var _PyUnicodeEncodeError_GetStart=Module["_PyUnicodeEncodeError_GetStart"]=(a0,a1)=>(_PyUnicodeEncodeError_GetStart=Module["_PyUnicodeEncodeError_GetStart"]=wasmExports["PyUnicodeEncodeError_GetStart"])(a0,a1);var _PyUnicodeDecodeError_GetStart=Module["_PyUnicodeDecodeError_GetStart"]=(a0,a1)=>(_PyUnicodeDecodeError_GetStart=Module["_PyUnicodeDecodeError_GetStart"]=wasmExports["PyUnicodeDecodeError_GetStart"])(a0,a1);var _PyUnicodeTranslateError_GetStart=Module["_PyUnicodeTranslateError_GetStart"]=(a0,a1)=>(_PyUnicodeTranslateError_GetStart=Module["_PyUnicodeTranslateError_GetStart"]=wasmExports["PyUnicodeTranslateError_GetStart"])(a0,a1);var _PyUnicodeEncodeError_SetStart=Module["_PyUnicodeEncodeError_SetStart"]=(a0,a1)=>(_PyUnicodeEncodeError_SetStart=Module["_PyUnicodeEncodeError_SetStart"]=wasmExports["PyUnicodeEncodeError_SetStart"])(a0,a1);var _PyUnicodeDecodeError_SetStart=Module["_PyUnicodeDecodeError_SetStart"]=(a0,a1)=>(_PyUnicodeDecodeError_SetStart=Module["_PyUnicodeDecodeError_SetStart"]=wasmExports["PyUnicodeDecodeError_SetStart"])(a0,a1);var _PyUnicodeTranslateError_SetStart=Module["_PyUnicodeTranslateError_SetStart"]=(a0,a1)=>(_PyUnicodeTranslateError_SetStart=Module["_PyUnicodeTranslateError_SetStart"]=wasmExports["PyUnicodeTranslateError_SetStart"])(a0,a1);var _PyUnicodeEncodeError_GetEnd=Module["_PyUnicodeEncodeError_GetEnd"]=(a0,a1)=>(_PyUnicodeEncodeError_GetEnd=Module["_PyUnicodeEncodeError_GetEnd"]=wasmExports["PyUnicodeEncodeError_GetEnd"])(a0,a1);var _PyUnicodeDecodeError_GetEnd=Module["_PyUnicodeDecodeError_GetEnd"]=(a0,a1)=>(_PyUnicodeDecodeError_GetEnd=Module["_PyUnicodeDecodeError_GetEnd"]=wasmExports["PyUnicodeDecodeError_GetEnd"])(a0,a1);var _PyUnicodeTranslateError_GetEnd=Module["_PyUnicodeTranslateError_GetEnd"]=(a0,a1)=>(_PyUnicodeTranslateError_GetEnd=Module["_PyUnicodeTranslateError_GetEnd"]=wasmExports["PyUnicodeTranslateError_GetEnd"])(a0,a1);var _PyUnicodeEncodeError_SetEnd=Module["_PyUnicodeEncodeError_SetEnd"]=(a0,a1)=>(_PyUnicodeEncodeError_SetEnd=Module["_PyUnicodeEncodeError_SetEnd"]=wasmExports["PyUnicodeEncodeError_SetEnd"])(a0,a1);var _PyUnicodeDecodeError_SetEnd=Module["_PyUnicodeDecodeError_SetEnd"]=(a0,a1)=>(_PyUnicodeDecodeError_SetEnd=Module["_PyUnicodeDecodeError_SetEnd"]=wasmExports["PyUnicodeDecodeError_SetEnd"])(a0,a1);var _PyUnicodeTranslateError_SetEnd=Module["_PyUnicodeTranslateError_SetEnd"]=(a0,a1)=>(_PyUnicodeTranslateError_SetEnd=Module["_PyUnicodeTranslateError_SetEnd"]=wasmExports["PyUnicodeTranslateError_SetEnd"])(a0,a1);var _PyUnicodeEncodeError_GetReason=Module["_PyUnicodeEncodeError_GetReason"]=a0=>(_PyUnicodeEncodeError_GetReason=Module["_PyUnicodeEncodeError_GetReason"]=wasmExports["PyUnicodeEncodeError_GetReason"])(a0);var _PyUnicodeDecodeError_GetReason=Module["_PyUnicodeDecodeError_GetReason"]=a0=>(_PyUnicodeDecodeError_GetReason=Module["_PyUnicodeDecodeError_GetReason"]=wasmExports["PyUnicodeDecodeError_GetReason"])(a0);var _PyUnicodeTranslateError_GetReason=Module["_PyUnicodeTranslateError_GetReason"]=a0=>(_PyUnicodeTranslateError_GetReason=Module["_PyUnicodeTranslateError_GetReason"]=wasmExports["PyUnicodeTranslateError_GetReason"])(a0);var _PyUnicodeEncodeError_SetReason=Module["_PyUnicodeEncodeError_SetReason"]=(a0,a1)=>(_PyUnicodeEncodeError_SetReason=Module["_PyUnicodeEncodeError_SetReason"]=wasmExports["PyUnicodeEncodeError_SetReason"])(a0,a1);var _PyUnicodeDecodeError_SetReason=Module["_PyUnicodeDecodeError_SetReason"]=(a0,a1)=>(_PyUnicodeDecodeError_SetReason=Module["_PyUnicodeDecodeError_SetReason"]=wasmExports["PyUnicodeDecodeError_SetReason"])(a0,a1);var _PyUnicodeTranslateError_SetReason=Module["_PyUnicodeTranslateError_SetReason"]=(a0,a1)=>(_PyUnicodeTranslateError_SetReason=Module["_PyUnicodeTranslateError_SetReason"]=wasmExports["PyUnicodeTranslateError_SetReason"])(a0,a1);var _PyUnicodeDecodeError_Create=Module["_PyUnicodeDecodeError_Create"]=(a0,a1,a2,a3,a4,a5)=>(_PyUnicodeDecodeError_Create=Module["_PyUnicodeDecodeError_Create"]=wasmExports["PyUnicodeDecodeError_Create"])(a0,a1,a2,a3,a4,a5);var __PyUnicodeTranslateError_Create=Module["__PyUnicodeTranslateError_Create"]=(a0,a1,a2,a3)=>(__PyUnicodeTranslateError_Create=Module["__PyUnicodeTranslateError_Create"]=wasmExports["_PyUnicodeTranslateError_Create"])(a0,a1,a2,a3);var _PyModule_GetDict=Module["_PyModule_GetDict"]=a0=>(_PyModule_GetDict=Module["_PyModule_GetDict"]=wasmExports["PyModule_GetDict"])(a0);var _PyErr_NewException=Module["_PyErr_NewException"]=(a0,a1,a2)=>(_PyErr_NewException=Module["_PyErr_NewException"]=wasmExports["PyErr_NewException"])(a0,a1,a2);var __PyErr_TrySetFromCause=Module["__PyErr_TrySetFromCause"]=(a0,a1)=>(__PyErr_TrySetFromCause=Module["__PyErr_TrySetFromCause"]=wasmExports["_PyErr_TrySetFromCause"])(a0,a1);var _PySet_Add=Module["_PySet_Add"]=(a0,a1)=>(_PySet_Add=Module["_PySet_Add"]=wasmExports["PySet_Add"])(a0,a1);var _PySet_Contains=Module["_PySet_Contains"]=(a0,a1)=>(_PySet_Contains=Module["_PySet_Contains"]=wasmExports["PySet_Contains"])(a0,a1);var _PyDict_Copy=Module["_PyDict_Copy"]=a0=>(_PyDict_Copy=Module["_PyDict_Copy"]=wasmExports["PyDict_Copy"])(a0);var _PyUnicode_ReadChar=Module["_PyUnicode_ReadChar"]=(a0,a1)=>(_PyUnicode_ReadChar=Module["_PyUnicode_ReadChar"]=wasmExports["PyUnicode_ReadChar"])(a0,a1);var _PyObject_GenericGetDict=Module["_PyObject_GenericGetDict"]=(a0,a1)=>(_PyObject_GenericGetDict=Module["_PyObject_GenericGetDict"]=wasmExports["PyObject_GenericGetDict"])(a0,a1);var _PyObject_GenericSetDict=Module["_PyObject_GenericSetDict"]=(a0,a1,a2)=>(_PyObject_GenericSetDict=Module["_PyObject_GenericSetDict"]=wasmExports["PyObject_GenericSetDict"])(a0,a1,a2);var __PyUnicodeWriter_WriteASCIIString=Module["__PyUnicodeWriter_WriteASCIIString"]=(a0,a1,a2)=>(__PyUnicodeWriter_WriteASCIIString=Module["__PyUnicodeWriter_WriteASCIIString"]=wasmExports["_PyUnicodeWriter_WriteASCIIString"])(a0,a1,a2);var _PyObject_GC_Track=Module["_PyObject_GC_Track"]=a0=>(_PyObject_GC_Track=Module["_PyObject_GC_Track"]=wasmExports["PyObject_GC_Track"])(a0);var __PyUnicodeWriter_WriteStr=Module["__PyUnicodeWriter_WriteStr"]=(a0,a1)=>(__PyUnicodeWriter_WriteStr=Module["__PyUnicodeWriter_WriteStr"]=wasmExports["_PyUnicodeWriter_WriteStr"])(a0,a1);var __PyGen_Finalize=Module["__PyGen_Finalize"]=a0=>(__PyGen_Finalize=Module["__PyGen_Finalize"]=wasmExports["_PyGen_Finalize"])(a0);var _PyErr_WriteUnraisable=Module["_PyErr_WriteUnraisable"]=a0=>(_PyErr_WriteUnraisable=Module["_PyErr_WriteUnraisable"]=wasmExports["PyErr_WriteUnraisable"])(a0);var _PyObject_CallFinalizerFromDealloc=Module["_PyObject_CallFinalizerFromDealloc"]=a0=>(_PyObject_CallFinalizerFromDealloc=Module["_PyObject_CallFinalizerFromDealloc"]=wasmExports["PyObject_CallFinalizerFromDealloc"])(a0);var __PyObject_GC_NewVar=Module["__PyObject_GC_NewVar"]=(a0,a1)=>(__PyObject_GC_NewVar=Module["__PyObject_GC_NewVar"]=wasmExports["_PyObject_GC_NewVar"])(a0,a1);var _PyGen_NewWithQualName=Module["_PyGen_NewWithQualName"]=(a0,a1,a2)=>(_PyGen_NewWithQualName=Module["_PyGen_NewWithQualName"]=wasmExports["PyGen_NewWithQualName"])(a0,a1,a2);var _PyFrame_GetCode=Module["_PyFrame_GetCode"]=a0=>(_PyFrame_GetCode=Module["_PyFrame_GetCode"]=wasmExports["PyFrame_GetCode"])(a0);var _PyGen_New=Module["_PyGen_New"]=a0=>(_PyGen_New=Module["_PyGen_New"]=wasmExports["PyGen_New"])(a0);var _PyCoro_New=Module["_PyCoro_New"]=(a0,a1,a2)=>(_PyCoro_New=Module["_PyCoro_New"]=wasmExports["PyCoro_New"])(a0,a1,a2);var _PyAsyncGen_New=Module["_PyAsyncGen_New"]=(a0,a1,a2)=>(_PyAsyncGen_New=Module["_PyAsyncGen_New"]=wasmExports["PyAsyncGen_New"])(a0,a1,a2);var __PyErr_ChainStackItem=Module["__PyErr_ChainStackItem"]=a0=>(__PyErr_ChainStackItem=Module["__PyErr_ChainStackItem"]=wasmExports["_PyErr_ChainStackItem"])(a0);var __PyEval_EvalFrameDefault=Module["__PyEval_EvalFrameDefault"]=(a0,a1,a2)=>(__PyEval_EvalFrameDefault=Module["__PyEval_EvalFrameDefault"]=wasmExports["_PyEval_EvalFrameDefault"])(a0,a1,a2);var _PyFile_FromFd=Module["_PyFile_FromFd"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_PyFile_FromFd=Module["_PyFile_FromFd"]=wasmExports["PyFile_FromFd"])(a0,a1,a2,a3,a4,a5,a6,a7);var _PyFile_GetLine=Module["_PyFile_GetLine"]=(a0,a1)=>(_PyFile_GetLine=Module["_PyFile_GetLine"]=wasmExports["PyFile_GetLine"])(a0,a1);var _PyFile_WriteObject=Module["_PyFile_WriteObject"]=(a0,a1,a2)=>(_PyFile_WriteObject=Module["_PyFile_WriteObject"]=wasmExports["PyFile_WriteObject"])(a0,a1,a2);var _PyFile_WriteString=Module["_PyFile_WriteString"]=(a0,a1)=>(_PyFile_WriteString=Module["_PyFile_WriteString"]=wasmExports["PyFile_WriteString"])(a0,a1);var _PyObject_AsFileDescriptor=Module["_PyObject_AsFileDescriptor"]=a0=>(_PyObject_AsFileDescriptor=Module["_PyObject_AsFileDescriptor"]=wasmExports["PyObject_AsFileDescriptor"])(a0);var __PyLong_FileDescriptor_Converter=Module["__PyLong_FileDescriptor_Converter"]=(a0,a1)=>(__PyLong_FileDescriptor_Converter=Module["__PyLong_FileDescriptor_Converter"]=wasmExports["_PyLong_FileDescriptor_Converter"])(a0,a1);var _flockfile=Module["_flockfile"]=a0=>(_flockfile=Module["_flockfile"]=wasmExports["flockfile"])(a0);var _getc_unlocked=Module["_getc_unlocked"]=a0=>(_getc_unlocked=Module["_getc_unlocked"]=wasmExports["getc_unlocked"])(a0);var _funlockfile=Module["_funlockfile"]=a0=>(_funlockfile=Module["_funlockfile"]=wasmExports["funlockfile"])(a0);var _PyFile_NewStdPrinter=Module["_PyFile_NewStdPrinter"]=a0=>(_PyFile_NewStdPrinter=Module["_PyFile_NewStdPrinter"]=wasmExports["PyFile_NewStdPrinter"])(a0);var _PyFile_SetOpenCodeHook=Module["_PyFile_SetOpenCodeHook"]=(a0,a1)=>(_PyFile_SetOpenCodeHook=Module["_PyFile_SetOpenCodeHook"]=wasmExports["PyFile_SetOpenCodeHook"])(a0,a1);var _Py_IsInitialized=Module["_Py_IsInitialized"]=()=>(_Py_IsInitialized=Module["_Py_IsInitialized"]=wasmExports["Py_IsInitialized"])();var _PyFile_OpenCodeObject=Module["_PyFile_OpenCodeObject"]=a0=>(_PyFile_OpenCodeObject=Module["_PyFile_OpenCodeObject"]=wasmExports["PyFile_OpenCodeObject"])(a0);var _PyFile_OpenCode=Module["_PyFile_OpenCode"]=a0=>(_PyFile_OpenCode=Module["_PyFile_OpenCode"]=wasmExports["PyFile_OpenCode"])(a0);var __PyUnicode_AsUTF8String=Module["__PyUnicode_AsUTF8String"]=(a0,a1)=>(__PyUnicode_AsUTF8String=Module["__PyUnicode_AsUTF8String"]=wasmExports["_PyUnicode_AsUTF8String"])(a0,a1);var __Py_write=Module["__Py_write"]=(a0,a1,a2)=>(__Py_write=Module["__Py_write"]=wasmExports["_Py_write"])(a0,a1,a2);var _PyFloat_GetMax=Module["_PyFloat_GetMax"]=()=>(_PyFloat_GetMax=Module["_PyFloat_GetMax"]=wasmExports["PyFloat_GetMax"])();var _PyFloat_GetMin=Module["_PyFloat_GetMin"]=()=>(_PyFloat_GetMin=Module["_PyFloat_GetMin"]=wasmExports["PyFloat_GetMin"])();var _PyFloat_GetInfo=Module["_PyFloat_GetInfo"]=()=>(_PyFloat_GetInfo=Module["_PyFloat_GetInfo"]=wasmExports["PyFloat_GetInfo"])();var _PyStructSequence_New=Module["_PyStructSequence_New"]=a0=>(_PyStructSequence_New=Module["_PyStructSequence_New"]=wasmExports["PyStructSequence_New"])(a0);var __PyUnicode_FromASCII=Module["__PyUnicode_FromASCII"]=(a0,a1)=>(__PyUnicode_FromASCII=Module["__PyUnicode_FromASCII"]=wasmExports["_PyUnicode_FromASCII"])(a0,a1);var _frexp=Module["_frexp"]=(a0,a1)=>(_frexp=Module["_frexp"]=wasmExports["frexp"])(a0,a1);var _modf=Module["_modf"]=(a0,a1)=>(_modf=Module["_modf"]=wasmExports["modf"])(a0,a1);var _PyLong_FromDouble=Module["_PyLong_FromDouble"]=a0=>(_PyLong_FromDouble=Module["_PyLong_FromDouble"]=wasmExports["PyLong_FromDouble"])(a0);var __PyLong_Lshift=Module["__PyLong_Lshift"]=(a0,a1)=>(__PyLong_Lshift=Module["__PyLong_Lshift"]=wasmExports["_PyLong_Lshift"])(a0,a1);var _PyStructSequence_InitType2=Module["_PyStructSequence_InitType2"]=(a0,a1)=>(_PyStructSequence_InitType2=Module["_PyStructSequence_InitType2"]=wasmExports["PyStructSequence_InitType2"])(a0,a1);var __PyFloat_DebugMallocStats=Module["__PyFloat_DebugMallocStats"]=a0=>(__PyFloat_DebugMallocStats=Module["__PyFloat_DebugMallocStats"]=wasmExports["_PyFloat_DebugMallocStats"])(a0);var __PyDebugAllocatorStats=Module["__PyDebugAllocatorStats"]=(a0,a1,a2,a3)=>(__PyDebugAllocatorStats=Module["__PyDebugAllocatorStats"]=wasmExports["_PyDebugAllocatorStats"])(a0,a1,a2,a3);var _PyFloat_Pack2=Module["_PyFloat_Pack2"]=(a0,a1,a2)=>(_PyFloat_Pack2=Module["_PyFloat_Pack2"]=wasmExports["PyFloat_Pack2"])(a0,a1,a2);var _ldexp=Module["_ldexp"]=(a0,a1)=>(_ldexp=Module["_ldexp"]=wasmExports["ldexp"])(a0,a1);var _PyFloat_Pack4=Module["_PyFloat_Pack4"]=(a0,a1,a2)=>(_PyFloat_Pack4=Module["_PyFloat_Pack4"]=wasmExports["PyFloat_Pack4"])(a0,a1,a2);var _PyFloat_Pack8=Module["_PyFloat_Pack8"]=(a0,a1,a2)=>(_PyFloat_Pack8=Module["_PyFloat_Pack8"]=wasmExports["PyFloat_Pack8"])(a0,a1,a2);var _PyFloat_Unpack2=Module["_PyFloat_Unpack2"]=(a0,a1)=>(_PyFloat_Unpack2=Module["_PyFloat_Unpack2"]=wasmExports["PyFloat_Unpack2"])(a0,a1);var __Py_dg_infinity=Module["__Py_dg_infinity"]=a0=>(__Py_dg_infinity=Module["__Py_dg_infinity"]=wasmExports["_Py_dg_infinity"])(a0);var __Py_dg_stdnan=Module["__Py_dg_stdnan"]=a0=>(__Py_dg_stdnan=Module["__Py_dg_stdnan"]=wasmExports["_Py_dg_stdnan"])(a0);var _PyFloat_Unpack4=Module["_PyFloat_Unpack4"]=(a0,a1)=>(_PyFloat_Unpack4=Module["_PyFloat_Unpack4"]=wasmExports["PyFloat_Unpack4"])(a0,a1);var _PyFloat_Unpack8=Module["_PyFloat_Unpack8"]=(a0,a1)=>(_PyFloat_Unpack8=Module["_PyFloat_Unpack8"]=wasmExports["PyFloat_Unpack8"])(a0,a1);var _fmod=Module["_fmod"]=(a0,a1)=>(_fmod=Module["_fmod"]=wasmExports["fmod"])(a0,a1);var _PyErr_SetFromErrno=Module["_PyErr_SetFromErrno"]=a0=>(_PyErr_SetFromErrno=Module["_PyErr_SetFromErrno"]=wasmExports["PyErr_SetFromErrno"])(a0);var _round=Module["_round"]=a0=>(_round=Module["_round"]=wasmExports["round"])(a0);var __Py_dg_dtoa=Module["__Py_dg_dtoa"]=(a0,a1,a2,a3,a4,a5)=>(__Py_dg_dtoa=Module["__Py_dg_dtoa"]=wasmExports["_Py_dg_dtoa"])(a0,a1,a2,a3,a4,a5);var __Py_dg_strtod=Module["__Py_dg_strtod"]=(a0,a1)=>(__Py_dg_strtod=Module["__Py_dg_strtod"]=wasmExports["_Py_dg_strtod"])(a0,a1);var __Py_dg_freedtoa=Module["__Py_dg_freedtoa"]=a0=>(__Py_dg_freedtoa=Module["__Py_dg_freedtoa"]=wasmExports["_Py_dg_freedtoa"])(a0);var __Py_parse_inf_or_nan=Module["__Py_parse_inf_or_nan"]=(a0,a1)=>(__Py_parse_inf_or_nan=Module["__Py_parse_inf_or_nan"]=wasmExports["_Py_parse_inf_or_nan"])(a0,a1);var _strtol=Module["_strtol"]=(a0,a1,a2)=>(_strtol=Module["_strtol"]=wasmExports["strtol"])(a0,a1,a2);var __PyFloat_FormatAdvancedWriter=Module["__PyFloat_FormatAdvancedWriter"]=(a0,a1,a2,a3,a4)=>(__PyFloat_FormatAdvancedWriter=Module["__PyFloat_FormatAdvancedWriter"]=wasmExports["_PyFloat_FormatAdvancedWriter"])(a0,a1,a2,a3,a4);var _PyFrame_GetLineNumber=Module["_PyFrame_GetLineNumber"]=a0=>(_PyFrame_GetLineNumber=Module["_PyFrame_GetLineNumber"]=wasmExports["PyFrame_GetLineNumber"])(a0);var _PyFrame_New=Module["_PyFrame_New"]=(a0,a1,a2,a3)=>(_PyFrame_New=Module["_PyFrame_New"]=wasmExports["PyFrame_New"])(a0,a1,a2,a3);var _PyFrame_FastToLocalsWithError=Module["_PyFrame_FastToLocalsWithError"]=a0=>(_PyFrame_FastToLocalsWithError=Module["_PyFrame_FastToLocalsWithError"]=wasmExports["PyFrame_FastToLocalsWithError"])(a0);var _PyFrame_FastToLocals=Module["_PyFrame_FastToLocals"]=a0=>(_PyFrame_FastToLocals=Module["_PyFrame_FastToLocals"]=wasmExports["PyFrame_FastToLocals"])(a0);var _PyFrame_LocalsToFast=Module["_PyFrame_LocalsToFast"]=(a0,a1)=>(_PyFrame_LocalsToFast=Module["_PyFrame_LocalsToFast"]=wasmExports["PyFrame_LocalsToFast"])(a0,a1);var __PyFrame_IsEntryFrame=Module["__PyFrame_IsEntryFrame"]=a0=>(__PyFrame_IsEntryFrame=Module["__PyFrame_IsEntryFrame"]=wasmExports["_PyFrame_IsEntryFrame"])(a0);var _PyFrame_GetBack=Module["_PyFrame_GetBack"]=a0=>(_PyFrame_GetBack=Module["_PyFrame_GetBack"]=wasmExports["PyFrame_GetBack"])(a0);var _PyFrame_GetLocals=Module["_PyFrame_GetLocals"]=a0=>(_PyFrame_GetLocals=Module["_PyFrame_GetLocals"]=wasmExports["PyFrame_GetLocals"])(a0);var _PyFrame_GetGlobals=Module["_PyFrame_GetGlobals"]=a0=>(_PyFrame_GetGlobals=Module["_PyFrame_GetGlobals"]=wasmExports["PyFrame_GetGlobals"])(a0);var _PyFrame_GetBuiltins=Module["_PyFrame_GetBuiltins"]=a0=>(_PyFrame_GetBuiltins=Module["_PyFrame_GetBuiltins"]=wasmExports["PyFrame_GetBuiltins"])(a0);var _PyFrame_GetLasti=Module["_PyFrame_GetLasti"]=a0=>(_PyFrame_GetLasti=Module["_PyFrame_GetLasti"]=wasmExports["PyFrame_GetLasti"])(a0);var _PyFrame_GetGenerator=Module["_PyFrame_GetGenerator"]=a0=>(_PyFrame_GetGenerator=Module["_PyFrame_GetGenerator"]=wasmExports["PyFrame_GetGenerator"])(a0);var _PyCompile_OpcodeStackEffect=Module["_PyCompile_OpcodeStackEffect"]=(a0,a1)=>(_PyCompile_OpcodeStackEffect=Module["_PyCompile_OpcodeStackEffect"]=wasmExports["PyCompile_OpcodeStackEffect"])(a0,a1);var _PyFunction_NewWithQualName=Module["_PyFunction_NewWithQualName"]=(a0,a1,a2)=>(_PyFunction_NewWithQualName=Module["_PyFunction_NewWithQualName"]=wasmExports["PyFunction_NewWithQualName"])(a0,a1,a2);var _PyFunction_New=Module["_PyFunction_New"]=(a0,a1)=>(_PyFunction_New=Module["_PyFunction_New"]=wasmExports["PyFunction_New"])(a0,a1);var _PyFunction_GetCode=Module["_PyFunction_GetCode"]=a0=>(_PyFunction_GetCode=Module["_PyFunction_GetCode"]=wasmExports["PyFunction_GetCode"])(a0);var _PyFunction_GetGlobals=Module["_PyFunction_GetGlobals"]=a0=>(_PyFunction_GetGlobals=Module["_PyFunction_GetGlobals"]=wasmExports["PyFunction_GetGlobals"])(a0);var _PyFunction_GetModule=Module["_PyFunction_GetModule"]=a0=>(_PyFunction_GetModule=Module["_PyFunction_GetModule"]=wasmExports["PyFunction_GetModule"])(a0);var _PyFunction_GetDefaults=Module["_PyFunction_GetDefaults"]=a0=>(_PyFunction_GetDefaults=Module["_PyFunction_GetDefaults"]=wasmExports["PyFunction_GetDefaults"])(a0);var _PyFunction_SetDefaults=Module["_PyFunction_SetDefaults"]=(a0,a1)=>(_PyFunction_SetDefaults=Module["_PyFunction_SetDefaults"]=wasmExports["PyFunction_SetDefaults"])(a0,a1);var _PyFunction_GetKwDefaults=Module["_PyFunction_GetKwDefaults"]=a0=>(_PyFunction_GetKwDefaults=Module["_PyFunction_GetKwDefaults"]=wasmExports["PyFunction_GetKwDefaults"])(a0);var _PyFunction_SetKwDefaults=Module["_PyFunction_SetKwDefaults"]=(a0,a1)=>(_PyFunction_SetKwDefaults=Module["_PyFunction_SetKwDefaults"]=wasmExports["PyFunction_SetKwDefaults"])(a0,a1);var _PyFunction_GetClosure=Module["_PyFunction_GetClosure"]=a0=>(_PyFunction_GetClosure=Module["_PyFunction_GetClosure"]=wasmExports["PyFunction_GetClosure"])(a0);var _PyFunction_SetClosure=Module["_PyFunction_SetClosure"]=(a0,a1)=>(_PyFunction_SetClosure=Module["_PyFunction_SetClosure"]=wasmExports["PyFunction_SetClosure"])(a0,a1);var _PyFunction_GetAnnotations=Module["_PyFunction_GetAnnotations"]=a0=>(_PyFunction_GetAnnotations=Module["_PyFunction_GetAnnotations"]=wasmExports["PyFunction_GetAnnotations"])(a0);var _PyFunction_SetAnnotations=Module["_PyFunction_SetAnnotations"]=(a0,a1)=>(_PyFunction_SetAnnotations=Module["_PyFunction_SetAnnotations"]=wasmExports["PyFunction_SetAnnotations"])(a0,a1);var _PyClassMethod_New=Module["_PyClassMethod_New"]=a0=>(_PyClassMethod_New=Module["_PyClassMethod_New"]=wasmExports["PyClassMethod_New"])(a0);var _PyStaticMethod_New=Module["_PyStaticMethod_New"]=a0=>(_PyStaticMethod_New=Module["_PyStaticMethod_New"]=wasmExports["PyStaticMethod_New"])(a0);var __PyInterpreterState_LookUpID=Module["__PyInterpreterState_LookUpID"]=a0=>(__PyInterpreterState_LookUpID=Module["__PyInterpreterState_LookUpID"]=wasmExports["_PyInterpreterState_LookUpID"])(a0);var __PyInterpreterState_IDDecref=Module["__PyInterpreterState_IDDecref"]=a0=>(__PyInterpreterState_IDDecref=Module["__PyInterpreterState_IDDecref"]=wasmExports["_PyInterpreterState_IDDecref"])(a0);var _PyLong_FromLongLong=Module["_PyLong_FromLongLong"]=a0=>(_PyLong_FromLongLong=Module["_PyLong_FromLongLong"]=wasmExports["PyLong_FromLongLong"])(a0);var _PyLong_AsLongLongAndOverflow=Module["_PyLong_AsLongLongAndOverflow"]=(a0,a1)=>(_PyLong_AsLongLongAndOverflow=Module["_PyLong_AsLongLongAndOverflow"]=wasmExports["PyLong_AsLongLongAndOverflow"])(a0,a1);var _PyArg_ParseTupleAndKeywords=Module["_PyArg_ParseTupleAndKeywords"]=(a0,a1,a2,a3,a4)=>(_PyArg_ParseTupleAndKeywords=Module["_PyArg_ParseTupleAndKeywords"]=wasmExports["PyArg_ParseTupleAndKeywords"])(a0,a1,a2,a3,a4);var __PyInterpreterState_IDIncref=Module["__PyInterpreterState_IDIncref"]=a0=>(__PyInterpreterState_IDIncref=Module["__PyInterpreterState_IDIncref"]=wasmExports["_PyInterpreterState_IDIncref"])(a0);var __PyInterpreterID_New=Module["__PyInterpreterID_New"]=a0=>(__PyInterpreterID_New=Module["__PyInterpreterID_New"]=wasmExports["_PyInterpreterID_New"])(a0);var __PyInterpreterState_GetIDObject=Module["__PyInterpreterState_GetIDObject"]=a0=>(__PyInterpreterState_GetIDObject=Module["__PyInterpreterState_GetIDObject"]=wasmExports["_PyInterpreterState_GetIDObject"])(a0);var __PyInterpreterState_IDInitref=Module["__PyInterpreterState_IDInitref"]=a0=>(__PyInterpreterState_IDInitref=Module["__PyInterpreterState_IDInitref"]=wasmExports["_PyInterpreterState_IDInitref"])(a0);var _PyInterpreterState_GetID=Module["_PyInterpreterState_GetID"]=a0=>(_PyInterpreterState_GetID=Module["_PyInterpreterState_GetID"]=wasmExports["PyInterpreterState_GetID"])(a0);var __PyInterpreterID_LookUp=Module["__PyInterpreterID_LookUp"]=a0=>(__PyInterpreterID_LookUp=Module["__PyInterpreterID_LookUp"]=wasmExports["_PyInterpreterID_LookUp"])(a0);var _PyLong_AsLongLong=Module["_PyLong_AsLongLong"]=a0=>(_PyLong_AsLongLong=Module["_PyLong_AsLongLong"]=wasmExports["PyLong_AsLongLong"])(a0);var _PyCallIter_New=Module["_PyCallIter_New"]=(a0,a1)=>(_PyCallIter_New=Module["_PyCallIter_New"]=wasmExports["PyCallIter_New"])(a0,a1);var __PyList_DebugMallocStats=Module["__PyList_DebugMallocStats"]=a0=>(__PyList_DebugMallocStats=Module["__PyList_DebugMallocStats"]=wasmExports["_PyList_DebugMallocStats"])(a0);var _PyList_SetItem=Module["_PyList_SetItem"]=(a0,a1,a2)=>(_PyList_SetItem=Module["_PyList_SetItem"]=wasmExports["PyList_SetItem"])(a0,a1,a2);var _PyList_Insert=Module["_PyList_Insert"]=(a0,a1,a2)=>(_PyList_Insert=Module["_PyList_Insert"]=wasmExports["PyList_Insert"])(a0,a1,a2);var _PyList_GetSlice=Module["_PyList_GetSlice"]=(a0,a1,a2)=>(_PyList_GetSlice=Module["_PyList_GetSlice"]=wasmExports["PyList_GetSlice"])(a0,a1,a2);var _Py_ReprEnter=Module["_Py_ReprEnter"]=a0=>(_Py_ReprEnter=Module["_Py_ReprEnter"]=wasmExports["Py_ReprEnter"])(a0);var __PyUnicodeWriter_WriteChar=Module["__PyUnicodeWriter_WriteChar"]=(a0,a1)=>(__PyUnicodeWriter_WriteChar=Module["__PyUnicodeWriter_WriteChar"]=wasmExports["_PyUnicodeWriter_WriteChar"])(a0,a1);var _Py_ReprLeave=Module["_Py_ReprLeave"]=a0=>(_Py_ReprLeave=Module["_Py_ReprLeave"]=wasmExports["Py_ReprLeave"])(a0);var __PyEval_SliceIndexNotNone=Module["__PyEval_SliceIndexNotNone"]=(a0,a1)=>(__PyEval_SliceIndexNotNone=Module["__PyEval_SliceIndexNotNone"]=wasmExports["_PyEval_SliceIndexNotNone"])(a0,a1);var _PyObject_HashNotImplemented=Module["_PyObject_HashNotImplemented"]=a0=>(_PyObject_HashNotImplemented=Module["_PyObject_HashNotImplemented"]=wasmExports["PyObject_HashNotImplemented"])(a0);var __PyLong_New=Module["__PyLong_New"]=a0=>(__PyLong_New=Module["__PyLong_New"]=wasmExports["_PyLong_New"])(a0);var _PyLong_FromUnsignedLong=Module["_PyLong_FromUnsignedLong"]=a0=>(_PyLong_FromUnsignedLong=Module["_PyLong_FromUnsignedLong"]=wasmExports["PyLong_FromUnsignedLong"])(a0);var _PyLong_FromUnsignedLongLong=Module["_PyLong_FromUnsignedLongLong"]=a0=>(_PyLong_FromUnsignedLongLong=Module["_PyLong_FromUnsignedLongLong"]=wasmExports["PyLong_FromUnsignedLongLong"])(a0);var _PyLong_FromSize_t=Module["_PyLong_FromSize_t"]=a0=>(_PyLong_FromSize_t=Module["_PyLong_FromSize_t"]=wasmExports["PyLong_FromSize_t"])(a0);var _PyLong_AsUnsignedLong=Module["_PyLong_AsUnsignedLong"]=a0=>(_PyLong_AsUnsignedLong=Module["_PyLong_AsUnsignedLong"]=wasmExports["PyLong_AsUnsignedLong"])(a0);var _PyLong_AsSize_t=Module["_PyLong_AsSize_t"]=a0=>(_PyLong_AsSize_t=Module["_PyLong_AsSize_t"]=wasmExports["PyLong_AsSize_t"])(a0);var _PyLong_AsUnsignedLongMask=Module["_PyLong_AsUnsignedLongMask"]=a0=>(_PyLong_AsUnsignedLongMask=Module["_PyLong_AsUnsignedLongMask"]=wasmExports["PyLong_AsUnsignedLongMask"])(a0);var __PyLong_FromByteArray=Module["__PyLong_FromByteArray"]=(a0,a1,a2,a3)=>(__PyLong_FromByteArray=Module["__PyLong_FromByteArray"]=wasmExports["_PyLong_FromByteArray"])(a0,a1,a2,a3);var _PyLong_AsVoidPtr=Module["_PyLong_AsVoidPtr"]=a0=>(_PyLong_AsVoidPtr=Module["_PyLong_AsVoidPtr"]=wasmExports["PyLong_AsVoidPtr"])(a0);var _PyLong_AsUnsignedLongLong=Module["_PyLong_AsUnsignedLongLong"]=a0=>(_PyLong_AsUnsignedLongLong=Module["_PyLong_AsUnsignedLongLong"]=wasmExports["PyLong_AsUnsignedLongLong"])(a0);var _PyLong_AsUnsignedLongLongMask=Module["_PyLong_AsUnsignedLongLongMask"]=a0=>(_PyLong_AsUnsignedLongLongMask=Module["_PyLong_AsUnsignedLongLongMask"]=wasmExports["PyLong_AsUnsignedLongLongMask"])(a0);var __PyLong_UnsignedShort_Converter=Module["__PyLong_UnsignedShort_Converter"]=(a0,a1)=>(__PyLong_UnsignedShort_Converter=Module["__PyLong_UnsignedShort_Converter"]=wasmExports["_PyLong_UnsignedShort_Converter"])(a0,a1);var __PyLong_UnsignedInt_Converter=Module["__PyLong_UnsignedInt_Converter"]=(a0,a1)=>(__PyLong_UnsignedInt_Converter=Module["__PyLong_UnsignedInt_Converter"]=wasmExports["_PyLong_UnsignedInt_Converter"])(a0,a1);var __PyLong_UnsignedLong_Converter=Module["__PyLong_UnsignedLong_Converter"]=(a0,a1)=>(__PyLong_UnsignedLong_Converter=Module["__PyLong_UnsignedLong_Converter"]=wasmExports["_PyLong_UnsignedLong_Converter"])(a0,a1);var __PyLong_UnsignedLongLong_Converter=Module["__PyLong_UnsignedLongLong_Converter"]=(a0,a1)=>(__PyLong_UnsignedLongLong_Converter=Module["__PyLong_UnsignedLongLong_Converter"]=wasmExports["_PyLong_UnsignedLongLong_Converter"])(a0,a1);var __PyLong_Size_t_Converter=Module["__PyLong_Size_t_Converter"]=(a0,a1)=>(__PyLong_Size_t_Converter=Module["__PyLong_Size_t_Converter"]=wasmExports["_PyLong_Size_t_Converter"])(a0,a1);var __PyUnicodeWriter_PrepareInternal=Module["__PyUnicodeWriter_PrepareInternal"]=(a0,a1,a2)=>(__PyUnicodeWriter_PrepareInternal=Module["__PyUnicodeWriter_PrepareInternal"]=wasmExports["_PyUnicodeWriter_PrepareInternal"])(a0,a1,a2);var __PyLong_FormatWriter=Module["__PyLong_FormatWriter"]=(a0,a1,a2,a3)=>(__PyLong_FormatWriter=Module["__PyLong_FormatWriter"]=wasmExports["_PyLong_FormatWriter"])(a0,a1,a2,a3);var __PyLong_Frexp=Module["__PyLong_Frexp"]=(a0,a1)=>(__PyLong_Frexp=Module["__PyLong_Frexp"]=wasmExports["_PyLong_Frexp"])(a0,a1);var __PyLong_Rshift=Module["__PyLong_Rshift"]=(a0,a1)=>(__PyLong_Rshift=Module["__PyLong_Rshift"]=wasmExports["_PyLong_Rshift"])(a0,a1);var __PyLong_GCD=Module["__PyLong_GCD"]=(a0,a1)=>(__PyLong_GCD=Module["__PyLong_GCD"]=wasmExports["_PyLong_GCD"])(a0,a1);var __PyLong_DivmodNear=Module["__PyLong_DivmodNear"]=(a0,a1)=>(__PyLong_DivmodNear=Module["__PyLong_DivmodNear"]=wasmExports["_PyLong_DivmodNear"])(a0,a1);var _PyLong_GetInfo=Module["_PyLong_GetInfo"]=()=>(_PyLong_GetInfo=Module["_PyLong_GetInfo"]=wasmExports["PyLong_GetInfo"])();var __PyUnicode_Equal=Module["__PyUnicode_Equal"]=(a0,a1)=>(__PyUnicode_Equal=Module["__PyUnicode_Equal"]=wasmExports["_PyUnicode_Equal"])(a0,a1);var _PyObject_Bytes=Module["_PyObject_Bytes"]=a0=>(_PyObject_Bytes=Module["_PyObject_Bytes"]=wasmExports["PyObject_Bytes"])(a0);var __PyLong_FormatAdvancedWriter=Module["__PyLong_FormatAdvancedWriter"]=(a0,a1,a2,a3,a4)=>(__PyLong_FormatAdvancedWriter=Module["__PyLong_FormatAdvancedWriter"]=wasmExports["_PyLong_FormatAdvancedWriter"])(a0,a1,a2,a3,a4);var __PyDict_DebugMallocStats=Module["__PyDict_DebugMallocStats"]=a0=>(__PyDict_DebugMallocStats=Module["__PyDict_DebugMallocStats"]=wasmExports["_PyDict_DebugMallocStats"])(a0);var __PyDict_CheckConsistency=Module["__PyDict_CheckConsistency"]=(a0,a1)=>(__PyDict_CheckConsistency=Module["__PyDict_CheckConsistency"]=wasmExports["_PyDict_CheckConsistency"])(a0,a1);var __PyObject_AssertFailed=Module["__PyObject_AssertFailed"]=(a0,a1,a2,a3,a4,a5)=>(__PyObject_AssertFailed=Module["__PyObject_AssertFailed"]=wasmExports["_PyObject_AssertFailed"])(a0,a1,a2,a3,a4,a5);var __PyDict_HasOnlyStringKeys=Module["__PyDict_HasOnlyStringKeys"]=a0=>(__PyDict_HasOnlyStringKeys=Module["__PyDict_HasOnlyStringKeys"]=wasmExports["_PyDict_HasOnlyStringKeys"])(a0);var __PyDict_Next=Module["__PyDict_Next"]=(a0,a1,a2,a3,a4)=>(__PyDict_Next=Module["__PyDict_Next"]=wasmExports["_PyDict_Next"])(a0,a1,a2,a3,a4);var __PyDict_MaybeUntrack=Module["__PyDict_MaybeUntrack"]=a0=>(__PyDict_MaybeUntrack=Module["__PyDict_MaybeUntrack"]=wasmExports["_PyDict_MaybeUntrack"])(a0);var _PyObject_IS_GC=Module["_PyObject_IS_GC"]=a0=>(_PyObject_IS_GC=Module["_PyObject_IS_GC"]=wasmExports["PyObject_IS_GC"])(a0);var __PyDict_NewPresized=Module["__PyDict_NewPresized"]=a0=>(__PyDict_NewPresized=Module["__PyDict_NewPresized"]=wasmExports["_PyDict_NewPresized"])(a0);var _PyDict_GetItem=Module["_PyDict_GetItem"]=(a0,a1)=>(_PyDict_GetItem=Module["_PyDict_GetItem"]=wasmExports["PyDict_GetItem"])(a0,a1);var __PyErr_Fetch=Module["__PyErr_Fetch"]=(a0,a1,a2,a3)=>(__PyErr_Fetch=Module["__PyErr_Fetch"]=wasmExports["_PyErr_Fetch"])(a0,a1,a2,a3);var __PyErr_Restore=Module["__PyErr_Restore"]=(a0,a1,a2,a3)=>(__PyErr_Restore=Module["__PyErr_Restore"]=wasmExports["_PyErr_Restore"])(a0,a1,a2,a3);var __PyDict_GetItem_KnownHash=Module["__PyDict_GetItem_KnownHash"]=(a0,a1,a2)=>(__PyDict_GetItem_KnownHash=Module["__PyDict_GetItem_KnownHash"]=wasmExports["_PyDict_GetItem_KnownHash"])(a0,a1,a2);var __PyDict_GetItemWithError=Module["__PyDict_GetItemWithError"]=(a0,a1)=>(__PyDict_GetItemWithError=Module["__PyDict_GetItemWithError"]=wasmExports["_PyDict_GetItemWithError"])(a0,a1);var __PyDict_GetItemIdWithError=Module["__PyDict_GetItemIdWithError"]=(a0,a1)=>(__PyDict_GetItemIdWithError=Module["__PyDict_GetItemIdWithError"]=wasmExports["_PyDict_GetItemIdWithError"])(a0,a1);var __PyDict_GetItemStringWithError=Module["__PyDict_GetItemStringWithError"]=(a0,a1)=>(__PyDict_GetItemStringWithError=Module["__PyDict_GetItemStringWithError"]=wasmExports["_PyDict_GetItemStringWithError"])(a0,a1);var __PyDict_SetItem_KnownHash=Module["__PyDict_SetItem_KnownHash"]=(a0,a1,a2,a3)=>(__PyDict_SetItem_KnownHash=Module["__PyDict_SetItem_KnownHash"]=wasmExports["_PyDict_SetItem_KnownHash"])(a0,a1,a2,a3);var _PyDict_DelItem=Module["_PyDict_DelItem"]=(a0,a1)=>(_PyDict_DelItem=Module["_PyDict_DelItem"]=wasmExports["PyDict_DelItem"])(a0,a1);var __PyErr_SetKeyError=Module["__PyErr_SetKeyError"]=a0=>(__PyErr_SetKeyError=Module["__PyErr_SetKeyError"]=wasmExports["_PyErr_SetKeyError"])(a0);var __PyDict_DelItem_KnownHash=Module["__PyDict_DelItem_KnownHash"]=(a0,a1,a2)=>(__PyDict_DelItem_KnownHash=Module["__PyDict_DelItem_KnownHash"]=wasmExports["_PyDict_DelItem_KnownHash"])(a0,a1,a2);var __PyDict_DelItemIf=Module["__PyDict_DelItemIf"]=(a0,a1,a2)=>(__PyDict_DelItemIf=Module["__PyDict_DelItemIf"]=wasmExports["_PyDict_DelItemIf"])(a0,a1,a2);var _PyDict_Clear=Module["_PyDict_Clear"]=a0=>(_PyDict_Clear=Module["_PyDict_Clear"]=wasmExports["PyDict_Clear"])(a0);var __PyDict_Pop=Module["__PyDict_Pop"]=(a0,a1,a2)=>(__PyDict_Pop=Module["__PyDict_Pop"]=wasmExports["_PyDict_Pop"])(a0,a1,a2);var _PyDict_MergeFromSeq2=Module["_PyDict_MergeFromSeq2"]=(a0,a1,a2)=>(_PyDict_MergeFromSeq2=Module["_PyDict_MergeFromSeq2"]=wasmExports["PyDict_MergeFromSeq2"])(a0,a1,a2);var _PyDict_SetDefault=Module["_PyDict_SetDefault"]=(a0,a1,a2)=>(_PyDict_SetDefault=Module["_PyDict_SetDefault"]=wasmExports["PyDict_SetDefault"])(a0,a1,a2);var _PyDict_Update=Module["_PyDict_Update"]=(a0,a1)=>(_PyDict_Update=Module["_PyDict_Update"]=wasmExports["PyDict_Update"])(a0,a1);var _PyDict_Merge=Module["_PyDict_Merge"]=(a0,a1,a2)=>(_PyDict_Merge=Module["_PyDict_Merge"]=wasmExports["PyDict_Merge"])(a0,a1,a2);var __PyDict_MergeEx=Module["__PyDict_MergeEx"]=(a0,a1,a2)=>(__PyDict_MergeEx=Module["__PyDict_MergeEx"]=wasmExports["_PyDict_MergeEx"])(a0,a1,a2);var _PyDict_Size=Module["_PyDict_Size"]=a0=>(_PyDict_Size=Module["_PyDict_Size"]=wasmExports["PyDict_Size"])(a0);var __PyDict_SizeOf=Module["__PyDict_SizeOf"]=a0=>(__PyDict_SizeOf=Module["__PyDict_SizeOf"]=wasmExports["_PyDict_SizeOf"])(a0);var __PyDict_Contains_KnownHash=Module["__PyDict_Contains_KnownHash"]=(a0,a1,a2)=>(__PyDict_Contains_KnownHash=Module["__PyDict_Contains_KnownHash"]=wasmExports["_PyDict_Contains_KnownHash"])(a0,a1,a2);var __PyDict_ContainsId=Module["__PyDict_ContainsId"]=(a0,a1)=>(__PyDict_ContainsId=Module["__PyDict_ContainsId"]=wasmExports["_PyDict_ContainsId"])(a0,a1);var _PyArg_ValidateKeywordArguments=Module["_PyArg_ValidateKeywordArguments"]=a0=>(_PyArg_ValidateKeywordArguments=Module["_PyArg_ValidateKeywordArguments"]=wasmExports["PyArg_ValidateKeywordArguments"])(a0);var _PyDict_GetItemString=Module["_PyDict_GetItemString"]=(a0,a1)=>(_PyDict_GetItemString=Module["_PyDict_GetItemString"]=wasmExports["PyDict_GetItemString"])(a0,a1);var __PyDict_SetItemId=Module["__PyDict_SetItemId"]=(a0,a1,a2)=>(__PyDict_SetItemId=Module["__PyDict_SetItemId"]=wasmExports["_PyDict_SetItemId"])(a0,a1,a2);var __PyDict_DelItemId=Module["__PyDict_DelItemId"]=(a0,a1)=>(__PyDict_DelItemId=Module["__PyDict_DelItemId"]=wasmExports["_PyDict_DelItemId"])(a0,a1);var _PyDict_DelItemString=Module["_PyDict_DelItemString"]=(a0,a1)=>(_PyDict_DelItemString=Module["_PyDict_DelItemString"]=wasmExports["PyDict_DelItemString"])(a0,a1);var __PyDictView_New=Module["__PyDictView_New"]=(a0,a1)=>(__PyDictView_New=Module["__PyDictView_New"]=wasmExports["_PyDictView_New"])(a0,a1);var __PyDictView_Intersect=Module["__PyDictView_Intersect"]=(a0,a1)=>(__PyDictView_Intersect=Module["__PyDictView_Intersect"]=wasmExports["_PyDictView_Intersect"])(a0,a1);var _PyODict_New=Module["_PyODict_New"]=()=>(_PyODict_New=Module["_PyODict_New"]=wasmExports["PyODict_New"])();var _PyODict_SetItem=Module["_PyODict_SetItem"]=(a0,a1,a2)=>(_PyODict_SetItem=Module["_PyODict_SetItem"]=wasmExports["PyODict_SetItem"])(a0,a1,a2);var __PyErr_ChainExceptions=Module["__PyErr_ChainExceptions"]=(a0,a1,a2)=>(__PyErr_ChainExceptions=Module["__PyErr_ChainExceptions"]=wasmExports["_PyErr_ChainExceptions"])(a0,a1,a2);var _PyODict_DelItem=Module["_PyODict_DelItem"]=(a0,a1)=>(_PyODict_DelItem=Module["_PyODict_DelItem"]=wasmExports["PyODict_DelItem"])(a0,a1);var _PyMemoryView_FromMemory=Module["_PyMemoryView_FromMemory"]=(a0,a1,a2)=>(_PyMemoryView_FromMemory=Module["_PyMemoryView_FromMemory"]=wasmExports["PyMemoryView_FromMemory"])(a0,a1,a2);var _PyMemoryView_FromBuffer=Module["_PyMemoryView_FromBuffer"]=a0=>(_PyMemoryView_FromBuffer=Module["_PyMemoryView_FromBuffer"]=wasmExports["PyMemoryView_FromBuffer"])(a0);var _PyMemoryView_GetContiguous=Module["_PyMemoryView_GetContiguous"]=(a0,a1,a2)=>(_PyMemoryView_GetContiguous=Module["_PyMemoryView_GetContiguous"]=wasmExports["PyMemoryView_GetContiguous"])(a0,a1,a2);var _PyUnicode_AsASCIIString=Module["_PyUnicode_AsASCIIString"]=a0=>(_PyUnicode_AsASCIIString=Module["_PyUnicode_AsASCIIString"]=wasmExports["PyUnicode_AsASCIIString"])(a0);var _PyCFunction_New=Module["_PyCFunction_New"]=(a0,a1)=>(_PyCFunction_New=Module["_PyCFunction_New"]=wasmExports["PyCFunction_New"])(a0,a1);var _PyCFunction_NewEx=Module["_PyCFunction_NewEx"]=(a0,a1,a2)=>(_PyCFunction_NewEx=Module["_PyCFunction_NewEx"]=wasmExports["PyCFunction_NewEx"])(a0,a1,a2);var _PyCFunction_GetFunction=Module["_PyCFunction_GetFunction"]=a0=>(_PyCFunction_GetFunction=Module["_PyCFunction_GetFunction"]=wasmExports["PyCFunction_GetFunction"])(a0);var _PyCFunction_GetSelf=Module["_PyCFunction_GetSelf"]=a0=>(_PyCFunction_GetSelf=Module["_PyCFunction_GetSelf"]=wasmExports["PyCFunction_GetSelf"])(a0);var _PyCFunction_GetFlags=Module["_PyCFunction_GetFlags"]=a0=>(_PyCFunction_GetFlags=Module["_PyCFunction_GetFlags"]=wasmExports["PyCFunction_GetFlags"])(a0);var _PyModuleDef_Init=Module["_PyModuleDef_Init"]=a0=>(_PyModuleDef_Init=Module["_PyModuleDef_Init"]=wasmExports["PyModuleDef_Init"])(a0);var _PyModule_NewObject=Module["_PyModule_NewObject"]=a0=>(_PyModule_NewObject=Module["_PyModule_NewObject"]=wasmExports["PyModule_NewObject"])(a0);var _PyModule_New=Module["_PyModule_New"]=a0=>(_PyModule_New=Module["_PyModule_New"]=wasmExports["PyModule_New"])(a0);var __PyImport_IsInitialized=Module["__PyImport_IsInitialized"]=a0=>(__PyImport_IsInitialized=Module["__PyImport_IsInitialized"]=wasmExports["_PyImport_IsInitialized"])(a0);var __PyModule_CreateInitialized=Module["__PyModule_CreateInitialized"]=(a0,a1)=>(__PyModule_CreateInitialized=Module["__PyModule_CreateInitialized"]=wasmExports["_PyModule_CreateInitialized"])(a0,a1);var _strrchr=Module["_strrchr"]=(a0,a1)=>(_strrchr=Module["_strrchr"]=wasmExports["strrchr"])(a0,a1);var _PyModule_GetNameObject=Module["_PyModule_GetNameObject"]=a0=>(_PyModule_GetNameObject=Module["_PyModule_GetNameObject"]=wasmExports["PyModule_GetNameObject"])(a0);var _PyModule_SetDocString=Module["_PyModule_SetDocString"]=(a0,a1)=>(_PyModule_SetDocString=Module["_PyModule_SetDocString"]=wasmExports["PyModule_SetDocString"])(a0,a1);var _PyModule_FromDefAndSpec2=Module["_PyModule_FromDefAndSpec2"]=(a0,a1,a2)=>(_PyModule_FromDefAndSpec2=Module["_PyModule_FromDefAndSpec2"]=wasmExports["PyModule_FromDefAndSpec2"])(a0,a1,a2);var _PyModule_ExecDef=Module["_PyModule_ExecDef"]=(a0,a1)=>(_PyModule_ExecDef=Module["_PyModule_ExecDef"]=wasmExports["PyModule_ExecDef"])(a0,a1);var _PyModule_GetName=Module["_PyModule_GetName"]=a0=>(_PyModule_GetName=Module["_PyModule_GetName"]=wasmExports["PyModule_GetName"])(a0);var _PyModule_GetFilenameObject=Module["_PyModule_GetFilenameObject"]=a0=>(_PyModule_GetFilenameObject=Module["_PyModule_GetFilenameObject"]=wasmExports["PyModule_GetFilenameObject"])(a0);var _PyModule_GetFilename=Module["_PyModule_GetFilename"]=a0=>(_PyModule_GetFilename=Module["_PyModule_GetFilename"]=wasmExports["PyModule_GetFilename"])(a0);var _PyModule_GetDef=Module["_PyModule_GetDef"]=a0=>(_PyModule_GetDef=Module["_PyModule_GetDef"]=wasmExports["PyModule_GetDef"])(a0);var _PyModule_GetState=Module["_PyModule_GetState"]=a0=>(_PyModule_GetState=Module["_PyModule_GetState"]=wasmExports["PyModule_GetState"])(a0);var __PyModule_Clear=Module["__PyModule_Clear"]=a0=>(__PyModule_Clear=Module["__PyModule_Clear"]=wasmExports["_PyModule_Clear"])(a0);var __PyModule_ClearDict=Module["__PyModule_ClearDict"]=a0=>(__PyModule_ClearDict=Module["__PyModule_ClearDict"]=wasmExports["_PyModule_ClearDict"])(a0);var __PyModuleSpec_IsInitializing=Module["__PyModuleSpec_IsInitializing"]=a0=>(__PyModuleSpec_IsInitializing=Module["__PyModuleSpec_IsInitializing"]=wasmExports["_PyModuleSpec_IsInitializing"])(a0);var _PySys_FormatStderr=Module["_PySys_FormatStderr"]=(a0,a1)=>(_PySys_FormatStderr=Module["_PySys_FormatStderr"]=wasmExports["PySys_FormatStderr"])(a0,a1);var __PyNamespace_New=Module["__PyNamespace_New"]=a0=>(__PyNamespace_New=Module["__PyNamespace_New"]=wasmExports["_PyNamespace_New"])(a0);var __PyObject_CheckConsistency=Module["__PyObject_CheckConsistency"]=(a0,a1)=>(__PyObject_CheckConsistency=Module["__PyObject_CheckConsistency"]=wasmExports["_PyObject_CheckConsistency"])(a0,a1);var __PyType_CheckConsistency=Module["__PyType_CheckConsistency"]=a0=>(__PyType_CheckConsistency=Module["__PyType_CheckConsistency"]=wasmExports["_PyType_CheckConsistency"])(a0);var __PyUnicode_CheckConsistency=Module["__PyUnicode_CheckConsistency"]=(a0,a1)=>(__PyUnicode_CheckConsistency=Module["__PyUnicode_CheckConsistency"]=wasmExports["_PyUnicode_CheckConsistency"])(a0,a1);var __PyObject_IsFreed=Module["__PyObject_IsFreed"]=a0=>(__PyObject_IsFreed=Module["__PyObject_IsFreed"]=wasmExports["_PyObject_IsFreed"])(a0);var _fiprintf=Module["_fiprintf"]=(a0,a1,a2)=>(_fiprintf=Module["_fiprintf"]=wasmExports["fiprintf"])(a0,a1,a2);var _fwrite=Module["_fwrite"]=(a0,a1,a2,a3)=>(_fwrite=Module["_fwrite"]=wasmExports["fwrite"])(a0,a1,a2,a3);var _fputc=Module["_fputc"]=(a0,a1)=>(_fputc=Module["_fputc"]=wasmExports["fputc"])(a0,a1);var __PyObject_Dump=Module["__PyObject_Dump"]=a0=>(__PyObject_Dump=Module["__PyObject_Dump"]=wasmExports["_PyObject_Dump"])(a0);var _Py_IncRef=Module["_Py_IncRef"]=a0=>(_Py_IncRef=Module["_Py_IncRef"]=wasmExports["Py_IncRef"])(a0);var _Py_DecRef=Module["_Py_DecRef"]=a0=>(_Py_DecRef=Module["_Py_DecRef"]=wasmExports["Py_DecRef"])(a0);var __Py_IncRef=Module["__Py_IncRef"]=a0=>(__Py_IncRef=Module["__Py_IncRef"]=wasmExports["_Py_IncRef"])(a0);var __Py_DecRef=Module["__Py_DecRef"]=a0=>(__Py_DecRef=Module["__Py_DecRef"]=wasmExports["_Py_DecRef"])(a0);var _PyObject_Init=Module["_PyObject_Init"]=(a0,a1)=>(_PyObject_Init=Module["_PyObject_Init"]=wasmExports["PyObject_Init"])(a0,a1);var _PyObject_InitVar=Module["_PyObject_InitVar"]=(a0,a1,a2)=>(_PyObject_InitVar=Module["_PyObject_InitVar"]=wasmExports["PyObject_InitVar"])(a0,a1,a2);var _PyObject_CallFinalizer=Module["_PyObject_CallFinalizer"]=a0=>(_PyObject_CallFinalizer=Module["_PyObject_CallFinalizer"]=wasmExports["PyObject_CallFinalizer"])(a0);var _PyObject_Print=Module["_PyObject_Print"]=(a0,a1,a2)=>(_PyObject_Print=Module["_PyObject_Print"]=wasmExports["PyObject_Print"])(a0,a1,a2);var _ferror=Module["_ferror"]=a0=>(_ferror=Module["_ferror"]=wasmExports["ferror"])(a0);var __Py_BreakPoint=Module["__Py_BreakPoint"]=()=>(__Py_BreakPoint=Module["__Py_BreakPoint"]=wasmExports["_Py_BreakPoint"])();var _PyGILState_Ensure=Module["_PyGILState_Ensure"]=()=>(_PyGILState_Ensure=Module["_PyGILState_Ensure"]=wasmExports["PyGILState_Ensure"])();var _PyGILState_Release=Module["_PyGILState_Release"]=a0=>(_PyGILState_Release=Module["_PyGILState_Release"]=wasmExports["PyGILState_Release"])(a0);var __PyUnicode_AsASCIIString=Module["__PyUnicode_AsASCIIString"]=(a0,a1)=>(__PyUnicode_AsASCIIString=Module["__PyUnicode_AsASCIIString"]=wasmExports["_PyUnicode_AsASCIIString"])(a0,a1);var _PyUnicode_DecodeASCII=Module["_PyUnicode_DecodeASCII"]=(a0,a1,a2)=>(_PyUnicode_DecodeASCII=Module["_PyUnicode_DecodeASCII"]=wasmExports["PyUnicode_DecodeASCII"])(a0,a1,a2);var __PyObject_GenericGetAttrWithDict=Module["__PyObject_GenericGetAttrWithDict"]=(a0,a1,a2,a3)=>(__PyObject_GenericGetAttrWithDict=Module["__PyObject_GenericGetAttrWithDict"]=wasmExports["_PyObject_GenericGetAttrWithDict"])(a0,a1,a2,a3);var _PyObject_HasAttrString=Module["_PyObject_HasAttrString"]=(a0,a1)=>(_PyObject_HasAttrString=Module["_PyObject_HasAttrString"]=wasmExports["PyObject_HasAttrString"])(a0,a1);var __PyObject_LookupAttrId=Module["__PyObject_LookupAttrId"]=(a0,a1,a2)=>(__PyObject_LookupAttrId=Module["__PyObject_LookupAttrId"]=wasmExports["_PyObject_LookupAttrId"])(a0,a1,a2);var __PyObject_GetDictPtr=Module["__PyObject_GetDictPtr"]=a0=>(__PyObject_GetDictPtr=Module["__PyObject_GetDictPtr"]=wasmExports["_PyObject_GetDictPtr"])(a0);var __PyObject_GenericSetAttrWithDict=Module["__PyObject_GenericSetAttrWithDict"]=(a0,a1,a2,a3)=>(__PyObject_GenericSetAttrWithDict=Module["__PyObject_GenericSetAttrWithDict"]=wasmExports["_PyObject_GenericSetAttrWithDict"])(a0,a1,a2,a3);var _PyObject_Not=Module["_PyObject_Not"]=a0=>(_PyObject_Not=Module["_PyObject_Not"]=wasmExports["PyObject_Not"])(a0);var _PyEval_GetLocals=Module["_PyEval_GetLocals"]=()=>(_PyEval_GetLocals=Module["_PyEval_GetLocals"]=wasmExports["PyEval_GetLocals"])();var __PyObject_DebugTypeStats=Module["__PyObject_DebugTypeStats"]=a0=>(__PyObject_DebugTypeStats=Module["__PyObject_DebugTypeStats"]=wasmExports["_PyObject_DebugTypeStats"])(a0);var __PyTuple_DebugMallocStats=Module["__PyTuple_DebugMallocStats"]=a0=>(__PyTuple_DebugMallocStats=Module["__PyTuple_DebugMallocStats"]=wasmExports["_PyTuple_DebugMallocStats"])(a0);var _PyThreadState_GetDict=Module["_PyThreadState_GetDict"]=()=>(_PyThreadState_GetDict=Module["_PyThreadState_GetDict"]=wasmExports["PyThreadState_GetDict"])();var _PyObject_GET_WEAKREFS_LISTPTR=Module["_PyObject_GET_WEAKREFS_LISTPTR"]=a0=>(_PyObject_GET_WEAKREFS_LISTPTR=Module["_PyObject_GET_WEAKREFS_LISTPTR"]=wasmExports["PyObject_GET_WEAKREFS_LISTPTR"])(a0);var _Py_NewRef=Module["_Py_NewRef"]=a0=>(_Py_NewRef=Module["_Py_NewRef"]=wasmExports["Py_NewRef"])(a0);var _Py_XNewRef=Module["_Py_XNewRef"]=a0=>(_Py_XNewRef=Module["_Py_XNewRef"]=wasmExports["Py_XNewRef"])(a0);var _Py_Is=Module["_Py_Is"]=(a0,a1)=>(_Py_Is=Module["_Py_Is"]=wasmExports["Py_Is"])(a0,a1);var _Py_IsNone=Module["_Py_IsNone"]=a0=>(_Py_IsNone=Module["_Py_IsNone"]=wasmExports["Py_IsNone"])(a0);var _Py_IsTrue=Module["_Py_IsTrue"]=a0=>(_Py_IsTrue=Module["_Py_IsTrue"]=wasmExports["Py_IsTrue"])(a0);var _Py_IsFalse=Module["_Py_IsFalse"]=a0=>(_Py_IsFalse=Module["_Py_IsFalse"]=wasmExports["Py_IsFalse"])(a0);var __PyMem_SetDefaultAllocator=Module["__PyMem_SetDefaultAllocator"]=(a0,a1)=>(__PyMem_SetDefaultAllocator=Module["__PyMem_SetDefaultAllocator"]=wasmExports["_PyMem_SetDefaultAllocator"])(a0,a1);var __PyMem_GetAllocatorName=Module["__PyMem_GetAllocatorName"]=(a0,a1)=>(__PyMem_GetAllocatorName=Module["__PyMem_GetAllocatorName"]=wasmExports["_PyMem_GetAllocatorName"])(a0,a1);var __PyMem_SetupAllocators=Module["__PyMem_SetupAllocators"]=a0=>(__PyMem_SetupAllocators=Module["__PyMem_SetupAllocators"]=wasmExports["_PyMem_SetupAllocators"])(a0);var _calloc=Module["_calloc"]=(a0,a1)=>(_calloc=Module["_calloc"]=wasmExports["calloc"])(a0,a1);var _realloc=Module["_realloc"]=(a0,a1)=>(_realloc=Module["_realloc"]=wasmExports["realloc"])(a0,a1);var _PyMem_SetAllocator=Module["_PyMem_SetAllocator"]=(a0,a1)=>(_PyMem_SetAllocator=Module["_PyMem_SetAllocator"]=wasmExports["PyMem_SetAllocator"])(a0,a1);var _PyMem_SetupDebugHooks=Module["_PyMem_SetupDebugHooks"]=()=>(_PyMem_SetupDebugHooks=Module["_PyMem_SetupDebugHooks"]=wasmExports["PyMem_SetupDebugHooks"])();var __PyMem_GetCurrentAllocatorName=Module["__PyMem_GetCurrentAllocatorName"]=()=>(__PyMem_GetCurrentAllocatorName=Module["__PyMem_GetCurrentAllocatorName"]=wasmExports["_PyMem_GetCurrentAllocatorName"])();var _PyMem_GetAllocator=Module["_PyMem_GetAllocator"]=(a0,a1)=>(_PyMem_GetAllocator=Module["_PyMem_GetAllocator"]=wasmExports["PyMem_GetAllocator"])(a0,a1);var _PyObject_GetArenaAllocator=Module["_PyObject_GetArenaAllocator"]=a0=>(_PyObject_GetArenaAllocator=Module["_PyObject_GetArenaAllocator"]=wasmExports["PyObject_GetArenaAllocator"])(a0);var _PyObject_SetArenaAllocator=Module["_PyObject_SetArenaAllocator"]=a0=>(_PyObject_SetArenaAllocator=Module["_PyObject_SetArenaAllocator"]=wasmExports["PyObject_SetArenaAllocator"])(a0);var _PyMem_RawMalloc=Module["_PyMem_RawMalloc"]=a0=>(_PyMem_RawMalloc=Module["_PyMem_RawMalloc"]=wasmExports["PyMem_RawMalloc"])(a0);var _PyMem_RawCalloc=Module["_PyMem_RawCalloc"]=(a0,a1)=>(_PyMem_RawCalloc=Module["_PyMem_RawCalloc"]=wasmExports["PyMem_RawCalloc"])(a0,a1);var __PyMem_RawWcsdup=Module["__PyMem_RawWcsdup"]=a0=>(__PyMem_RawWcsdup=Module["__PyMem_RawWcsdup"]=wasmExports["_PyMem_RawWcsdup"])(a0);var _wcslen=Module["_wcslen"]=a0=>(_wcslen=Module["_wcslen"]=wasmExports["wcslen"])(a0);var __PyMem_RawStrdup=Module["__PyMem_RawStrdup"]=a0=>(__PyMem_RawStrdup=Module["__PyMem_RawStrdup"]=wasmExports["_PyMem_RawStrdup"])(a0);var __PyMem_Strdup=Module["__PyMem_Strdup"]=a0=>(__PyMem_Strdup=Module["__PyMem_Strdup"]=wasmExports["_PyMem_Strdup"])(a0);var __Py_GetAllocatedBlocks=Module["__Py_GetAllocatedBlocks"]=()=>(__Py_GetAllocatedBlocks=Module["__Py_GetAllocatedBlocks"]=wasmExports["_Py_GetAllocatedBlocks"])();var _PyPickleBuffer_FromObject=Module["_PyPickleBuffer_FromObject"]=a0=>(_PyPickleBuffer_FromObject=Module["_PyPickleBuffer_FromObject"]=wasmExports["PyPickleBuffer_FromObject"])(a0);var _PyPickleBuffer_GetBuffer=Module["_PyPickleBuffer_GetBuffer"]=a0=>(_PyPickleBuffer_GetBuffer=Module["_PyPickleBuffer_GetBuffer"]=wasmExports["PyPickleBuffer_GetBuffer"])(a0);var _PyPickleBuffer_Release=Module["_PyPickleBuffer_Release"]=a0=>(_PyPickleBuffer_Release=Module["_PyPickleBuffer_Release"]=wasmExports["PyPickleBuffer_Release"])(a0);var __PySlice_GetLongIndices=Module["__PySlice_GetLongIndices"]=(a0,a1,a2,a3,a4)=>(__PySlice_GetLongIndices=Module["__PySlice_GetLongIndices"]=wasmExports["_PySlice_GetLongIndices"])(a0,a1,a2,a3,a4);var _PySet_Size=Module["_PySet_Size"]=a0=>(_PySet_Size=Module["_PySet_Size"]=wasmExports["PySet_Size"])(a0);var _PySet_Clear=Module["_PySet_Clear"]=a0=>(_PySet_Clear=Module["_PySet_Clear"]=wasmExports["PySet_Clear"])(a0);var _PySet_Pop=Module["_PySet_Pop"]=a0=>(_PySet_Pop=Module["_PySet_Pop"]=wasmExports["PySet_Pop"])(a0);var __PyUnicode_EQ=Module["__PyUnicode_EQ"]=(a0,a1)=>(__PyUnicode_EQ=Module["__PyUnicode_EQ"]=wasmExports["_PyUnicode_EQ"])(a0,a1);var _PySlice_New=Module["_PySlice_New"]=(a0,a1,a2)=>(_PySlice_New=Module["_PySlice_New"]=wasmExports["PySlice_New"])(a0,a1,a2);var _PySlice_GetIndices=Module["_PySlice_GetIndices"]=(a0,a1,a2,a3,a4)=>(_PySlice_GetIndices=Module["_PySlice_GetIndices"]=wasmExports["PySlice_GetIndices"])(a0,a1,a2,a3,a4);var _PySlice_GetIndicesEx=Module["_PySlice_GetIndicesEx"]=(a0,a1,a2,a3,a4,a5)=>(_PySlice_GetIndicesEx=Module["_PySlice_GetIndicesEx"]=wasmExports["PySlice_GetIndicesEx"])(a0,a1,a2,a3,a4,a5);var _PyStructSequence_SetItem=Module["_PyStructSequence_SetItem"]=(a0,a1,a2)=>(_PyStructSequence_SetItem=Module["_PyStructSequence_SetItem"]=wasmExports["PyStructSequence_SetItem"])(a0,a1,a2);var _PyStructSequence_GetItem=Module["_PyStructSequence_GetItem"]=(a0,a1)=>(_PyStructSequence_GetItem=Module["_PyStructSequence_GetItem"]=wasmExports["PyStructSequence_GetItem"])(a0,a1);var __PyStructSequence_InitType=Module["__PyStructSequence_InitType"]=(a0,a1,a2)=>(__PyStructSequence_InitType=Module["__PyStructSequence_InitType"]=wasmExports["_PyStructSequence_InitType"])(a0,a1,a2);var _PyStructSequence_InitType=Module["_PyStructSequence_InitType"]=(a0,a1)=>(_PyStructSequence_InitType=Module["_PyStructSequence_InitType"]=wasmExports["PyStructSequence_InitType"])(a0,a1);var __PyStructSequence_NewType=Module["__PyStructSequence_NewType"]=(a0,a1)=>(__PyStructSequence_NewType=Module["__PyStructSequence_NewType"]=wasmExports["_PyStructSequence_NewType"])(a0,a1);var _PyStructSequence_NewType=Module["_PyStructSequence_NewType"]=a0=>(_PyStructSequence_NewType=Module["_PyStructSequence_NewType"]=wasmExports["PyStructSequence_NewType"])(a0);var _PyTuple_SetItem=Module["_PyTuple_SetItem"]=(a0,a1,a2)=>(_PyTuple_SetItem=Module["_PyTuple_SetItem"]=wasmExports["PyTuple_SetItem"])(a0,a1,a2);var __PyTuple_MaybeUntrack=Module["__PyTuple_MaybeUntrack"]=a0=>(__PyTuple_MaybeUntrack=Module["__PyTuple_MaybeUntrack"]=wasmExports["_PyTuple_MaybeUntrack"])(a0);var __PyObject_GC_Resize=Module["__PyObject_GC_Resize"]=(a0,a1)=>(__PyObject_GC_Resize=Module["__PyObject_GC_Resize"]=wasmExports["_PyObject_GC_Resize"])(a0,a1);var _PyType_ClearCache=Module["_PyType_ClearCache"]=()=>(_PyType_ClearCache=Module["_PyType_ClearCache"]=wasmExports["PyType_ClearCache"])();var _PyType_Modified=Module["_PyType_Modified"]=a0=>(_PyType_Modified=Module["_PyType_Modified"]=wasmExports["PyType_Modified"])(a0);var __PyObject_LookupSpecialId=Module["__PyObject_LookupSpecialId"]=(a0,a1)=>(__PyObject_LookupSpecialId=Module["__PyObject_LookupSpecialId"]=wasmExports["_PyObject_LookupSpecialId"])(a0,a1);var _PyType_GetFlags=Module["_PyType_GetFlags"]=a0=>(_PyType_GetFlags=Module["_PyType_GetFlags"]=wasmExports["PyType_GetFlags"])(a0);var _PyType_SUPPORTS_WEAKREFS=Module["_PyType_SUPPORTS_WEAKREFS"]=a0=>(_PyType_SUPPORTS_WEAKREFS=Module["_PyType_SUPPORTS_WEAKREFS"]=wasmExports["PyType_SUPPORTS_WEAKREFS"])(a0);var __PyType_CalculateMetaclass=Module["__PyType_CalculateMetaclass"]=(a0,a1)=>(__PyType_CalculateMetaclass=Module["__PyType_CalculateMetaclass"]=wasmExports["_PyType_CalculateMetaclass"])(a0,a1);var _PyType_FromModuleAndSpec=Module["_PyType_FromModuleAndSpec"]=(a0,a1,a2)=>(_PyType_FromModuleAndSpec=Module["_PyType_FromModuleAndSpec"]=wasmExports["PyType_FromModuleAndSpec"])(a0,a1,a2);var __PyWeakref_ClearRef=Module["__PyWeakref_ClearRef"]=a0=>(__PyWeakref_ClearRef=Module["__PyWeakref_ClearRef"]=wasmExports["_PyWeakref_ClearRef"])(a0);var _PyType_FromSpec=Module["_PyType_FromSpec"]=a0=>(_PyType_FromSpec=Module["_PyType_FromSpec"]=wasmExports["PyType_FromSpec"])(a0);var _PyType_GetName=Module["_PyType_GetName"]=a0=>(_PyType_GetName=Module["_PyType_GetName"]=wasmExports["PyType_GetName"])(a0);var _PyType_GetSlot=Module["_PyType_GetSlot"]=(a0,a1)=>(_PyType_GetSlot=Module["_PyType_GetSlot"]=wasmExports["PyType_GetSlot"])(a0,a1);var _PyType_GetModule=Module["_PyType_GetModule"]=a0=>(_PyType_GetModule=Module["_PyType_GetModule"]=wasmExports["PyType_GetModule"])(a0);var _PyType_GetModuleState=Module["_PyType_GetModuleState"]=a0=>(_PyType_GetModuleState=Module["_PyType_GetModuleState"]=wasmExports["PyType_GetModuleState"])(a0);var _PyType_GetModuleByDef=Module["_PyType_GetModuleByDef"]=(a0,a1)=>(_PyType_GetModuleByDef=Module["_PyType_GetModuleByDef"]=wasmExports["PyType_GetModuleByDef"])(a0,a1);var __PyType_LookupId=Module["__PyType_LookupId"]=(a0,a1)=>(__PyType_LookupId=Module["__PyType_LookupId"]=wasmExports["_PyType_LookupId"])(a0,a1);var _PyArg_ParseTuple=Module["_PyArg_ParseTuple"]=(a0,a1,a2)=>(_PyArg_ParseTuple=Module["_PyArg_ParseTuple"]=wasmExports["PyArg_ParseTuple"])(a0,a1,a2);var _PyUnicode_IsIdentifier=Module["_PyUnicode_IsIdentifier"]=a0=>(_PyUnicode_IsIdentifier=Module["_PyUnicode_IsIdentifier"]=wasmExports["PyUnicode_IsIdentifier"])(a0);var _PyEval_GetGlobals=Module["_PyEval_GetGlobals"]=()=>(_PyEval_GetGlobals=Module["_PyEval_GetGlobals"]=wasmExports["PyEval_GetGlobals"])();var _PyWeakref_NewRef=Module["_PyWeakref_NewRef"]=(a0,a1)=>(_PyWeakref_NewRef=Module["_PyWeakref_NewRef"]=wasmExports["PyWeakref_NewRef"])(a0,a1);var _PyImport_GetModule=Module["_PyImport_GetModule"]=a0=>(_PyImport_GetModule=Module["_PyImport_GetModule"]=wasmExports["PyImport_GetModule"])(a0);var _PyImport_Import=Module["_PyImport_Import"]=a0=>(_PyImport_Import=Module["_PyImport_Import"]=wasmExports["PyImport_Import"])(a0);var __Py_GetErrorHandler=Module["__Py_GetErrorHandler"]=a0=>(__Py_GetErrorHandler=Module["__Py_GetErrorHandler"]=wasmExports["_Py_GetErrorHandler"])(a0);var __PyUnicode_FastCopyCharacters=Module["__PyUnicode_FastCopyCharacters"]=(a0,a1,a2,a3,a4)=>(__PyUnicode_FastCopyCharacters=Module["__PyUnicode_FastCopyCharacters"]=wasmExports["_PyUnicode_FastCopyCharacters"])(a0,a1,a2,a3,a4);var _PyUnicode_CopyCharacters=Module["_PyUnicode_CopyCharacters"]=(a0,a1,a2,a3,a4)=>(_PyUnicode_CopyCharacters=Module["_PyUnicode_CopyCharacters"]=wasmExports["PyUnicode_CopyCharacters"])(a0,a1,a2,a3,a4);var _PyUnicode_Resize=Module["_PyUnicode_Resize"]=(a0,a1)=>(_PyUnicode_Resize=Module["_PyUnicode_Resize"]=wasmExports["PyUnicode_Resize"])(a0,a1);var _PyUnicode_FromUnicode=Module["_PyUnicode_FromUnicode"]=(a0,a1)=>(_PyUnicode_FromUnicode=Module["_PyUnicode_FromUnicode"]=wasmExports["PyUnicode_FromUnicode"])(a0,a1);var _PyUnicode_FromWideChar=Module["_PyUnicode_FromWideChar"]=(a0,a1)=>(_PyUnicode_FromWideChar=Module["_PyUnicode_FromWideChar"]=wasmExports["PyUnicode_FromWideChar"])(a0,a1);var _PyUnicode_FromKindAndData=Module["_PyUnicode_FromKindAndData"]=(a0,a1,a2)=>(_PyUnicode_FromKindAndData=Module["_PyUnicode_FromKindAndData"]=wasmExports["PyUnicode_FromKindAndData"])(a0,a1,a2);var __PyUnicode_FindMaxChar=Module["__PyUnicode_FindMaxChar"]=(a0,a1,a2)=>(__PyUnicode_FindMaxChar=Module["__PyUnicode_FindMaxChar"]=wasmExports["_PyUnicode_FindMaxChar"])(a0,a1,a2);var _PyUnicode_AsUCS4=Module["_PyUnicode_AsUCS4"]=(a0,a1,a2,a3)=>(_PyUnicode_AsUCS4=Module["_PyUnicode_AsUCS4"]=wasmExports["PyUnicode_AsUCS4"])(a0,a1,a2,a3);var _PyUnicode_AsUCS4Copy=Module["_PyUnicode_AsUCS4Copy"]=a0=>(_PyUnicode_AsUCS4Copy=Module["_PyUnicode_AsUCS4Copy"]=wasmExports["PyUnicode_AsUCS4Copy"])(a0);var _PyUnicode_Fill=Module["_PyUnicode_Fill"]=(a0,a1,a2,a3)=>(_PyUnicode_Fill=Module["_PyUnicode_Fill"]=wasmExports["PyUnicode_Fill"])(a0,a1,a2,a3);var __PyUnicodeWriter_WriteLatin1String=Module["__PyUnicodeWriter_WriteLatin1String"]=(a0,a1,a2)=>(__PyUnicodeWriter_WriteLatin1String=Module["__PyUnicodeWriter_WriteLatin1String"]=wasmExports["_PyUnicodeWriter_WriteLatin1String"])(a0,a1,a2);var _PyUnicode_AsWideChar=Module["_PyUnicode_AsWideChar"]=(a0,a1,a2)=>(_PyUnicode_AsWideChar=Module["_PyUnicode_AsWideChar"]=wasmExports["PyUnicode_AsWideChar"])(a0,a1,a2);var _PyUnicode_AsWideCharString=Module["_PyUnicode_AsWideCharString"]=(a0,a1)=>(_PyUnicode_AsWideCharString=Module["_PyUnicode_AsWideCharString"]=wasmExports["PyUnicode_AsWideCharString"])(a0,a1);var __PyUnicode_WideCharString_Converter=Module["__PyUnicode_WideCharString_Converter"]=(a0,a1)=>(__PyUnicode_WideCharString_Converter=Module["__PyUnicode_WideCharString_Converter"]=wasmExports["_PyUnicode_WideCharString_Converter"])(a0,a1);var _PyUnicode_AsUnicodeAndSize=Module["_PyUnicode_AsUnicodeAndSize"]=(a0,a1)=>(_PyUnicode_AsUnicodeAndSize=Module["_PyUnicode_AsUnicodeAndSize"]=wasmExports["PyUnicode_AsUnicodeAndSize"])(a0,a1);var __PyUnicode_AsUnicode=Module["__PyUnicode_AsUnicode"]=a0=>(__PyUnicode_AsUnicode=Module["__PyUnicode_AsUnicode"]=wasmExports["_PyUnicode_AsUnicode"])(a0);var __PyUnicode_WideCharString_Opt_Converter=Module["__PyUnicode_WideCharString_Opt_Converter"]=(a0,a1)=>(__PyUnicode_WideCharString_Opt_Converter=Module["__PyUnicode_WideCharString_Opt_Converter"]=wasmExports["_PyUnicode_WideCharString_Opt_Converter"])(a0,a1);var _PyUnicode_FromOrdinal=Module["_PyUnicode_FromOrdinal"]=a0=>(_PyUnicode_FromOrdinal=Module["_PyUnicode_FromOrdinal"]=wasmExports["PyUnicode_FromOrdinal"])(a0);var _PyUnicode_FromObject=Module["_PyUnicode_FromObject"]=a0=>(_PyUnicode_FromObject=Module["_PyUnicode_FromObject"]=wasmExports["PyUnicode_FromObject"])(a0);var __PyInterpreterState_GetConfig=Module["__PyInterpreterState_GetConfig"]=a0=>(__PyInterpreterState_GetConfig=Module["__PyInterpreterState_GetConfig"]=wasmExports["_PyInterpreterState_GetConfig"])(a0);var __PyCodec_Lookup=Module["__PyCodec_Lookup"]=a0=>(__PyCodec_Lookup=Module["__PyCodec_Lookup"]=wasmExports["_PyCodec_Lookup"])(a0);var _PyCodec_LookupError=Module["_PyCodec_LookupError"]=a0=>(_PyCodec_LookupError=Module["_PyCodec_LookupError"]=wasmExports["PyCodec_LookupError"])(a0);var _PyUnicode_DecodeUTF16Stateful=Module["_PyUnicode_DecodeUTF16Stateful"]=(a0,a1,a2,a3,a4)=>(_PyUnicode_DecodeUTF16Stateful=Module["_PyUnicode_DecodeUTF16Stateful"]=wasmExports["PyUnicode_DecodeUTF16Stateful"])(a0,a1,a2,a3,a4);var _PyUnicode_DecodeUTF32Stateful=Module["_PyUnicode_DecodeUTF32Stateful"]=(a0,a1,a2,a3,a4)=>(_PyUnicode_DecodeUTF32Stateful=Module["_PyUnicode_DecodeUTF32Stateful"]=wasmExports["PyUnicode_DecodeUTF32Stateful"])(a0,a1,a2,a3,a4);var __PyCodec_DecodeText=Module["__PyCodec_DecodeText"]=(a0,a1,a2)=>(__PyCodec_DecodeText=Module["__PyCodec_DecodeText"]=wasmExports["_PyCodec_DecodeText"])(a0,a1,a2);var _PyUnicode_DecodeUTF16=Module["_PyUnicode_DecodeUTF16"]=(a0,a1,a2,a3)=>(_PyUnicode_DecodeUTF16=Module["_PyUnicode_DecodeUTF16"]=wasmExports["PyUnicode_DecodeUTF16"])(a0,a1,a2,a3);var _PyUnicode_DecodeUTF32=Module["_PyUnicode_DecodeUTF32"]=(a0,a1,a2,a3)=>(_PyUnicode_DecodeUTF32=Module["_PyUnicode_DecodeUTF32"]=wasmExports["PyUnicode_DecodeUTF32"])(a0,a1,a2,a3);var _PyUnicode_AsDecodedObject=Module["_PyUnicode_AsDecodedObject"]=(a0,a1,a2)=>(_PyUnicode_AsDecodedObject=Module["_PyUnicode_AsDecodedObject"]=wasmExports["PyUnicode_AsDecodedObject"])(a0,a1,a2);var _PyCodec_Decode=Module["_PyCodec_Decode"]=(a0,a1,a2)=>(_PyCodec_Decode=Module["_PyCodec_Decode"]=wasmExports["PyCodec_Decode"])(a0,a1,a2);var _PyUnicode_AsDecodedUnicode=Module["_PyUnicode_AsDecodedUnicode"]=(a0,a1,a2)=>(_PyUnicode_AsDecodedUnicode=Module["_PyUnicode_AsDecodedUnicode"]=wasmExports["PyUnicode_AsDecodedUnicode"])(a0,a1,a2);var _PyUnicode_AsEncodedObject=Module["_PyUnicode_AsEncodedObject"]=(a0,a1,a2)=>(_PyUnicode_AsEncodedObject=Module["_PyUnicode_AsEncodedObject"]=wasmExports["PyUnicode_AsEncodedObject"])(a0,a1,a2);var _PyCodec_Encode=Module["_PyCodec_Encode"]=(a0,a1,a2)=>(_PyCodec_Encode=Module["_PyCodec_Encode"]=wasmExports["PyCodec_Encode"])(a0,a1,a2);var _PyUnicode_EncodeLocale=Module["_PyUnicode_EncodeLocale"]=(a0,a1)=>(_PyUnicode_EncodeLocale=Module["_PyUnicode_EncodeLocale"]=wasmExports["PyUnicode_EncodeLocale"])(a0,a1);var __Py_EncodeLocaleEx=Module["__Py_EncodeLocaleEx"]=(a0,a1,a2,a3,a4,a5)=>(__Py_EncodeLocaleEx=Module["__Py_EncodeLocaleEx"]=wasmExports["_Py_EncodeLocaleEx"])(a0,a1,a2,a3,a4,a5);var _PyCodec_StrictErrors=Module["_PyCodec_StrictErrors"]=a0=>(_PyCodec_StrictErrors=Module["_PyCodec_StrictErrors"]=wasmExports["PyCodec_StrictErrors"])(a0);var _PyUnicode_EncodeFSDefault=Module["_PyUnicode_EncodeFSDefault"]=a0=>(_PyUnicode_EncodeFSDefault=Module["_PyUnicode_EncodeFSDefault"]=wasmExports["PyUnicode_EncodeFSDefault"])(a0);var __PyUnicode_EncodeUTF16=Module["__PyUnicode_EncodeUTF16"]=(a0,a1,a2)=>(__PyUnicode_EncodeUTF16=Module["__PyUnicode_EncodeUTF16"]=wasmExports["_PyUnicode_EncodeUTF16"])(a0,a1,a2);var __PyUnicode_EncodeUTF32=Module["__PyUnicode_EncodeUTF32"]=(a0,a1,a2)=>(__PyUnicode_EncodeUTF32=Module["__PyUnicode_EncodeUTF32"]=wasmExports["_PyUnicode_EncodeUTF32"])(a0,a1,a2);var __PyUnicode_AsLatin1String=Module["__PyUnicode_AsLatin1String"]=(a0,a1)=>(__PyUnicode_AsLatin1String=Module["__PyUnicode_AsLatin1String"]=wasmExports["_PyUnicode_AsLatin1String"])(a0,a1);var __PyCodec_EncodeText=Module["__PyCodec_EncodeText"]=(a0,a1,a2)=>(__PyCodec_EncodeText=Module["__PyCodec_EncodeText"]=wasmExports["_PyCodec_EncodeText"])(a0,a1,a2);var _wcscmp=Module["_wcscmp"]=(a0,a1)=>(_wcscmp=Module["_wcscmp"]=wasmExports["wcscmp"])(a0,a1);var _PyUnicode_AsEncodedUnicode=Module["_PyUnicode_AsEncodedUnicode"]=(a0,a1,a2)=>(_PyUnicode_AsEncodedUnicode=Module["_PyUnicode_AsEncodedUnicode"]=wasmExports["PyUnicode_AsEncodedUnicode"])(a0,a1,a2);var _PyUnicode_DecodeLocaleAndSize=Module["_PyUnicode_DecodeLocaleAndSize"]=(a0,a1,a2)=>(_PyUnicode_DecodeLocaleAndSize=Module["_PyUnicode_DecodeLocaleAndSize"]=wasmExports["PyUnicode_DecodeLocaleAndSize"])(a0,a1,a2);var __Py_DecodeLocaleEx=Module["__Py_DecodeLocaleEx"]=(a0,a1,a2,a3,a4,a5)=>(__Py_DecodeLocaleEx=Module["__Py_DecodeLocaleEx"]=wasmExports["_Py_DecodeLocaleEx"])(a0,a1,a2,a3,a4,a5);var _PyUnicode_DecodeLocale=Module["_PyUnicode_DecodeLocale"]=(a0,a1)=>(_PyUnicode_DecodeLocale=Module["_PyUnicode_DecodeLocale"]=wasmExports["PyUnicode_DecodeLocale"])(a0,a1);var _PyUnicode_DecodeFSDefaultAndSize=Module["_PyUnicode_DecodeFSDefaultAndSize"]=(a0,a1)=>(_PyUnicode_DecodeFSDefaultAndSize=Module["_PyUnicode_DecodeFSDefaultAndSize"]=wasmExports["PyUnicode_DecodeFSDefaultAndSize"])(a0,a1);var _PyUnicode_FSConverter=Module["_PyUnicode_FSConverter"]=(a0,a1)=>(_PyUnicode_FSConverter=Module["_PyUnicode_FSConverter"]=wasmExports["PyUnicode_FSConverter"])(a0,a1);var _PyOS_FSPath=Module["_PyOS_FSPath"]=a0=>(_PyOS_FSPath=Module["_PyOS_FSPath"]=wasmExports["PyOS_FSPath"])(a0);var _PyUnicode_FSDecoder=Module["_PyUnicode_FSDecoder"]=(a0,a1)=>(_PyUnicode_FSDecoder=Module["_PyUnicode_FSDecoder"]=wasmExports["PyUnicode_FSDecoder"])(a0,a1);var _PyUnicode_AsUnicode=Module["_PyUnicode_AsUnicode"]=a0=>(_PyUnicode_AsUnicode=Module["_PyUnicode_AsUnicode"]=wasmExports["PyUnicode_AsUnicode"])(a0);var _PyUnicode_GetSize=Module["_PyUnicode_GetSize"]=a0=>(_PyUnicode_GetSize=Module["_PyUnicode_GetSize"]=wasmExports["PyUnicode_GetSize"])(a0);var _PyUnicode_GetLength=Module["_PyUnicode_GetLength"]=a0=>(_PyUnicode_GetLength=Module["_PyUnicode_GetLength"]=wasmExports["PyUnicode_GetLength"])(a0);var _PyUnicode_WriteChar=Module["_PyUnicode_WriteChar"]=(a0,a1,a2)=>(_PyUnicode_WriteChar=Module["_PyUnicode_WriteChar"]=wasmExports["PyUnicode_WriteChar"])(a0,a1,a2);var _PyUnicode_DecodeUTF7=Module["_PyUnicode_DecodeUTF7"]=(a0,a1,a2)=>(_PyUnicode_DecodeUTF7=Module["_PyUnicode_DecodeUTF7"]=wasmExports["PyUnicode_DecodeUTF7"])(a0,a1,a2);var _PyUnicode_DecodeUTF7Stateful=Module["_PyUnicode_DecodeUTF7Stateful"]=(a0,a1,a2,a3)=>(_PyUnicode_DecodeUTF7Stateful=Module["_PyUnicode_DecodeUTF7Stateful"]=wasmExports["PyUnicode_DecodeUTF7Stateful"])(a0,a1,a2,a3);var __PyUnicode_EncodeUTF7=Module["__PyUnicode_EncodeUTF7"]=(a0,a1,a2,a3)=>(__PyUnicode_EncodeUTF7=Module["__PyUnicode_EncodeUTF7"]=wasmExports["_PyUnicode_EncodeUTF7"])(a0,a1,a2,a3);var __Py_DecodeUTF8Ex=Module["__Py_DecodeUTF8Ex"]=(a0,a1,a2,a3,a4,a5)=>(__Py_DecodeUTF8Ex=Module["__Py_DecodeUTF8Ex"]=wasmExports["_Py_DecodeUTF8Ex"])(a0,a1,a2,a3,a4,a5);var __Py_DecodeUTF8_surrogateescape=Module["__Py_DecodeUTF8_surrogateescape"]=(a0,a1,a2)=>(__Py_DecodeUTF8_surrogateescape=Module["__Py_DecodeUTF8_surrogateescape"]=wasmExports["_Py_DecodeUTF8_surrogateescape"])(a0,a1,a2);var __Py_EncodeUTF8Ex=Module["__Py_EncodeUTF8Ex"]=(a0,a1,a2,a3,a4,a5)=>(__Py_EncodeUTF8Ex=Module["__Py_EncodeUTF8Ex"]=wasmExports["_Py_EncodeUTF8Ex"])(a0,a1,a2,a3,a4,a5);var _PyUnicode_AsUTF32String=Module["_PyUnicode_AsUTF32String"]=a0=>(_PyUnicode_AsUTF32String=Module["_PyUnicode_AsUTF32String"]=wasmExports["PyUnicode_AsUTF32String"])(a0);var _PyUnicode_AsUTF16String=Module["_PyUnicode_AsUTF16String"]=a0=>(_PyUnicode_AsUTF16String=Module["_PyUnicode_AsUTF16String"]=wasmExports["PyUnicode_AsUTF16String"])(a0);var __PyUnicode_DecodeUnicodeEscapeStateful=Module["__PyUnicode_DecodeUnicodeEscapeStateful"]=(a0,a1,a2,a3)=>(__PyUnicode_DecodeUnicodeEscapeStateful=Module["__PyUnicode_DecodeUnicodeEscapeStateful"]=wasmExports["_PyUnicode_DecodeUnicodeEscapeStateful"])(a0,a1,a2,a3);var _PyUnicode_DecodeUnicodeEscape=Module["_PyUnicode_DecodeUnicodeEscape"]=(a0,a1,a2)=>(_PyUnicode_DecodeUnicodeEscape=Module["_PyUnicode_DecodeUnicodeEscape"]=wasmExports["PyUnicode_DecodeUnicodeEscape"])(a0,a1,a2);var _PyUnicode_AsUnicodeEscapeString=Module["_PyUnicode_AsUnicodeEscapeString"]=a0=>(_PyUnicode_AsUnicodeEscapeString=Module["_PyUnicode_AsUnicodeEscapeString"]=wasmExports["PyUnicode_AsUnicodeEscapeString"])(a0);var __PyUnicode_DecodeRawUnicodeEscapeStateful=Module["__PyUnicode_DecodeRawUnicodeEscapeStateful"]=(a0,a1,a2,a3)=>(__PyUnicode_DecodeRawUnicodeEscapeStateful=Module["__PyUnicode_DecodeRawUnicodeEscapeStateful"]=wasmExports["_PyUnicode_DecodeRawUnicodeEscapeStateful"])(a0,a1,a2,a3);var _PyUnicode_DecodeRawUnicodeEscape=Module["_PyUnicode_DecodeRawUnicodeEscape"]=(a0,a1,a2)=>(_PyUnicode_DecodeRawUnicodeEscape=Module["_PyUnicode_DecodeRawUnicodeEscape"]=wasmExports["PyUnicode_DecodeRawUnicodeEscape"])(a0,a1,a2);var _PyUnicode_AsRawUnicodeEscapeString=Module["_PyUnicode_AsRawUnicodeEscapeString"]=a0=>(_PyUnicode_AsRawUnicodeEscapeString=Module["_PyUnicode_AsRawUnicodeEscapeString"]=wasmExports["PyUnicode_AsRawUnicodeEscapeString"])(a0);var _PyUnicode_AsLatin1String=Module["_PyUnicode_AsLatin1String"]=a0=>(_PyUnicode_AsLatin1String=Module["_PyUnicode_AsLatin1String"]=wasmExports["PyUnicode_AsLatin1String"])(a0);var __PyUnicodeWriter_PrepareKindInternal=Module["__PyUnicodeWriter_PrepareKindInternal"]=(a0,a1)=>(__PyUnicodeWriter_PrepareKindInternal=Module["__PyUnicodeWriter_PrepareKindInternal"]=wasmExports["_PyUnicodeWriter_PrepareKindInternal"])(a0,a1);var _PyUnicode_DecodeCharmap=Module["_PyUnicode_DecodeCharmap"]=(a0,a1,a2,a3)=>(_PyUnicode_DecodeCharmap=Module["_PyUnicode_DecodeCharmap"]=wasmExports["PyUnicode_DecodeCharmap"])(a0,a1,a2,a3);var _PyUnicode_BuildEncodingMap=Module["_PyUnicode_BuildEncodingMap"]=a0=>(_PyUnicode_BuildEncodingMap=Module["_PyUnicode_BuildEncodingMap"]=wasmExports["PyUnicode_BuildEncodingMap"])(a0);var __PyUnicode_EncodeCharmap=Module["__PyUnicode_EncodeCharmap"]=(a0,a1,a2)=>(__PyUnicode_EncodeCharmap=Module["__PyUnicode_EncodeCharmap"]=wasmExports["_PyUnicode_EncodeCharmap"])(a0,a1,a2);var _PyUnicode_AsCharmapString=Module["_PyUnicode_AsCharmapString"]=(a0,a1)=>(_PyUnicode_AsCharmapString=Module["_PyUnicode_AsCharmapString"]=wasmExports["PyUnicode_AsCharmapString"])(a0,a1);var _PyUnicode_Translate=Module["_PyUnicode_Translate"]=(a0,a1,a2)=>(_PyUnicode_Translate=Module["_PyUnicode_Translate"]=wasmExports["PyUnicode_Translate"])(a0,a1,a2);var __PyUnicode_IsWhitespace=Module["__PyUnicode_IsWhitespace"]=a0=>(__PyUnicode_IsWhitespace=Module["__PyUnicode_IsWhitespace"]=wasmExports["_PyUnicode_IsWhitespace"])(a0);var __PyUnicode_ToDecimalDigit=Module["__PyUnicode_ToDecimalDigit"]=a0=>(__PyUnicode_ToDecimalDigit=Module["__PyUnicode_ToDecimalDigit"]=wasmExports["_PyUnicode_ToDecimalDigit"])(a0);var __PyUnicode_InsertThousandsGrouping=Module["__PyUnicode_InsertThousandsGrouping"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(__PyUnicode_InsertThousandsGrouping=Module["__PyUnicode_InsertThousandsGrouping"]=wasmExports["_PyUnicode_InsertThousandsGrouping"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _PyUnicode_Count=Module["_PyUnicode_Count"]=(a0,a1,a2,a3)=>(_PyUnicode_Count=Module["_PyUnicode_Count"]=wasmExports["PyUnicode_Count"])(a0,a1,a2,a3);var _PyUnicode_Find=Module["_PyUnicode_Find"]=(a0,a1,a2,a3,a4)=>(_PyUnicode_Find=Module["_PyUnicode_Find"]=wasmExports["PyUnicode_Find"])(a0,a1,a2,a3,a4);var _PyUnicode_FindChar=Module["_PyUnicode_FindChar"]=(a0,a1,a2,a3,a4)=>(_PyUnicode_FindChar=Module["_PyUnicode_FindChar"]=wasmExports["PyUnicode_FindChar"])(a0,a1,a2,a3,a4);var _PyUnicode_Tailmatch=Module["_PyUnicode_Tailmatch"]=(a0,a1,a2,a3,a4)=>(_PyUnicode_Tailmatch=Module["_PyUnicode_Tailmatch"]=wasmExports["PyUnicode_Tailmatch"])(a0,a1,a2,a3,a4);var __PyUnicode_JoinArray=Module["__PyUnicode_JoinArray"]=(a0,a1,a2)=>(__PyUnicode_JoinArray=Module["__PyUnicode_JoinArray"]=wasmExports["_PyUnicode_JoinArray"])(a0,a1,a2);var __PyUnicode_FastFill=Module["__PyUnicode_FastFill"]=(a0,a1,a2,a3)=>(__PyUnicode_FastFill=Module["__PyUnicode_FastFill"]=wasmExports["_PyUnicode_FastFill"])(a0,a1,a2,a3);var _PyUnicode_Splitlines=Module["_PyUnicode_Splitlines"]=(a0,a1)=>(_PyUnicode_Splitlines=Module["_PyUnicode_Splitlines"]=wasmExports["PyUnicode_Splitlines"])(a0,a1);var __PyUnicode_IsLinebreak=Module["__PyUnicode_IsLinebreak"]=a0=>(__PyUnicode_IsLinebreak=Module["__PyUnicode_IsLinebreak"]=wasmExports["_PyUnicode_IsLinebreak"])(a0);var _wmemcmp=Module["_wmemcmp"]=(a0,a1,a2)=>(_wmemcmp=Module["_wmemcmp"]=wasmExports["wmemcmp"])(a0,a1,a2);var __PyUnicode_EqualToASCIIId=Module["__PyUnicode_EqualToASCIIId"]=(a0,a1)=>(__PyUnicode_EqualToASCIIId=Module["__PyUnicode_EqualToASCIIId"]=wasmExports["_PyUnicode_EqualToASCIIId"])(a0,a1);var _PyUnicode_RichCompare=Module["_PyUnicode_RichCompare"]=(a0,a1,a2)=>(_PyUnicode_RichCompare=Module["_PyUnicode_RichCompare"]=wasmExports["PyUnicode_RichCompare"])(a0,a1,a2);var _PyUnicode_Contains=Module["_PyUnicode_Contains"]=(a0,a1)=>(_PyUnicode_Contains=Module["_PyUnicode_Contains"]=wasmExports["PyUnicode_Contains"])(a0,a1);var _PyUnicode_Concat=Module["_PyUnicode_Concat"]=(a0,a1)=>(_PyUnicode_Concat=Module["_PyUnicode_Concat"]=wasmExports["PyUnicode_Concat"])(a0,a1);var _PyUnicode_Append=Module["_PyUnicode_Append"]=(a0,a1)=>(_PyUnicode_Append=Module["_PyUnicode_Append"]=wasmExports["PyUnicode_Append"])(a0,a1);var __PyUnicode_IsXidStart=Module["__PyUnicode_IsXidStart"]=a0=>(__PyUnicode_IsXidStart=Module["__PyUnicode_IsXidStart"]=wasmExports["_PyUnicode_IsXidStart"])(a0);var __PyUnicode_IsXidContinue=Module["__PyUnicode_IsXidContinue"]=a0=>(__PyUnicode_IsXidContinue=Module["__PyUnicode_IsXidContinue"]=wasmExports["_PyUnicode_IsXidContinue"])(a0);var __PyUnicode_XStrip=Module["__PyUnicode_XStrip"]=(a0,a1,a2)=>(__PyUnicode_XStrip=Module["__PyUnicode_XStrip"]=wasmExports["_PyUnicode_XStrip"])(a0,a1,a2);var _PyUnicode_Replace=Module["_PyUnicode_Replace"]=(a0,a1,a2,a3)=>(_PyUnicode_Replace=Module["_PyUnicode_Replace"]=wasmExports["PyUnicode_Replace"])(a0,a1,a2,a3);var _PyUnicode_Split=Module["_PyUnicode_Split"]=(a0,a1,a2)=>(_PyUnicode_Split=Module["_PyUnicode_Split"]=wasmExports["PyUnicode_Split"])(a0,a1,a2);var _PyUnicode_Partition=Module["_PyUnicode_Partition"]=(a0,a1)=>(_PyUnicode_Partition=Module["_PyUnicode_Partition"]=wasmExports["PyUnicode_Partition"])(a0,a1);var _PyUnicode_RPartition=Module["_PyUnicode_RPartition"]=(a0,a1)=>(_PyUnicode_RPartition=Module["_PyUnicode_RPartition"]=wasmExports["PyUnicode_RPartition"])(a0,a1);var _PyUnicode_RSplit=Module["_PyUnicode_RSplit"]=(a0,a1,a2)=>(_PyUnicode_RSplit=Module["_PyUnicode_RSplit"]=wasmExports["PyUnicode_RSplit"])(a0,a1,a2);var __PyUnicodeWriter_WriteSubstring=Module["__PyUnicodeWriter_WriteSubstring"]=(a0,a1,a2,a3)=>(__PyUnicodeWriter_WriteSubstring=Module["__PyUnicodeWriter_WriteSubstring"]=wasmExports["_PyUnicodeWriter_WriteSubstring"])(a0,a1,a2,a3);var _PyUnicode_Format=Module["_PyUnicode_Format"]=(a0,a1)=>(_PyUnicode_Format=Module["_PyUnicode_Format"]=wasmExports["PyUnicode_Format"])(a0,a1);var __PyErr_WriteUnraisableMsg=Module["__PyErr_WriteUnraisableMsg"]=(a0,a1)=>(__PyErr_WriteUnraisableMsg=Module["__PyErr_WriteUnraisableMsg"]=wasmExports["_PyErr_WriteUnraisableMsg"])(a0,a1);var _PyUnicode_InternImmortal=Module["_PyUnicode_InternImmortal"]=a0=>(_PyUnicode_InternImmortal=Module["_PyUnicode_InternImmortal"]=wasmExports["PyUnicode_InternImmortal"])(a0);var _PyInit__string=Module["_PyInit__string"]=()=>(_PyInit__string=Module["_PyInit__string"]=wasmExports["PyInit__string"])();var __PyUnicode_IsLowercase=Module["__PyUnicode_IsLowercase"]=a0=>(__PyUnicode_IsLowercase=Module["__PyUnicode_IsLowercase"]=wasmExports["_PyUnicode_IsLowercase"])(a0);var __PyUnicode_IsUppercase=Module["__PyUnicode_IsUppercase"]=a0=>(__PyUnicode_IsUppercase=Module["__PyUnicode_IsUppercase"]=wasmExports["_PyUnicode_IsUppercase"])(a0);var __PyUnicode_IsTitlecase=Module["__PyUnicode_IsTitlecase"]=a0=>(__PyUnicode_IsTitlecase=Module["__PyUnicode_IsTitlecase"]=wasmExports["_PyUnicode_IsTitlecase"])(a0);var __PyUnicode_IsDecimalDigit=Module["__PyUnicode_IsDecimalDigit"]=a0=>(__PyUnicode_IsDecimalDigit=Module["__PyUnicode_IsDecimalDigit"]=wasmExports["_PyUnicode_IsDecimalDigit"])(a0);var __PyUnicode_IsDigit=Module["__PyUnicode_IsDigit"]=a0=>(__PyUnicode_IsDigit=Module["__PyUnicode_IsDigit"]=wasmExports["_PyUnicode_IsDigit"])(a0);var __PyUnicode_IsNumeric=Module["__PyUnicode_IsNumeric"]=a0=>(__PyUnicode_IsNumeric=Module["__PyUnicode_IsNumeric"]=wasmExports["_PyUnicode_IsNumeric"])(a0);var __PyUnicode_IsAlpha=Module["__PyUnicode_IsAlpha"]=a0=>(__PyUnicode_IsAlpha=Module["__PyUnicode_IsAlpha"]=wasmExports["_PyUnicode_IsAlpha"])(a0);var __PyUnicode_FormatAdvancedWriter=Module["__PyUnicode_FormatAdvancedWriter"]=(a0,a1,a2,a3,a4)=>(__PyUnicode_FormatAdvancedWriter=Module["__PyUnicode_FormatAdvancedWriter"]=wasmExports["_PyUnicode_FormatAdvancedWriter"])(a0,a1,a2,a3,a4);var __PyUnicode_ToTitleFull=Module["__PyUnicode_ToTitleFull"]=(a0,a1)=>(__PyUnicode_ToTitleFull=Module["__PyUnicode_ToTitleFull"]=wasmExports["_PyUnicode_ToTitleFull"])(a0,a1);var __PyUnicode_IsCaseIgnorable=Module["__PyUnicode_IsCaseIgnorable"]=a0=>(__PyUnicode_IsCaseIgnorable=Module["__PyUnicode_IsCaseIgnorable"]=wasmExports["_PyUnicode_IsCaseIgnorable"])(a0);var __PyUnicode_IsCased=Module["__PyUnicode_IsCased"]=a0=>(__PyUnicode_IsCased=Module["__PyUnicode_IsCased"]=wasmExports["_PyUnicode_IsCased"])(a0);var __PyUnicode_ToLowerFull=Module["__PyUnicode_ToLowerFull"]=(a0,a1)=>(__PyUnicode_ToLowerFull=Module["__PyUnicode_ToLowerFull"]=wasmExports["_PyUnicode_ToLowerFull"])(a0,a1);var __PyUnicode_ToFoldedFull=Module["__PyUnicode_ToFoldedFull"]=(a0,a1)=>(__PyUnicode_ToFoldedFull=Module["__PyUnicode_ToFoldedFull"]=wasmExports["_PyUnicode_ToFoldedFull"])(a0,a1);var __PyUnicode_ToUpperFull=Module["__PyUnicode_ToUpperFull"]=(a0,a1)=>(__PyUnicode_ToUpperFull=Module["__PyUnicode_ToUpperFull"]=wasmExports["_PyUnicode_ToUpperFull"])(a0,a1);var __PyUnicode_ToNumeric=Module["__PyUnicode_ToNumeric"]=a0=>(__PyUnicode_ToNumeric=Module["__PyUnicode_ToNumeric"]=wasmExports["_PyUnicode_ToNumeric"])(a0);var __PyUnicode_ToTitlecase=Module["__PyUnicode_ToTitlecase"]=a0=>(__PyUnicode_ToTitlecase=Module["__PyUnicode_ToTitlecase"]=wasmExports["_PyUnicode_ToTitlecase"])(a0);var __PyUnicode_ToDigit=Module["__PyUnicode_ToDigit"]=a0=>(__PyUnicode_ToDigit=Module["__PyUnicode_ToDigit"]=wasmExports["_PyUnicode_ToDigit"])(a0);var __PyUnicode_ToUppercase=Module["__PyUnicode_ToUppercase"]=a0=>(__PyUnicode_ToUppercase=Module["__PyUnicode_ToUppercase"]=wasmExports["_PyUnicode_ToUppercase"])(a0);var __PyUnicode_ToLowercase=Module["__PyUnicode_ToLowercase"]=a0=>(__PyUnicode_ToLowercase=Module["__PyUnicode_ToLowercase"]=wasmExports["_PyUnicode_ToLowercase"])(a0);var __PyWeakref_GetWeakrefCount=Module["__PyWeakref_GetWeakrefCount"]=a0=>(__PyWeakref_GetWeakrefCount=Module["__PyWeakref_GetWeakrefCount"]=wasmExports["_PyWeakref_GetWeakrefCount"])(a0);var _PyWeakref_NewProxy=Module["_PyWeakref_NewProxy"]=(a0,a1)=>(_PyWeakref_NewProxy=Module["_PyWeakref_NewProxy"]=wasmExports["PyWeakref_NewProxy"])(a0,a1);var _PyWeakref_GetObject=Module["_PyWeakref_GetObject"]=a0=>(_PyWeakref_GetObject=Module["_PyWeakref_GetObject"]=wasmExports["PyWeakref_GetObject"])(a0);var _PyErr_ResourceWarning=Module["_PyErr_ResourceWarning"]=(a0,a1,a2,a3)=>(_PyErr_ResourceWarning=Module["_PyErr_ResourceWarning"]=wasmExports["PyErr_ResourceWarning"])(a0,a1,a2,a3);var _PyErr_WarnExplicit=Module["_PyErr_WarnExplicit"]=(a0,a1,a2,a3,a4,a5)=>(_PyErr_WarnExplicit=Module["_PyErr_WarnExplicit"]=wasmExports["PyErr_WarnExplicit"])(a0,a1,a2,a3,a4,a5);var _PyErr_WarnExplicitFormat=Module["_PyErr_WarnExplicitFormat"]=(a0,a1,a2,a3,a4,a5,a6)=>(_PyErr_WarnExplicitFormat=Module["_PyErr_WarnExplicitFormat"]=wasmExports["PyErr_WarnExplicitFormat"])(a0,a1,a2,a3,a4,a5,a6);var __Py_IsFinalizing=Module["__Py_IsFinalizing"]=()=>(__Py_IsFinalizing=Module["__Py_IsFinalizing"]=wasmExports["_Py_IsFinalizing"])();var __PyWarnings_Init=Module["__PyWarnings_Init"]=()=>(__PyWarnings_Init=Module["__PyWarnings_Init"]=wasmExports["_PyWarnings_Init"])();var __PySys_GetAttr=Module["__PySys_GetAttr"]=(a0,a1)=>(__PySys_GetAttr=Module["__PySys_GetAttr"]=wasmExports["_PySys_GetAttr"])(a0,a1);var __Py_DisplaySourceLine=Module["__Py_DisplaySourceLine"]=(a0,a1,a2,a3,a4,a5)=>(__Py_DisplaySourceLine=Module["__Py_DisplaySourceLine"]=wasmExports["_Py_DisplaySourceLine"])(a0,a1,a2,a3,a4,a5);var _PyModule_AddObjectRef=Module["_PyModule_AddObjectRef"]=(a0,a1,a2)=>(_PyModule_AddObjectRef=Module["_PyModule_AddObjectRef"]=wasmExports["PyModule_AddObjectRef"])(a0,a1,a2);var _PyInit__ast=Module["_PyInit__ast"]=()=>(_PyInit__ast=Module["_PyInit__ast"]=wasmExports["PyInit__ast"])();var _Py_GetRecursionLimit=Module["_Py_GetRecursionLimit"]=()=>(_Py_GetRecursionLimit=Module["_Py_GetRecursionLimit"]=wasmExports["Py_GetRecursionLimit"])();var _PyModule_AddIntConstant=Module["_PyModule_AddIntConstant"]=(a0,a1,a2)=>(_PyModule_AddIntConstant=Module["_PyModule_AddIntConstant"]=wasmExports["PyModule_AddIntConstant"])(a0,a1,a2);var _PyInit__tokenize=Module["_PyInit__tokenize"]=()=>(_PyInit__tokenize=Module["_PyInit__tokenize"]=wasmExports["PyInit__tokenize"])();var _PyModule_AddType=Module["_PyModule_AddType"]=(a0,a1)=>(_PyModule_AddType=Module["_PyModule_AddType"]=wasmExports["PyModule_AddType"])(a0,a1);var _snprintf=Module["_snprintf"]=(a0,a1,a2,a3)=>(_snprintf=Module["_snprintf"]=wasmExports["snprintf"])(a0,a1,a2,a3);var _PyImport_ImportModuleLevelObject=Module["_PyImport_ImportModuleLevelObject"]=(a0,a1,a2,a3,a4)=>(_PyImport_ImportModuleLevelObject=Module["_PyImport_ImportModuleLevelObject"]=wasmExports["PyImport_ImportModuleLevelObject"])(a0,a1,a2,a3,a4);var _PyEval_MergeCompilerFlags=Module["_PyEval_MergeCompilerFlags"]=a0=>(_PyEval_MergeCompilerFlags=Module["_PyEval_MergeCompilerFlags"]=wasmExports["PyEval_MergeCompilerFlags"])(a0);var __PyArena_New=Module["__PyArena_New"]=()=>(__PyArena_New=Module["__PyArena_New"]=wasmExports["_PyArena_New"])();var __PyArena_Free=Module["__PyArena_Free"]=a0=>(__PyArena_Free=Module["__PyArena_Free"]=wasmExports["_PyArena_Free"])(a0);var __PyAST_Compile=Module["__PyAST_Compile"]=(a0,a1,a2,a3,a4)=>(__PyAST_Compile=Module["__PyAST_Compile"]=wasmExports["_PyAST_Compile"])(a0,a1,a2,a3,a4);var __Py_SourceAsString=Module["__Py_SourceAsString"]=(a0,a1,a2,a3,a4)=>(__Py_SourceAsString=Module["__Py_SourceAsString"]=wasmExports["_Py_SourceAsString"])(a0,a1,a2,a3,a4);var _Py_CompileStringObject=Module["_Py_CompileStringObject"]=(a0,a1,a2,a3,a4)=>(_Py_CompileStringObject=Module["_Py_CompileStringObject"]=wasmExports["Py_CompileStringObject"])(a0,a1,a2,a3,a4);var _PyEval_GetBuiltins=Module["_PyEval_GetBuiltins"]=()=>(_PyEval_GetBuiltins=Module["_PyEval_GetBuiltins"]=wasmExports["PyEval_GetBuiltins"])();var _PyEval_EvalCode=Module["_PyEval_EvalCode"]=(a0,a1,a2)=>(_PyEval_EvalCode=Module["_PyEval_EvalCode"]=wasmExports["PyEval_EvalCode"])(a0,a1,a2);var _PyRun_StringFlags=Module["_PyRun_StringFlags"]=(a0,a1,a2,a3,a4)=>(_PyRun_StringFlags=Module["_PyRun_StringFlags"]=wasmExports["PyRun_StringFlags"])(a0,a1,a2,a3,a4);var _PyEval_EvalCodeEx=Module["_PyEval_EvalCodeEx"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)=>(_PyEval_EvalCodeEx=Module["_PyEval_EvalCodeEx"]=wasmExports["PyEval_EvalCodeEx"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);var __PyArg_UnpackKeywordsWithVararg=Module["__PyArg_UnpackKeywordsWithVararg"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(__PyArg_UnpackKeywordsWithVararg=Module["__PyArg_UnpackKeywordsWithVararg"]=wasmExports["_PyArg_UnpackKeywordsWithVararg"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var __PyEval_SetSwitchInterval=Module["__PyEval_SetSwitchInterval"]=a0=>(__PyEval_SetSwitchInterval=Module["__PyEval_SetSwitchInterval"]=wasmExports["_PyEval_SetSwitchInterval"])(a0);var __PyEval_GetSwitchInterval=Module["__PyEval_GetSwitchInterval"]=()=>(__PyEval_GetSwitchInterval=Module["__PyEval_GetSwitchInterval"]=wasmExports["_PyEval_GetSwitchInterval"])();var __Py_FatalError_TstateNULL=Module["__Py_FatalError_TstateNULL"]=a0=>(__Py_FatalError_TstateNULL=Module["__Py_FatalError_TstateNULL"]=wasmExports["_Py_FatalError_TstateNULL"])(a0);var _PyEval_ThreadsInitialized=Module["_PyEval_ThreadsInitialized"]=()=>(_PyEval_ThreadsInitialized=Module["_PyEval_ThreadsInitialized"]=wasmExports["PyEval_ThreadsInitialized"])();var _PyThread_init_thread=Module["_PyThread_init_thread"]=()=>(_PyThread_init_thread=Module["_PyThread_init_thread"]=wasmExports["PyThread_init_thread"])();var _pthread_mutex_init=Module["_pthread_mutex_init"]=(a0,a1)=>(_pthread_mutex_init=Module["_pthread_mutex_init"]=wasmExports["pthread_mutex_init"])(a0,a1);var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=a0=>(_pthread_mutex_lock=Module["_pthread_mutex_lock"]=wasmExports["pthread_mutex_lock"])(a0);var _pthread_cond_timedwait=Module["_pthread_cond_timedwait"]=(a0,a1,a2)=>(_pthread_cond_timedwait=Module["_pthread_cond_timedwait"]=wasmExports["pthread_cond_timedwait"])(a0,a1,a2);var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=a0=>(_pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=wasmExports["pthread_mutex_unlock"])(a0);var _pthread_cond_signal=Module["_pthread_cond_signal"]=a0=>(_pthread_cond_signal=Module["_pthread_cond_signal"]=wasmExports["pthread_cond_signal"])(a0);var _PyThread_exit_thread=Module["_PyThread_exit_thread"]=()=>(_PyThread_exit_thread=Module["_PyThread_exit_thread"]=wasmExports["PyThread_exit_thread"])();var _PyThread_get_thread_ident=Module["_PyThread_get_thread_ident"]=()=>(_PyThread_get_thread_ident=Module["_PyThread_get_thread_ident"]=wasmExports["PyThread_get_thread_ident"])();var _pthread_cond_destroy=Module["_pthread_cond_destroy"]=a0=>(_pthread_cond_destroy=Module["_pthread_cond_destroy"]=wasmExports["pthread_cond_destroy"])(a0);var _pthread_mutex_destroy=Module["_pthread_mutex_destroy"]=a0=>(_pthread_mutex_destroy=Module["_pthread_mutex_destroy"]=wasmExports["pthread_mutex_destroy"])(a0);var _PyEval_InitThreads=Module["_PyEval_InitThreads"]=()=>(_PyEval_InitThreads=Module["_PyEval_InitThreads"]=wasmExports["PyEval_InitThreads"])();var _PyEval_AcquireLock=Module["_PyEval_AcquireLock"]=()=>(_PyEval_AcquireLock=Module["_PyEval_AcquireLock"]=wasmExports["PyEval_AcquireLock"])();var _PyEval_ReleaseLock=Module["_PyEval_ReleaseLock"]=()=>(_PyEval_ReleaseLock=Module["_PyEval_ReleaseLock"]=wasmExports["PyEval_ReleaseLock"])();var _pthread_cond_wait=Module["_pthread_cond_wait"]=(a0,a1)=>(_pthread_cond_wait=Module["_pthread_cond_wait"]=wasmExports["pthread_cond_wait"])(a0,a1);var _PyEval_AcquireThread=Module["_PyEval_AcquireThread"]=a0=>(_PyEval_AcquireThread=Module["_PyEval_AcquireThread"]=wasmExports["PyEval_AcquireThread"])(a0);var __PyThreadState_Swap=Module["__PyThreadState_Swap"]=(a0,a1)=>(__PyThreadState_Swap=Module["__PyThreadState_Swap"]=wasmExports["_PyThreadState_Swap"])(a0,a1);var _PyEval_ReleaseThread=Module["_PyEval_ReleaseThread"]=a0=>(_PyEval_ReleaseThread=Module["_PyEval_ReleaseThread"]=wasmExports["PyEval_ReleaseThread"])(a0);var __PyThread_at_fork_reinit=Module["__PyThread_at_fork_reinit"]=a0=>(__PyThread_at_fork_reinit=Module["__PyThread_at_fork_reinit"]=wasmExports["_PyThread_at_fork_reinit"])(a0);var __PyThreadState_DeleteExcept=Module["__PyThreadState_DeleteExcept"]=(a0,a1)=>(__PyThreadState_DeleteExcept=Module["__PyThreadState_DeleteExcept"]=wasmExports["_PyThreadState_DeleteExcept"])(a0,a1);var __PyEval_SignalAsyncExc=Module["__PyEval_SignalAsyncExc"]=a0=>(__PyEval_SignalAsyncExc=Module["__PyEval_SignalAsyncExc"]=wasmExports["_PyEval_SignalAsyncExc"])(a0);var __PyEval_SignalReceived=Module["__PyEval_SignalReceived"]=a0=>(__PyEval_SignalReceived=Module["__PyEval_SignalReceived"]=wasmExports["_PyEval_SignalReceived"])(a0);var __PyEval_AddPendingCall=Module["__PyEval_AddPendingCall"]=(a0,a1,a2)=>(__PyEval_AddPendingCall=Module["__PyEval_AddPendingCall"]=wasmExports["_PyEval_AddPendingCall"])(a0,a1,a2);var _Py_AddPendingCall=Module["_Py_AddPendingCall"]=(a0,a1)=>(_Py_AddPendingCall=Module["_Py_AddPendingCall"]=wasmExports["Py_AddPendingCall"])(a0,a1);var __PyErr_Print=Module["__PyErr_Print"]=a0=>(__PyErr_Print=Module["__PyErr_Print"]=wasmExports["_PyErr_Print"])(a0);var _Py_MakePendingCalls=Module["_Py_MakePendingCalls"]=()=>(_Py_MakePendingCalls=Module["_Py_MakePendingCalls"]=wasmExports["Py_MakePendingCalls"])();var __PyErr_CheckSignalsTstate=Module["__PyErr_CheckSignalsTstate"]=a0=>(__PyErr_CheckSignalsTstate=Module["__PyErr_CheckSignalsTstate"]=wasmExports["_PyErr_CheckSignalsTstate"])(a0);var _PyThread_free_lock=Module["_PyThread_free_lock"]=a0=>(_PyThread_free_lock=Module["_PyThread_free_lock"]=wasmExports["PyThread_free_lock"])(a0);var _Py_SetRecursionLimit=Module["_Py_SetRecursionLimit"]=a0=>(_Py_SetRecursionLimit=Module["_Py_SetRecursionLimit"]=wasmExports["Py_SetRecursionLimit"])(a0);var _PyEval_EvalFrame=Module["_PyEval_EvalFrame"]=a0=>(_PyEval_EvalFrame=Module["_PyEval_EvalFrame"]=wasmExports["PyEval_EvalFrame"])(a0);var _PyEval_EvalFrameEx=Module["_PyEval_EvalFrameEx"]=(a0,a1)=>(_PyEval_EvalFrameEx=Module["_PyEval_EvalFrameEx"]=wasmExports["PyEval_EvalFrameEx"])(a0,a1);var _PyTraceBack_Here=Module["_PyTraceBack_Here"]=a0=>(_PyTraceBack_Here=Module["_PyTraceBack_Here"]=wasmExports["PyTraceBack_Here"])(a0);var __PyErr_SetNone=Module["__PyErr_SetNone"]=(a0,a1)=>(__PyErr_SetNone=Module["__PyErr_SetNone"]=wasmExports["_PyErr_SetNone"])(a0,a1);var _PyErr_SetImportError=Module["_PyErr_SetImportError"]=(a0,a1,a2)=>(_PyErr_SetImportError=Module["_PyErr_SetImportError"]=wasmExports["PyErr_SetImportError"])(a0,a1,a2);var _PyErr_SetExcInfo=Module["_PyErr_SetExcInfo"]=(a0,a1,a2)=>(_PyErr_SetExcInfo=Module["_PyErr_SetExcInfo"]=wasmExports["PyErr_SetExcInfo"])(a0,a1,a2);var __PyErr_NormalizeException=Module["__PyErr_NormalizeException"]=(a0,a1,a2,a3)=>(__PyErr_NormalizeException=Module["__PyErr_NormalizeException"]=wasmExports["_PyErr_NormalizeException"])(a0,a1,a2,a3);var __PyErr_GetTopmostException=Module["__PyErr_GetTopmostException"]=a0=>(__PyErr_GetTopmostException=Module["__PyErr_GetTopmostException"]=wasmExports["_PyErr_GetTopmostException"])(a0);var __PyErr_SetObject=Module["__PyErr_SetObject"]=(a0,a1,a2)=>(__PyErr_SetObject=Module["__PyErr_SetObject"]=wasmExports["_PyErr_SetObject"])(a0,a1,a2);var _PyThreadState_EnterTracing=Module["_PyThreadState_EnterTracing"]=a0=>(_PyThreadState_EnterTracing=Module["_PyThreadState_EnterTracing"]=wasmExports["PyThreadState_EnterTracing"])(a0);var _PyThreadState_LeaveTracing=Module["_PyThreadState_LeaveTracing"]=a0=>(_PyThreadState_LeaveTracing=Module["_PyThreadState_LeaveTracing"]=wasmExports["PyThreadState_LeaveTracing"])(a0);var __PyEval_SetProfile=Module["__PyEval_SetProfile"]=(a0,a1,a2)=>(__PyEval_SetProfile=Module["__PyEval_SetProfile"]=wasmExports["_PyEval_SetProfile"])(a0,a1,a2);var _PyEval_SetProfile=Module["_PyEval_SetProfile"]=(a0,a1)=>(_PyEval_SetProfile=Module["_PyEval_SetProfile"]=wasmExports["PyEval_SetProfile"])(a0,a1);var __PyEval_SetTrace=Module["__PyEval_SetTrace"]=(a0,a1,a2)=>(__PyEval_SetTrace=Module["__PyEval_SetTrace"]=wasmExports["_PyEval_SetTrace"])(a0,a1,a2);var _PyEval_SetTrace=Module["_PyEval_SetTrace"]=(a0,a1)=>(_PyEval_SetTrace=Module["_PyEval_SetTrace"]=wasmExports["PyEval_SetTrace"])(a0,a1);var _PyEval_GetFrame=Module["_PyEval_GetFrame"]=()=>(_PyEval_GetFrame=Module["_PyEval_GetFrame"]=wasmExports["PyEval_GetFrame"])();var __PyEval_GetBuiltinId=Module["__PyEval_GetBuiltinId"]=a0=>(__PyEval_GetBuiltinId=Module["__PyEval_GetBuiltinId"]=wasmExports["_PyEval_GetBuiltinId"])(a0);var _PyEval_GetFuncName=Module["_PyEval_GetFuncName"]=a0=>(_PyEval_GetFuncName=Module["_PyEval_GetFuncName"]=wasmExports["PyEval_GetFuncName"])(a0);var _PyEval_GetFuncDesc=Module["_PyEval_GetFuncDesc"]=a0=>(_PyEval_GetFuncDesc=Module["_PyEval_GetFuncDesc"]=wasmExports["PyEval_GetFuncDesc"])(a0);var __PyEval_RequestCodeExtraIndex=Module["__PyEval_RequestCodeExtraIndex"]=a0=>(__PyEval_RequestCodeExtraIndex=Module["__PyEval_RequestCodeExtraIndex"]=wasmExports["_PyEval_RequestCodeExtraIndex"])(a0);var _PyCodec_Register=Module["_PyCodec_Register"]=a0=>(_PyCodec_Register=Module["_PyCodec_Register"]=wasmExports["PyCodec_Register"])(a0);var _PyCodec_Unregister=Module["_PyCodec_Unregister"]=a0=>(_PyCodec_Unregister=Module["_PyCodec_Unregister"]=wasmExports["PyCodec_Unregister"])(a0);var _PyInterpreterState_Get=Module["_PyInterpreterState_Get"]=()=>(_PyInterpreterState_Get=Module["_PyInterpreterState_Get"]=wasmExports["PyInterpreterState_Get"])();var _PyCodec_KnownEncoding=Module["_PyCodec_KnownEncoding"]=a0=>(_PyCodec_KnownEncoding=Module["_PyCodec_KnownEncoding"]=wasmExports["PyCodec_KnownEncoding"])(a0);var __PyCodecInfo_GetIncrementalDecoder=Module["__PyCodecInfo_GetIncrementalDecoder"]=(a0,a1)=>(__PyCodecInfo_GetIncrementalDecoder=Module["__PyCodecInfo_GetIncrementalDecoder"]=wasmExports["_PyCodecInfo_GetIncrementalDecoder"])(a0,a1);var __PyCodecInfo_GetIncrementalEncoder=Module["__PyCodecInfo_GetIncrementalEncoder"]=(a0,a1)=>(__PyCodecInfo_GetIncrementalEncoder=Module["__PyCodecInfo_GetIncrementalEncoder"]=wasmExports["_PyCodecInfo_GetIncrementalEncoder"])(a0,a1);var _PyCodec_Encoder=Module["_PyCodec_Encoder"]=a0=>(_PyCodec_Encoder=Module["_PyCodec_Encoder"]=wasmExports["PyCodec_Encoder"])(a0);var _PyCodec_Decoder=Module["_PyCodec_Decoder"]=a0=>(_PyCodec_Decoder=Module["_PyCodec_Decoder"]=wasmExports["PyCodec_Decoder"])(a0);var _PyCodec_IncrementalEncoder=Module["_PyCodec_IncrementalEncoder"]=(a0,a1)=>(_PyCodec_IncrementalEncoder=Module["_PyCodec_IncrementalEncoder"]=wasmExports["PyCodec_IncrementalEncoder"])(a0,a1);var _PyCodec_IncrementalDecoder=Module["_PyCodec_IncrementalDecoder"]=(a0,a1)=>(_PyCodec_IncrementalDecoder=Module["_PyCodec_IncrementalDecoder"]=wasmExports["PyCodec_IncrementalDecoder"])(a0,a1);var _PyCodec_StreamReader=Module["_PyCodec_StreamReader"]=(a0,a1,a2)=>(_PyCodec_StreamReader=Module["_PyCodec_StreamReader"]=wasmExports["PyCodec_StreamReader"])(a0,a1,a2);var _PyCodec_StreamWriter=Module["_PyCodec_StreamWriter"]=(a0,a1,a2)=>(_PyCodec_StreamWriter=Module["_PyCodec_StreamWriter"]=wasmExports["PyCodec_StreamWriter"])(a0,a1,a2);var __PyCodec_LookupTextEncoding=Module["__PyCodec_LookupTextEncoding"]=(a0,a1)=>(__PyCodec_LookupTextEncoding=Module["__PyCodec_LookupTextEncoding"]=wasmExports["_PyCodec_LookupTextEncoding"])(a0,a1);var _PyCodec_RegisterError=Module["_PyCodec_RegisterError"]=(a0,a1)=>(_PyCodec_RegisterError=Module["_PyCodec_RegisterError"]=wasmExports["PyCodec_RegisterError"])(a0,a1);var _PyCodec_IgnoreErrors=Module["_PyCodec_IgnoreErrors"]=a0=>(_PyCodec_IgnoreErrors=Module["_PyCodec_IgnoreErrors"]=wasmExports["PyCodec_IgnoreErrors"])(a0);var _PyCodec_ReplaceErrors=Module["_PyCodec_ReplaceErrors"]=a0=>(_PyCodec_ReplaceErrors=Module["_PyCodec_ReplaceErrors"]=wasmExports["PyCodec_ReplaceErrors"])(a0);var _PyCodec_XMLCharRefReplaceErrors=Module["_PyCodec_XMLCharRefReplaceErrors"]=a0=>(_PyCodec_XMLCharRefReplaceErrors=Module["_PyCodec_XMLCharRefReplaceErrors"]=wasmExports["PyCodec_XMLCharRefReplaceErrors"])(a0);var _PyCodec_BackslashReplaceErrors=Module["_PyCodec_BackslashReplaceErrors"]=a0=>(_PyCodec_BackslashReplaceErrors=Module["_PyCodec_BackslashReplaceErrors"]=wasmExports["PyCodec_BackslashReplaceErrors"])(a0);var _PyCodec_NameReplaceErrors=Module["_PyCodec_NameReplaceErrors"]=a0=>(_PyCodec_NameReplaceErrors=Module["_PyCodec_NameReplaceErrors"]=wasmExports["PyCodec_NameReplaceErrors"])(a0);var _PyCompile_OpcodeStackEffectWithJump=Module["_PyCompile_OpcodeStackEffectWithJump"]=(a0,a1,a2)=>(_PyCompile_OpcodeStackEffectWithJump=Module["_PyCompile_OpcodeStackEffectWithJump"]=wasmExports["PyCompile_OpcodeStackEffectWithJump"])(a0,a1,a2);var _PyCode_Optimize=Module["_PyCode_Optimize"]=(a0,a1,a2,a3)=>(_PyCode_Optimize=Module["_PyCode_Optimize"]=wasmExports["PyCode_Optimize"])(a0,a1,a2,a3);var _PySymtable_Lookup=Module["_PySymtable_Lookup"]=(a0,a1)=>(_PySymtable_Lookup=Module["_PySymtable_Lookup"]=wasmExports["PySymtable_Lookup"])(a0,a1);var _PyErr_ProgramTextObject=Module["_PyErr_ProgramTextObject"]=(a0,a1)=>(_PyErr_ProgramTextObject=Module["_PyErr_ProgramTextObject"]=wasmExports["PyErr_ProgramTextObject"])(a0,a1);var __PyContext_NewHamtForTests=Module["__PyContext_NewHamtForTests"]=()=>(__PyContext_NewHamtForTests=Module["__PyContext_NewHamtForTests"]=wasmExports["_PyContext_NewHamtForTests"])();var _PyContext_New=Module["_PyContext_New"]=()=>(_PyContext_New=Module["_PyContext_New"]=wasmExports["PyContext_New"])();var _PyContext_Copy=Module["_PyContext_Copy"]=a0=>(_PyContext_Copy=Module["_PyContext_Copy"]=wasmExports["PyContext_Copy"])(a0);var _PyContext_CopyCurrent=Module["_PyContext_CopyCurrent"]=()=>(_PyContext_CopyCurrent=Module["_PyContext_CopyCurrent"]=wasmExports["PyContext_CopyCurrent"])();var _PyContext_Enter=Module["_PyContext_Enter"]=a0=>(_PyContext_Enter=Module["_PyContext_Enter"]=wasmExports["PyContext_Enter"])(a0);var _PyContext_Exit=Module["_PyContext_Exit"]=a0=>(_PyContext_Exit=Module["_PyContext_Exit"]=wasmExports["PyContext_Exit"])(a0);var _PyContextVar_New=Module["_PyContextVar_New"]=(a0,a1)=>(_PyContextVar_New=Module["_PyContextVar_New"]=wasmExports["PyContextVar_New"])(a0,a1);var _PyContextVar_Get=Module["_PyContextVar_Get"]=(a0,a1,a2)=>(_PyContextVar_Get=Module["_PyContextVar_Get"]=wasmExports["PyContextVar_Get"])(a0,a1,a2);var _PyContextVar_Set=Module["_PyContextVar_Set"]=(a0,a1)=>(_PyContextVar_Set=Module["_PyContextVar_Set"]=wasmExports["PyContextVar_Set"])(a0,a1);var _PyContextVar_Reset=Module["_PyContextVar_Reset"]=(a0,a1)=>(_PyContextVar_Reset=Module["_PyContextVar_Reset"]=wasmExports["PyContextVar_Reset"])(a0,a1);var __PyErr_GetExcInfo=Module["__PyErr_GetExcInfo"]=(a0,a1,a2,a3)=>(__PyErr_GetExcInfo=Module["__PyErr_GetExcInfo"]=wasmExports["_PyErr_GetExcInfo"])(a0,a1,a2,a3);var __PyErr_GetHandledException=Module["__PyErr_GetHandledException"]=a0=>(__PyErr_GetHandledException=Module["__PyErr_GetHandledException"]=wasmExports["_PyErr_GetHandledException"])(a0);var _PyErr_GetHandledException=Module["_PyErr_GetHandledException"]=()=>(_PyErr_GetHandledException=Module["_PyErr_GetHandledException"]=wasmExports["PyErr_GetHandledException"])();var __PyErr_SetHandledException=Module["__PyErr_SetHandledException"]=(a0,a1)=>(__PyErr_SetHandledException=Module["__PyErr_SetHandledException"]=wasmExports["_PyErr_SetHandledException"])(a0,a1);var _PyErr_SetHandledException=Module["_PyErr_SetHandledException"]=a0=>(_PyErr_SetHandledException=Module["_PyErr_SetHandledException"]=wasmExports["PyErr_SetHandledException"])(a0);var _PyErr_GetExcInfo=Module["_PyErr_GetExcInfo"]=(a0,a1,a2)=>(_PyErr_GetExcInfo=Module["_PyErr_GetExcInfo"]=wasmExports["PyErr_GetExcInfo"])(a0,a1,a2);var __PyErr_StackItemToExcInfoTuple=Module["__PyErr_StackItemToExcInfoTuple"]=a0=>(__PyErr_StackItemToExcInfoTuple=Module["__PyErr_StackItemToExcInfoTuple"]=wasmExports["_PyErr_StackItemToExcInfoTuple"])(a0);var _PyErr_SetFromErrnoWithFilenameObject=Module["_PyErr_SetFromErrnoWithFilenameObject"]=(a0,a1)=>(_PyErr_SetFromErrnoWithFilenameObject=Module["_PyErr_SetFromErrnoWithFilenameObject"]=wasmExports["PyErr_SetFromErrnoWithFilenameObject"])(a0,a1);var _PyErr_SetFromErrnoWithFilenameObjects=Module["_PyErr_SetFromErrnoWithFilenameObjects"]=(a0,a1,a2)=>(_PyErr_SetFromErrnoWithFilenameObjects=Module["_PyErr_SetFromErrnoWithFilenameObjects"]=wasmExports["PyErr_SetFromErrnoWithFilenameObjects"])(a0,a1,a2);var _strerror=Module["_strerror"]=a0=>(_strerror=Module["_strerror"]=wasmExports["strerror"])(a0);var _PyErr_SetImportErrorSubclass=Module["_PyErr_SetImportErrorSubclass"]=(a0,a1,a2,a3)=>(_PyErr_SetImportErrorSubclass=Module["_PyErr_SetImportErrorSubclass"]=wasmExports["PyErr_SetImportErrorSubclass"])(a0,a1,a2,a3);var _PyErr_BadInternalCall=Module["_PyErr_BadInternalCall"]=()=>(_PyErr_BadInternalCall=Module["_PyErr_BadInternalCall"]=wasmExports["PyErr_BadInternalCall"])();var _PyErr_FormatV=Module["_PyErr_FormatV"]=(a0,a1,a2)=>(_PyErr_FormatV=Module["_PyErr_FormatV"]=wasmExports["PyErr_FormatV"])(a0,a1,a2);var _PyErr_NewExceptionWithDoc=Module["_PyErr_NewExceptionWithDoc"]=(a0,a1,a2,a3)=>(_PyErr_NewExceptionWithDoc=Module["_PyErr_NewExceptionWithDoc"]=wasmExports["PyErr_NewExceptionWithDoc"])(a0,a1,a2,a3);var _PyTraceBack_Print=Module["_PyTraceBack_Print"]=(a0,a1)=>(_PyTraceBack_Print=Module["_PyTraceBack_Print"]=wasmExports["PyTraceBack_Print"])(a0,a1);var __PyTraceBack_FromFrame=Module["__PyTraceBack_FromFrame"]=(a0,a1)=>(__PyTraceBack_FromFrame=Module["__PyTraceBack_FromFrame"]=wasmExports["_PyTraceBack_FromFrame"])(a0,a1);var _PyErr_SyntaxLocation=Module["_PyErr_SyntaxLocation"]=(a0,a1)=>(_PyErr_SyntaxLocation=Module["_PyErr_SyntaxLocation"]=wasmExports["PyErr_SyntaxLocation"])(a0,a1);var _PyErr_SyntaxLocationEx=Module["_PyErr_SyntaxLocationEx"]=(a0,a1,a2)=>(_PyErr_SyntaxLocationEx=Module["_PyErr_SyntaxLocationEx"]=wasmExports["PyErr_SyntaxLocationEx"])(a0,a1,a2);var _PyErr_SyntaxLocationObject=Module["_PyErr_SyntaxLocationObject"]=(a0,a1,a2)=>(_PyErr_SyntaxLocationObject=Module["_PyErr_SyntaxLocationObject"]=wasmExports["PyErr_SyntaxLocationObject"])(a0,a1,a2);var _PyErr_RangedSyntaxLocationObject=Module["_PyErr_RangedSyntaxLocationObject"]=(a0,a1,a2,a3,a4)=>(_PyErr_RangedSyntaxLocationObject=Module["_PyErr_RangedSyntaxLocationObject"]=wasmExports["PyErr_RangedSyntaxLocationObject"])(a0,a1,a2,a3,a4);var _PyErr_ProgramText=Module["_PyErr_ProgramText"]=(a0,a1)=>(_PyErr_ProgramText=Module["_PyErr_ProgramText"]=wasmExports["PyErr_ProgramText"])(a0,a1);var __Py_fopen_obj=Module["__Py_fopen_obj"]=(a0,a1)=>(__Py_fopen_obj=Module["__Py_fopen_obj"]=wasmExports["_Py_fopen_obj"])(a0,a1);var _Py_FrozenMain=Module["_Py_FrozenMain"]=(a0,a1)=>(_Py_FrozenMain=Module["_Py_FrozenMain"]=wasmExports["Py_FrozenMain"])(a0,a1);var __PyRuntime_Initialize=Module["__PyRuntime_Initialize"]=a0=>(__PyRuntime_Initialize=Module["__PyRuntime_Initialize"]=wasmExports["_PyRuntime_Initialize"])(a0);var _Py_GETENV=Module["_Py_GETENV"]=a0=>(_Py_GETENV=Module["_Py_GETENV"]=wasmExports["Py_GETENV"])(a0);var _Py_GetVersion=Module["_Py_GetVersion"]=()=>(_Py_GetVersion=Module["_Py_GetVersion"]=wasmExports["Py_GetVersion"])();var _Py_GetCopyright=Module["_Py_GetCopyright"]=()=>(_Py_GetCopyright=Module["_Py_GetCopyright"]=wasmExports["Py_GetCopyright"])();var _PyImport_ImportFrozenModule=Module["_PyImport_ImportFrozenModule"]=a0=>(_PyImport_ImportFrozenModule=Module["_PyImport_ImportFrozenModule"]=wasmExports["PyImport_ImportFrozenModule"])(a0);var _PyRun_AnyFileExFlags=Module["_PyRun_AnyFileExFlags"]=(a0,a1,a2,a3)=>(_PyRun_AnyFileExFlags=Module["_PyRun_AnyFileExFlags"]=wasmExports["PyRun_AnyFileExFlags"])(a0,a1,a2,a3);var _Py_FinalizeEx=Module["_Py_FinalizeEx"]=()=>(_Py_FinalizeEx=Module["_Py_FinalizeEx"]=wasmExports["Py_FinalizeEx"])();var _PyArg_Parse=Module["_PyArg_Parse"]=(a0,a1,a2)=>(_PyArg_Parse=Module["_PyArg_Parse"]=wasmExports["PyArg_Parse"])(a0,a1,a2);var __PyArg_Parse_SizeT=Module["__PyArg_Parse_SizeT"]=(a0,a1,a2)=>(__PyArg_Parse_SizeT=Module["__PyArg_Parse_SizeT"]=wasmExports["_PyArg_Parse_SizeT"])(a0,a1,a2);var __PyArg_ParseStack=Module["__PyArg_ParseStack"]=(a0,a1,a2,a3)=>(__PyArg_ParseStack=Module["__PyArg_ParseStack"]=wasmExports["_PyArg_ParseStack"])(a0,a1,a2,a3);var _PyArg_VaParse=Module["_PyArg_VaParse"]=(a0,a1,a2)=>(_PyArg_VaParse=Module["_PyArg_VaParse"]=wasmExports["PyArg_VaParse"])(a0,a1,a2);var __PyArg_VaParse_SizeT=Module["__PyArg_VaParse_SizeT"]=(a0,a1,a2)=>(__PyArg_VaParse_SizeT=Module["__PyArg_VaParse_SizeT"]=wasmExports["_PyArg_VaParse_SizeT"])(a0,a1,a2);var _PyArg_VaParseTupleAndKeywords=Module["_PyArg_VaParseTupleAndKeywords"]=(a0,a1,a2,a3,a4)=>(_PyArg_VaParseTupleAndKeywords=Module["_PyArg_VaParseTupleAndKeywords"]=wasmExports["PyArg_VaParseTupleAndKeywords"])(a0,a1,a2,a3,a4);var __PyArg_VaParseTupleAndKeywords_SizeT=Module["__PyArg_VaParseTupleAndKeywords_SizeT"]=(a0,a1,a2,a3,a4)=>(__PyArg_VaParseTupleAndKeywords_SizeT=Module["__PyArg_VaParseTupleAndKeywords_SizeT"]=wasmExports["_PyArg_VaParseTupleAndKeywords_SizeT"])(a0,a1,a2,a3,a4);var __PyArg_ParseTupleAndKeywordsFast=Module["__PyArg_ParseTupleAndKeywordsFast"]=(a0,a1,a2,a3)=>(__PyArg_ParseTupleAndKeywordsFast=Module["__PyArg_ParseTupleAndKeywordsFast"]=wasmExports["_PyArg_ParseTupleAndKeywordsFast"])(a0,a1,a2,a3);var __PyArg_ParseTupleAndKeywordsFast_SizeT=Module["__PyArg_ParseTupleAndKeywordsFast_SizeT"]=(a0,a1,a2,a3)=>(__PyArg_ParseTupleAndKeywordsFast_SizeT=Module["__PyArg_ParseTupleAndKeywordsFast_SizeT"]=wasmExports["_PyArg_ParseTupleAndKeywordsFast_SizeT"])(a0,a1,a2,a3);var __PyArg_ParseStackAndKeywords=Module["__PyArg_ParseStackAndKeywords"]=(a0,a1,a2,a3,a4)=>(__PyArg_ParseStackAndKeywords=Module["__PyArg_ParseStackAndKeywords"]=wasmExports["_PyArg_ParseStackAndKeywords"])(a0,a1,a2,a3,a4);var __PyArg_VaParseTupleAndKeywordsFast=Module["__PyArg_VaParseTupleAndKeywordsFast"]=(a0,a1,a2,a3)=>(__PyArg_VaParseTupleAndKeywordsFast=Module["__PyArg_VaParseTupleAndKeywordsFast"]=wasmExports["_PyArg_VaParseTupleAndKeywordsFast"])(a0,a1,a2,a3);var __PyArg_VaParseTupleAndKeywordsFast_SizeT=Module["__PyArg_VaParseTupleAndKeywordsFast_SizeT"]=(a0,a1,a2,a3)=>(__PyArg_VaParseTupleAndKeywordsFast_SizeT=Module["__PyArg_VaParseTupleAndKeywordsFast_SizeT"]=wasmExports["_PyArg_VaParseTupleAndKeywordsFast_SizeT"])(a0,a1,a2,a3);var __PyArg_NoPositional=Module["__PyArg_NoPositional"]=(a0,a1)=>(__PyArg_NoPositional=Module["__PyArg_NoPositional"]=wasmExports["_PyArg_NoPositional"])(a0,a1);var _Py_GetCompiler=Module["_Py_GetCompiler"]=()=>(_Py_GetCompiler=Module["_Py_GetCompiler"]=wasmExports["Py_GetCompiler"])();var _Py_GetPlatform=Module["_Py_GetPlatform"]=()=>(_Py_GetPlatform=Module["_Py_GetPlatform"]=wasmExports["Py_GetPlatform"])();var __Py_hashtable_hash_ptr=Module["__Py_hashtable_hash_ptr"]=a0=>(__Py_hashtable_hash_ptr=Module["__Py_hashtable_hash_ptr"]=wasmExports["_Py_hashtable_hash_ptr"])(a0);var __Py_HashPointerRaw=Module["__Py_HashPointerRaw"]=a0=>(__Py_HashPointerRaw=Module["__Py_HashPointerRaw"]=wasmExports["_Py_HashPointerRaw"])(a0);var __Py_hashtable_compare_direct=Module["__Py_hashtable_compare_direct"]=(a0,a1)=>(__Py_hashtable_compare_direct=Module["__Py_hashtable_compare_direct"]=wasmExports["_Py_hashtable_compare_direct"])(a0,a1);var __Py_hashtable_size=Module["__Py_hashtable_size"]=a0=>(__Py_hashtable_size=Module["__Py_hashtable_size"]=wasmExports["_Py_hashtable_size"])(a0);var __Py_hashtable_steal=Module["__Py_hashtable_steal"]=(a0,a1)=>(__Py_hashtable_steal=Module["__Py_hashtable_steal"]=wasmExports["_Py_hashtable_steal"])(a0,a1);var __Py_hashtable_set=Module["__Py_hashtable_set"]=(a0,a1,a2)=>(__Py_hashtable_set=Module["__Py_hashtable_set"]=wasmExports["_Py_hashtable_set"])(a0,a1,a2);var __Py_hashtable_get=Module["__Py_hashtable_get"]=(a0,a1)=>(__Py_hashtable_get=Module["__Py_hashtable_get"]=wasmExports["_Py_hashtable_get"])(a0,a1);var __Py_hashtable_foreach=Module["__Py_hashtable_foreach"]=(a0,a1,a2)=>(__Py_hashtable_foreach=Module["__Py_hashtable_foreach"]=wasmExports["_Py_hashtable_foreach"])(a0,a1,a2);var __Py_hashtable_new_full=Module["__Py_hashtable_new_full"]=(a0,a1,a2,a3,a4)=>(__Py_hashtable_new_full=Module["__Py_hashtable_new_full"]=wasmExports["_Py_hashtable_new_full"])(a0,a1,a2,a3,a4);var __Py_hashtable_new=Module["__Py_hashtable_new"]=(a0,a1)=>(__Py_hashtable_new=Module["__Py_hashtable_new"]=wasmExports["_Py_hashtable_new"])(a0,a1);var __Py_hashtable_clear=Module["__Py_hashtable_clear"]=a0=>(__Py_hashtable_clear=Module["__Py_hashtable_clear"]=wasmExports["_Py_hashtable_clear"])(a0);var __Py_hashtable_destroy=Module["__Py_hashtable_destroy"]=a0=>(__Py_hashtable_destroy=Module["__Py_hashtable_destroy"]=wasmExports["_Py_hashtable_destroy"])(a0);var __PyImport_AcquireLock=Module["__PyImport_AcquireLock"]=()=>(__PyImport_AcquireLock=Module["__PyImport_AcquireLock"]=wasmExports["_PyImport_AcquireLock"])();var __PyImport_ReleaseLock=Module["__PyImport_ReleaseLock"]=()=>(__PyImport_ReleaseLock=Module["__PyImport_ReleaseLock"]=wasmExports["_PyImport_ReleaseLock"])();var __PyImport_GetModuleId=Module["__PyImport_GetModuleId"]=a0=>(__PyImport_GetModuleId=Module["__PyImport_GetModuleId"]=wasmExports["_PyImport_GetModuleId"])(a0);var __PyImport_SetModule=Module["__PyImport_SetModule"]=(a0,a1)=>(__PyImport_SetModule=Module["__PyImport_SetModule"]=wasmExports["_PyImport_SetModule"])(a0,a1);var __PyImport_SetModuleString=Module["__PyImport_SetModuleString"]=(a0,a1)=>(__PyImport_SetModuleString=Module["__PyImport_SetModuleString"]=wasmExports["_PyImport_SetModuleString"])(a0,a1);var _PyImport_GetMagicNumber=Module["_PyImport_GetMagicNumber"]=()=>(_PyImport_GetMagicNumber=Module["_PyImport_GetMagicNumber"]=wasmExports["PyImport_GetMagicNumber"])();var _PyImport_GetMagicTag=Module["_PyImport_GetMagicTag"]=()=>(_PyImport_GetMagicTag=Module["_PyImport_GetMagicTag"]=wasmExports["PyImport_GetMagicTag"])();var __PyImport_FixupExtensionObject=Module["__PyImport_FixupExtensionObject"]=(a0,a1,a2,a3)=>(__PyImport_FixupExtensionObject=Module["__PyImport_FixupExtensionObject"]=wasmExports["_PyImport_FixupExtensionObject"])(a0,a1,a2,a3);var __PyState_AddModule=Module["__PyState_AddModule"]=(a0,a1,a2)=>(__PyState_AddModule=Module["__PyState_AddModule"]=wasmExports["_PyState_AddModule"])(a0,a1,a2);var __PyImport_FixupBuiltin=Module["__PyImport_FixupBuiltin"]=(a0,a1,a2)=>(__PyImport_FixupBuiltin=Module["__PyImport_FixupBuiltin"]=wasmExports["_PyImport_FixupBuiltin"])(a0,a1,a2);var _PyImport_AddModuleObject=Module["_PyImport_AddModuleObject"]=a0=>(_PyImport_AddModuleObject=Module["_PyImport_AddModuleObject"]=wasmExports["PyImport_AddModuleObject"])(a0);var _PyImport_AddModule=Module["_PyImport_AddModule"]=a0=>(_PyImport_AddModule=Module["_PyImport_AddModule"]=wasmExports["PyImport_AddModule"])(a0);var _PyImport_ExecCodeModule=Module["_PyImport_ExecCodeModule"]=(a0,a1)=>(_PyImport_ExecCodeModule=Module["_PyImport_ExecCodeModule"]=wasmExports["PyImport_ExecCodeModule"])(a0,a1);var _PyImport_ExecCodeModuleObject=Module["_PyImport_ExecCodeModuleObject"]=(a0,a1,a2,a3)=>(_PyImport_ExecCodeModuleObject=Module["_PyImport_ExecCodeModuleObject"]=wasmExports["PyImport_ExecCodeModuleObject"])(a0,a1,a2,a3);var _PyImport_ExecCodeModuleWithPathnames=Module["_PyImport_ExecCodeModuleWithPathnames"]=(a0,a1,a2,a3)=>(_PyImport_ExecCodeModuleWithPathnames=Module["_PyImport_ExecCodeModuleWithPathnames"]=wasmExports["PyImport_ExecCodeModuleWithPathnames"])(a0,a1,a2,a3);var _PyImport_ExecCodeModuleEx=Module["_PyImport_ExecCodeModuleEx"]=(a0,a1,a2)=>(_PyImport_ExecCodeModuleEx=Module["_PyImport_ExecCodeModuleEx"]=wasmExports["PyImport_ExecCodeModuleEx"])(a0,a1,a2);var _PyImport_GetImporter=Module["_PyImport_GetImporter"]=a0=>(_PyImport_GetImporter=Module["_PyImport_GetImporter"]=wasmExports["PyImport_GetImporter"])(a0);var _PyImport_ImportFrozenModuleObject=Module["_PyImport_ImportFrozenModuleObject"]=a0=>(_PyImport_ImportFrozenModuleObject=Module["_PyImport_ImportFrozenModuleObject"]=wasmExports["PyImport_ImportFrozenModuleObject"])(a0);var _PyMarshal_ReadObjectFromString=Module["_PyMarshal_ReadObjectFromString"]=(a0,a1)=>(_PyMarshal_ReadObjectFromString=Module["_PyMarshal_ReadObjectFromString"]=wasmExports["PyMarshal_ReadObjectFromString"])(a0,a1);var _PyImport_ImportModuleNoBlock=Module["_PyImport_ImportModuleNoBlock"]=a0=>(_PyImport_ImportModuleNoBlock=Module["_PyImport_ImportModuleNoBlock"]=wasmExports["PyImport_ImportModuleNoBlock"])(a0);var __PyTime_GetPerfCounter=Module["__PyTime_GetPerfCounter"]=()=>(__PyTime_GetPerfCounter=Module["__PyTime_GetPerfCounter"]=wasmExports["_PyTime_GetPerfCounter"])();var __PyTime_AsMicroseconds=Module["__PyTime_AsMicroseconds"]=(a0,a1)=>(__PyTime_AsMicroseconds=Module["__PyTime_AsMicroseconds"]=wasmExports["_PyTime_AsMicroseconds"])(a0,a1);var _PyImport_ImportModuleLevel=Module["_PyImport_ImportModuleLevel"]=(a0,a1,a2,a3,a4)=>(_PyImport_ImportModuleLevel=Module["_PyImport_ImportModuleLevel"]=wasmExports["PyImport_ImportModuleLevel"])(a0,a1,a2,a3,a4);var _PyImport_ReloadModule=Module["_PyImport_ReloadModule"]=a0=>(_PyImport_ReloadModule=Module["_PyImport_ReloadModule"]=wasmExports["PyImport_ReloadModule"])(a0);var _PyInit__imp=Module["_PyInit__imp"]=()=>(_PyInit__imp=Module["_PyInit__imp"]=wasmExports["PyInit__imp"])();var _PyImport_ExtendInittab=Module["_PyImport_ExtendInittab"]=a0=>(_PyImport_ExtendInittab=Module["_PyImport_ExtendInittab"]=wasmExports["PyImport_ExtendInittab"])(a0);var __PyImport_GetModuleAttr=Module["__PyImport_GetModuleAttr"]=(a0,a1)=>(__PyImport_GetModuleAttr=Module["__PyImport_GetModuleAttr"]=wasmExports["_PyImport_GetModuleAttr"])(a0,a1);var __PyImport_GetModuleAttrString=Module["__PyImport_GetModuleAttrString"]=(a0,a1)=>(__PyImport_GetModuleAttrString=Module["__PyImport_GetModuleAttrString"]=wasmExports["_PyImport_GetModuleAttrString"])(a0,a1);var _getenv=Module["_getenv"]=a0=>(_getenv=Module["_getenv"]=wasmExports["getenv"])(a0);var _PyStatus_Ok=Module["_PyStatus_Ok"]=a0=>(_PyStatus_Ok=Module["_PyStatus_Ok"]=wasmExports["PyStatus_Ok"])(a0);var _PyStatus_Error=Module["_PyStatus_Error"]=(a0,a1)=>(_PyStatus_Error=Module["_PyStatus_Error"]=wasmExports["PyStatus_Error"])(a0,a1);var _PyStatus_NoMemory=Module["_PyStatus_NoMemory"]=a0=>(_PyStatus_NoMemory=Module["_PyStatus_NoMemory"]=wasmExports["PyStatus_NoMemory"])(a0);var _PyStatus_Exit=Module["_PyStatus_Exit"]=(a0,a1)=>(_PyStatus_Exit=Module["_PyStatus_Exit"]=wasmExports["PyStatus_Exit"])(a0,a1);var _PyStatus_IsError=Module["_PyStatus_IsError"]=a0=>(_PyStatus_IsError=Module["_PyStatus_IsError"]=wasmExports["PyStatus_IsError"])(a0);var _PyStatus_IsExit=Module["_PyStatus_IsExit"]=a0=>(_PyStatus_IsExit=Module["_PyStatus_IsExit"]=wasmExports["PyStatus_IsExit"])(a0);var __PyWideStringList_Clear=Module["__PyWideStringList_Clear"]=a0=>(__PyWideStringList_Clear=Module["__PyWideStringList_Clear"]=wasmExports["_PyWideStringList_Clear"])(a0);var __PyWideStringList_Copy=Module["__PyWideStringList_Copy"]=(a0,a1)=>(__PyWideStringList_Copy=Module["__PyWideStringList_Copy"]=wasmExports["_PyWideStringList_Copy"])(a0,a1);var _PyWideStringList_Insert=Module["_PyWideStringList_Insert"]=(a0,a1,a2,a3)=>(_PyWideStringList_Insert=Module["_PyWideStringList_Insert"]=wasmExports["PyWideStringList_Insert"])(a0,a1,a2,a3);var _PyWideStringList_Append=Module["_PyWideStringList_Append"]=(a0,a1,a2)=>(_PyWideStringList_Append=Module["_PyWideStringList_Append"]=wasmExports["PyWideStringList_Append"])(a0,a1,a2);var __PyWideStringList_Extend=Module["__PyWideStringList_Extend"]=(a0,a1,a2)=>(__PyWideStringList_Extend=Module["__PyWideStringList_Extend"]=wasmExports["_PyWideStringList_Extend"])(a0,a1,a2);var __PyWideStringList_AsList=Module["__PyWideStringList_AsList"]=a0=>(__PyWideStringList_AsList=Module["__PyWideStringList_AsList"]=wasmExports["_PyWideStringList_AsList"])(a0);var _Py_SetStandardStreamEncoding=Module["_Py_SetStandardStreamEncoding"]=(a0,a1)=>(_Py_SetStandardStreamEncoding=Module["_Py_SetStandardStreamEncoding"]=wasmExports["Py_SetStandardStreamEncoding"])(a0,a1);var __Py_ClearStandardStreamEncoding=Module["__Py_ClearStandardStreamEncoding"]=()=>(__Py_ClearStandardStreamEncoding=Module["__Py_ClearStandardStreamEncoding"]=wasmExports["_Py_ClearStandardStreamEncoding"])();var __Py_ClearArgcArgv=Module["__Py_ClearArgcArgv"]=()=>(__Py_ClearArgcArgv=Module["__Py_ClearArgcArgv"]=wasmExports["_Py_ClearArgcArgv"])();var _Py_GetArgcArgv=Module["_Py_GetArgcArgv"]=(a0,a1)=>(_Py_GetArgcArgv=Module["_Py_GetArgcArgv"]=wasmExports["Py_GetArgcArgv"])(a0,a1);var __PyConfig_InitCompatConfig=Module["__PyConfig_InitCompatConfig"]=a0=>(__PyConfig_InitCompatConfig=Module["__PyConfig_InitCompatConfig"]=wasmExports["_PyConfig_InitCompatConfig"])(a0);var _PyConfig_InitIsolatedConfig=Module["_PyConfig_InitIsolatedConfig"]=a0=>(_PyConfig_InitIsolatedConfig=Module["_PyConfig_InitIsolatedConfig"]=wasmExports["PyConfig_InitIsolatedConfig"])(a0);var _PyConfig_SetString=Module["_PyConfig_SetString"]=(a0,a1,a2,a3)=>(_PyConfig_SetString=Module["_PyConfig_SetString"]=wasmExports["PyConfig_SetString"])(a0,a1,a2,a3);var __Py_PreInitializeFromConfig=Module["__Py_PreInitializeFromConfig"]=(a0,a1,a2)=>(__Py_PreInitializeFromConfig=Module["__Py_PreInitializeFromConfig"]=wasmExports["_Py_PreInitializeFromConfig"])(a0,a1,a2);var _Py_DecodeLocale=Module["_Py_DecodeLocale"]=(a0,a1)=>(_Py_DecodeLocale=Module["_Py_DecodeLocale"]=wasmExports["Py_DecodeLocale"])(a0,a1);var __PyConfig_AsDict=Module["__PyConfig_AsDict"]=a0=>(__PyConfig_AsDict=Module["__PyConfig_AsDict"]=wasmExports["_PyConfig_AsDict"])(a0);var __PyConfig_FromDict=Module["__PyConfig_FromDict"]=(a0,a1)=>(__PyConfig_FromDict=Module["__PyConfig_FromDict"]=wasmExports["_PyConfig_FromDict"])(a0,a1);var __Py_get_xoption=Module["__Py_get_xoption"]=(a0,a1)=>(__Py_get_xoption=Module["__Py_get_xoption"]=wasmExports["_Py_get_xoption"])(a0,a1);var _wcschr=Module["_wcschr"]=(a0,a1)=>(_wcschr=Module["_wcschr"]=wasmExports["wcschr"])(a0,a1);var _setvbuf=Module["_setvbuf"]=(a0,a1,a2,a3)=>(_setvbuf=Module["_setvbuf"]=wasmExports["setvbuf"])(a0,a1,a2,a3);var __PyArgv_AsWstrList=Module["__PyArgv_AsWstrList"]=(a0,a1,a2)=>(__PyArgv_AsWstrList=Module["__PyArgv_AsWstrList"]=wasmExports["_PyArgv_AsWstrList"])(a0,a1,a2);var _PyConfig_SetArgv=Module["_PyConfig_SetArgv"]=(a0,a1,a2,a3)=>(_PyConfig_SetArgv=Module["_PyConfig_SetArgv"]=wasmExports["PyConfig_SetArgv"])(a0,a1,a2,a3);var _PyConfig_SetWideStringList=Module["_PyConfig_SetWideStringList"]=(a0,a1,a2,a3,a4)=>(_PyConfig_SetWideStringList=Module["_PyConfig_SetWideStringList"]=wasmExports["PyConfig_SetWideStringList"])(a0,a1,a2,a3,a4);var _iprintf=Module["_iprintf"]=(a0,a1)=>(_iprintf=Module["_iprintf"]=wasmExports["iprintf"])(a0,a1);var _wcstok=Module["_wcstok"]=(a0,a1,a2)=>(_wcstok=Module["_wcstok"]=wasmExports["wcstok"])(a0,a1,a2);var __Py_get_env_flag=Module["__Py_get_env_flag"]=(a0,a1,a2)=>(__Py_get_env_flag=Module["__Py_get_env_flag"]=wasmExports["_Py_get_env_flag"])(a0,a1,a2);var __Py_GetEnv=Module["__Py_GetEnv"]=(a0,a1)=>(__Py_GetEnv=Module["__Py_GetEnv"]=wasmExports["_Py_GetEnv"])(a0,a1);var _strtoul=Module["_strtoul"]=(a0,a1,a2)=>(_strtoul=Module["_strtoul"]=wasmExports["strtoul"])(a0,a1,a2);var __Py_str_to_int=Module["__Py_str_to_int"]=(a0,a1)=>(__Py_str_to_int=Module["__Py_str_to_int"]=wasmExports["_Py_str_to_int"])(a0,a1);var _wcstol=Module["_wcstol"]=(a0,a1,a2)=>(_wcstol=Module["_wcstol"]=wasmExports["wcstol"])(a0,a1,a2);var __Py_GetForceASCII=Module["__Py_GetForceASCII"]=()=>(__Py_GetForceASCII=Module["__Py_GetForceASCII"]=wasmExports["_Py_GetForceASCII"])();var _setlocale=Module["_setlocale"]=(a0,a1)=>(_setlocale=Module["_setlocale"]=wasmExports["setlocale"])(a0,a1);var __Py_IsLocaleCoercionTarget=Module["__Py_IsLocaleCoercionTarget"]=a0=>(__Py_IsLocaleCoercionTarget=Module["__Py_IsLocaleCoercionTarget"]=wasmExports["_Py_IsLocaleCoercionTarget"])(a0);var _PyConfig_Read=Module["_PyConfig_Read"]=(a0,a1)=>(_PyConfig_Read=Module["_PyConfig_Read"]=wasmExports["PyConfig_Read"])(a0,a1);var __Py_GetConfigsAsDict=Module["__Py_GetConfigsAsDict"]=()=>(__Py_GetConfigsAsDict=Module["__Py_GetConfigsAsDict"]=wasmExports["_Py_GetConfigsAsDict"])();var __Py_GetLocaleEncoding=Module["__Py_GetLocaleEncoding"]=()=>(__Py_GetLocaleEncoding=Module["__Py_GetLocaleEncoding"]=wasmExports["_Py_GetLocaleEncoding"])();var _PyMarshal_WriteLongToFile=Module["_PyMarshal_WriteLongToFile"]=(a0,a1,a2)=>(_PyMarshal_WriteLongToFile=Module["_PyMarshal_WriteLongToFile"]=wasmExports["PyMarshal_WriteLongToFile"])(a0,a1,a2);var _PyMarshal_WriteObjectToFile=Module["_PyMarshal_WriteObjectToFile"]=(a0,a1,a2)=>(_PyMarshal_WriteObjectToFile=Module["_PyMarshal_WriteObjectToFile"]=wasmExports["PyMarshal_WriteObjectToFile"])(a0,a1,a2);var _PyMarshal_ReadShortFromFile=Module["_PyMarshal_ReadShortFromFile"]=a0=>(_PyMarshal_ReadShortFromFile=Module["_PyMarshal_ReadShortFromFile"]=wasmExports["PyMarshal_ReadShortFromFile"])(a0);var _PyMarshal_ReadLongFromFile=Module["_PyMarshal_ReadLongFromFile"]=a0=>(_PyMarshal_ReadLongFromFile=Module["_PyMarshal_ReadLongFromFile"]=wasmExports["PyMarshal_ReadLongFromFile"])(a0);var _PyMarshal_ReadLastObjectFromFile=Module["_PyMarshal_ReadLastObjectFromFile"]=a0=>(_PyMarshal_ReadLastObjectFromFile=Module["_PyMarshal_ReadLastObjectFromFile"]=wasmExports["PyMarshal_ReadLastObjectFromFile"])(a0);var __Py_fstat_noraise=Module["__Py_fstat_noraise"]=(a0,a1)=>(__Py_fstat_noraise=Module["__Py_fstat_noraise"]=wasmExports["_Py_fstat_noraise"])(a0,a1);var _fread=Module["_fread"]=(a0,a1,a2,a3)=>(_fread=Module["_fread"]=wasmExports["fread"])(a0,a1,a2,a3);var _PyMarshal_ReadObjectFromFile=Module["_PyMarshal_ReadObjectFromFile"]=a0=>(_PyMarshal_ReadObjectFromFile=Module["_PyMarshal_ReadObjectFromFile"]=wasmExports["PyMarshal_ReadObjectFromFile"])(a0);var _PyMarshal_WriteObjectToString=Module["_PyMarshal_WriteObjectToString"]=(a0,a1)=>(_PyMarshal_WriteObjectToString=Module["_PyMarshal_WriteObjectToString"]=wasmExports["PyMarshal_WriteObjectToString"])(a0,a1);var _PyMarshal_Init=Module["_PyMarshal_Init"]=()=>(_PyMarshal_Init=Module["_PyMarshal_Init"]=wasmExports["PyMarshal_Init"])();var __Py_convert_optional_to_ssize_t=Module["__Py_convert_optional_to_ssize_t"]=(a0,a1)=>(__Py_convert_optional_to_ssize_t=Module["__Py_convert_optional_to_ssize_t"]=wasmExports["_Py_convert_optional_to_ssize_t"])(a0,a1);var _Py_VaBuildValue=Module["_Py_VaBuildValue"]=(a0,a1)=>(_Py_VaBuildValue=Module["_Py_VaBuildValue"]=wasmExports["Py_VaBuildValue"])(a0,a1);var __Py_VaBuildValue_SizeT=Module["__Py_VaBuildValue_SizeT"]=(a0,a1)=>(__Py_VaBuildValue_SizeT=Module["__Py_VaBuildValue_SizeT"]=wasmExports["_Py_VaBuildValue_SizeT"])(a0,a1);var _PyModule_AddStringConstant=Module["_PyModule_AddStringConstant"]=(a0,a1,a2)=>(_PyModule_AddStringConstant=Module["_PyModule_AddStringConstant"]=wasmExports["PyModule_AddStringConstant"])(a0,a1,a2);var _vsnprintf=Module["_vsnprintf"]=(a0,a1,a2,a3)=>(_vsnprintf=Module["_vsnprintf"]=wasmExports["vsnprintf"])(a0,a1,a2,a3);var _PyOS_vsnprintf=Module["_PyOS_vsnprintf"]=(a0,a1,a2,a3)=>(_PyOS_vsnprintf=Module["_PyOS_vsnprintf"]=wasmExports["PyOS_vsnprintf"])(a0,a1,a2,a3);var __PyPathConfig_ClearGlobal=Module["__PyPathConfig_ClearGlobal"]=()=>(__PyPathConfig_ClearGlobal=Module["__PyPathConfig_ClearGlobal"]=wasmExports["_PyPathConfig_ClearGlobal"])();var _wcscpy=Module["_wcscpy"]=(a0,a1)=>(_wcscpy=Module["_wcscpy"]=wasmExports["wcscpy"])(a0,a1);var _Py_SetPath=Module["_Py_SetPath"]=a0=>(_Py_SetPath=Module["_Py_SetPath"]=wasmExports["Py_SetPath"])(a0);var _Py_SetPythonHome=Module["_Py_SetPythonHome"]=a0=>(_Py_SetPythonHome=Module["_Py_SetPythonHome"]=wasmExports["Py_SetPythonHome"])(a0);var _Py_SetProgramName=Module["_Py_SetProgramName"]=a0=>(_Py_SetProgramName=Module["_Py_SetProgramName"]=wasmExports["Py_SetProgramName"])(a0);var __Py_SetProgramFullPath=Module["__Py_SetProgramFullPath"]=a0=>(__Py_SetProgramFullPath=Module["__Py_SetProgramFullPath"]=wasmExports["_Py_SetProgramFullPath"])(a0);var _Py_GetPath=Module["_Py_GetPath"]=()=>(_Py_GetPath=Module["_Py_GetPath"]=wasmExports["Py_GetPath"])();var _Py_GetPrefix=Module["_Py_GetPrefix"]=()=>(_Py_GetPrefix=Module["_Py_GetPrefix"]=wasmExports["Py_GetPrefix"])();var _Py_GetExecPrefix=Module["_Py_GetExecPrefix"]=()=>(_Py_GetExecPrefix=Module["_Py_GetExecPrefix"]=wasmExports["Py_GetExecPrefix"])();var _Py_GetProgramFullPath=Module["_Py_GetProgramFullPath"]=()=>(_Py_GetProgramFullPath=Module["_Py_GetProgramFullPath"]=wasmExports["Py_GetProgramFullPath"])();var _Py_GetPythonHome=Module["_Py_GetPythonHome"]=()=>(_Py_GetPythonHome=Module["_Py_GetPythonHome"]=wasmExports["Py_GetPythonHome"])();var _Py_GetProgramName=Module["_Py_GetProgramName"]=()=>(_Py_GetProgramName=Module["_Py_GetProgramName"]=wasmExports["Py_GetProgramName"])();var __Py_wgetcwd=Module["__Py_wgetcwd"]=(a0,a1)=>(__Py_wgetcwd=Module["__Py_wgetcwd"]=wasmExports["_Py_wgetcwd"])(a0,a1);var __Py_wreadlink=Module["__Py_wreadlink"]=(a0,a1,a2)=>(__Py_wreadlink=Module["__Py_wreadlink"]=wasmExports["_Py_wreadlink"])(a0,a1,a2);var _wcsrchr=Module["_wcsrchr"]=(a0,a1)=>(_wcsrchr=Module["_wcsrchr"]=wasmExports["wcsrchr"])(a0,a1);var _wcsncpy=Module["_wcsncpy"]=(a0,a1,a2)=>(_wcsncpy=Module["_wcsncpy"]=wasmExports["wcsncpy"])(a0,a1,a2);var __Py_wrealpath=Module["__Py_wrealpath"]=(a0,a1,a2)=>(__Py_wrealpath=Module["__Py_wrealpath"]=wasmExports["_Py_wrealpath"])(a0,a1,a2);var _wcsncmp=Module["_wcsncmp"]=(a0,a1,a2)=>(_wcsncmp=Module["_wcsncmp"]=wasmExports["wcsncmp"])(a0,a1,a2);var __PyPreConfig_InitCompatConfig=Module["__PyPreConfig_InitCompatConfig"]=a0=>(__PyPreConfig_InitCompatConfig=Module["__PyPreConfig_InitCompatConfig"]=wasmExports["_PyPreConfig_InitCompatConfig"])(a0);var _PyPreConfig_InitIsolatedConfig=Module["_PyPreConfig_InitIsolatedConfig"]=a0=>(_PyPreConfig_InitIsolatedConfig=Module["_PyPreConfig_InitIsolatedConfig"]=wasmExports["PyPreConfig_InitIsolatedConfig"])(a0);var __Py_SetLocaleFromEnv=Module["__Py_SetLocaleFromEnv"]=a0=>(__Py_SetLocaleFromEnv=Module["__Py_SetLocaleFromEnv"]=wasmExports["_Py_SetLocaleFromEnv"])(a0);var __Py_LegacyLocaleDetected=Module["__Py_LegacyLocaleDetected"]=a0=>(__Py_LegacyLocaleDetected=Module["__Py_LegacyLocaleDetected"]=wasmExports["_Py_LegacyLocaleDetected"])(a0);var __Py_CoerceLegacyLocale=Module["__Py_CoerceLegacyLocale"]=a0=>(__Py_CoerceLegacyLocale=Module["__Py_CoerceLegacyLocale"]=wasmExports["_Py_CoerceLegacyLocale"])(a0);var _PyHash_GetFuncDef=Module["_PyHash_GetFuncDef"]=()=>(_PyHash_GetFuncDef=Module["_PyHash_GetFuncDef"]=wasmExports["PyHash_GetFuncDef"])();var __PyRuntimeState_Init=Module["__PyRuntimeState_Init"]=(a0,a1)=>(__PyRuntimeState_Init=Module["__PyRuntimeState_Init"]=wasmExports["_PyRuntimeState_Init"])(a0,a1);var __PyRuntime_Finalize=Module["__PyRuntime_Finalize"]=()=>(__PyRuntime_Finalize=Module["__PyRuntime_Finalize"]=wasmExports["_PyRuntime_Finalize"])();var __PyRuntimeState_Fini=Module["__PyRuntimeState_Fini"]=a0=>(__PyRuntimeState_Fini=Module["__PyRuntimeState_Fini"]=wasmExports["_PyRuntimeState_Fini"])(a0);var __Py_IsCoreInitialized=Module["__Py_IsCoreInitialized"]=()=>(__Py_IsCoreInitialized=Module["__Py_IsCoreInitialized"]=wasmExports["_Py_IsCoreInitialized"])();var _nl_langinfo=Module["_nl_langinfo"]=a0=>(_nl_langinfo=Module["_nl_langinfo"]=wasmExports["nl_langinfo"])(a0);var __Py_ResetForceASCII=Module["__Py_ResetForceASCII"]=()=>(__Py_ResetForceASCII=Module["__Py_ResetForceASCII"]=wasmExports["_Py_ResetForceASCII"])();var _setenv=Module["_setenv"]=(a0,a1,a2)=>(_setenv=Module["_setenv"]=wasmExports["setenv"])(a0,a1,a2);var __PyInterpreterState_SetConfig=Module["__PyInterpreterState_SetConfig"]=a0=>(__PyInterpreterState_SetConfig=Module["__PyInterpreterState_SetConfig"]=wasmExports["_PyInterpreterState_SetConfig"])(a0);var __Py_PreInitializeFromPyArgv=Module["__Py_PreInitializeFromPyArgv"]=(a0,a1,a2)=>(__Py_PreInitializeFromPyArgv=Module["__Py_PreInitializeFromPyArgv"]=wasmExports["_Py_PreInitializeFromPyArgv"])(a0,a1,a2);var _Py_PreInitializeFromArgs=Module["_Py_PreInitializeFromArgs"]=(a0,a1,a2,a3)=>(_Py_PreInitializeFromArgs=Module["_Py_PreInitializeFromArgs"]=wasmExports["Py_PreInitializeFromArgs"])(a0,a1,a2,a3);var _Py_PreInitialize=Module["_Py_PreInitialize"]=(a0,a1)=>(_Py_PreInitialize=Module["_Py_PreInitialize"]=wasmExports["Py_PreInitialize"])(a0,a1);var __PyInterpreterState_Enable=Module["__PyInterpreterState_Enable"]=(a0,a1)=>(__PyInterpreterState_Enable=Module["__PyInterpreterState_Enable"]=wasmExports["_PyInterpreterState_Enable"])(a0,a1);var _PyInterpreterState_New=Module["_PyInterpreterState_New"]=()=>(_PyInterpreterState_New=Module["_PyInterpreterState_New"]=wasmExports["PyInterpreterState_New"])();var _PyThreadState_New=Module["_PyThreadState_New"]=a0=>(_PyThreadState_New=Module["_PyThreadState_New"]=wasmExports["PyThreadState_New"])(a0);var _PyThreadState_Swap=Module["_PyThreadState_Swap"]=a0=>(_PyThreadState_Swap=Module["_PyThreadState_Swap"]=wasmExports["PyThreadState_Swap"])(a0);var _Py_InitializeEx=Module["_Py_InitializeEx"]=a0=>(_Py_InitializeEx=Module["_Py_InitializeEx"]=wasmExports["Py_InitializeEx"])(a0);var _Py_FatalError=Module["_Py_FatalError"]=a0=>(_Py_FatalError=Module["_Py_FatalError"]=wasmExports["Py_FatalError"])(a0);var _Py_Initialize=Module["_Py_Initialize"]=()=>(_Py_Initialize=Module["_Py_Initialize"]=wasmExports["Py_Initialize"])();var __Py_InitializeMain=Module["__Py_InitializeMain"]=a0=>(__Py_InitializeMain=Module["__Py_InitializeMain"]=wasmExports["_Py_InitializeMain"])(a0);var _PyGC_Collect=Module["_PyGC_Collect"]=()=>(_PyGC_Collect=Module["_PyGC_Collect"]=wasmExports["PyGC_Collect"])();var _PyInterpreterState_Delete=Module["_PyInterpreterState_Delete"]=a0=>(_PyInterpreterState_Delete=Module["_PyInterpreterState_Delete"]=wasmExports["PyInterpreterState_Delete"])(a0);var _Py_Finalize=Module["_Py_Finalize"]=()=>(_Py_Finalize=Module["_Py_Finalize"]=wasmExports["Py_Finalize"])();var __Py_NewInterpreter=Module["__Py_NewInterpreter"]=a0=>(__Py_NewInterpreter=Module["__Py_NewInterpreter"]=wasmExports["_Py_NewInterpreter"])(a0);var _PyErr_PrintEx=Module["_PyErr_PrintEx"]=a0=>(_PyErr_PrintEx=Module["_PyErr_PrintEx"]=wasmExports["PyErr_PrintEx"])(a0);var _PyThreadState_Clear=Module["_PyThreadState_Clear"]=a0=>(_PyThreadState_Clear=Module["_PyThreadState_Clear"]=wasmExports["PyThreadState_Clear"])(a0);var _PyThreadState_Delete=Module["_PyThreadState_Delete"]=a0=>(_PyThreadState_Delete=Module["_PyThreadState_Delete"]=wasmExports["PyThreadState_Delete"])(a0);var _Py_NewInterpreter=Module["_Py_NewInterpreter"]=()=>(_Py_NewInterpreter=Module["_Py_NewInterpreter"]=wasmExports["Py_NewInterpreter"])();var _Py_EndInterpreter=Module["_Py_EndInterpreter"]=a0=>(_Py_EndInterpreter=Module["_Py_EndInterpreter"]=wasmExports["Py_EndInterpreter"])(a0);var __Py_DumpExtensionModules=Module["__Py_DumpExtensionModules"]=(a0,a1)=>(__Py_DumpExtensionModules=Module["__Py_DumpExtensionModules"]=wasmExports["_Py_DumpExtensionModules"])(a0,a1);var __Py_write_noraise=Module["__Py_write_noraise"]=(a0,a1,a2)=>(__Py_write_noraise=Module["__Py_write_noraise"]=wasmExports["_Py_write_noraise"])(a0,a1,a2);var __Py_DumpASCII=Module["__Py_DumpASCII"]=(a0,a1)=>(__Py_DumpASCII=Module["__Py_DumpASCII"]=wasmExports["_Py_DumpASCII"])(a0,a1);var __Py_DumpDecimal=Module["__Py_DumpDecimal"]=(a0,a1)=>(__Py_DumpDecimal=Module["__Py_DumpDecimal"]=wasmExports["_Py_DumpDecimal"])(a0,a1);var __Py_DumpHexadecimal=Module["__Py_DumpHexadecimal"]=(a0,a1,a2)=>(__Py_DumpHexadecimal=Module["__Py_DumpHexadecimal"]=wasmExports["_Py_DumpHexadecimal"])(a0,a1,a2);var __Py_DumpTracebackThreads=Module["__Py_DumpTracebackThreads"]=(a0,a1,a2)=>(__Py_DumpTracebackThreads=Module["__Py_DumpTracebackThreads"]=wasmExports["_Py_DumpTracebackThreads"])(a0,a1,a2);var _vfprintf=Module["_vfprintf"]=(a0,a1,a2)=>(_vfprintf=Module["_vfprintf"]=wasmExports["vfprintf"])(a0,a1,a2);var _Py_AtExit=Module["_Py_AtExit"]=a0=>(_Py_AtExit=Module["_Py_AtExit"]=wasmExports["Py_AtExit"])(a0);var _Py_Exit=Module["_Py_Exit"]=a0=>(_Py_Exit=Module["_Py_Exit"]=wasmExports["Py_Exit"])(a0);var _Py_FdIsInteractive=Module["_Py_FdIsInteractive"]=(a0,a1)=>(_Py_FdIsInteractive=Module["_Py_FdIsInteractive"]=wasmExports["Py_FdIsInteractive"])(a0,a1);var __Py_FdIsInteractive=Module["__Py_FdIsInteractive"]=(a0,a1)=>(__Py_FdIsInteractive=Module["__Py_FdIsInteractive"]=wasmExports["_Py_FdIsInteractive"])(a0,a1);var _PyOS_getsig=Module["_PyOS_getsig"]=a0=>(_PyOS_getsig=Module["_PyOS_getsig"]=wasmExports["PyOS_getsig"])(a0);var _signal=Module["_signal"]=(a0,a1)=>(_signal=Module["_signal"]=wasmExports["signal"])(a0,a1);var _PyOS_setsig=Module["_PyOS_setsig"]=(a0,a1)=>(_PyOS_setsig=Module["_PyOS_setsig"]=wasmExports["PyOS_setsig"])(a0,a1);var _siginterrupt=Module["_siginterrupt"]=(a0,a1)=>(_siginterrupt=Module["_siginterrupt"]=wasmExports["siginterrupt"])(a0,a1);var _fcntl=Module["_fcntl"]=(a0,a1,a2)=>(_fcntl=Module["_fcntl"]=wasmExports["fcntl"])(a0,a1,a2);var _PyOS_mystrnicmp=Module["_PyOS_mystrnicmp"]=(a0,a1,a2)=>(_PyOS_mystrnicmp=Module["_PyOS_mystrnicmp"]=wasmExports["PyOS_mystrnicmp"])(a0,a1,a2);var _PyInterpreterState_Clear=Module["_PyInterpreterState_Clear"]=a0=>(_PyInterpreterState_Clear=Module["_PyInterpreterState_Clear"]=wasmExports["PyInterpreterState_Clear"])(a0);var _PyInterpreterState_ThreadHead=Module["_PyInterpreterState_ThreadHead"]=a0=>(_PyInterpreterState_ThreadHead=Module["_PyInterpreterState_ThreadHead"]=wasmExports["PyInterpreterState_ThreadHead"])(a0);var __PyInterpreterState_RequiresIDRef=Module["__PyInterpreterState_RequiresIDRef"]=a0=>(__PyInterpreterState_RequiresIDRef=Module["__PyInterpreterState_RequiresIDRef"]=wasmExports["_PyInterpreterState_RequiresIDRef"])(a0);var __PyInterpreterState_RequireIDRef=Module["__PyInterpreterState_RequireIDRef"]=(a0,a1)=>(__PyInterpreterState_RequireIDRef=Module["__PyInterpreterState_RequireIDRef"]=wasmExports["_PyInterpreterState_RequireIDRef"])(a0,a1);var __PyInterpreterState_GetMainModule=Module["__PyInterpreterState_GetMainModule"]=a0=>(__PyInterpreterState_GetMainModule=Module["__PyInterpreterState_GetMainModule"]=wasmExports["_PyInterpreterState_GetMainModule"])(a0);var _PyInterpreterState_GetDict=Module["_PyInterpreterState_GetDict"]=a0=>(_PyInterpreterState_GetDict=Module["_PyInterpreterState_GetDict"]=wasmExports["PyInterpreterState_GetDict"])(a0);var _PyThread_tss_get=Module["_PyThread_tss_get"]=a0=>(_PyThread_tss_get=Module["_PyThread_tss_get"]=wasmExports["PyThread_tss_get"])(a0);var _PyThread_tss_set=Module["_PyThread_tss_set"]=(a0,a1)=>(_PyThread_tss_set=Module["_PyThread_tss_set"]=wasmExports["PyThread_tss_set"])(a0,a1);var __PyThreadState_SetCurrent=Module["__PyThreadState_SetCurrent"]=a0=>(__PyThreadState_SetCurrent=Module["__PyThreadState_SetCurrent"]=wasmExports["_PyThreadState_SetCurrent"])(a0);var __PyThreadState_Prealloc=Module["__PyThreadState_Prealloc"]=a0=>(__PyThreadState_Prealloc=Module["__PyThreadState_Prealloc"]=wasmExports["_PyThreadState_Prealloc"])(a0);var __PyThreadState_Init=Module["__PyThreadState_Init"]=a0=>(__PyThreadState_Init=Module["__PyThreadState_Init"]=wasmExports["_PyThreadState_Init"])(a0);var _PyState_FindModule=Module["_PyState_FindModule"]=a0=>(_PyState_FindModule=Module["_PyState_FindModule"]=wasmExports["PyState_FindModule"])(a0);var _PyState_AddModule=Module["_PyState_AddModule"]=(a0,a1)=>(_PyState_AddModule=Module["_PyState_AddModule"]=wasmExports["PyState_AddModule"])(a0,a1);var _PyState_RemoveModule=Module["_PyState_RemoveModule"]=a0=>(_PyState_RemoveModule=Module["_PyState_RemoveModule"]=wasmExports["PyState_RemoveModule"])(a0);var __PyThreadState_DeleteCurrent=Module["__PyThreadState_DeleteCurrent"]=a0=>(__PyThreadState_DeleteCurrent=Module["__PyThreadState_DeleteCurrent"]=wasmExports["_PyThreadState_DeleteCurrent"])(a0);var _PyThreadState_DeleteCurrent=Module["_PyThreadState_DeleteCurrent"]=()=>(_PyThreadState_DeleteCurrent=Module["_PyThreadState_DeleteCurrent"]=wasmExports["PyThreadState_DeleteCurrent"])();var __PyThreadState_UncheckedGet=Module["__PyThreadState_UncheckedGet"]=()=>(__PyThreadState_UncheckedGet=Module["__PyThreadState_UncheckedGet"]=wasmExports["_PyThreadState_UncheckedGet"])();var __PyThreadState_GetDict=Module["__PyThreadState_GetDict"]=a0=>(__PyThreadState_GetDict=Module["__PyThreadState_GetDict"]=wasmExports["_PyThreadState_GetDict"])(a0);var _PyThreadState_GetInterpreter=Module["_PyThreadState_GetInterpreter"]=a0=>(_PyThreadState_GetInterpreter=Module["_PyThreadState_GetInterpreter"]=wasmExports["PyThreadState_GetInterpreter"])(a0);var _PyThreadState_GetID=Module["_PyThreadState_GetID"]=a0=>(_PyThreadState_GetID=Module["_PyThreadState_GetID"]=wasmExports["PyThreadState_GetID"])(a0);var _PyThreadState_SetAsyncExc=Module["_PyThreadState_SetAsyncExc"]=(a0,a1)=>(_PyThreadState_SetAsyncExc=Module["_PyThreadState_SetAsyncExc"]=wasmExports["PyThreadState_SetAsyncExc"])(a0,a1);var _PyInterpreterState_Head=Module["_PyInterpreterState_Head"]=()=>(_PyInterpreterState_Head=Module["_PyInterpreterState_Head"]=wasmExports["PyInterpreterState_Head"])();var _PyInterpreterState_Main=Module["_PyInterpreterState_Main"]=()=>(_PyInterpreterState_Main=Module["_PyInterpreterState_Main"]=wasmExports["PyInterpreterState_Main"])();var _PyInterpreterState_Next=Module["_PyInterpreterState_Next"]=a0=>(_PyInterpreterState_Next=Module["_PyInterpreterState_Next"]=wasmExports["PyInterpreterState_Next"])(a0);var _PyThreadState_Next=Module["_PyThreadState_Next"]=a0=>(_PyThreadState_Next=Module["_PyThreadState_Next"]=wasmExports["PyThreadState_Next"])(a0);var __PyThread_CurrentFrames=Module["__PyThread_CurrentFrames"]=()=>(__PyThread_CurrentFrames=Module["__PyThread_CurrentFrames"]=wasmExports["_PyThread_CurrentFrames"])();var __PyThread_CurrentExceptions=Module["__PyThread_CurrentExceptions"]=()=>(__PyThread_CurrentExceptions=Module["__PyThread_CurrentExceptions"]=wasmExports["_PyThread_CurrentExceptions"])();var _PyThread_tss_create=Module["_PyThread_tss_create"]=a0=>(_PyThread_tss_create=Module["_PyThread_tss_create"]=wasmExports["PyThread_tss_create"])(a0);var __PyGILState_GetInterpreterStateUnsafe=Module["__PyGILState_GetInterpreterStateUnsafe"]=()=>(__PyGILState_GetInterpreterStateUnsafe=Module["__PyGILState_GetInterpreterStateUnsafe"]=wasmExports["_PyGILState_GetInterpreterStateUnsafe"])();var _PyThread_tss_delete=Module["_PyThread_tss_delete"]=a0=>(_PyThread_tss_delete=Module["_PyThread_tss_delete"]=wasmExports["PyThread_tss_delete"])(a0);var _PyThread_tss_is_created=Module["_PyThread_tss_is_created"]=a0=>(_PyThread_tss_is_created=Module["_PyThread_tss_is_created"]=wasmExports["PyThread_tss_is_created"])(a0);var __PyObject_CheckCrossInterpreterData=Module["__PyObject_CheckCrossInterpreterData"]=a0=>(__PyObject_CheckCrossInterpreterData=Module["__PyObject_CheckCrossInterpreterData"]=wasmExports["_PyObject_CheckCrossInterpreterData"])(a0);var __PyCrossInterpreterData_Lookup=Module["__PyCrossInterpreterData_Lookup"]=a0=>(__PyCrossInterpreterData_Lookup=Module["__PyCrossInterpreterData_Lookup"]=wasmExports["_PyCrossInterpreterData_Lookup"])(a0);var __PyObject_GetCrossInterpreterData=Module["__PyObject_GetCrossInterpreterData"]=(a0,a1)=>(__PyObject_GetCrossInterpreterData=Module["__PyObject_GetCrossInterpreterData"]=wasmExports["_PyObject_GetCrossInterpreterData"])(a0,a1);var __PyCrossInterpreterData_Release=Module["__PyCrossInterpreterData_Release"]=a0=>(__PyCrossInterpreterData_Release=Module["__PyCrossInterpreterData_Release"]=wasmExports["_PyCrossInterpreterData_Release"])(a0);var __PyCrossInterpreterData_NewObject=Module["__PyCrossInterpreterData_NewObject"]=a0=>(__PyCrossInterpreterData_NewObject=Module["__PyCrossInterpreterData_NewObject"]=wasmExports["_PyCrossInterpreterData_NewObject"])(a0);var __PyCrossInterpreterData_RegisterClass=Module["__PyCrossInterpreterData_RegisterClass"]=(a0,a1)=>(__PyCrossInterpreterData_RegisterClass=Module["__PyCrossInterpreterData_RegisterClass"]=wasmExports["_PyCrossInterpreterData_RegisterClass"])(a0,a1);var __PyInterpreterState_GetEvalFrameFunc=Module["__PyInterpreterState_GetEvalFrameFunc"]=a0=>(__PyInterpreterState_GetEvalFrameFunc=Module["__PyInterpreterState_GetEvalFrameFunc"]=wasmExports["_PyInterpreterState_GetEvalFrameFunc"])(a0);var __PyInterpreterState_SetEvalFrameFunc=Module["__PyInterpreterState_SetEvalFrameFunc"]=(a0,a1)=>(__PyInterpreterState_SetEvalFrameFunc=Module["__PyInterpreterState_SetEvalFrameFunc"]=wasmExports["_PyInterpreterState_SetEvalFrameFunc"])(a0,a1);var __PyInterpreterState_GetConfigCopy=Module["__PyInterpreterState_GetConfigCopy"]=a0=>(__PyInterpreterState_GetConfigCopy=Module["__PyInterpreterState_GetConfigCopy"]=wasmExports["_PyInterpreterState_GetConfigCopy"])(a0);var __PyRun_AnyFileObject=Module["__PyRun_AnyFileObject"]=(a0,a1,a2,a3)=>(__PyRun_AnyFileObject=Module["__PyRun_AnyFileObject"]=wasmExports["_PyRun_AnyFileObject"])(a0,a1,a2,a3);var __PyRun_InteractiveLoopObject=Module["__PyRun_InteractiveLoopObject"]=(a0,a1,a2)=>(__PyRun_InteractiveLoopObject=Module["__PyRun_InteractiveLoopObject"]=wasmExports["_PyRun_InteractiveLoopObject"])(a0,a1,a2);var __PyRun_SimpleFileObject=Module["__PyRun_SimpleFileObject"]=(a0,a1,a2,a3)=>(__PyRun_SimpleFileObject=Module["__PyRun_SimpleFileObject"]=wasmExports["_PyRun_SimpleFileObject"])(a0,a1,a2,a3);var _rewind=Module["_rewind"]=a0=>(_rewind=Module["_rewind"]=wasmExports["rewind"])(a0);var _PyRun_InteractiveLoopFlags=Module["_PyRun_InteractiveLoopFlags"]=(a0,a1,a2)=>(_PyRun_InteractiveLoopFlags=Module["_PyRun_InteractiveLoopFlags"]=wasmExports["PyRun_InteractiveLoopFlags"])(a0,a1,a2);var _PyRun_InteractiveOneObject=Module["_PyRun_InteractiveOneObject"]=(a0,a1,a2)=>(_PyRun_InteractiveOneObject=Module["_PyRun_InteractiveOneObject"]=wasmExports["PyRun_InteractiveOneObject"])(a0,a1,a2);var _PyRun_InteractiveOneFlags=Module["_PyRun_InteractiveOneFlags"]=(a0,a1,a2)=>(_PyRun_InteractiveOneFlags=Module["_PyRun_InteractiveOneFlags"]=wasmExports["PyRun_InteractiveOneFlags"])(a0,a1,a2);var _PyRun_SimpleFileExFlags=Module["_PyRun_SimpleFileExFlags"]=(a0,a1,a2,a3)=>(_PyRun_SimpleFileExFlags=Module["_PyRun_SimpleFileExFlags"]=wasmExports["PyRun_SimpleFileExFlags"])(a0,a1,a2,a3);var _PyRun_SimpleStringFlags=Module["_PyRun_SimpleStringFlags"]=(a0,a1)=>(_PyRun_SimpleStringFlags=Module["_PyRun_SimpleStringFlags"]=wasmExports["PyRun_SimpleStringFlags"])(a0,a1);var __Py_HandleSystemExit=Module["__Py_HandleSystemExit"]=a0=>(__Py_HandleSystemExit=Module["__Py_HandleSystemExit"]=wasmExports["_Py_HandleSystemExit"])(a0);var __PyErr_Display=Module["__PyErr_Display"]=(a0,a1,a2,a3)=>(__PyErr_Display=Module["__PyErr_Display"]=wasmExports["_PyErr_Display"])(a0,a1,a2,a3);var __Py_WriteIndentedMargin=Module["__Py_WriteIndentedMargin"]=(a0,a1,a2)=>(__Py_WriteIndentedMargin=Module["__Py_WriteIndentedMargin"]=wasmExports["_Py_WriteIndentedMargin"])(a0,a1,a2);var __Py_WriteIndent=Module["__Py_WriteIndent"]=(a0,a1)=>(__Py_WriteIndent=Module["__Py_WriteIndent"]=wasmExports["_Py_WriteIndent"])(a0,a1);var _PyRun_FileExFlags=Module["_PyRun_FileExFlags"]=(a0,a1,a2,a3,a4,a5,a6)=>(_PyRun_FileExFlags=Module["_PyRun_FileExFlags"]=wasmExports["PyRun_FileExFlags"])(a0,a1,a2,a3,a4,a5,a6);var _Py_CompileStringExFlags=Module["_Py_CompileStringExFlags"]=(a0,a1,a2,a3,a4)=>(_Py_CompileStringExFlags=Module["_Py_CompileStringExFlags"]=wasmExports["Py_CompileStringExFlags"])(a0,a1,a2,a3,a4);var _PyRun_AnyFile=Module["_PyRun_AnyFile"]=(a0,a1)=>(_PyRun_AnyFile=Module["_PyRun_AnyFile"]=wasmExports["PyRun_AnyFile"])(a0,a1);var _PyRun_AnyFileEx=Module["_PyRun_AnyFileEx"]=(a0,a1,a2)=>(_PyRun_AnyFileEx=Module["_PyRun_AnyFileEx"]=wasmExports["PyRun_AnyFileEx"])(a0,a1,a2);var _PyRun_AnyFileFlags=Module["_PyRun_AnyFileFlags"]=(a0,a1,a2)=>(_PyRun_AnyFileFlags=Module["_PyRun_AnyFileFlags"]=wasmExports["PyRun_AnyFileFlags"])(a0,a1,a2);var _PyRun_File=Module["_PyRun_File"]=(a0,a1,a2,a3,a4)=>(_PyRun_File=Module["_PyRun_File"]=wasmExports["PyRun_File"])(a0,a1,a2,a3,a4);var _PyRun_FileEx=Module["_PyRun_FileEx"]=(a0,a1,a2,a3,a4,a5)=>(_PyRun_FileEx=Module["_PyRun_FileEx"]=wasmExports["PyRun_FileEx"])(a0,a1,a2,a3,a4,a5);var _PyRun_FileFlags=Module["_PyRun_FileFlags"]=(a0,a1,a2,a3,a4,a5)=>(_PyRun_FileFlags=Module["_PyRun_FileFlags"]=wasmExports["PyRun_FileFlags"])(a0,a1,a2,a3,a4,a5);var _PyRun_SimpleFile=Module["_PyRun_SimpleFile"]=(a0,a1)=>(_PyRun_SimpleFile=Module["_PyRun_SimpleFile"]=wasmExports["PyRun_SimpleFile"])(a0,a1);var _PyRun_SimpleFileEx=Module["_PyRun_SimpleFileEx"]=(a0,a1,a2)=>(_PyRun_SimpleFileEx=Module["_PyRun_SimpleFileEx"]=wasmExports["PyRun_SimpleFileEx"])(a0,a1,a2);var _PyRun_String=Module["_PyRun_String"]=(a0,a1,a2,a3)=>(_PyRun_String=Module["_PyRun_String"]=wasmExports["PyRun_String"])(a0,a1,a2,a3);var _PyRun_SimpleString=Module["_PyRun_SimpleString"]=a0=>(_PyRun_SimpleString=Module["_PyRun_SimpleString"]=wasmExports["PyRun_SimpleString"])(a0);var _Py_CompileString=Module["_Py_CompileString"]=(a0,a1,a2)=>(_Py_CompileString=Module["_Py_CompileString"]=wasmExports["Py_CompileString"])(a0,a1,a2);var _Py_CompileStringFlags=Module["_Py_CompileStringFlags"]=(a0,a1,a2,a3)=>(_Py_CompileStringFlags=Module["_Py_CompileStringFlags"]=wasmExports["Py_CompileStringFlags"])(a0,a1,a2,a3);var _PyRun_InteractiveOne=Module["_PyRun_InteractiveOne"]=(a0,a1)=>(_PyRun_InteractiveOne=Module["_PyRun_InteractiveOne"]=wasmExports["PyRun_InteractiveOne"])(a0,a1);var _PyRun_InteractiveLoop=Module["_PyRun_InteractiveLoop"]=(a0,a1)=>(_PyRun_InteractiveLoop=Module["_PyRun_InteractiveLoop"]=wasmExports["PyRun_InteractiveLoop"])(a0,a1);var __PyTraceBack_Print_Indented=Module["__PyTraceBack_Print_Indented"]=(a0,a1,a2,a3,a4,a5)=>(__PyTraceBack_Print_Indented=Module["__PyTraceBack_Print_Indented"]=wasmExports["_PyTraceBack_Print_Indented"])(a0,a1,a2,a3,a4,a5);var __PyTime_Add=Module["__PyTime_Add"]=(a0,a1)=>(__PyTime_Add=Module["__PyTime_Add"]=wasmExports["_PyTime_Add"])(a0,a1);var __PyTime_MulDiv=Module["__PyTime_MulDiv"]=(a0,a1,a2)=>(__PyTime_MulDiv=Module["__PyTime_MulDiv"]=wasmExports["_PyTime_MulDiv"])(a0,a1,a2);var __PyLong_AsTime_t=Module["__PyLong_AsTime_t"]=a0=>(__PyLong_AsTime_t=Module["__PyLong_AsTime_t"]=wasmExports["_PyLong_AsTime_t"])(a0);var __PyLong_FromTime_t=Module["__PyLong_FromTime_t"]=a0=>(__PyLong_FromTime_t=Module["__PyLong_FromTime_t"]=wasmExports["_PyLong_FromTime_t"])(a0);var __PyTime_ObjectToTime_t=Module["__PyTime_ObjectToTime_t"]=(a0,a1,a2)=>(__PyTime_ObjectToTime_t=Module["__PyTime_ObjectToTime_t"]=wasmExports["_PyTime_ObjectToTime_t"])(a0,a1,a2);var __PyTime_ObjectToTimespec=Module["__PyTime_ObjectToTimespec"]=(a0,a1,a2,a3)=>(__PyTime_ObjectToTimespec=Module["__PyTime_ObjectToTimespec"]=wasmExports["_PyTime_ObjectToTimespec"])(a0,a1,a2,a3);var __PyTime_ObjectToTimeval=Module["__PyTime_ObjectToTimeval"]=(a0,a1,a2,a3)=>(__PyTime_ObjectToTimeval=Module["__PyTime_ObjectToTimeval"]=wasmExports["_PyTime_ObjectToTimeval"])(a0,a1,a2,a3);var __PyTime_FromSeconds=Module["__PyTime_FromSeconds"]=a0=>(__PyTime_FromSeconds=Module["__PyTime_FromSeconds"]=wasmExports["_PyTime_FromSeconds"])(a0);var __PyTime_FromNanoseconds=Module["__PyTime_FromNanoseconds"]=a0=>(__PyTime_FromNanoseconds=Module["__PyTime_FromNanoseconds"]=wasmExports["_PyTime_FromNanoseconds"])(a0);var __PyTime_FromNanosecondsObject=Module["__PyTime_FromNanosecondsObject"]=(a0,a1)=>(__PyTime_FromNanosecondsObject=Module["__PyTime_FromNanosecondsObject"]=wasmExports["_PyTime_FromNanosecondsObject"])(a0,a1);var __PyTime_FromTimespec=Module["__PyTime_FromTimespec"]=(a0,a1)=>(__PyTime_FromTimespec=Module["__PyTime_FromTimespec"]=wasmExports["_PyTime_FromTimespec"])(a0,a1);var __PyTime_FromTimeval=Module["__PyTime_FromTimeval"]=(a0,a1)=>(__PyTime_FromTimeval=Module["__PyTime_FromTimeval"]=wasmExports["_PyTime_FromTimeval"])(a0,a1);var __PyTime_FromSecondsObject=Module["__PyTime_FromSecondsObject"]=(a0,a1,a2)=>(__PyTime_FromSecondsObject=Module["__PyTime_FromSecondsObject"]=wasmExports["_PyTime_FromSecondsObject"])(a0,a1,a2);var __PyTime_FromMillisecondsObject=Module["__PyTime_FromMillisecondsObject"]=(a0,a1,a2)=>(__PyTime_FromMillisecondsObject=Module["__PyTime_FromMillisecondsObject"]=wasmExports["_PyTime_FromMillisecondsObject"])(a0,a1,a2);var __PyTime_AsSecondsDouble=Module["__PyTime_AsSecondsDouble"]=a0=>(__PyTime_AsSecondsDouble=Module["__PyTime_AsSecondsDouble"]=wasmExports["_PyTime_AsSecondsDouble"])(a0);var __PyTime_AsNanosecondsObject=Module["__PyTime_AsNanosecondsObject"]=a0=>(__PyTime_AsNanosecondsObject=Module["__PyTime_AsNanosecondsObject"]=wasmExports["_PyTime_AsNanosecondsObject"])(a0);var __PyTime_AsNanoseconds=Module["__PyTime_AsNanoseconds"]=a0=>(__PyTime_AsNanoseconds=Module["__PyTime_AsNanoseconds"]=wasmExports["_PyTime_AsNanoseconds"])(a0);var __PyTime_AsMilliseconds=Module["__PyTime_AsMilliseconds"]=(a0,a1)=>(__PyTime_AsMilliseconds=Module["__PyTime_AsMilliseconds"]=wasmExports["_PyTime_AsMilliseconds"])(a0,a1);var __PyTime_AsTimeval=Module["__PyTime_AsTimeval"]=(a0,a1,a2)=>(__PyTime_AsTimeval=Module["__PyTime_AsTimeval"]=wasmExports["_PyTime_AsTimeval"])(a0,a1,a2);var __PyTime_AsTimeval_clamp=Module["__PyTime_AsTimeval_clamp"]=(a0,a1,a2)=>(__PyTime_AsTimeval_clamp=Module["__PyTime_AsTimeval_clamp"]=wasmExports["_PyTime_AsTimeval_clamp"])(a0,a1,a2);var __PyTime_AsTimevalTime_t=Module["__PyTime_AsTimevalTime_t"]=(a0,a1,a2,a3)=>(__PyTime_AsTimevalTime_t=Module["__PyTime_AsTimevalTime_t"]=wasmExports["_PyTime_AsTimevalTime_t"])(a0,a1,a2,a3);var __PyTime_AsTimespec_clamp=Module["__PyTime_AsTimespec_clamp"]=(a0,a1)=>(__PyTime_AsTimespec_clamp=Module["__PyTime_AsTimespec_clamp"]=wasmExports["_PyTime_AsTimespec_clamp"])(a0,a1);var __PyTime_AsTimespec=Module["__PyTime_AsTimespec"]=(a0,a1)=>(__PyTime_AsTimespec=Module["__PyTime_AsTimespec"]=wasmExports["_PyTime_AsTimespec"])(a0,a1);var __PyTime_GetSystemClock=Module["__PyTime_GetSystemClock"]=()=>(__PyTime_GetSystemClock=Module["__PyTime_GetSystemClock"]=wasmExports["_PyTime_GetSystemClock"])();var _clock_gettime=Module["_clock_gettime"]=(a0,a1)=>(_clock_gettime=Module["_clock_gettime"]=wasmExports["clock_gettime"])(a0,a1);var __PyTime_GetSystemClockWithInfo=Module["__PyTime_GetSystemClockWithInfo"]=(a0,a1)=>(__PyTime_GetSystemClockWithInfo=Module["__PyTime_GetSystemClockWithInfo"]=wasmExports["_PyTime_GetSystemClockWithInfo"])(a0,a1);var _clock_getres=Module["_clock_getres"]=(a0,a1)=>(_clock_getres=Module["_clock_getres"]=wasmExports["clock_getres"])(a0,a1);var __PyTime_GetMonotonicClock=Module["__PyTime_GetMonotonicClock"]=()=>(__PyTime_GetMonotonicClock=Module["__PyTime_GetMonotonicClock"]=wasmExports["_PyTime_GetMonotonicClock"])();var __PyTime_GetMonotonicClockWithInfo=Module["__PyTime_GetMonotonicClockWithInfo"]=(a0,a1)=>(__PyTime_GetMonotonicClockWithInfo=Module["__PyTime_GetMonotonicClockWithInfo"]=wasmExports["_PyTime_GetMonotonicClockWithInfo"])(a0,a1);var __PyTime_GetPerfCounterWithInfo=Module["__PyTime_GetPerfCounterWithInfo"]=(a0,a1)=>(__PyTime_GetPerfCounterWithInfo=Module["__PyTime_GetPerfCounterWithInfo"]=wasmExports["_PyTime_GetPerfCounterWithInfo"])(a0,a1);var __PyTime_localtime=Module["__PyTime_localtime"]=(a0,a1)=>(__PyTime_localtime=Module["__PyTime_localtime"]=wasmExports["_PyTime_localtime"])(a0,a1);var _localtime_r=Module["_localtime_r"]=(a0,a1)=>(_localtime_r=Module["_localtime_r"]=wasmExports["localtime_r"])(a0,a1);var __PyTime_gmtime=Module["__PyTime_gmtime"]=(a0,a1)=>(__PyTime_gmtime=Module["__PyTime_gmtime"]=wasmExports["_PyTime_gmtime"])(a0,a1);var _gmtime_r=Module["_gmtime_r"]=(a0,a1)=>(_gmtime_r=Module["_gmtime_r"]=wasmExports["gmtime_r"])(a0,a1);var __PyDeadline_Init=Module["__PyDeadline_Init"]=a0=>(__PyDeadline_Init=Module["__PyDeadline_Init"]=wasmExports["_PyDeadline_Init"])(a0);var __PyDeadline_Get=Module["__PyDeadline_Get"]=a0=>(__PyDeadline_Get=Module["__PyDeadline_Get"]=wasmExports["_PyDeadline_Get"])(a0);var __PyOS_URandom=Module["__PyOS_URandom"]=(a0,a1)=>(__PyOS_URandom=Module["__PyOS_URandom"]=wasmExports["_PyOS_URandom"])(a0,a1);var __Py_open=Module["__Py_open"]=(a0,a1)=>(__Py_open=Module["__Py_open"]=wasmExports["_Py_open"])(a0,a1);var _close=Module["_close"]=a0=>(_close=Module["_close"]=wasmExports["close"])(a0);var __Py_fstat=Module["__Py_fstat"]=(a0,a1)=>(__Py_fstat=Module["__Py_fstat"]=wasmExports["_Py_fstat"])(a0,a1);var __Py_read=Module["__Py_read"]=(a0,a1,a2)=>(__Py_read=Module["__Py_read"]=wasmExports["_Py_read"])(a0,a1,a2);var __Py_open_noraise=Module["__Py_open_noraise"]=(a0,a1)=>(__Py_open_noraise=Module["__Py_open_noraise"]=wasmExports["_Py_open_noraise"])(a0,a1);var _read=Module["_read"]=(a0,a1,a2)=>(_read=Module["_read"]=wasmExports["read"])(a0,a1,a2);var __PyOS_URandomNonblock=Module["__PyOS_URandomNonblock"]=(a0,a1)=>(__PyOS_URandomNonblock=Module["__PyOS_URandomNonblock"]=wasmExports["_PyOS_URandomNonblock"])(a0,a1);var _PySys_AddAuditHook=Module["_PySys_AddAuditHook"]=(a0,a1)=>(_PySys_AddAuditHook=Module["_PySys_AddAuditHook"]=wasmExports["PySys_AddAuditHook"])(a0,a1);var __PySys_GetSizeOf=Module["__PySys_GetSizeOf"]=a0=>(__PySys_GetSizeOf=Module["__PySys_GetSizeOf"]=wasmExports["_PySys_GetSizeOf"])(a0);var _PySys_ResetWarnOptions=Module["_PySys_ResetWarnOptions"]=()=>(_PySys_ResetWarnOptions=Module["_PySys_ResetWarnOptions"]=wasmExports["PySys_ResetWarnOptions"])();var _PySys_AddWarnOptionUnicode=Module["_PySys_AddWarnOptionUnicode"]=a0=>(_PySys_AddWarnOptionUnicode=Module["_PySys_AddWarnOptionUnicode"]=wasmExports["PySys_AddWarnOptionUnicode"])(a0);var _PySys_AddWarnOption=Module["_PySys_AddWarnOption"]=a0=>(_PySys_AddWarnOption=Module["_PySys_AddWarnOption"]=wasmExports["PySys_AddWarnOption"])(a0);var _PySys_HasWarnOptions=Module["_PySys_HasWarnOptions"]=()=>(_PySys_HasWarnOptions=Module["_PySys_HasWarnOptions"]=wasmExports["PySys_HasWarnOptions"])();var _PySys_AddXOption=Module["_PySys_AddXOption"]=a0=>(_PySys_AddXOption=Module["_PySys_AddXOption"]=wasmExports["PySys_AddXOption"])(a0);var _PySys_GetXOptions=Module["_PySys_GetXOptions"]=()=>(_PySys_GetXOptions=Module["_PySys_GetXOptions"]=wasmExports["PySys_GetXOptions"])();var _PyThread_GetInfo=Module["_PyThread_GetInfo"]=()=>(_PyThread_GetInfo=Module["_PyThread_GetInfo"]=wasmExports["PyThread_GetInfo"])();var _PySys_SetPath=Module["_PySys_SetPath"]=a0=>(_PySys_SetPath=Module["_PySys_SetPath"]=wasmExports["PySys_SetPath"])(a0);var _PySys_SetArgvEx=Module["_PySys_SetArgvEx"]=(a0,a1,a2)=>(_PySys_SetArgvEx=Module["_PySys_SetArgvEx"]=wasmExports["PySys_SetArgvEx"])(a0,a1,a2);var _PySys_SetArgv=Module["_PySys_SetArgv"]=(a0,a1)=>(_PySys_SetArgv=Module["_PySys_SetArgv"]=wasmExports["PySys_SetArgv"])(a0,a1);var _PySys_WriteStdout=Module["_PySys_WriteStdout"]=(a0,a1)=>(_PySys_WriteStdout=Module["_PySys_WriteStdout"]=wasmExports["PySys_WriteStdout"])(a0,a1);var _PySys_FormatStdout=Module["_PySys_FormatStdout"]=(a0,a1)=>(_PySys_FormatStdout=Module["_PySys_FormatStdout"]=wasmExports["PySys_FormatStdout"])(a0,a1);var _pthread_condattr_init=Module["_pthread_condattr_init"]=a0=>(_pthread_condattr_init=Module["_pthread_condattr_init"]=wasmExports["pthread_condattr_init"])(a0);var _pthread_condattr_setclock=Module["_pthread_condattr_setclock"]=(a0,a1)=>(_pthread_condattr_setclock=Module["_pthread_condattr_setclock"]=wasmExports["pthread_condattr_setclock"])(a0,a1);var _pthread_cond_init=Module["_pthread_cond_init"]=(a0,a1)=>(_pthread_cond_init=Module["_pthread_cond_init"]=wasmExports["pthread_cond_init"])(a0,a1);var _gettimeofday=Module["_gettimeofday"]=(a0,a1)=>(_gettimeofday=Module["_gettimeofday"]=wasmExports["gettimeofday"])(a0,a1);var _PyThread_start_new_thread=Module["_PyThread_start_new_thread"]=(a0,a1)=>(_PyThread_start_new_thread=Module["_PyThread_start_new_thread"]=wasmExports["PyThread_start_new_thread"])(a0,a1);var _pthread_attr_init=Module["_pthread_attr_init"]=a0=>(_pthread_attr_init=Module["_pthread_attr_init"]=wasmExports["pthread_attr_init"])(a0);var _pthread_attr_setstacksize=Module["_pthread_attr_setstacksize"]=(a0,a1)=>(_pthread_attr_setstacksize=Module["_pthread_attr_setstacksize"]=wasmExports["pthread_attr_setstacksize"])(a0,a1);var _pthread_attr_destroy=Module["_pthread_attr_destroy"]=a0=>(_pthread_attr_destroy=Module["_pthread_attr_destroy"]=wasmExports["pthread_attr_destroy"])(a0);var _pthread_create=Module["_pthread_create"]=(a0,a1,a2,a3)=>(_pthread_create=Module["_pthread_create"]=wasmExports["pthread_create"])(a0,a1,a2,a3);var _pthread_detach=Module["_pthread_detach"]=a0=>(_pthread_detach=Module["_pthread_detach"]=wasmExports["pthread_detach"])(a0);var _pthread_self=Module["_pthread_self"]=()=>(_pthread_self=Module["_pthread_self"]=wasmExports["pthread_self"])();var _pthread_exit=Module["_pthread_exit"]=a0=>(_pthread_exit=Module["_pthread_exit"]=wasmExports["pthread_exit"])(a0);var _PyThread_acquire_lock_timed=Module["_PyThread_acquire_lock_timed"]=(a0,a1,a2)=>(_PyThread_acquire_lock_timed=Module["_PyThread_acquire_lock_timed"]=wasmExports["PyThread_acquire_lock_timed"])(a0,a1,a2);var _pthread_mutex_trylock=Module["_pthread_mutex_trylock"]=a0=>(_pthread_mutex_trylock=Module["_pthread_mutex_trylock"]=wasmExports["pthread_mutex_trylock"])(a0);var _PyThread_create_key=Module["_PyThread_create_key"]=()=>(_PyThread_create_key=Module["_PyThread_create_key"]=wasmExports["PyThread_create_key"])();var _pthread_key_create=Module["_pthread_key_create"]=(a0,a1)=>(_pthread_key_create=Module["_pthread_key_create"]=wasmExports["pthread_key_create"])(a0,a1);var _pthread_key_delete=Module["_pthread_key_delete"]=a0=>(_pthread_key_delete=Module["_pthread_key_delete"]=wasmExports["pthread_key_delete"])(a0);var _PyThread_delete_key=Module["_PyThread_delete_key"]=a0=>(_PyThread_delete_key=Module["_PyThread_delete_key"]=wasmExports["PyThread_delete_key"])(a0);var _PyThread_delete_key_value=Module["_PyThread_delete_key_value"]=a0=>(_PyThread_delete_key_value=Module["_PyThread_delete_key_value"]=wasmExports["PyThread_delete_key_value"])(a0);var _pthread_setspecific=Module["_pthread_setspecific"]=(a0,a1)=>(_pthread_setspecific=Module["_pthread_setspecific"]=wasmExports["pthread_setspecific"])(a0,a1);var _PyThread_set_key_value=Module["_PyThread_set_key_value"]=(a0,a1)=>(_PyThread_set_key_value=Module["_PyThread_set_key_value"]=wasmExports["PyThread_set_key_value"])(a0,a1);var _PyThread_get_key_value=Module["_PyThread_get_key_value"]=a0=>(_PyThread_get_key_value=Module["_PyThread_get_key_value"]=wasmExports["PyThread_get_key_value"])(a0);var _pthread_getspecific=Module["_pthread_getspecific"]=a0=>(_pthread_getspecific=Module["_pthread_getspecific"]=wasmExports["pthread_getspecific"])(a0);var _PyThread_ReInitTLS=Module["_PyThread_ReInitTLS"]=()=>(_PyThread_ReInitTLS=Module["_PyThread_ReInitTLS"]=wasmExports["PyThread_ReInitTLS"])();var _PyThread_get_stacksize=Module["_PyThread_get_stacksize"]=()=>(_PyThread_get_stacksize=Module["_PyThread_get_stacksize"]=wasmExports["PyThread_get_stacksize"])();var _PyThread_set_stacksize=Module["_PyThread_set_stacksize"]=a0=>(_PyThread_set_stacksize=Module["_PyThread_set_stacksize"]=wasmExports["PyThread_set_stacksize"])(a0);var _PyThread_tss_alloc=Module["_PyThread_tss_alloc"]=()=>(_PyThread_tss_alloc=Module["_PyThread_tss_alloc"]=wasmExports["PyThread_tss_alloc"])();var _PyThread_tss_free=Module["_PyThread_tss_free"]=a0=>(_PyThread_tss_free=Module["_PyThread_tss_free"]=wasmExports["PyThread_tss_free"])(a0);var _confstr=Module["_confstr"]=(a0,a1,a2)=>(_confstr=Module["_confstr"]=wasmExports["confstr"])(a0,a1,a2);var __PyTraceback_Add=Module["__PyTraceback_Add"]=(a0,a1,a2)=>(__PyTraceback_Add=Module["__PyTraceback_Add"]=wasmExports["_PyTraceback_Add"])(a0,a1,a2);var _PyOS_mystricmp=Module["_PyOS_mystricmp"]=(a0,a1)=>(_PyOS_mystricmp=Module["_PyOS_mystricmp"]=wasmExports["PyOS_mystricmp"])(a0,a1);var __Py_strhex=Module["__Py_strhex"]=(a0,a1)=>(__Py_strhex=Module["__Py_strhex"]=wasmExports["_Py_strhex"])(a0,a1);var __Py_strhex_bytes=Module["__Py_strhex_bytes"]=(a0,a1)=>(__Py_strhex_bytes=Module["__Py_strhex_bytes"]=wasmExports["_Py_strhex_bytes"])(a0,a1);var __Py_strhex_bytes_with_sep=Module["__Py_strhex_bytes_with_sep"]=(a0,a1,a2,a3)=>(__Py_strhex_bytes_with_sep=Module["__Py_strhex_bytes_with_sep"]=wasmExports["_Py_strhex_bytes_with_sep"])(a0,a1,a2,a3);var _localeconv=Module["_localeconv"]=()=>(_localeconv=Module["_localeconv"]=wasmExports["localeconv"])();var __Py_GetLocaleconvNumeric=Module["__Py_GetLocaleconvNumeric"]=(a0,a1,a2)=>(__Py_GetLocaleconvNumeric=Module["__Py_GetLocaleconvNumeric"]=wasmExports["_Py_GetLocaleconvNumeric"])(a0,a1,a2);var __Py_device_encoding=Module["__Py_device_encoding"]=a0=>(__Py_device_encoding=Module["__Py_device_encoding"]=wasmExports["_Py_device_encoding"])(a0);var __Py_GetLocaleEncodingObject=Module["__Py_GetLocaleEncodingObject"]=()=>(__Py_GetLocaleEncodingObject=Module["__Py_GetLocaleEncodingObject"]=wasmExports["_Py_GetLocaleEncodingObject"])();var _mbstowcs=Module["_mbstowcs"]=(a0,a1,a2)=>(_mbstowcs=Module["_mbstowcs"]=wasmExports["mbstowcs"])(a0,a1,a2);var _mbrtowc=Module["_mbrtowc"]=(a0,a1,a2,a3)=>(_mbrtowc=Module["_mbrtowc"]=wasmExports["mbrtowc"])(a0,a1,a2,a3);var _Py_EncodeLocale=Module["_Py_EncodeLocale"]=(a0,a1)=>(_Py_EncodeLocale=Module["_Py_EncodeLocale"]=wasmExports["Py_EncodeLocale"])(a0,a1);var __Py_EncodeLocaleRaw=Module["__Py_EncodeLocaleRaw"]=(a0,a1)=>(__Py_EncodeLocaleRaw=Module["__Py_EncodeLocaleRaw"]=wasmExports["_Py_EncodeLocaleRaw"])(a0,a1);var _fstat=Module["_fstat"]=(a0,a1)=>(_fstat=Module["_fstat"]=wasmExports["fstat"])(a0,a1);var _stat=Module["_stat"]=(a0,a1)=>(_stat=Module["_stat"]=wasmExports["stat"])(a0,a1);var __Py_stat=Module["__Py_stat"]=(a0,a1)=>(__Py_stat=Module["__Py_stat"]=wasmExports["_Py_stat"])(a0,a1);var __Py_get_inheritable=Module["__Py_get_inheritable"]=a0=>(__Py_get_inheritable=Module["__Py_get_inheritable"]=wasmExports["_Py_get_inheritable"])(a0);var __Py_set_inheritable=Module["__Py_set_inheritable"]=(a0,a1,a2)=>(__Py_set_inheritable=Module["__Py_set_inheritable"]=wasmExports["_Py_set_inheritable"])(a0,a1,a2);var __Py_set_inheritable_async_safe=Module["__Py_set_inheritable_async_safe"]=(a0,a1,a2)=>(__Py_set_inheritable_async_safe=Module["__Py_set_inheritable_async_safe"]=wasmExports["_Py_set_inheritable_async_safe"])(a0,a1,a2);var _open=Module["_open"]=(a0,a1,a2)=>(_open=Module["_open"]=wasmExports["open"])(a0,a1,a2);var __Py_wfopen=Module["__Py_wfopen"]=(a0,a1)=>(__Py_wfopen=Module["__Py_wfopen"]=wasmExports["_Py_wfopen"])(a0,a1);var _wcstombs=Module["_wcstombs"]=(a0,a1,a2)=>(_wcstombs=Module["_wcstombs"]=wasmExports["wcstombs"])(a0,a1,a2);var _fopen=Module["_fopen"]=(a0,a1)=>(_fopen=Module["_fopen"]=wasmExports["fopen"])(a0,a1);var _write=Module["_write"]=(a0,a1,a2)=>(_write=Module["_write"]=wasmExports["write"])(a0,a1,a2);var _readlink=Module["_readlink"]=(a0,a1,a2)=>(_readlink=Module["_readlink"]=wasmExports["readlink"])(a0,a1,a2);var _realpath=Module["_realpath"]=(a0,a1)=>(_realpath=Module["_realpath"]=wasmExports["realpath"])(a0,a1);var _getcwd=Module["_getcwd"]=(a0,a1)=>(_getcwd=Module["_getcwd"]=wasmExports["getcwd"])(a0,a1);var __Py_normpath=Module["__Py_normpath"]=(a0,a1)=>(__Py_normpath=Module["__Py_normpath"]=wasmExports["_Py_normpath"])(a0,a1);var __Py_get_blocking=Module["__Py_get_blocking"]=a0=>(__Py_get_blocking=Module["__Py_get_blocking"]=wasmExports["_Py_get_blocking"])(a0);var __Py_set_blocking=Module["__Py_set_blocking"]=(a0,a1)=>(__Py_set_blocking=Module["__Py_set_blocking"]=wasmExports["_Py_set_blocking"])(a0,a1);var __Py_closerange=Module["__Py_closerange"]=(a0,a1)=>(__Py_closerange=Module["__Py_closerange"]=wasmExports["_Py_closerange"])(a0,a1);var __Py_UTF8_Edit_Cost=Module["__Py_UTF8_Edit_Cost"]=(a0,a1,a2)=>(__Py_UTF8_Edit_Cost=Module["__Py_UTF8_Edit_Cost"]=wasmExports["_Py_UTF8_Edit_Cost"])(a0,a1,a2);var _dlopen=Module["_dlopen"]=(a0,a1)=>(_dlopen=Module["_dlopen"]=wasmExports["dlopen"])(a0,a1);var _dlerror=Module["_dlerror"]=()=>(_dlerror=Module["_dlerror"]=wasmExports["dlerror"])();var _dlsym=Module["_dlsym"]=(a0,a1)=>(_dlsym=Module["_dlsym"]=wasmExports["dlsym"])(a0,a1);var _PyErr_SetInterruptEx=Module["_PyErr_SetInterruptEx"]=a0=>(_PyErr_SetInterruptEx=Module["_PyErr_SetInterruptEx"]=wasmExports["PyErr_SetInterruptEx"])(a0);var _PyInit__ctypes=Module["_PyInit__ctypes"]=()=>(_PyInit__ctypes=Module["_PyInit__ctypes"]=wasmExports["PyInit__ctypes"])();var _PyInit__posixsubprocess=Module["_PyInit__posixsubprocess"]=()=>(_PyInit__posixsubprocess=Module["_PyInit__posixsubprocess"]=wasmExports["PyInit__posixsubprocess"])();var _PyInit__bz2=Module["_PyInit__bz2"]=()=>(_PyInit__bz2=Module["_PyInit__bz2"]=wasmExports["PyInit__bz2"])();var _PyInit_zlib=Module["_PyInit_zlib"]=()=>(_PyInit_zlib=Module["_PyInit_zlib"]=wasmExports["PyInit_zlib"])();var _PyInit__xxsubinterpreters=Module["_PyInit__xxsubinterpreters"]=()=>(_PyInit__xxsubinterpreters=Module["_PyInit__xxsubinterpreters"]=wasmExports["PyInit__xxsubinterpreters"])();var _PyInit_array=Module["_PyInit_array"]=()=>(_PyInit_array=Module["_PyInit_array"]=wasmExports["PyInit_array"])();var _PyInit__asyncio=Module["_PyInit__asyncio"]=()=>(_PyInit__asyncio=Module["_PyInit__asyncio"]=wasmExports["PyInit__asyncio"])();var _PyInit__bisect=Module["_PyInit__bisect"]=()=>(_PyInit__bisect=Module["_PyInit__bisect"]=wasmExports["PyInit__bisect"])();var _PyInit__contextvars=Module["_PyInit__contextvars"]=()=>(_PyInit__contextvars=Module["_PyInit__contextvars"]=wasmExports["PyInit__contextvars"])();var _PyInit__csv=Module["_PyInit__csv"]=()=>(_PyInit__csv=Module["_PyInit__csv"]=wasmExports["PyInit__csv"])();var _PyInit__heapq=Module["_PyInit__heapq"]=()=>(_PyInit__heapq=Module["_PyInit__heapq"]=wasmExports["PyInit__heapq"])();var _PyInit__json=Module["_PyInit__json"]=()=>(_PyInit__json=Module["_PyInit__json"]=wasmExports["PyInit__json"])();var _PyInit__lsprof=Module["_PyInit__lsprof"]=()=>(_PyInit__lsprof=Module["_PyInit__lsprof"]=wasmExports["PyInit__lsprof"])();var _PyInit__opcode=Module["_PyInit__opcode"]=()=>(_PyInit__opcode=Module["_PyInit__opcode"]=wasmExports["PyInit__opcode"])();var _PyInit__pickle=Module["_PyInit__pickle"]=()=>(_PyInit__pickle=Module["_PyInit__pickle"]=wasmExports["PyInit__pickle"])();var _PyInit__queue=Module["_PyInit__queue"]=()=>(_PyInit__queue=Module["_PyInit__queue"]=wasmExports["PyInit__queue"])();var _PyInit__random=Module["_PyInit__random"]=()=>(_PyInit__random=Module["_PyInit__random"]=wasmExports["PyInit__random"])();var _PyInit__struct=Module["_PyInit__struct"]=()=>(_PyInit__struct=Module["_PyInit__struct"]=wasmExports["PyInit__struct"])();var _PyInit__typing=Module["_PyInit__typing"]=()=>(_PyInit__typing=Module["_PyInit__typing"]=wasmExports["PyInit__typing"])();var _PyInit__zoneinfo=Module["_PyInit__zoneinfo"]=()=>(_PyInit__zoneinfo=Module["_PyInit__zoneinfo"]=wasmExports["PyInit__zoneinfo"])();var _PyInit_audioop=Module["_PyInit_audioop"]=()=>(_PyInit_audioop=Module["_PyInit_audioop"]=wasmExports["PyInit_audioop"])();var _PyInit_math=Module["_PyInit_math"]=()=>(_PyInit_math=Module["_PyInit_math"]=wasmExports["PyInit_math"])();var _PyInit_cmath=Module["_PyInit_cmath"]=()=>(_PyInit_cmath=Module["_PyInit_cmath"]=wasmExports["PyInit_cmath"])();var _PyInit__statistics=Module["_PyInit__statistics"]=()=>(_PyInit__statistics=Module["_PyInit__statistics"]=wasmExports["PyInit__statistics"])();var _PyInit__datetime=Module["_PyInit__datetime"]=()=>(_PyInit__datetime=Module["_PyInit__datetime"]=wasmExports["PyInit__datetime"])();var _PyInit__decimal=Module["_PyInit__decimal"]=()=>(_PyInit__decimal=Module["_PyInit__decimal"]=wasmExports["PyInit__decimal"])();var _PyInit_binascii=Module["_PyInit_binascii"]=()=>(_PyInit_binascii=Module["_PyInit_binascii"]=wasmExports["PyInit_binascii"])();var _PyInit__md5=Module["_PyInit__md5"]=()=>(_PyInit__md5=Module["_PyInit__md5"]=wasmExports["PyInit__md5"])();var _PyInit__sha1=Module["_PyInit__sha1"]=()=>(_PyInit__sha1=Module["_PyInit__sha1"]=wasmExports["PyInit__sha1"])();var _PyInit__sha256=Module["_PyInit__sha256"]=()=>(_PyInit__sha256=Module["_PyInit__sha256"]=wasmExports["PyInit__sha256"])();var _PyInit__sha512=Module["_PyInit__sha512"]=()=>(_PyInit__sha512=Module["_PyInit__sha512"]=wasmExports["PyInit__sha512"])();var _PyInit__sha3=Module["_PyInit__sha3"]=()=>(_PyInit__sha3=Module["_PyInit__sha3"]=wasmExports["PyInit__sha3"])();var _PyInit__blake2=Module["_PyInit__blake2"]=()=>(_PyInit__blake2=Module["_PyInit__blake2"]=wasmExports["PyInit__blake2"])();var _PyInit_pyexpat=Module["_PyInit_pyexpat"]=()=>(_PyInit_pyexpat=Module["_PyInit_pyexpat"]=wasmExports["PyInit_pyexpat"])();var _PyInit__elementtree=Module["_PyInit__elementtree"]=()=>(_PyInit__elementtree=Module["_PyInit__elementtree"]=wasmExports["PyInit__elementtree"])();var _PyInit__codecs_cn=Module["_PyInit__codecs_cn"]=()=>(_PyInit__codecs_cn=Module["_PyInit__codecs_cn"]=wasmExports["PyInit__codecs_cn"])();var _PyInit__codecs_hk=Module["_PyInit__codecs_hk"]=()=>(_PyInit__codecs_hk=Module["_PyInit__codecs_hk"]=wasmExports["PyInit__codecs_hk"])();var _PyInit__codecs_iso2022=Module["_PyInit__codecs_iso2022"]=()=>(_PyInit__codecs_iso2022=Module["_PyInit__codecs_iso2022"]=wasmExports["PyInit__codecs_iso2022"])();var _PyInit__codecs_jp=Module["_PyInit__codecs_jp"]=()=>(_PyInit__codecs_jp=Module["_PyInit__codecs_jp"]=wasmExports["PyInit__codecs_jp"])();var _PyInit__codecs_kr=Module["_PyInit__codecs_kr"]=()=>(_PyInit__codecs_kr=Module["_PyInit__codecs_kr"]=wasmExports["PyInit__codecs_kr"])();var _PyInit__codecs_tw=Module["_PyInit__codecs_tw"]=()=>(_PyInit__codecs_tw=Module["_PyInit__codecs_tw"]=wasmExports["PyInit__codecs_tw"])();var _PyInit__multibytecodec=Module["_PyInit__multibytecodec"]=()=>(_PyInit__multibytecodec=Module["_PyInit__multibytecodec"]=wasmExports["PyInit__multibytecodec"])();var _PyInit_unicodedata=Module["_PyInit_unicodedata"]=()=>(_PyInit_unicodedata=Module["_PyInit_unicodedata"]=wasmExports["PyInit_unicodedata"])();var _PyInit__crypt=Module["_PyInit__crypt"]=()=>(_PyInit__crypt=Module["_PyInit__crypt"]=wasmExports["PyInit__crypt"])();var _PyInit_mmap=Module["_PyInit_mmap"]=()=>(_PyInit_mmap=Module["_PyInit_mmap"]=wasmExports["PyInit_mmap"])();var _PyInit_select=Module["_PyInit_select"]=()=>(_PyInit_select=Module["_PyInit_select"]=wasmExports["PyInit_select"])();var _PyInit__socket=Module["_PyInit__socket"]=()=>(_PyInit__socket=Module["_PyInit__socket"]=wasmExports["PyInit__socket"])();var _PyInit_atexit=Module["_PyInit_atexit"]=()=>(_PyInit_atexit=Module["_PyInit_atexit"]=wasmExports["PyInit_atexit"])();var _PyInit_faulthandler=Module["_PyInit_faulthandler"]=()=>(_PyInit_faulthandler=Module["_PyInit_faulthandler"]=wasmExports["PyInit_faulthandler"])();var _PyInit_posix=Module["_PyInit_posix"]=()=>(_PyInit_posix=Module["_PyInit_posix"]=wasmExports["PyInit_posix"])();var _PyInit__signal=Module["_PyInit__signal"]=()=>(_PyInit__signal=Module["_PyInit__signal"]=wasmExports["PyInit__signal"])();var _PyInit__tracemalloc=Module["_PyInit__tracemalloc"]=()=>(_PyInit__tracemalloc=Module["_PyInit__tracemalloc"]=wasmExports["PyInit__tracemalloc"])();var _PyInit__codecs=Module["_PyInit__codecs"]=()=>(_PyInit__codecs=Module["_PyInit__codecs"]=wasmExports["PyInit__codecs"])();var _PyInit__collections=Module["_PyInit__collections"]=()=>(_PyInit__collections=Module["_PyInit__collections"]=wasmExports["PyInit__collections"])();var _PyInit_errno=Module["_PyInit_errno"]=()=>(_PyInit_errno=Module["_PyInit_errno"]=wasmExports["PyInit_errno"])();var _PyInit__io=Module["_PyInit__io"]=()=>(_PyInit__io=Module["_PyInit__io"]=wasmExports["PyInit__io"])();var _PyInit_itertools=Module["_PyInit_itertools"]=()=>(_PyInit_itertools=Module["_PyInit_itertools"]=wasmExports["PyInit_itertools"])();var _PyInit__sre=Module["_PyInit__sre"]=()=>(_PyInit__sre=Module["_PyInit__sre"]=wasmExports["PyInit__sre"])();var _PyInit__thread=Module["_PyInit__thread"]=()=>(_PyInit__thread=Module["_PyInit__thread"]=wasmExports["PyInit__thread"])();var _PyInit_time=Module["_PyInit_time"]=()=>(_PyInit_time=Module["_PyInit_time"]=wasmExports["PyInit_time"])();var _PyInit__weakref=Module["_PyInit__weakref"]=()=>(_PyInit__weakref=Module["_PyInit__weakref"]=wasmExports["PyInit__weakref"])();var _PyInit__abc=Module["_PyInit__abc"]=()=>(_PyInit__abc=Module["_PyInit__abc"]=wasmExports["PyInit__abc"])();var _PyInit__functools=Module["_PyInit__functools"]=()=>(_PyInit__functools=Module["_PyInit__functools"]=wasmExports["PyInit__functools"])();var _PyInit__locale=Module["_PyInit__locale"]=()=>(_PyInit__locale=Module["_PyInit__locale"]=wasmExports["PyInit__locale"])();var _PyInit__operator=Module["_PyInit__operator"]=()=>(_PyInit__operator=Module["_PyInit__operator"]=wasmExports["PyInit__operator"])();var _PyInit__stat=Module["_PyInit__stat"]=()=>(_PyInit__stat=Module["_PyInit__stat"]=wasmExports["PyInit__stat"])();var _PyInit__symtable=Module["_PyInit__symtable"]=()=>(_PyInit__symtable=Module["_PyInit__symtable"]=wasmExports["PyInit__symtable"])();var _PyInit_xxsubtype=Module["_PyInit_xxsubtype"]=()=>(_PyInit_xxsubtype=Module["_PyInit_xxsubtype"]=wasmExports["PyInit_xxsubtype"])();var _PyInit_gc=Module["_PyInit_gc"]=()=>(_PyInit_gc=Module["_PyInit_gc"]=wasmExports["PyInit_gc"])();var _Py_RunMain=Module["_Py_RunMain"]=()=>(_Py_RunMain=Module["_Py_RunMain"]=wasmExports["Py_RunMain"])();var _perror=Module["_perror"]=a0=>(_perror=Module["_perror"]=wasmExports["perror"])(a0);var _getpid=Module["_getpid"]=()=>(_getpid=Module["_getpid"]=wasmExports["getpid"])();var _kill=Module["_kill"]=(a0,a1)=>(_kill=Module["_kill"]=wasmExports["kill"])(a0,a1);var _Py_Main=Module["_Py_Main"]=(a0,a1)=>(_Py_Main=Module["_Py_Main"]=wasmExports["Py_Main"])(a0,a1);var _Py_BytesMain=Module["_Py_BytesMain"]=(a0,a1)=>(_Py_BytesMain=Module["_Py_BytesMain"]=wasmExports["Py_BytesMain"])(a0,a1);var _PyGC_Enable=Module["_PyGC_Enable"]=()=>(_PyGC_Enable=Module["_PyGC_Enable"]=wasmExports["PyGC_Enable"])();var _PyGC_Disable=Module["_PyGC_Disable"]=()=>(_PyGC_Disable=Module["_PyGC_Disable"]=wasmExports["PyGC_Disable"])();var _PyGC_IsEnabled=Module["_PyGC_IsEnabled"]=()=>(_PyGC_IsEnabled=Module["_PyGC_IsEnabled"]=wasmExports["PyGC_IsEnabled"])();var _PyObject_GC_IsTracked=Module["_PyObject_GC_IsTracked"]=a0=>(_PyObject_GC_IsTracked=Module["_PyObject_GC_IsTracked"]=wasmExports["PyObject_GC_IsTracked"])(a0);var _PyObject_GC_IsFinalized=Module["_PyObject_GC_IsFinalized"]=a0=>(_PyObject_GC_IsFinalized=Module["_PyObject_GC_IsFinalized"]=wasmExports["PyObject_GC_IsFinalized"])(a0);var _strcat=Module["_strcat"]=(a0,a1)=>(_strcat=Module["_strcat"]=wasmExports["strcat"])(a0,a1);var _ffi_closure_free=Module["_ffi_closure_free"]=a0=>(_ffi_closure_free=Module["_ffi_closure_free"]=wasmExports["ffi_closure_free"])(a0);var _ffi_closure_alloc=Module["_ffi_closure_alloc"]=(a0,a1)=>(_ffi_closure_alloc=Module["_ffi_closure_alloc"]=wasmExports["ffi_closure_alloc"])(a0,a1);var _ffi_prep_cif=Module["_ffi_prep_cif"]=(a0,a1,a2,a3,a4)=>(_ffi_prep_cif=Module["_ffi_prep_cif"]=wasmExports["ffi_prep_cif"])(a0,a1,a2,a3,a4);var _ffi_prep_closure_loc=Module["_ffi_prep_closure_loc"]=(a0,a1,a2,a3,a4)=>(_ffi_prep_closure_loc=Module["_ffi_prep_closure_loc"]=wasmExports["ffi_prep_closure_loc"])(a0,a1,a2,a3,a4);var _ffi_prep_cif_var=Module["_ffi_prep_cif_var"]=(a0,a1,a2,a3,a4,a5)=>(_ffi_prep_cif_var=Module["_ffi_prep_cif_var"]=wasmExports["ffi_prep_cif_var"])(a0,a1,a2,a3,a4,a5);var _ffi_call=Module["_ffi_call"]=(a0,a1,a2,a3)=>(_ffi_call=Module["_ffi_call"]=wasmExports["ffi_call"])(a0,a1,a2,a3);var _dlclose=Module["_dlclose"]=a0=>(_dlclose=Module["_dlclose"]=wasmExports["dlclose"])(a0);var ___extenddftf2=Module["___extenddftf2"]=(a0,a1)=>(___extenddftf2=Module["___extenddftf2"]=wasmExports["__extenddftf2"])(a0,a1);var ___trunctfdf2=Module["___trunctfdf2"]=(a0,a1)=>(___trunctfdf2=Module["___trunctfdf2"]=wasmExports["__trunctfdf2"])(a0,a1);var __Py_Gid_Converter=Module["__Py_Gid_Converter"]=(a0,a1)=>(__Py_Gid_Converter=Module["__Py_Gid_Converter"]=wasmExports["_Py_Gid_Converter"])(a0,a1);var __Py_Uid_Converter=Module["__Py_Uid_Converter"]=(a0,a1)=>(__Py_Uid_Converter=Module["__Py_Uid_Converter"]=wasmExports["_Py_Uid_Converter"])(a0,a1);var _PyOS_BeforeFork=Module["_PyOS_BeforeFork"]=()=>(_PyOS_BeforeFork=Module["_PyOS_BeforeFork"]=wasmExports["PyOS_BeforeFork"])();var _PyOS_AfterFork_Parent=Module["_PyOS_AfterFork_Parent"]=()=>(_PyOS_AfterFork_Parent=Module["_PyOS_AfterFork_Parent"]=wasmExports["PyOS_AfterFork_Parent"])();var _fork=Module["_fork"]=()=>(_fork=Module["_fork"]=wasmExports["fork"])();var _PyOS_AfterFork_Child=Module["_PyOS_AfterFork_Child"]=()=>(_PyOS_AfterFork_Child=Module["_PyOS_AfterFork_Child"]=wasmExports["PyOS_AfterFork_Child"])();var __exit=Module["__exit"]=a0=>(__exit=Module["__exit"]=wasmExports["_exit"])(a0);var _dup=Module["_dup"]=a0=>(_dup=Module["_dup"]=wasmExports["dup"])(a0);var _dup2=Module["_dup2"]=(a0,a1)=>(_dup2=Module["_dup2"]=wasmExports["dup2"])(a0,a1);var _chdir=Module["_chdir"]=a0=>(_chdir=Module["_chdir"]=wasmExports["chdir"])(a0);var _umask=Module["_umask"]=a0=>(_umask=Module["_umask"]=wasmExports["umask"])(a0);var __Py_RestoreSignals=Module["__Py_RestoreSignals"]=()=>(__Py_RestoreSignals=Module["__Py_RestoreSignals"]=wasmExports["_Py_RestoreSignals"])();var _setsid=Module["_setsid"]=()=>(_setsid=Module["_setsid"]=wasmExports["setsid"])();var _setpgid=Module["_setpgid"]=(a0,a1)=>(_setpgid=Module["_setpgid"]=wasmExports["setpgid"])(a0,a1);var _setregid=Module["_setregid"]=(a0,a1)=>(_setregid=Module["_setregid"]=wasmExports["setregid"])(a0,a1);var _setreuid=Module["_setreuid"]=(a0,a1)=>(_setreuid=Module["_setreuid"]=wasmExports["setreuid"])(a0,a1);var _execve=Module["_execve"]=(a0,a1,a2)=>(_execve=Module["_execve"]=wasmExports["execve"])(a0,a1,a2);var _execv=Module["_execv"]=(a0,a1)=>(_execv=Module["_execv"]=wasmExports["execv"])(a0,a1);var _opendir=Module["_opendir"]=a0=>(_opendir=Module["_opendir"]=wasmExports["opendir"])(a0);var _sysconf=Module["_sysconf"]=a0=>(_sysconf=Module["_sysconf"]=wasmExports["sysconf"])(a0);var _dirfd=Module["_dirfd"]=a0=>(_dirfd=Module["_dirfd"]=wasmExports["dirfd"])(a0);var _readdir=Module["_readdir"]=a0=>(_readdir=Module["_readdir"]=wasmExports["readdir"])(a0);var _closedir=Module["_closedir"]=a0=>(_closedir=Module["_closedir"]=wasmExports["closedir"])(a0);var _BZ2_bzCompressEnd=Module["_BZ2_bzCompressEnd"]=a0=>(_BZ2_bzCompressEnd=Module["_BZ2_bzCompressEnd"]=wasmExports["BZ2_bzCompressEnd"])(a0);var _BZ2_bzCompressInit=Module["_BZ2_bzCompressInit"]=(a0,a1,a2,a3)=>(_BZ2_bzCompressInit=Module["_BZ2_bzCompressInit"]=wasmExports["BZ2_bzCompressInit"])(a0,a1,a2,a3);var _BZ2_bzCompress=Module["_BZ2_bzCompress"]=(a0,a1)=>(_BZ2_bzCompress=Module["_BZ2_bzCompress"]=wasmExports["BZ2_bzCompress"])(a0,a1);var _BZ2_bzDecompressEnd=Module["_BZ2_bzDecompressEnd"]=a0=>(_BZ2_bzDecompressEnd=Module["_BZ2_bzDecompressEnd"]=wasmExports["BZ2_bzDecompressEnd"])(a0);var _BZ2_bzDecompressInit=Module["_BZ2_bzDecompressInit"]=(a0,a1,a2)=>(_BZ2_bzDecompressInit=Module["_BZ2_bzDecompressInit"]=wasmExports["BZ2_bzDecompressInit"])(a0,a1,a2);var _BZ2_bzDecompress=Module["_BZ2_bzDecompress"]=a0=>(_BZ2_bzDecompress=Module["_BZ2_bzDecompress"]=wasmExports["BZ2_bzDecompress"])(a0);var _adler32=Module["_adler32"]=(a0,a1,a2)=>(_adler32=Module["_adler32"]=wasmExports["adler32"])(a0,a1,a2);var _deflateInit2_=Module["_deflateInit2_"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(_deflateInit2_=Module["_deflateInit2_"]=wasmExports["deflateInit2_"])(a0,a1,a2,a3,a4,a5,a6,a7);var _deflateEnd=Module["_deflateEnd"]=a0=>(_deflateEnd=Module["_deflateEnd"]=wasmExports["deflateEnd"])(a0);var _deflate=Module["_deflate"]=(a0,a1)=>(_deflate=Module["_deflate"]=wasmExports["deflate"])(a0,a1);var _deflateSetDictionary=Module["_deflateSetDictionary"]=(a0,a1,a2)=>(_deflateSetDictionary=Module["_deflateSetDictionary"]=wasmExports["deflateSetDictionary"])(a0,a1,a2);var _crc32=Module["_crc32"]=(a0,a1,a2)=>(_crc32=Module["_crc32"]=wasmExports["crc32"])(a0,a1,a2);var _inflateInit2_=Module["_inflateInit2_"]=(a0,a1,a2,a3)=>(_inflateInit2_=Module["_inflateInit2_"]=wasmExports["inflateInit2_"])(a0,a1,a2,a3);var _inflateEnd=Module["_inflateEnd"]=a0=>(_inflateEnd=Module["_inflateEnd"]=wasmExports["inflateEnd"])(a0);var _inflate=Module["_inflate"]=(a0,a1)=>(_inflate=Module["_inflate"]=wasmExports["inflate"])(a0,a1);var _inflateSetDictionary=Module["_inflateSetDictionary"]=(a0,a1,a2)=>(_inflateSetDictionary=Module["_inflateSetDictionary"]=wasmExports["inflateSetDictionary"])(a0,a1,a2);var _zlibVersion=Module["_zlibVersion"]=()=>(_zlibVersion=Module["_zlibVersion"]=wasmExports["zlibVersion"])();var _deflateCopy=Module["_deflateCopy"]=(a0,a1)=>(_deflateCopy=Module["_deflateCopy"]=wasmExports["deflateCopy"])(a0,a1);var _inflateCopy=Module["_inflateCopy"]=(a0,a1)=>(_inflateCopy=Module["_inflateCopy"]=wasmExports["inflateCopy"])(a0,a1);var _isalpha=Module["_isalpha"]=a0=>(_isalpha=Module["_isalpha"]=wasmExports["isalpha"])(a0);var _acos=Module["_acos"]=a0=>(_acos=Module["_acos"]=wasmExports["acos"])(a0);var _acosh=Module["_acosh"]=a0=>(_acosh=Module["_acosh"]=wasmExports["acosh"])(a0);var _asin=Module["_asin"]=a0=>(_asin=Module["_asin"]=wasmExports["asin"])(a0);var _asinh=Module["_asinh"]=a0=>(_asinh=Module["_asinh"]=wasmExports["asinh"])(a0);var _atan=Module["_atan"]=a0=>(_atan=Module["_atan"]=wasmExports["atan"])(a0);var _atanh=Module["_atanh"]=a0=>(_atanh=Module["_atanh"]=wasmExports["atanh"])(a0);var _cbrt=Module["_cbrt"]=a0=>(_cbrt=Module["_cbrt"]=wasmExports["cbrt"])(a0);var _copysign=Module["_copysign"]=(a0,a1)=>(_copysign=Module["_copysign"]=wasmExports["copysign"])(a0,a1);var _cosh=Module["_cosh"]=a0=>(_cosh=Module["_cosh"]=wasmExports["cosh"])(a0);var _erf=Module["_erf"]=a0=>(_erf=Module["_erf"]=wasmExports["erf"])(a0);var _erfc=Module["_erfc"]=a0=>(_erfc=Module["_erfc"]=wasmExports["erfc"])(a0);var _exp2=Module["_exp2"]=a0=>(_exp2=Module["_exp2"]=wasmExports["exp2"])(a0);var _expm1=Module["_expm1"]=a0=>(_expm1=Module["_expm1"]=wasmExports["expm1"])(a0);var _fabs=Module["_fabs"]=a0=>(_fabs=Module["_fabs"]=wasmExports["fabs"])(a0);var _sinh=Module["_sinh"]=a0=>(_sinh=Module["_sinh"]=wasmExports["sinh"])(a0);var _sqrt=Module["_sqrt"]=a0=>(_sqrt=Module["_sqrt"]=wasmExports["sqrt"])(a0);var _tan=Module["_tan"]=a0=>(_tan=Module["_tan"]=wasmExports["tan"])(a0);var _tanh=Module["_tanh"]=a0=>(_tanh=Module["_tanh"]=wasmExports["tanh"])(a0);var _nextafter=Module["_nextafter"]=(a0,a1)=>(_nextafter=Module["_nextafter"]=wasmExports["nextafter"])(a0,a1);var _log1p=Module["_log1p"]=a0=>(_log1p=Module["_log1p"]=wasmExports["log1p"])(a0);var _log10=Module["_log10"]=a0=>(_log10=Module["_log10"]=wasmExports["log10"])(a0);var _log2=Module["_log2"]=a0=>(_log2=Module["_log2"]=wasmExports["log2"])(a0);var _explicit_bzero=Module["_explicit_bzero"]=(a0,a1)=>(_explicit_bzero=Module["_explicit_bzero"]=wasmExports["explicit_bzero"])(a0,a1);var _strncat=Module["_strncat"]=(a0,a1,a2)=>(_strncat=Module["_strncat"]=wasmExports["strncat"])(a0,a1,a2);var _crypt_r=Module["_crypt_r"]=(a0,a1,a2)=>(_crypt_r=Module["_crypt_r"]=wasmExports["crypt_r"])(a0,a1,a2);var _mmap=Module["_mmap"]=(a0,a1,a2,a3,a4,a5)=>(_mmap=Module["_mmap"]=wasmExports["mmap"])(a0,a1,a2,a3,a4,a5);var _munmap=Module["_munmap"]=(a0,a1)=>(_munmap=Module["_munmap"]=wasmExports["munmap"])(a0,a1);var _msync=Module["_msync"]=(a0,a1,a2)=>(_msync=Module["_msync"]=wasmExports["msync"])(a0,a1,a2);var _madvise=Module["_madvise"]=(a0,a1,a2)=>(_madvise=Module["_madvise"]=wasmExports["madvise"])(a0,a1,a2);var _ftruncate=Module["_ftruncate"]=(a0,a1)=>(_ftruncate=Module["_ftruncate"]=wasmExports["ftruncate"])(a0,a1);var _mremap=Module["_mremap"]=(a0,a1,a2,a3,a4)=>(_mremap=Module["_mremap"]=wasmExports["mremap"])(a0,a1,a2,a3,a4);var _poll=Module["_poll"]=(a0,a1,a2)=>(_poll=Module["_poll"]=wasmExports["poll"])(a0,a1,a2);var _select=Module["_select"]=(a0,a1,a2,a3,a4)=>(_select=Module["_select"]=wasmExports["select"])(a0,a1,a2,a3,a4);var _getsockname=Module["_getsockname"]=(a0,a1,a2)=>(_getsockname=Module["_getsockname"]=wasmExports["getsockname"])(a0,a1,a2);var _socket=Module["_socket"]=(a0,a1,a2)=>(_socket=Module["_socket"]=wasmExports["socket"])(a0,a1,a2);var _getsockopt=Module["_getsockopt"]=(a0,a1,a2,a3,a4)=>(_getsockopt=Module["_getsockopt"]=wasmExports["getsockopt"])(a0,a1,a2,a3,a4);var _bind=Module["_bind"]=(a0,a1,a2)=>(_bind=Module["_bind"]=wasmExports["bind"])(a0,a1,a2);var _getpeername=Module["_getpeername"]=(a0,a1,a2)=>(_getpeername=Module["_getpeername"]=wasmExports["getpeername"])(a0,a1,a2);var _listen=Module["_listen"]=(a0,a1)=>(_listen=Module["_listen"]=wasmExports["listen"])(a0,a1);var _setsockopt=Module["_setsockopt"]=(a0,a1,a2,a3,a4)=>(_setsockopt=Module["_setsockopt"]=wasmExports["setsockopt"])(a0,a1,a2,a3,a4);var _accept4=Module["_accept4"]=(a0,a1,a2,a3)=>(_accept4=Module["_accept4"]=wasmExports["accept4"])(a0,a1,a2,a3);var _accept=Module["_accept"]=(a0,a1,a2)=>(_accept=Module["_accept"]=wasmExports["accept"])(a0,a1,a2);var _inet_ntop=Module["_inet_ntop"]=(a0,a1,a2,a3)=>(_inet_ntop=Module["_inet_ntop"]=wasmExports["inet_ntop"])(a0,a1,a2,a3);var _ntohs=a0=>(_ntohs=wasmExports["ntohs"])(a0);var _htons=a0=>(_htons=wasmExports["htons"])(a0);var _gai_strerror=Module["_gai_strerror"]=a0=>(_gai_strerror=Module["_gai_strerror"]=wasmExports["gai_strerror"])(a0);var _freeaddrinfo=Module["_freeaddrinfo"]=a0=>(_freeaddrinfo=Module["_freeaddrinfo"]=wasmExports["freeaddrinfo"])(a0);var _inet_pton=Module["_inet_pton"]=(a0,a1,a2)=>(_inet_pton=Module["_inet_pton"]=wasmExports["inet_pton"])(a0,a1,a2);var _connect=Module["_connect"]=(a0,a1,a2)=>(_connect=Module["_connect"]=wasmExports["connect"])(a0,a1,a2);var _recv=Module["_recv"]=(a0,a1,a2,a3)=>(_recv=Module["_recv"]=wasmExports["recv"])(a0,a1,a2,a3);var _recvfrom=Module["_recvfrom"]=(a0,a1,a2,a3,a4,a5)=>(_recvfrom=Module["_recvfrom"]=wasmExports["recvfrom"])(a0,a1,a2,a3,a4,a5);var _send=Module["_send"]=(a0,a1,a2,a3)=>(_send=Module["_send"]=wasmExports["send"])(a0,a1,a2,a3);var _sendto=Module["_sendto"]=(a0,a1,a2,a3,a4,a5)=>(_sendto=Module["_sendto"]=wasmExports["sendto"])(a0,a1,a2,a3,a4,a5);var _recvmsg=Module["_recvmsg"]=(a0,a1,a2)=>(_recvmsg=Module["_recvmsg"]=wasmExports["recvmsg"])(a0,a1,a2);var _sendmsg=Module["_sendmsg"]=(a0,a1,a2)=>(_sendmsg=Module["_sendmsg"]=wasmExports["sendmsg"])(a0,a1,a2);var _gethostname=Module["_gethostname"]=(a0,a1)=>(_gethostname=Module["_gethostname"]=wasmExports["gethostname"])(a0,a1);var _getservbyname=Module["_getservbyname"]=(a0,a1)=>(_getservbyname=Module["_getservbyname"]=wasmExports["getservbyname"])(a0,a1);var _getservbyport=Module["_getservbyport"]=(a0,a1)=>(_getservbyport=Module["_getservbyport"]=wasmExports["getservbyport"])(a0,a1);var _ntohl=Module["_ntohl"]=a0=>(_ntohl=Module["_ntohl"]=wasmExports["ntohl"])(a0);var _htonl=a0=>(_htonl=wasmExports["htonl"])(a0);var _inet_aton=Module["_inet_aton"]=(a0,a1)=>(_inet_aton=Module["_inet_aton"]=wasmExports["inet_aton"])(a0,a1);var _inet_ntoa=Module["_inet_ntoa"]=a0=>(_inet_ntoa=Module["_inet_ntoa"]=wasmExports["inet_ntoa"])(a0);var _if_nameindex=Module["_if_nameindex"]=()=>(_if_nameindex=Module["_if_nameindex"]=wasmExports["if_nameindex"])();var _if_freenameindex=Module["_if_freenameindex"]=a0=>(_if_freenameindex=Module["_if_freenameindex"]=wasmExports["if_freenameindex"])(a0);var _if_nametoindex=Module["_if_nametoindex"]=a0=>(_if_nametoindex=Module["_if_nametoindex"]=wasmExports["if_nametoindex"])(a0);var _if_indextoname=Module["_if_indextoname"]=(a0,a1)=>(_if_indextoname=Module["_if_indextoname"]=wasmExports["if_indextoname"])(a0,a1);var ___h_errno_location=Module["___h_errno_location"]=()=>(___h_errno_location=Module["___h_errno_location"]=wasmExports["__h_errno_location"])();var _hstrerror=Module["_hstrerror"]=a0=>(_hstrerror=Module["_hstrerror"]=wasmExports["hstrerror"])(a0);var _getrlimit=Module["_getrlimit"]=(a0,a1)=>(_getrlimit=Module["_getrlimit"]=wasmExports["getrlimit"])(a0,a1);var _setrlimit=Module["_setrlimit"]=(a0,a1)=>(_setrlimit=Module["_setrlimit"]=wasmExports["setrlimit"])(a0,a1);var _raise=Module["_raise"]=a0=>(_raise=Module["_raise"]=wasmExports["raise"])(a0);var _sigfillset=Module["_sigfillset"]=a0=>(_sigfillset=Module["_sigfillset"]=wasmExports["sigfillset"])(a0);var _pthread_sigmask=Module["_pthread_sigmask"]=(a0,a1,a2)=>(_pthread_sigmask=Module["_pthread_sigmask"]=wasmExports["pthread_sigmask"])(a0,a1,a2);var _PyOS_AfterFork=Module["_PyOS_AfterFork"]=()=>(_PyOS_AfterFork=Module["_PyOS_AfterFork"]=wasmExports["PyOS_AfterFork"])();var __PyLong_FromUid=Module["__PyLong_FromUid"]=a0=>(__PyLong_FromUid=Module["__PyLong_FromUid"]=wasmExports["_PyLong_FromUid"])(a0);var __PyLong_FromGid=Module["__PyLong_FromGid"]=a0=>(__PyLong_FromGid=Module["__PyLong_FromGid"]=wasmExports["_PyLong_FromGid"])(a0);var __Py_Sigset_Converter=Module["__Py_Sigset_Converter"]=(a0,a1)=>(__Py_Sigset_Converter=Module["__Py_Sigset_Converter"]=wasmExports["_Py_Sigset_Converter"])(a0,a1);var _sigemptyset=Module["_sigemptyset"]=a0=>(_sigemptyset=Module["_sigemptyset"]=wasmExports["sigemptyset"])(a0);var _sigaddset=Module["_sigaddset"]=(a0,a1)=>(_sigaddset=Module["_sigaddset"]=wasmExports["sigaddset"])(a0,a1);var _access=Module["_access"]=(a0,a1)=>(_access=Module["_access"]=wasmExports["access"])(a0,a1);var _ttyname_r=Module["_ttyname_r"]=(a0,a1,a2)=>(_ttyname_r=Module["_ttyname_r"]=wasmExports["ttyname_r"])(a0,a1,a2);var _fchdir=Module["_fchdir"]=a0=>(_fchdir=Module["_fchdir"]=wasmExports["fchdir"])(a0);var _fchmod=Module["_fchmod"]=(a0,a1)=>(_fchmod=Module["_fchmod"]=wasmExports["fchmod"])(a0,a1);var _fchmodat=Module["_fchmodat"]=(a0,a1,a2,a3)=>(_fchmodat=Module["_fchmodat"]=wasmExports["fchmodat"])(a0,a1,a2,a3);var _chmod=Module["_chmod"]=(a0,a1)=>(_chmod=Module["_chmod"]=wasmExports["chmod"])(a0,a1);var _fchown=Module["_fchown"]=(a0,a1,a2)=>(_fchown=Module["_fchown"]=wasmExports["fchown"])(a0,a1,a2);var _fchownat=Module["_fchownat"]=(a0,a1,a2,a3,a4)=>(_fchownat=Module["_fchownat"]=wasmExports["fchownat"])(a0,a1,a2,a3,a4);var _chown=Module["_chown"]=(a0,a1,a2)=>(_chown=Module["_chown"]=wasmExports["chown"])(a0,a1,a2);var _chroot=Module["_chroot"]=a0=>(_chroot=Module["_chroot"]=wasmExports["chroot"])(a0);var _ctermid=Module["_ctermid"]=a0=>(_ctermid=Module["_ctermid"]=wasmExports["ctermid"])(a0);var _fdopendir=Module["_fdopendir"]=a0=>(_fdopendir=Module["_fdopendir"]=wasmExports["fdopendir"])(a0);var _rewinddir=Module["_rewinddir"]=a0=>(_rewinddir=Module["_rewinddir"]=wasmExports["rewinddir"])(a0);var _mkdirat=Module["_mkdirat"]=(a0,a1,a2)=>(_mkdirat=Module["_mkdirat"]=wasmExports["mkdirat"])(a0,a1,a2);var _mkdir=Module["_mkdir"]=(a0,a1)=>(_mkdir=Module["_mkdir"]=wasmExports["mkdir"])(a0,a1);var _getpriority=Module["_getpriority"]=(a0,a1)=>(_getpriority=Module["_getpriority"]=wasmExports["getpriority"])(a0,a1);var _readlinkat=Module["_readlinkat"]=(a0,a1,a2,a3)=>(_readlinkat=Module["_readlinkat"]=wasmExports["readlinkat"])(a0,a1,a2,a3);var _unlinkat=Module["_unlinkat"]=(a0,a1,a2)=>(_unlinkat=Module["_unlinkat"]=wasmExports["unlinkat"])(a0,a1,a2);var _rmdir=Module["_rmdir"]=a0=>(_rmdir=Module["_rmdir"]=wasmExports["rmdir"])(a0);var _symlink=Module["_symlink"]=(a0,a1)=>(_symlink=Module["_symlink"]=wasmExports["symlink"])(a0,a1);var _uname=Module["_uname"]=a0=>(_uname=Module["_uname"]=wasmExports["uname"])(a0);var _futimesat=Module["_futimesat"]=(a0,a1,a2)=>(_futimesat=Module["_futimesat"]=wasmExports["futimesat"])(a0,a1,a2);var _futimens=Module["_futimens"]=(a0,a1)=>(_futimens=Module["_futimens"]=wasmExports["futimens"])(a0,a1);var _times=Module["_times"]=a0=>(_times=Module["_times"]=wasmExports["times"])(a0);var _fexecve=Module["_fexecve"]=(a0,a1,a2)=>(_fexecve=Module["_fexecve"]=wasmExports["fexecve"])(a0,a1,a2);var _sched_yield=Module["_sched_yield"]=()=>(_sched_yield=Module["_sched_yield"]=wasmExports["sched_yield"])();var _login_tty=Module["_login_tty"]=a0=>(_login_tty=Module["_login_tty"]=wasmExports["login_tty"])(a0);var _getgid=Module["_getgid"]=()=>(_getgid=Module["_getgid"]=wasmExports["getgid"])();var _getpgrp=Module["_getpgrp"]=()=>(_getpgrp=Module["_getpgrp"]=wasmExports["getpgrp"])();var _getppid=Module["_getppid"]=()=>(_getppid=Module["_getppid"]=wasmExports["getppid"])();var _getuid=Module["_getuid"]=()=>(_getuid=Module["_getuid"]=wasmExports["getuid"])();var _getlogin=Module["_getlogin"]=()=>(_getlogin=Module["_getlogin"]=wasmExports["getlogin"])();var _killpg=Module["_killpg"]=(a0,a1)=>(_killpg=Module["_killpg"]=wasmExports["killpg"])(a0,a1);var _setuid=Module["_setuid"]=a0=>(_setuid=Module["_setuid"]=wasmExports["setuid"])(a0);var _setgid=Module["_setgid"]=a0=>(_setgid=Module["_setgid"]=wasmExports["setgid"])(a0);var _getpgid=Module["_getpgid"]=a0=>(_getpgid=Module["_getpgid"]=wasmExports["getpgid"])(a0);var _setpgrp=Module["_setpgrp"]=()=>(_setpgrp=Module["_setpgrp"]=wasmExports["setpgrp"])();var _wait=Module["_wait"]=a0=>(_wait=Module["_wait"]=wasmExports["wait"])(a0);var _waitid=Module["_waitid"]=(a0,a1,a2,a3)=>(_waitid=Module["_waitid"]=wasmExports["waitid"])(a0,a1,a2,a3);var _waitpid=Module["_waitpid"]=(a0,a1,a2)=>(_waitpid=Module["_waitpid"]=wasmExports["waitpid"])(a0,a1,a2);var _getsid=Module["_getsid"]=a0=>(_getsid=Module["_getsid"]=wasmExports["getsid"])(a0);var _tcgetpgrp=Module["_tcgetpgrp"]=a0=>(_tcgetpgrp=Module["_tcgetpgrp"]=wasmExports["tcgetpgrp"])(a0);var _tcsetpgrp=Module["_tcsetpgrp"]=(a0,a1)=>(_tcsetpgrp=Module["_tcsetpgrp"]=wasmExports["tcsetpgrp"])(a0,a1);var _openat=Module["_openat"]=(a0,a1,a2,a3)=>(_openat=Module["_openat"]=wasmExports["openat"])(a0,a1,a2,a3);var _dup3=Module["_dup3"]=(a0,a1,a2)=>(_dup3=Module["_dup3"]=wasmExports["dup3"])(a0,a1,a2);var _lockf=Module["_lockf"]=(a0,a1,a2)=>(_lockf=Module["_lockf"]=wasmExports["lockf"])(a0,a1,a2);var _readv=Module["_readv"]=(a0,a1,a2)=>(_readv=Module["_readv"]=wasmExports["readv"])(a0,a1,a2);var _pread=Module["_pread"]=(a0,a1,a2,a3)=>(_pread=Module["_pread"]=wasmExports["pread"])(a0,a1,a2,a3);var _writev=Module["_writev"]=(a0,a1,a2)=>(_writev=Module["_writev"]=wasmExports["writev"])(a0,a1,a2);var _pwrite=Module["_pwrite"]=(a0,a1,a2,a3)=>(_pwrite=Module["_pwrite"]=wasmExports["pwrite"])(a0,a1,a2,a3);var _pipe=Module["_pipe"]=a0=>(_pipe=Module["_pipe"]=wasmExports["pipe"])(a0);var _truncate=Module["_truncate"]=(a0,a1)=>(_truncate=Module["_truncate"]=wasmExports["truncate"])(a0,a1);var _posix_fadvise=Module["_posix_fadvise"]=(a0,a1,a2,a3)=>(_posix_fadvise=Module["_posix_fadvise"]=wasmExports["posix_fadvise"])(a0,a1,a2,a3);var _unsetenv=Module["_unsetenv"]=a0=>(_unsetenv=Module["_unsetenv"]=wasmExports["unsetenv"])(a0);var _fsync=Module["_fsync"]=a0=>(_fsync=Module["_fsync"]=wasmExports["fsync"])(a0);var _sync=Module["_sync"]=()=>(_sync=Module["_sync"]=wasmExports["sync"])();var _fdatasync=Module["_fdatasync"]=a0=>(_fdatasync=Module["_fdatasync"]=wasmExports["fdatasync"])(a0);var _fstatvfs=Module["_fstatvfs"]=(a0,a1)=>(_fstatvfs=Module["_fstatvfs"]=wasmExports["fstatvfs"])(a0,a1);var _statvfs=Module["_statvfs"]=(a0,a1)=>(_statvfs=Module["_statvfs"]=wasmExports["statvfs"])(a0,a1);var _fpathconf=Module["_fpathconf"]=(a0,a1)=>(_fpathconf=Module["_fpathconf"]=wasmExports["fpathconf"])(a0,a1);var _pathconf=Module["_pathconf"]=(a0,a1)=>(_pathconf=Module["_pathconf"]=wasmExports["pathconf"])(a0,a1);var _getloadavg=Module["_getloadavg"]=(a0,a1)=>(_getloadavg=Module["_getloadavg"]=wasmExports["getloadavg"])(a0,a1);var _lstat=Module["_lstat"]=(a0,a1)=>(_lstat=Module["_lstat"]=wasmExports["lstat"])(a0,a1);var _fstatat=Module["_fstatat"]=(a0,a1,a2,a3)=>(_fstatat=Module["_fstatat"]=wasmExports["fstatat"])(a0,a1,a2,a3);var _renameat=Module["_renameat"]=(a0,a1,a2,a3)=>(_renameat=Module["_renameat"]=wasmExports["renameat"])(a0,a1,a2,a3);var _rename=Module["_rename"]=(a0,a1)=>(_rename=Module["_rename"]=wasmExports["rename"])(a0,a1);var _unlink=Module["_unlink"]=a0=>(_unlink=Module["_unlink"]=wasmExports["unlink"])(a0);var _utimes=Module["_utimes"]=(a0,a1)=>(_utimes=Module["_utimes"]=wasmExports["utimes"])(a0,a1);var _qsort=Module["_qsort"]=(a0,a1,a2,a3)=>(_qsort=Module["_qsort"]=wasmExports["qsort"])(a0,a1,a2,a3);var __PyErr_CheckSignals=Module["__PyErr_CheckSignals"]=()=>(__PyErr_CheckSignals=Module["__PyErr_CheckSignals"]=wasmExports["_PyErr_CheckSignals"])();var _PyErr_SetInterrupt=Module["_PyErr_SetInterrupt"]=()=>(_PyErr_SetInterrupt=Module["_PyErr_SetInterrupt"]=wasmExports["PyErr_SetInterrupt"])();var _PyOS_InterruptOccurred=Module["_PyOS_InterruptOccurred"]=()=>(_PyOS_InterruptOccurred=Module["_PyOS_InterruptOccurred"]=wasmExports["PyOS_InterruptOccurred"])();var __PyOS_IsMainThread=Module["__PyOS_IsMainThread"]=()=>(__PyOS_IsMainThread=Module["__PyOS_IsMainThread"]=wasmExports["_PyOS_IsMainThread"])();var _getitimer=Module["_getitimer"]=(a0,a1)=>(_getitimer=Module["_getitimer"]=wasmExports["getitimer"])(a0,a1);var _strsignal=Module["_strsignal"]=a0=>(_strsignal=Module["_strsignal"]=wasmExports["strsignal"])(a0);var _strstr=Module["_strstr"]=(a0,a1)=>(_strstr=Module["_strstr"]=wasmExports["strstr"])(a0,a1);var _pause=Module["_pause"]=()=>(_pause=Module["_pause"]=wasmExports["pause"])();var _sigpending=Module["_sigpending"]=a0=>(_sigpending=Module["_sigpending"]=wasmExports["sigpending"])(a0);var _sigwait=Module["_sigwait"]=(a0,a1)=>(_sigwait=Module["_sigwait"]=wasmExports["sigwait"])(a0,a1);var _sigwaitinfo=Module["_sigwaitinfo"]=(a0,a1)=>(_sigwaitinfo=Module["_sigwaitinfo"]=wasmExports["sigwaitinfo"])(a0,a1);var _sigtimedwait=Module["_sigtimedwait"]=(a0,a1,a2)=>(_sigtimedwait=Module["_sigtimedwait"]=wasmExports["sigtimedwait"])(a0,a1,a2);var _sigismember=Module["_sigismember"]=(a0,a1)=>(_sigismember=Module["_sigismember"]=wasmExports["sigismember"])(a0,a1);var ___libc_current_sigrtmin=Module["___libc_current_sigrtmin"]=()=>(___libc_current_sigrtmin=Module["___libc_current_sigrtmin"]=wasmExports["__libc_current_sigrtmin"])();var ___libc_current_sigrtmax=Module["___libc_current_sigrtmax"]=()=>(___libc_current_sigrtmax=Module["___libc_current_sigrtmax"]=wasmExports["__libc_current_sigrtmax"])();var _PyTraceMalloc_Track=Module["_PyTraceMalloc_Track"]=(a0,a1,a2)=>(_PyTraceMalloc_Track=Module["_PyTraceMalloc_Track"]=wasmExports["PyTraceMalloc_Track"])(a0,a1,a2);var _PyTraceMalloc_Untrack=Module["_PyTraceMalloc_Untrack"]=(a0,a1)=>(_PyTraceMalloc_Untrack=Module["_PyTraceMalloc_Untrack"]=wasmExports["PyTraceMalloc_Untrack"])(a0,a1);var __PyTraceMalloc_GetTraceback=Module["__PyTraceMalloc_GetTraceback"]=(a0,a1)=>(__PyTraceMalloc_GetTraceback=Module["__PyTraceMalloc_GetTraceback"]=wasmExports["_PyTraceMalloc_GetTraceback"])(a0,a1);var _isalnum=Module["_isalnum"]=a0=>(_isalnum=Module["_isalnum"]=wasmExports["isalnum"])(a0);var _toupper=Module["_toupper"]=a0=>(_toupper=Module["_toupper"]=wasmExports["toupper"])(a0);var _clock_settime=Module["_clock_settime"]=(a0,a1)=>(_clock_settime=Module["_clock_settime"]=wasmExports["clock_settime"])(a0,a1);var _pthread_getcpuclockid=Module["_pthread_getcpuclockid"]=(a0,a1)=>(_pthread_getcpuclockid=Module["_pthread_getcpuclockid"]=wasmExports["pthread_getcpuclockid"])(a0,a1);var _clock_nanosleep=Module["_clock_nanosleep"]=(a0,a1,a2,a3)=>(_clock_nanosleep=Module["_clock_nanosleep"]=wasmExports["clock_nanosleep"])(a0,a1,a2,a3);var _time=Module["_time"]=a0=>(_time=Module["_time"]=wasmExports["time"])(a0);var _mktime=Module["_mktime"]=a0=>(_mktime=Module["_mktime"]=wasmExports["mktime"])(a0);var _clock=Module["_clock"]=()=>(_clock=Module["_clock"]=wasmExports["clock"])();var _wcscoll=Module["_wcscoll"]=(a0,a1)=>(_wcscoll=Module["_wcscoll"]=wasmExports["wcscoll"])(a0,a1);var _wcsxfrm=Module["_wcsxfrm"]=(a0,a1,a2)=>(_wcsxfrm=Module["_wcsxfrm"]=wasmExports["wcsxfrm"])(a0,a1,a2);var _gettext=Module["_gettext"]=a0=>(_gettext=Module["_gettext"]=wasmExports["gettext"])(a0);var _dgettext=Module["_dgettext"]=(a0,a1)=>(_dgettext=Module["_dgettext"]=wasmExports["dgettext"])(a0,a1);var _dcgettext=Module["_dcgettext"]=(a0,a1,a2)=>(_dcgettext=Module["_dcgettext"]=wasmExports["dcgettext"])(a0,a1,a2);var _textdomain=Module["_textdomain"]=a0=>(_textdomain=Module["_textdomain"]=wasmExports["textdomain"])(a0);var _bindtextdomain=Module["_bindtextdomain"]=(a0,a1)=>(_bindtextdomain=Module["_bindtextdomain"]=wasmExports["bindtextdomain"])(a0,a1);var _bind_textdomain_codeset=Module["_bind_textdomain_codeset"]=(a0,a1)=>(_bind_textdomain_codeset=Module["_bind_textdomain_codeset"]=wasmExports["bind_textdomain_codeset"])(a0,a1);var _isupper=Module["_isupper"]=a0=>(_isupper=Module["_isupper"]=wasmExports["isupper"])(a0);var ___small_fprintf=Module["___small_fprintf"]=(a0,a1,a2)=>(___small_fprintf=Module["___small_fprintf"]=wasmExports["__small_fprintf"])(a0,a1,a2);var __Py_Get_Getpath_CodeObject=Module["__Py_Get_Getpath_CodeObject"]=()=>(__Py_Get_Getpath_CodeObject=Module["__Py_Get_Getpath_CodeObject"]=wasmExports["_Py_Get_Getpath_CodeObject"])();var _ffi_prep_closure=Module["_ffi_prep_closure"]=(a0,a1,a2,a3)=>(_ffi_prep_closure=Module["_ffi_prep_closure"]=wasmExports["ffi_prep_closure"])(a0,a1,a2,a3);var _ffi_get_struct_offsets=Module["_ffi_get_struct_offsets"]=(a0,a1,a2)=>(_ffi_get_struct_offsets=Module["_ffi_get_struct_offsets"]=wasmExports["ffi_get_struct_offsets"])(a0,a1,a2);var _ffi_java_raw_size=Module["_ffi_java_raw_size"]=a0=>(_ffi_java_raw_size=Module["_ffi_java_raw_size"]=wasmExports["ffi_java_raw_size"])(a0);var _ffi_java_raw_to_ptrarray=Module["_ffi_java_raw_to_ptrarray"]=(a0,a1,a2)=>(_ffi_java_raw_to_ptrarray=Module["_ffi_java_raw_to_ptrarray"]=wasmExports["ffi_java_raw_to_ptrarray"])(a0,a1,a2);var _ffi_java_ptrarray_to_raw=Module["_ffi_java_ptrarray_to_raw"]=(a0,a1,a2)=>(_ffi_java_ptrarray_to_raw=Module["_ffi_java_ptrarray_to_raw"]=wasmExports["ffi_java_ptrarray_to_raw"])(a0,a1,a2);var _ffi_java_raw_call=Module["_ffi_java_raw_call"]=(a0,a1,a2,a3)=>(_ffi_java_raw_call=Module["_ffi_java_raw_call"]=wasmExports["ffi_java_raw_call"])(a0,a1,a2,a3);var _ffi_prep_java_raw_closure_loc=Module["_ffi_prep_java_raw_closure_loc"]=(a0,a1,a2,a3,a4)=>(_ffi_prep_java_raw_closure_loc=Module["_ffi_prep_java_raw_closure_loc"]=wasmExports["ffi_prep_java_raw_closure_loc"])(a0,a1,a2,a3,a4);var _ffi_prep_java_raw_closure=Module["_ffi_prep_java_raw_closure"]=(a0,a1,a2,a3)=>(_ffi_prep_java_raw_closure=Module["_ffi_prep_java_raw_closure"]=wasmExports["ffi_prep_java_raw_closure"])(a0,a1,a2,a3);var _ffi_tramp_is_supported=Module["_ffi_tramp_is_supported"]=()=>(_ffi_tramp_is_supported=Module["_ffi_tramp_is_supported"]=wasmExports["ffi_tramp_is_supported"])();var _ffi_tramp_alloc=Module["_ffi_tramp_alloc"]=a0=>(_ffi_tramp_alloc=Module["_ffi_tramp_alloc"]=wasmExports["ffi_tramp_alloc"])(a0);var _ffi_tramp_set_parms=Module["_ffi_tramp_set_parms"]=(a0,a1,a2)=>(_ffi_tramp_set_parms=Module["_ffi_tramp_set_parms"]=wasmExports["ffi_tramp_set_parms"])(a0,a1,a2);var _ffi_tramp_get_addr=Module["_ffi_tramp_get_addr"]=a0=>(_ffi_tramp_get_addr=Module["_ffi_tramp_get_addr"]=wasmExports["ffi_tramp_get_addr"])(a0);var _ffi_tramp_free=Module["_ffi_tramp_free"]=a0=>(_ffi_tramp_free=Module["_ffi_tramp_free"]=wasmExports["ffi_tramp_free"])(a0);var __hiwire_immortal_get=Module["__hiwire_immortal_get"]=a0=>(__hiwire_immortal_get=Module["__hiwire_immortal_get"]=wasmExports["_hiwire_immortal_get"])(a0);var __hiwire_get=Module["__hiwire_get"]=a0=>(__hiwire_get=Module["__hiwire_get"]=wasmExports["_hiwire_get"])(a0);var _hiwire_incref=Module["_hiwire_incref"]=a0=>(_hiwire_incref=Module["_hiwire_incref"]=wasmExports["hiwire_incref"])(a0);var __hiwire_immortal_add=Module["__hiwire_immortal_add"]=a0=>(__hiwire_immortal_add=Module["__hiwire_immortal_add"]=wasmExports["_hiwire_immortal_add"])(a0);var __hiwire_table_init=Module["__hiwire_table_init"]=()=>(__hiwire_table_init=Module["__hiwire_table_init"]=wasmExports["_hiwire_table_init"])();var __hiwire_set=Module["__hiwire_set"]=(a0,a1)=>(__hiwire_set=Module["__hiwire_set"]=wasmExports["_hiwire_set"])(a0,a1);var _hiwire_num_refs=Module["_hiwire_num_refs"]=()=>(_hiwire_num_refs=Module["_hiwire_num_refs"]=wasmExports["hiwire_num_refs"])();var __hiwire_slot_info=Module["__hiwire_slot_info"]=a0=>(__hiwire_slot_info=Module["__hiwire_slot_info"]=wasmExports["_hiwire_slot_info"])(a0);var __hiwire_delete=Module["__hiwire_delete"]=a0=>(__hiwire_delete=Module["__hiwire_delete"]=wasmExports["_hiwire_delete"])(a0);var __hiwire_immortal_table_init=Module["__hiwire_immortal_table_init"]=()=>(__hiwire_immortal_table_init=Module["__hiwire_immortal_table_init"]=wasmExports["_hiwire_immortal_table_init"])();var _adler32_z=Module["_adler32_z"]=(a0,a1,a2)=>(_adler32_z=Module["_adler32_z"]=wasmExports["adler32_z"])(a0,a1,a2);var _adler32_combine=Module["_adler32_combine"]=(a0,a1,a2)=>(_adler32_combine=Module["_adler32_combine"]=wasmExports["adler32_combine"])(a0,a1,a2);var _adler32_combine64=Module["_adler32_combine64"]=(a0,a1,a2)=>(_adler32_combine64=Module["_adler32_combine64"]=wasmExports["adler32_combine64"])(a0,a1,a2);var _compress2=Module["_compress2"]=(a0,a1,a2,a3,a4)=>(_compress2=Module["_compress2"]=wasmExports["compress2"])(a0,a1,a2,a3,a4);var _deflateInit_=Module["_deflateInit_"]=(a0,a1,a2,a3)=>(_deflateInit_=Module["_deflateInit_"]=wasmExports["deflateInit_"])(a0,a1,a2,a3);var _compress=Module["_compress"]=(a0,a1,a2,a3)=>(_compress=Module["_compress"]=wasmExports["compress"])(a0,a1,a2,a3);var _compressBound=Module["_compressBound"]=a0=>(_compressBound=Module["_compressBound"]=wasmExports["compressBound"])(a0);var _get_crc_table=Module["_get_crc_table"]=()=>(_get_crc_table=Module["_get_crc_table"]=wasmExports["get_crc_table"])();var _crc32_z=Module["_crc32_z"]=(a0,a1,a2)=>(_crc32_z=Module["_crc32_z"]=wasmExports["crc32_z"])(a0,a1,a2);var _crc32_combine64=Module["_crc32_combine64"]=(a0,a1,a2)=>(_crc32_combine64=Module["_crc32_combine64"]=wasmExports["crc32_combine64"])(a0,a1,a2);var _crc32_combine=Module["_crc32_combine"]=(a0,a1,a2)=>(_crc32_combine=Module["_crc32_combine"]=wasmExports["crc32_combine"])(a0,a1,a2);var _crc32_combine_gen64=Module["_crc32_combine_gen64"]=a0=>(_crc32_combine_gen64=Module["_crc32_combine_gen64"]=wasmExports["crc32_combine_gen64"])(a0);var _crc32_combine_gen=Module["_crc32_combine_gen"]=a0=>(_crc32_combine_gen=Module["_crc32_combine_gen"]=wasmExports["crc32_combine_gen"])(a0);var _crc32_combine_op=Module["_crc32_combine_op"]=(a0,a1,a2)=>(_crc32_combine_op=Module["_crc32_combine_op"]=wasmExports["crc32_combine_op"])(a0,a1,a2);var _zcalloc=Module["_zcalloc"]=(a0,a1,a2)=>(_zcalloc=Module["_zcalloc"]=wasmExports["zcalloc"])(a0,a1,a2);var _zcfree=Module["_zcfree"]=(a0,a1)=>(_zcfree=Module["_zcfree"]=wasmExports["zcfree"])(a0,a1);var _deflateReset=Module["_deflateReset"]=a0=>(_deflateReset=Module["_deflateReset"]=wasmExports["deflateReset"])(a0);var _deflateResetKeep=Module["_deflateResetKeep"]=a0=>(_deflateResetKeep=Module["_deflateResetKeep"]=wasmExports["deflateResetKeep"])(a0);var _deflateGetDictionary=Module["_deflateGetDictionary"]=(a0,a1,a2)=>(_deflateGetDictionary=Module["_deflateGetDictionary"]=wasmExports["deflateGetDictionary"])(a0,a1,a2);var __tr_init=Module["__tr_init"]=a0=>(__tr_init=Module["__tr_init"]=wasmExports["_tr_init"])(a0);var _deflateSetHeader=Module["_deflateSetHeader"]=(a0,a1)=>(_deflateSetHeader=Module["_deflateSetHeader"]=wasmExports["deflateSetHeader"])(a0,a1);var _deflatePending=Module["_deflatePending"]=(a0,a1,a2)=>(_deflatePending=Module["_deflatePending"]=wasmExports["deflatePending"])(a0,a1,a2);var _deflatePrime=Module["_deflatePrime"]=(a0,a1,a2)=>(_deflatePrime=Module["_deflatePrime"]=wasmExports["deflatePrime"])(a0,a1,a2);var __tr_flush_bits=Module["__tr_flush_bits"]=a0=>(__tr_flush_bits=Module["__tr_flush_bits"]=wasmExports["_tr_flush_bits"])(a0);var _deflateParams=Module["_deflateParams"]=(a0,a1,a2)=>(_deflateParams=Module["_deflateParams"]=wasmExports["deflateParams"])(a0,a1,a2);var __tr_align=Module["__tr_align"]=a0=>(__tr_align=Module["__tr_align"]=wasmExports["_tr_align"])(a0);var __tr_stored_block=Module["__tr_stored_block"]=(a0,a1,a2,a3)=>(__tr_stored_block=Module["__tr_stored_block"]=wasmExports["_tr_stored_block"])(a0,a1,a2,a3);var _deflateTune=Module["_deflateTune"]=(a0,a1,a2,a3,a4)=>(_deflateTune=Module["_deflateTune"]=wasmExports["deflateTune"])(a0,a1,a2,a3,a4);var _deflateBound=Module["_deflateBound"]=(a0,a1)=>(_deflateBound=Module["_deflateBound"]=wasmExports["deflateBound"])(a0,a1);var __tr_flush_block=Module["__tr_flush_block"]=(a0,a1,a2,a3)=>(__tr_flush_block=Module["__tr_flush_block"]=wasmExports["_tr_flush_block"])(a0,a1,a2,a3);var _gzclose=Module["_gzclose"]=a0=>(_gzclose=Module["_gzclose"]=wasmExports["gzclose"])(a0);var _gzclose_r=Module["_gzclose_r"]=a0=>(_gzclose_r=Module["_gzclose_r"]=wasmExports["gzclose_r"])(a0);var _gzclose_w=Module["_gzclose_w"]=a0=>(_gzclose_w=Module["_gzclose_w"]=wasmExports["gzclose_w"])(a0);var _gzopen=Module["_gzopen"]=(a0,a1)=>(_gzopen=Module["_gzopen"]=wasmExports["gzopen"])(a0,a1);var _gzopen64=Module["_gzopen64"]=(a0,a1)=>(_gzopen64=Module["_gzopen64"]=wasmExports["gzopen64"])(a0,a1);var _gzdopen=Module["_gzdopen"]=(a0,a1)=>(_gzdopen=Module["_gzdopen"]=wasmExports["gzdopen"])(a0,a1);var _gzbuffer=Module["_gzbuffer"]=(a0,a1)=>(_gzbuffer=Module["_gzbuffer"]=wasmExports["gzbuffer"])(a0,a1);var _gzrewind=Module["_gzrewind"]=a0=>(_gzrewind=Module["_gzrewind"]=wasmExports["gzrewind"])(a0);var _gzseek64=Module["_gzseek64"]=(a0,a1,a2)=>(_gzseek64=Module["_gzseek64"]=wasmExports["gzseek64"])(a0,a1,a2);var _gz_error=Module["_gz_error"]=(a0,a1,a2)=>(_gz_error=Module["_gz_error"]=wasmExports["gz_error"])(a0,a1,a2);var _gzseek=Module["_gzseek"]=(a0,a1,a2)=>(_gzseek=Module["_gzseek"]=wasmExports["gzseek"])(a0,a1,a2);var _gztell64=Module["_gztell64"]=a0=>(_gztell64=Module["_gztell64"]=wasmExports["gztell64"])(a0);var _gztell=Module["_gztell"]=a0=>(_gztell=Module["_gztell"]=wasmExports["gztell"])(a0);var _gzoffset64=Module["_gzoffset64"]=a0=>(_gzoffset64=Module["_gzoffset64"]=wasmExports["gzoffset64"])(a0);var _gzoffset=Module["_gzoffset"]=a0=>(_gzoffset=Module["_gzoffset"]=wasmExports["gzoffset"])(a0);var _gzeof=Module["_gzeof"]=a0=>(_gzeof=Module["_gzeof"]=wasmExports["gzeof"])(a0);var _gzerror=Module["_gzerror"]=(a0,a1)=>(_gzerror=Module["_gzerror"]=wasmExports["gzerror"])(a0,a1);var _gzclearerr=Module["_gzclearerr"]=a0=>(_gzclearerr=Module["_gzclearerr"]=wasmExports["gzclearerr"])(a0);var _gzread=Module["_gzread"]=(a0,a1,a2)=>(_gzread=Module["_gzread"]=wasmExports["gzread"])(a0,a1,a2);var _gzfread=Module["_gzfread"]=(a0,a1,a2,a3)=>(_gzfread=Module["_gzfread"]=wasmExports["gzfread"])(a0,a1,a2,a3);var _gzgetc=Module["_gzgetc"]=a0=>(_gzgetc=Module["_gzgetc"]=wasmExports["gzgetc"])(a0);var _gzgetc_=Module["_gzgetc_"]=a0=>(_gzgetc_=Module["_gzgetc_"]=wasmExports["gzgetc_"])(a0);var _gzungetc=Module["_gzungetc"]=(a0,a1)=>(_gzungetc=Module["_gzungetc"]=wasmExports["gzungetc"])(a0,a1);var _gzgets=Module["_gzgets"]=(a0,a1,a2)=>(_gzgets=Module["_gzgets"]=wasmExports["gzgets"])(a0,a1,a2);var _gzdirect=Module["_gzdirect"]=a0=>(_gzdirect=Module["_gzdirect"]=wasmExports["gzdirect"])(a0);var _inflateReset=Module["_inflateReset"]=a0=>(_inflateReset=Module["_inflateReset"]=wasmExports["inflateReset"])(a0);var _gzwrite=Module["_gzwrite"]=(a0,a1,a2)=>(_gzwrite=Module["_gzwrite"]=wasmExports["gzwrite"])(a0,a1,a2);var _gzfwrite=Module["_gzfwrite"]=(a0,a1,a2,a3)=>(_gzfwrite=Module["_gzfwrite"]=wasmExports["gzfwrite"])(a0,a1,a2,a3);var _gzputc=Module["_gzputc"]=(a0,a1)=>(_gzputc=Module["_gzputc"]=wasmExports["gzputc"])(a0,a1);var _gzputs=Module["_gzputs"]=(a0,a1)=>(_gzputs=Module["_gzputs"]=wasmExports["gzputs"])(a0,a1);var _gzvprintf=Module["_gzvprintf"]=(a0,a1,a2)=>(_gzvprintf=Module["_gzvprintf"]=wasmExports["gzvprintf"])(a0,a1,a2);var _gzprintf=Module["_gzprintf"]=(a0,a1,a2)=>(_gzprintf=Module["_gzprintf"]=wasmExports["gzprintf"])(a0,a1,a2);var _gzflush=Module["_gzflush"]=(a0,a1)=>(_gzflush=Module["_gzflush"]=wasmExports["gzflush"])(a0,a1);var _gzsetparams=Module["_gzsetparams"]=(a0,a1,a2)=>(_gzsetparams=Module["_gzsetparams"]=wasmExports["gzsetparams"])(a0,a1,a2);var _inflateBackInit_=Module["_inflateBackInit_"]=(a0,a1,a2,a3,a4)=>(_inflateBackInit_=Module["_inflateBackInit_"]=wasmExports["inflateBackInit_"])(a0,a1,a2,a3,a4);var _inflateBack=Module["_inflateBack"]=(a0,a1,a2,a3,a4)=>(_inflateBack=Module["_inflateBack"]=wasmExports["inflateBack"])(a0,a1,a2,a3,a4);var _inflate_table=Module["_inflate_table"]=(a0,a1,a2,a3,a4,a5)=>(_inflate_table=Module["_inflate_table"]=wasmExports["inflate_table"])(a0,a1,a2,a3,a4,a5);var _inflate_fast=Module["_inflate_fast"]=(a0,a1)=>(_inflate_fast=Module["_inflate_fast"]=wasmExports["inflate_fast"])(a0,a1);var _inflateBackEnd=Module["_inflateBackEnd"]=a0=>(_inflateBackEnd=Module["_inflateBackEnd"]=wasmExports["inflateBackEnd"])(a0);var _inflateResetKeep=Module["_inflateResetKeep"]=a0=>(_inflateResetKeep=Module["_inflateResetKeep"]=wasmExports["inflateResetKeep"])(a0);var _inflateReset2=Module["_inflateReset2"]=(a0,a1)=>(_inflateReset2=Module["_inflateReset2"]=wasmExports["inflateReset2"])(a0,a1);var _inflateInit_=Module["_inflateInit_"]=(a0,a1,a2)=>(_inflateInit_=Module["_inflateInit_"]=wasmExports["inflateInit_"])(a0,a1,a2);var _inflatePrime=Module["_inflatePrime"]=(a0,a1,a2)=>(_inflatePrime=Module["_inflatePrime"]=wasmExports["inflatePrime"])(a0,a1,a2);var _inflateGetDictionary=Module["_inflateGetDictionary"]=(a0,a1,a2)=>(_inflateGetDictionary=Module["_inflateGetDictionary"]=wasmExports["inflateGetDictionary"])(a0,a1,a2);var _inflateGetHeader=Module["_inflateGetHeader"]=(a0,a1)=>(_inflateGetHeader=Module["_inflateGetHeader"]=wasmExports["inflateGetHeader"])(a0,a1);var _inflateSync=Module["_inflateSync"]=a0=>(_inflateSync=Module["_inflateSync"]=wasmExports["inflateSync"])(a0);var _inflateSyncPoint=Module["_inflateSyncPoint"]=a0=>(_inflateSyncPoint=Module["_inflateSyncPoint"]=wasmExports["inflateSyncPoint"])(a0);var _inflateUndermine=Module["_inflateUndermine"]=(a0,a1)=>(_inflateUndermine=Module["_inflateUndermine"]=wasmExports["inflateUndermine"])(a0,a1);var _inflateValidate=Module["_inflateValidate"]=(a0,a1)=>(_inflateValidate=Module["_inflateValidate"]=wasmExports["inflateValidate"])(a0,a1);var _inflateMark=Module["_inflateMark"]=a0=>(_inflateMark=Module["_inflateMark"]=wasmExports["inflateMark"])(a0);var _inflateCodesUsed=Module["_inflateCodesUsed"]=a0=>(_inflateCodesUsed=Module["_inflateCodesUsed"]=wasmExports["inflateCodesUsed"])(a0);var __tr_tally=Module["__tr_tally"]=(a0,a1,a2)=>(__tr_tally=Module["__tr_tally"]=wasmExports["_tr_tally"])(a0,a1,a2);var _uncompress2=Module["_uncompress2"]=(a0,a1,a2,a3)=>(_uncompress2=Module["_uncompress2"]=wasmExports["uncompress2"])(a0,a1,a2,a3);var _uncompress=Module["_uncompress"]=(a0,a1,a2,a3)=>(_uncompress=Module["_uncompress"]=wasmExports["uncompress"])(a0,a1,a2,a3);var _zlibCompileFlags=Module["_zlibCompileFlags"]=()=>(_zlibCompileFlags=Module["_zlibCompileFlags"]=wasmExports["zlibCompileFlags"])();var _zError=Module["_zError"]=a0=>(_zError=Module["_zError"]=wasmExports["zError"])(a0);var _BZ2_blockSort=Module["_BZ2_blockSort"]=a0=>(_BZ2_blockSort=Module["_BZ2_blockSort"]=wasmExports["BZ2_blockSort"])(a0);var _BZ2_bz__AssertH__fail=Module["_BZ2_bz__AssertH__fail"]=a0=>(_BZ2_bz__AssertH__fail=Module["_BZ2_bz__AssertH__fail"]=wasmExports["BZ2_bz__AssertH__fail"])(a0);var _BZ2_bzlibVersion=Module["_BZ2_bzlibVersion"]=()=>(_BZ2_bzlibVersion=Module["_BZ2_bzlibVersion"]=wasmExports["BZ2_bzlibVersion"])();var _BZ2_compressBlock=Module["_BZ2_compressBlock"]=(a0,a1)=>(_BZ2_compressBlock=Module["_BZ2_compressBlock"]=wasmExports["BZ2_compressBlock"])(a0,a1);var _BZ2_indexIntoF=Module["_BZ2_indexIntoF"]=(a0,a1)=>(_BZ2_indexIntoF=Module["_BZ2_indexIntoF"]=wasmExports["BZ2_indexIntoF"])(a0,a1);var _BZ2_decompress=Module["_BZ2_decompress"]=a0=>(_BZ2_decompress=Module["_BZ2_decompress"]=wasmExports["BZ2_decompress"])(a0);var _BZ2_bzWriteOpen=Module["_BZ2_bzWriteOpen"]=(a0,a1,a2,a3,a4)=>(_BZ2_bzWriteOpen=Module["_BZ2_bzWriteOpen"]=wasmExports["BZ2_bzWriteOpen"])(a0,a1,a2,a3,a4);var _BZ2_bzWrite=Module["_BZ2_bzWrite"]=(a0,a1,a2,a3)=>(_BZ2_bzWrite=Module["_BZ2_bzWrite"]=wasmExports["BZ2_bzWrite"])(a0,a1,a2,a3);var _BZ2_bzWriteClose=Module["_BZ2_bzWriteClose"]=(a0,a1,a2,a3,a4)=>(_BZ2_bzWriteClose=Module["_BZ2_bzWriteClose"]=wasmExports["BZ2_bzWriteClose"])(a0,a1,a2,a3,a4);var _BZ2_bzWriteClose64=Module["_BZ2_bzWriteClose64"]=(a0,a1,a2,a3,a4,a5,a6)=>(_BZ2_bzWriteClose64=Module["_BZ2_bzWriteClose64"]=wasmExports["BZ2_bzWriteClose64"])(a0,a1,a2,a3,a4,a5,a6);var _BZ2_bzReadOpen=Module["_BZ2_bzReadOpen"]=(a0,a1,a2,a3,a4,a5)=>(_BZ2_bzReadOpen=Module["_BZ2_bzReadOpen"]=wasmExports["BZ2_bzReadOpen"])(a0,a1,a2,a3,a4,a5);var _BZ2_bzReadClose=Module["_BZ2_bzReadClose"]=(a0,a1)=>(_BZ2_bzReadClose=Module["_BZ2_bzReadClose"]=wasmExports["BZ2_bzReadClose"])(a0,a1);var _BZ2_bzRead=Module["_BZ2_bzRead"]=(a0,a1,a2,a3)=>(_BZ2_bzRead=Module["_BZ2_bzRead"]=wasmExports["BZ2_bzRead"])(a0,a1,a2,a3);var _fgetc=Module["_fgetc"]=a0=>(_fgetc=Module["_fgetc"]=wasmExports["fgetc"])(a0);var _BZ2_bzReadGetUnused=Module["_BZ2_bzReadGetUnused"]=(a0,a1,a2,a3)=>(_BZ2_bzReadGetUnused=Module["_BZ2_bzReadGetUnused"]=wasmExports["BZ2_bzReadGetUnused"])(a0,a1,a2,a3);var _BZ2_bzBuffToBuffCompress=Module["_BZ2_bzBuffToBuffCompress"]=(a0,a1,a2,a3,a4,a5,a6)=>(_BZ2_bzBuffToBuffCompress=Module["_BZ2_bzBuffToBuffCompress"]=wasmExports["BZ2_bzBuffToBuffCompress"])(a0,a1,a2,a3,a4,a5,a6);var _BZ2_bzBuffToBuffDecompress=Module["_BZ2_bzBuffToBuffDecompress"]=(a0,a1,a2,a3,a4,a5)=>(_BZ2_bzBuffToBuffDecompress=Module["_BZ2_bzBuffToBuffDecompress"]=wasmExports["BZ2_bzBuffToBuffDecompress"])(a0,a1,a2,a3,a4,a5);var _BZ2_bzopen=Module["_BZ2_bzopen"]=(a0,a1)=>(_BZ2_bzopen=Module["_BZ2_bzopen"]=wasmExports["BZ2_bzopen"])(a0,a1);var _BZ2_bzdopen=Module["_BZ2_bzdopen"]=(a0,a1)=>(_BZ2_bzdopen=Module["_BZ2_bzdopen"]=wasmExports["BZ2_bzdopen"])(a0,a1);var _BZ2_bzread=Module["_BZ2_bzread"]=(a0,a1,a2)=>(_BZ2_bzread=Module["_BZ2_bzread"]=wasmExports["BZ2_bzread"])(a0,a1,a2);var _BZ2_bzwrite=Module["_BZ2_bzwrite"]=(a0,a1,a2)=>(_BZ2_bzwrite=Module["_BZ2_bzwrite"]=wasmExports["BZ2_bzwrite"])(a0,a1,a2);var _BZ2_bzflush=Module["_BZ2_bzflush"]=a0=>(_BZ2_bzflush=Module["_BZ2_bzflush"]=wasmExports["BZ2_bzflush"])(a0);var _BZ2_bzclose=Module["_BZ2_bzclose"]=a0=>(_BZ2_bzclose=Module["_BZ2_bzclose"]=wasmExports["BZ2_bzclose"])(a0);var _BZ2_bzerror=Module["_BZ2_bzerror"]=(a0,a1)=>(_BZ2_bzerror=Module["_BZ2_bzerror"]=wasmExports["BZ2_bzerror"])(a0,a1);var _BZ2_bsInitWrite=Module["_BZ2_bsInitWrite"]=a0=>(_BZ2_bsInitWrite=Module["_BZ2_bsInitWrite"]=wasmExports["BZ2_bsInitWrite"])(a0);var _BZ2_hbMakeCodeLengths=Module["_BZ2_hbMakeCodeLengths"]=(a0,a1,a2,a3)=>(_BZ2_hbMakeCodeLengths=Module["_BZ2_hbMakeCodeLengths"]=wasmExports["BZ2_hbMakeCodeLengths"])(a0,a1,a2,a3);var _BZ2_hbAssignCodes=Module["_BZ2_hbAssignCodes"]=(a0,a1,a2,a3,a4)=>(_BZ2_hbAssignCodes=Module["_BZ2_hbAssignCodes"]=wasmExports["BZ2_hbAssignCodes"])(a0,a1,a2,a3,a4);var _BZ2_hbCreateDecodeTables=Module["_BZ2_hbCreateDecodeTables"]=(a0,a1,a2,a3,a4,a5,a6)=>(_BZ2_hbCreateDecodeTables=Module["_BZ2_hbCreateDecodeTables"]=wasmExports["BZ2_hbCreateDecodeTables"])(a0,a1,a2,a3,a4,a5,a6);var _emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=a0=>(_emscripten_GetProcAddress=Module["_emscripten_GetProcAddress"]=wasmExports["emscripten_GetProcAddress"])(a0);var _emscripten_webgl1_get_proc_address=Module["_emscripten_webgl1_get_proc_address"]=a0=>(_emscripten_webgl1_get_proc_address=Module["_emscripten_webgl1_get_proc_address"]=wasmExports["emscripten_webgl1_get_proc_address"])(a0);var __webgl1_match_ext_proc_address_without_suffix=Module["__webgl1_match_ext_proc_address_without_suffix"]=a0=>(__webgl1_match_ext_proc_address_without_suffix=Module["__webgl1_match_ext_proc_address_without_suffix"]=wasmExports["_webgl1_match_ext_proc_address_without_suffix"])(a0);var _emscripten_webgl_get_proc_address=Module["_emscripten_webgl_get_proc_address"]=a0=>(_emscripten_webgl_get_proc_address=Module["_emscripten_webgl_get_proc_address"]=wasmExports["emscripten_webgl_get_proc_address"])(a0);var _SDL_GL_GetProcAddress=Module["_SDL_GL_GetProcAddress"]=a0=>(_SDL_GL_GetProcAddress=Module["_SDL_GL_GetProcAddress"]=wasmExports["SDL_GL_GetProcAddress"])(a0);var _eglGetProcAddress=Module["_eglGetProcAddress"]=a0=>(_eglGetProcAddress=Module["_eglGetProcAddress"]=wasmExports["eglGetProcAddress"])(a0);var _glfwGetProcAddress=Module["_glfwGetProcAddress"]=a0=>(_glfwGetProcAddress=Module["_glfwGetProcAddress"]=wasmExports["glfwGetProcAddress"])(a0);var _getdate=Module["_getdate"]=a0=>(_getdate=Module["_getdate"]=wasmExports["getdate"])(a0);var _stime=Module["_stime"]=a0=>(_stime=Module["_stime"]=wasmExports["stime"])(a0);var _clock_getcpuclockid=Module["_clock_getcpuclockid"]=(a0,a1)=>(_clock_getcpuclockid=Module["_clock_getcpuclockid"]=wasmExports["clock_getcpuclockid"])(a0,a1);var _getpwnam=Module["_getpwnam"]=a0=>(_getpwnam=Module["_getpwnam"]=wasmExports["getpwnam"])(a0);var _getpwuid=Module["_getpwuid"]=a0=>(_getpwuid=Module["_getpwuid"]=wasmExports["getpwuid"])(a0);var _getpwnam_r=Module["_getpwnam_r"]=(a0,a1,a2,a3,a4)=>(_getpwnam_r=Module["_getpwnam_r"]=wasmExports["getpwnam_r"])(a0,a1,a2,a3,a4);var _getpwuid_r=Module["_getpwuid_r"]=(a0,a1,a2,a3,a4)=>(_getpwuid_r=Module["_getpwuid_r"]=wasmExports["getpwuid_r"])(a0,a1,a2,a3,a4);var _setpwent=Module["_setpwent"]=()=>(_setpwent=Module["_setpwent"]=wasmExports["setpwent"])();var _endpwent=Module["_endpwent"]=()=>(_endpwent=Module["_endpwent"]=wasmExports["endpwent"])();var _getpwent=Module["_getpwent"]=()=>(_getpwent=Module["_getpwent"]=wasmExports["getpwent"])();var _getgrnam=Module["_getgrnam"]=a0=>(_getgrnam=Module["_getgrnam"]=wasmExports["getgrnam"])(a0);var _getgrgid=Module["_getgrgid"]=a0=>(_getgrgid=Module["_getgrgid"]=wasmExports["getgrgid"])(a0);var _getgrnam_r=Module["_getgrnam_r"]=(a0,a1,a2,a3,a4)=>(_getgrnam_r=Module["_getgrnam_r"]=wasmExports["getgrnam_r"])(a0,a1,a2,a3,a4);var _getgrgid_r=Module["_getgrgid_r"]=(a0,a1,a2,a3,a4)=>(_getgrgid_r=Module["_getgrgid_r"]=wasmExports["getgrgid_r"])(a0,a1,a2,a3,a4);var _getgrent=Module["_getgrent"]=()=>(_getgrent=Module["_getgrent"]=wasmExports["getgrent"])();var _endgrent=Module["_endgrent"]=()=>(_endgrent=Module["_endgrent"]=wasmExports["endgrent"])();var _setgrent=Module["_setgrent"]=()=>(_setgrent=Module["_setgrent"]=wasmExports["setgrent"])();var _flock=Module["_flock"]=(a0,a1)=>(_flock=Module["_flock"]=wasmExports["flock"])(a0,a1);var _vfork=Module["_vfork"]=()=>(_vfork=Module["_vfork"]=wasmExports["vfork"])();var _posix_spawn=Module["_posix_spawn"]=(a0,a1,a2,a3,a4,a5)=>(_posix_spawn=Module["_posix_spawn"]=wasmExports["posix_spawn"])(a0,a1,a2,a3,a4,a5);var _popen=Module["_popen"]=(a0,a1)=>(_popen=Module["_popen"]=wasmExports["popen"])(a0,a1);var _pclose=Module["_pclose"]=a0=>(_pclose=Module["_pclose"]=wasmExports["pclose"])(a0);var _setgroups=Module["_setgroups"]=(a0,a1)=>(_setgroups=Module["_setgroups"]=wasmExports["setgroups"])(a0,a1);var _sigaltstack=Module["_sigaltstack"]=(a0,a1)=>(_sigaltstack=Module["_sigaltstack"]=wasmExports["sigaltstack"])(a0,a1);var ___syscall_uname=Module["___syscall_uname"]=a0=>(___syscall_uname=Module["___syscall_uname"]=wasmExports["__syscall_uname"])(a0);var ___syscall_setpgid=Module["___syscall_setpgid"]=(a0,a1)=>(___syscall_setpgid=Module["___syscall_setpgid"]=wasmExports["__syscall_setpgid"])(a0,a1);var ___syscall_sync=Module["___syscall_sync"]=()=>(___syscall_sync=Module["___syscall_sync"]=wasmExports["__syscall_sync"])();var ___syscall_getsid=Module["___syscall_getsid"]=a0=>(___syscall_getsid=Module["___syscall_getsid"]=wasmExports["__syscall_getsid"])(a0);var ___syscall_getpgid=Module["___syscall_getpgid"]=a0=>(___syscall_getpgid=Module["___syscall_getpgid"]=wasmExports["__syscall_getpgid"])(a0);var ___syscall_getpid=Module["___syscall_getpid"]=()=>(___syscall_getpid=Module["___syscall_getpid"]=wasmExports["__syscall_getpid"])();var ___syscall_getppid=Module["___syscall_getppid"]=()=>(___syscall_getppid=Module["___syscall_getppid"]=wasmExports["__syscall_getppid"])();var ___syscall_linkat=Module["___syscall_linkat"]=(a0,a1,a2,a3,a4)=>(___syscall_linkat=Module["___syscall_linkat"]=wasmExports["__syscall_linkat"])(a0,a1,a2,a3,a4);var ___syscall_getgroups32=Module["___syscall_getgroups32"]=(a0,a1)=>(___syscall_getgroups32=Module["___syscall_getgroups32"]=wasmExports["__syscall_getgroups32"])(a0,a1);var ___syscall_setsid=Module["___syscall_setsid"]=()=>(___syscall_setsid=Module["___syscall_setsid"]=wasmExports["__syscall_setsid"])();var ___syscall_umask=Module["___syscall_umask"]=a0=>(___syscall_umask=Module["___syscall_umask"]=wasmExports["__syscall_umask"])(a0);var ___syscall_setrlimit=Module["___syscall_setrlimit"]=(a0,a1)=>(___syscall_setrlimit=Module["___syscall_setrlimit"]=wasmExports["__syscall_setrlimit"])(a0,a1);var ___syscall_getrusage=Module["___syscall_getrusage"]=(a0,a1)=>(___syscall_getrusage=Module["___syscall_getrusage"]=wasmExports["__syscall_getrusage"])(a0,a1);var ___syscall_getpriority=Module["___syscall_getpriority"]=(a0,a1)=>(___syscall_getpriority=Module["___syscall_getpriority"]=wasmExports["__syscall_getpriority"])(a0,a1);var ___syscall_setpriority=Module["___syscall_setpriority"]=(a0,a1,a2)=>(___syscall_setpriority=Module["___syscall_setpriority"]=wasmExports["__syscall_setpriority"])(a0,a1,a2);var ___syscall_setdomainname=Module["___syscall_setdomainname"]=(a0,a1)=>(___syscall_setdomainname=Module["___syscall_setdomainname"]=wasmExports["__syscall_setdomainname"])(a0,a1);var ___syscall_getuid32=Module["___syscall_getuid32"]=()=>(___syscall_getuid32=Module["___syscall_getuid32"]=wasmExports["__syscall_getuid32"])();var ___syscall_getgid32=Module["___syscall_getgid32"]=()=>(___syscall_getgid32=Module["___syscall_getgid32"]=wasmExports["__syscall_getgid32"])();var ___syscall_geteuid32=Module["___syscall_geteuid32"]=()=>(___syscall_geteuid32=Module["___syscall_geteuid32"]=wasmExports["__syscall_geteuid32"])();var ___syscall_getegid32=Module["___syscall_getegid32"]=()=>(___syscall_getegid32=Module["___syscall_getegid32"]=wasmExports["__syscall_getegid32"])();var ___syscall_getresuid32=Module["___syscall_getresuid32"]=(a0,a1,a2)=>(___syscall_getresuid32=Module["___syscall_getresuid32"]=wasmExports["__syscall_getresuid32"])(a0,a1,a2);var ___syscall_getresgid32=Module["___syscall_getresgid32"]=(a0,a1,a2)=>(___syscall_getresgid32=Module["___syscall_getresgid32"]=wasmExports["__syscall_getresgid32"])(a0,a1,a2);var ___syscall_pause=Module["___syscall_pause"]=()=>(___syscall_pause=Module["___syscall_pause"]=wasmExports["__syscall_pause"])();var ___syscall_madvise=Module["___syscall_madvise"]=(a0,a1,a2)=>(___syscall_madvise=Module["___syscall_madvise"]=wasmExports["__syscall_madvise"])(a0,a1,a2);var ___syscall_mlock=Module["___syscall_mlock"]=(a0,a1)=>(___syscall_mlock=Module["___syscall_mlock"]=wasmExports["__syscall_mlock"])(a0,a1);var ___syscall_munlock=Module["___syscall_munlock"]=(a0,a1)=>(___syscall_munlock=Module["___syscall_munlock"]=wasmExports["__syscall_munlock"])(a0,a1);var ___syscall_mprotect=Module["___syscall_mprotect"]=(a0,a1,a2)=>(___syscall_mprotect=Module["___syscall_mprotect"]=wasmExports["__syscall_mprotect"])(a0,a1,a2);var ___syscall_mremap=Module["___syscall_mremap"]=(a0,a1,a2,a3,a4)=>(___syscall_mremap=Module["___syscall_mremap"]=wasmExports["__syscall_mremap"])(a0,a1,a2,a3,a4);var ___syscall_mlockall=Module["___syscall_mlockall"]=a0=>(___syscall_mlockall=Module["___syscall_mlockall"]=wasmExports["__syscall_mlockall"])(a0);var ___syscall_munlockall=Module["___syscall_munlockall"]=()=>(___syscall_munlockall=Module["___syscall_munlockall"]=wasmExports["__syscall_munlockall"])();var ___syscall_prlimit64=Module["___syscall_prlimit64"]=(a0,a1,a2,a3)=>(___syscall_prlimit64=Module["___syscall_prlimit64"]=wasmExports["__syscall_prlimit64"])(a0,a1,a2,a3);var ___syscall_ugetrlimit=Module["___syscall_ugetrlimit"]=(a0,a1)=>(___syscall_ugetrlimit=Module["___syscall_ugetrlimit"]=wasmExports["__syscall_ugetrlimit"])(a0,a1);var ___syscall_setsockopt=Module["___syscall_setsockopt"]=(a0,a1,a2,a3,a4,a5)=>(___syscall_setsockopt=Module["___syscall_setsockopt"]=wasmExports["__syscall_setsockopt"])(a0,a1,a2,a3,a4,a5);var ___syscall_acct=Module["___syscall_acct"]=a0=>(___syscall_acct=Module["___syscall_acct"]=wasmExports["__syscall_acct"])(a0);var ___syscall_mincore=Module["___syscall_mincore"]=(a0,a1,a2)=>(___syscall_mincore=Module["___syscall_mincore"]=wasmExports["__syscall_mincore"])(a0,a1,a2);var ___syscall_pipe2=Module["___syscall_pipe2"]=(a0,a1)=>(___syscall_pipe2=Module["___syscall_pipe2"]=wasmExports["__syscall_pipe2"])(a0,a1);var ___syscall_pselect6=Module["___syscall_pselect6"]=(a0,a1,a2,a3,a4,a5)=>(___syscall_pselect6=Module["___syscall_pselect6"]=wasmExports["__syscall_pselect6"])(a0,a1,a2,a3,a4,a5);var ___syscall_recvmmsg=Module["___syscall_recvmmsg"]=(a0,a1,a2,a3,a4)=>(___syscall_recvmmsg=Module["___syscall_recvmmsg"]=wasmExports["__syscall_recvmmsg"])(a0,a1,a2,a3,a4);var ___syscall_sendmmsg=Module["___syscall_sendmmsg"]=(a0,a1,a2,a3,a4)=>(___syscall_sendmmsg=Module["___syscall_sendmmsg"]=wasmExports["__syscall_sendmmsg"])(a0,a1,a2,a3,a4);var ___syscall_shutdown=Module["___syscall_shutdown"]=(a0,a1,a2,a3,a4,a5)=>(___syscall_shutdown=Module["___syscall_shutdown"]=wasmExports["__syscall_shutdown"])(a0,a1,a2,a3,a4,a5);var ___syscall_socketpair=Module["___syscall_socketpair"]=(a0,a1,a2,a3,a4,a5)=>(___syscall_socketpair=Module["___syscall_socketpair"]=wasmExports["__syscall_socketpair"])(a0,a1,a2,a3,a4,a5);var ___syscall_wait4=Module["___syscall_wait4"]=(a0,a1,a2,a3)=>(___syscall_wait4=Module["___syscall_wait4"]=wasmExports["__syscall_wait4"])(a0,a1,a2,a3);var _atexit=Module["_atexit"]=a0=>(_atexit=Module["_atexit"]=wasmExports["atexit"])(a0);var ___cxa_atexit=Module["___cxa_atexit"]=(a0,a1,a2)=>(___cxa_atexit=Module["___cxa_atexit"]=wasmExports["__cxa_atexit"])(a0,a1,a2);var ___cxa_finalize=Module["___cxa_finalize"]=a0=>(___cxa_finalize=Module["___cxa_finalize"]=wasmExports["__cxa_finalize"])(a0);var __Exit=Module["__Exit"]=a0=>(__Exit=Module["__Exit"]=wasmExports["_Exit"])(a0);var _cosf=Module["_cosf"]=a0=>(_cosf=Module["_cosf"]=wasmExports["cosf"])(a0);var _sinf=Module["_sinf"]=a0=>(_sinf=Module["_sinf"]=wasmExports["sinf"])(a0);var _expf=Module["_expf"]=a0=>(_expf=Module["_expf"]=wasmExports["expf"])(a0);var ___multf3=Module["___multf3"]=(a0,a1,a2,a3,a4)=>(___multf3=Module["___multf3"]=wasmExports["__multf3"])(a0,a1,a2,a3,a4);var ___addtf3=Module["___addtf3"]=(a0,a1,a2,a3,a4)=>(___addtf3=Module["___addtf3"]=wasmExports["__addtf3"])(a0,a1,a2,a3,a4);var ___subtf3=Module["___subtf3"]=(a0,a1,a2,a3,a4)=>(___subtf3=Module["___subtf3"]=wasmExports["__subtf3"])(a0,a1,a2,a3,a4);var ___ctype_b_loc=Module["___ctype_b_loc"]=()=>(___ctype_b_loc=Module["___ctype_b_loc"]=wasmExports["__ctype_b_loc"])();var ___ctype_get_mb_cur_max=Module["___ctype_get_mb_cur_max"]=()=>(___ctype_get_mb_cur_max=Module["___ctype_get_mb_cur_max"]=wasmExports["__ctype_get_mb_cur_max"])();var ___get_tp=Module["___get_tp"]=()=>(___get_tp=Module["___get_tp"]=wasmExports["__get_tp"])();var ___ctype_tolower_loc=Module["___ctype_tolower_loc"]=()=>(___ctype_tolower_loc=Module["___ctype_tolower_loc"]=wasmExports["__ctype_tolower_loc"])();var ___ctype_toupper_loc=Module["___ctype_toupper_loc"]=()=>(___ctype_toupper_loc=Module["___ctype_toupper_loc"]=wasmExports["__ctype_toupper_loc"])();var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=()=>(___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=wasmExports["__emscripten_environ_constructor"])();var _emscripten_builtin_malloc=Module["_emscripten_builtin_malloc"]=a0=>(_emscripten_builtin_malloc=Module["_emscripten_builtin_malloc"]=wasmExports["emscripten_builtin_malloc"])(a0);var ___flt_rounds=Module["___flt_rounds"]=()=>(___flt_rounds=Module["___flt_rounds"]=wasmExports["__flt_rounds"])();var _fegetround=Module["_fegetround"]=()=>(_fegetround=Module["_fegetround"]=wasmExports["fegetround"])();var ___fmodeflags=Module["___fmodeflags"]=a0=>(___fmodeflags=Module["___fmodeflags"]=wasmExports["__fmodeflags"])(a0);var ___fpclassify=Module["___fpclassify"]=a0=>(___fpclassify=Module["___fpclassify"]=wasmExports["__fpclassify"])(a0);var ___fpclassifyf=Module["___fpclassifyf"]=a0=>(___fpclassifyf=Module["___fpclassifyf"]=wasmExports["__fpclassifyf"])(a0);var ___fpclassifyl=Module["___fpclassifyl"]=(a0,a1)=>(___fpclassifyl=Module["___fpclassifyl"]=wasmExports["__fpclassifyl"])(a0,a1);var ___divtf3=Module["___divtf3"]=(a0,a1,a2,a3,a4)=>(___divtf3=Module["___divtf3"]=wasmExports["__divtf3"])(a0,a1,a2,a3,a4);var ___mo_lookup=Module["___mo_lookup"]=(a0,a1,a2)=>(___mo_lookup=Module["___mo_lookup"]=wasmExports["__mo_lookup"])(a0,a1,a2);var ___overflow=Module["___overflow"]=(a0,a1)=>(___overflow=Module["___overflow"]=wasmExports["__overflow"])(a0,a1);var _scalbn=Module["_scalbn"]=(a0,a1)=>(_scalbn=Module["_scalbn"]=wasmExports["scalbn"])(a0,a1);var _floor=Module["_floor"]=a0=>(_floor=Module["_floor"]=wasmExports["floor"])(a0);var ___lttf2=Module["___lttf2"]=(a0,a1,a2,a3)=>(___lttf2=Module["___lttf2"]=wasmExports["__lttf2"])(a0,a1,a2,a3);var ___fixtfdi=Module["___fixtfdi"]=(a0,a1)=>(___fixtfdi=Module["___fixtfdi"]=wasmExports["__fixtfdi"])(a0,a1);var ___gttf2=Module["___gttf2"]=(a0,a1,a2,a3)=>(___gttf2=Module["___gttf2"]=wasmExports["__gttf2"])(a0,a1,a2,a3);var ___fixtfsi=Module["___fixtfsi"]=(a0,a1)=>(___fixtfsi=Module["___fixtfsi"]=wasmExports["__fixtfsi"])(a0,a1);var ___floatsitf=Module["___floatsitf"]=(a0,a1)=>(___floatsitf=Module["___floatsitf"]=wasmExports["__floatsitf"])(a0,a1);var ___signbit=Module["___signbit"]=a0=>(___signbit=Module["___signbit"]=wasmExports["__signbit"])(a0);var ___signbitf=Module["___signbitf"]=a0=>(___signbitf=Module["___signbitf"]=wasmExports["__signbitf"])(a0);var ___signbitl=Module["___signbitl"]=(a0,a1)=>(___signbitl=Module["___signbitl"]=wasmExports["__signbitl"])(a0,a1);var ___wasi_syscall_ret=Module["___wasi_syscall_ret"]=a0=>(___wasi_syscall_ret=Module["___wasi_syscall_ret"]=wasmExports["__wasi_syscall_ret"])(a0);var ___synccall=Module["___synccall"]=(a0,a1)=>(___synccall=Module["___synccall"]=wasmExports["__synccall"])(a0,a1);var _fabsl=Module["_fabsl"]=(a0,a1,a2)=>(_fabsl=Module["_fabsl"]=wasmExports["fabsl"])(a0,a1,a2);var ___getf2=Module["___getf2"]=(a0,a1,a2,a3)=>(___getf2=Module["___getf2"]=wasmExports["__getf2"])(a0,a1,a2,a3);var ___uflow=Module["___uflow"]=a0=>(___uflow=Module["___uflow"]=wasmExports["__uflow"])(a0);var ___fxstat=Module["___fxstat"]=(a0,a1,a2)=>(___fxstat=Module["___fxstat"]=wasmExports["__fxstat"])(a0,a1,a2);var ___fxstatat=Module["___fxstatat"]=(a0,a1,a2,a3,a4)=>(___fxstatat=Module["___fxstatat"]=wasmExports["__fxstatat"])(a0,a1,a2,a3,a4);var ___lxstat=Module["___lxstat"]=(a0,a1,a2)=>(___lxstat=Module["___lxstat"]=wasmExports["__lxstat"])(a0,a1,a2);var ___xstat=Module["___xstat"]=(a0,a1,a2)=>(___xstat=Module["___xstat"]=wasmExports["__xstat"])(a0,a1,a2);var ___xmknod=Module["___xmknod"]=(a0,a1,a2,a3)=>(___xmknod=Module["___xmknod"]=wasmExports["__xmknod"])(a0,a1,a2,a3);var _mknod=Module["_mknod"]=(a0,a1,a2)=>(_mknod=Module["_mknod"]=wasmExports["mknod"])(a0,a1,a2);var ___xmknodat=Module["___xmknodat"]=(a0,a1,a2,a3,a4)=>(___xmknodat=Module["___xmknodat"]=wasmExports["__xmknodat"])(a0,a1,a2,a3,a4);var _mknodat=Module["_mknodat"]=(a0,a1,a2,a3)=>(_mknodat=Module["_mknodat"]=wasmExports["mknodat"])(a0,a1,a2,a3);var _a64l=Module["_a64l"]=a0=>(_a64l=Module["_a64l"]=wasmExports["a64l"])(a0);var _l64a=Module["_l64a"]=a0=>(_l64a=Module["_l64a"]=wasmExports["l64a"])(a0);var _abs=Module["_abs"]=a0=>(_abs=Module["_abs"]=wasmExports["abs"])(a0);var _acct=Module["_acct"]=a0=>(_acct=Module["_acct"]=wasmExports["acct"])(a0);var _acosf=Module["_acosf"]=a0=>(_acosf=Module["_acosf"]=wasmExports["acosf"])(a0);var _sqrtf=Module["_sqrtf"]=a0=>(_sqrtf=Module["_sqrtf"]=wasmExports["sqrtf"])(a0);var _acoshf=Module["_acoshf"]=a0=>(_acoshf=Module["_acoshf"]=wasmExports["acoshf"])(a0);var _log1pf=Module["_log1pf"]=a0=>(_log1pf=Module["_log1pf"]=wasmExports["log1pf"])(a0);var _logf=Module["_logf"]=a0=>(_logf=Module["_logf"]=wasmExports["logf"])(a0);var _acoshl=Module["_acoshl"]=(a0,a1,a2)=>(_acoshl=Module["_acoshl"]=wasmExports["acoshl"])(a0,a1,a2);var _acosl=Module["_acosl"]=(a0,a1,a2)=>(_acosl=Module["_acosl"]=wasmExports["acosl"])(a0,a1,a2);var ___eqtf2=Module["___eqtf2"]=(a0,a1,a2,a3)=>(___eqtf2=Module["___eqtf2"]=wasmExports["__eqtf2"])(a0,a1,a2,a3);var ___netf2=Module["___netf2"]=(a0,a1,a2,a3)=>(___netf2=Module["___netf2"]=wasmExports["__netf2"])(a0,a1,a2,a3);var _sqrtl=Module["_sqrtl"]=(a0,a1,a2)=>(_sqrtl=Module["_sqrtl"]=wasmExports["sqrtl"])(a0,a1,a2);var _alarm=Module["_alarm"]=a0=>(_alarm=Module["_alarm"]=wasmExports["alarm"])(a0);var _setitimer=Module["_setitimer"]=(a0,a1,a2)=>(_setitimer=Module["_setitimer"]=wasmExports["setitimer"])(a0,a1,a2);var _aligned_alloc=Module["_aligned_alloc"]=(a0,a1)=>(_aligned_alloc=Module["_aligned_alloc"]=wasmExports["aligned_alloc"])(a0,a1);var _posix_memalign=Module["_posix_memalign"]=(a0,a1,a2)=>(_posix_memalign=Module["_posix_memalign"]=wasmExports["posix_memalign"])(a0,a1,a2);var _alphasort=Module["_alphasort"]=(a0,a1)=>(_alphasort=Module["_alphasort"]=wasmExports["alphasort"])(a0,a1);var _strcoll=Module["_strcoll"]=(a0,a1)=>(_strcoll=Module["_strcoll"]=wasmExports["strcoll"])(a0,a1);var _asctime=Module["_asctime"]=a0=>(_asctime=Module["_asctime"]=wasmExports["asctime"])(a0);var ___nl_langinfo_l=Module["___nl_langinfo_l"]=(a0,a1)=>(___nl_langinfo_l=Module["___nl_langinfo_l"]=wasmExports["__nl_langinfo_l"])(a0,a1);var _asctime_r=Module["_asctime_r"]=(a0,a1)=>(_asctime_r=Module["_asctime_r"]=wasmExports["asctime_r"])(a0,a1);var _asinf=Module["_asinf"]=a0=>(_asinf=Module["_asinf"]=wasmExports["asinf"])(a0);var _fabsf=Module["_fabsf"]=a0=>(_fabsf=Module["_fabsf"]=wasmExports["fabsf"])(a0);var _asinhf=Module["_asinhf"]=a0=>(_asinhf=Module["_asinhf"]=wasmExports["asinhf"])(a0);var _asinhl=Module["_asinhl"]=(a0,a1,a2)=>(_asinhl=Module["_asinhl"]=wasmExports["asinhl"])(a0,a1,a2);var _asinl=Module["_asinl"]=(a0,a1,a2)=>(_asinl=Module["_asinl"]=wasmExports["asinl"])(a0,a1,a2);var _asprintf=Module["_asprintf"]=(a0,a1,a2)=>(_asprintf=Module["_asprintf"]=wasmExports["asprintf"])(a0,a1,a2);var _vasprintf=Module["_vasprintf"]=(a0,a1,a2)=>(_vasprintf=Module["_vasprintf"]=wasmExports["vasprintf"])(a0,a1,a2);var ___lock=Module["___lock"]=a0=>(___lock=Module["___lock"]=wasmExports["__lock"])(a0);var ___unlock=Module["___unlock"]=a0=>(___unlock=Module["___unlock"]=wasmExports["__unlock"])(a0);var _at_quick_exit=Module["_at_quick_exit"]=a0=>(_at_quick_exit=Module["_at_quick_exit"]=wasmExports["at_quick_exit"])(a0);var _atan2f=Module["_atan2f"]=(a0,a1)=>(_atan2f=Module["_atan2f"]=wasmExports["atan2f"])(a0,a1);var _atanf=Module["_atanf"]=a0=>(_atanf=Module["_atanf"]=wasmExports["atanf"])(a0);var _atan2l=Module["_atan2l"]=(a0,a1,a2,a3,a4)=>(_atan2l=Module["_atan2l"]=wasmExports["atan2l"])(a0,a1,a2,a3,a4);var _atanl=Module["_atanl"]=(a0,a1,a2)=>(_atanl=Module["_atanl"]=wasmExports["atanl"])(a0,a1,a2);var _atanhf=Module["_atanhf"]=a0=>(_atanhf=Module["_atanhf"]=wasmExports["atanhf"])(a0);var _atanhl=Module["_atanhl"]=(a0,a1,a2)=>(_atanhl=Module["_atanhl"]=wasmExports["atanhl"])(a0,a1,a2);var _log1pl=Module["_log1pl"]=(a0,a1,a2)=>(_log1pl=Module["_log1pl"]=wasmExports["log1pl"])(a0,a1,a2);var ____cxa_finalize=Module["____cxa_finalize"]=a0=>(____cxa_finalize=Module["____cxa_finalize"]=wasmExports["___cxa_finalize"])(a0);var ____cxa_atexit=Module["____cxa_atexit"]=(a0,a1,a2)=>(____cxa_atexit=Module["____cxa_atexit"]=wasmExports["___cxa_atexit"])(a0,a1,a2);var ___libc_calloc=Module["___libc_calloc"]=(a0,a1)=>(___libc_calloc=Module["___libc_calloc"]=wasmExports["__libc_calloc"])(a0,a1);var ___atexit=Module["___atexit"]=a0=>(___atexit=Module["___atexit"]=wasmExports["__atexit"])(a0);var _atof=Module["_atof"]=a0=>(_atof=Module["_atof"]=wasmExports["atof"])(a0);var _strtod=Module["_strtod"]=(a0,a1)=>(_strtod=Module["_strtod"]=wasmExports["strtod"])(a0,a1);var _atoi=Module["_atoi"]=a0=>(_atoi=Module["_atoi"]=wasmExports["atoi"])(a0);var _isspace=Module["_isspace"]=a0=>(_isspace=Module["_isspace"]=wasmExports["isspace"])(a0);var _isdigit=Module["_isdigit"]=a0=>(_isdigit=Module["_isdigit"]=wasmExports["isdigit"])(a0);var _atol=Module["_atol"]=a0=>(_atol=Module["_atol"]=wasmExports["atol"])(a0);var _atoll=Module["_atoll"]=a0=>(_atoll=Module["_atoll"]=wasmExports["atoll"])(a0);var _basename=Module["_basename"]=a0=>(_basename=Module["_basename"]=wasmExports["basename"])(a0);var ___xpg_basename=Module["___xpg_basename"]=a0=>(___xpg_basename=Module["___xpg_basename"]=wasmExports["__xpg_basename"])(a0);var _bcmp=Module["_bcmp"]=(a0,a1,a2)=>(_bcmp=Module["_bcmp"]=wasmExports["bcmp"])(a0,a1,a2);var _bcopy=Module["_bcopy"]=(a0,a1,a2)=>(_bcopy=Module["_bcopy"]=wasmExports["bcopy"])(a0,a1,a2);var _strcasecmp=Module["_strcasecmp"]=(a0,a1)=>(_strcasecmp=Module["_strcasecmp"]=wasmExports["strcasecmp"])(a0,a1);var _bsearch=Module["_bsearch"]=(a0,a1,a2,a3,a4)=>(_bsearch=Module["_bsearch"]=wasmExports["bsearch"])(a0,a1,a2,a3,a4);var _btowc=Module["_btowc"]=a0=>(_btowc=Module["_btowc"]=wasmExports["btowc"])(a0);var _bzero=Module["_bzero"]=(a0,a1)=>(_bzero=Module["_bzero"]=wasmExports["bzero"])(a0,a1);var _c16rtomb=Module["_c16rtomb"]=(a0,a1,a2)=>(_c16rtomb=Module["_c16rtomb"]=wasmExports["c16rtomb"])(a0,a1,a2);var _wcrtomb=Module["_wcrtomb"]=(a0,a1,a2)=>(_wcrtomb=Module["_wcrtomb"]=wasmExports["wcrtomb"])(a0,a1,a2);var _c32rtomb=Module["_c32rtomb"]=(a0,a1,a2)=>(_c32rtomb=Module["_c32rtomb"]=wasmExports["c32rtomb"])(a0,a1,a2);var _cabs=Module["_cabs"]=a0=>(_cabs=Module["_cabs"]=wasmExports["cabs"])(a0);var _cabsf=Module["_cabsf"]=a0=>(_cabsf=Module["_cabsf"]=wasmExports["cabsf"])(a0);var _hypotf=Module["_hypotf"]=(a0,a1)=>(_hypotf=Module["_hypotf"]=wasmExports["hypotf"])(a0,a1);var _cabsl=Module["_cabsl"]=(a0,a1)=>(_cabsl=Module["_cabsl"]=wasmExports["cabsl"])(a0,a1);var _hypotl=Module["_hypotl"]=(a0,a1,a2,a3,a4)=>(_hypotl=Module["_hypotl"]=wasmExports["hypotl"])(a0,a1,a2,a3,a4);var _cacos=Module["_cacos"]=(a0,a1)=>(_cacos=Module["_cacos"]=wasmExports["cacos"])(a0,a1);var _casin=Module["_casin"]=(a0,a1)=>(_casin=Module["_casin"]=wasmExports["casin"])(a0,a1);var _cacosf=Module["_cacosf"]=(a0,a1)=>(_cacosf=Module["_cacosf"]=wasmExports["cacosf"])(a0,a1);var _casinf=Module["_casinf"]=(a0,a1)=>(_casinf=Module["_casinf"]=wasmExports["casinf"])(a0,a1);var _cacosh=Module["_cacosh"]=(a0,a1)=>(_cacosh=Module["_cacosh"]=wasmExports["cacosh"])(a0,a1);var _cacoshf=Module["_cacoshf"]=(a0,a1)=>(_cacoshf=Module["_cacoshf"]=wasmExports["cacoshf"])(a0,a1);var _cacoshl=Module["_cacoshl"]=(a0,a1)=>(_cacoshl=Module["_cacoshl"]=wasmExports["cacoshl"])(a0,a1);var _cacosl=Module["_cacosl"]=(a0,a1)=>(_cacosl=Module["_cacosl"]=wasmExports["cacosl"])(a0,a1);var _casinl=Module["_casinl"]=(a0,a1)=>(_casinl=Module["_casinl"]=wasmExports["casinl"])(a0,a1);var _call_once=Module["_call_once"]=(a0,a1)=>(_call_once=Module["_call_once"]=wasmExports["call_once"])(a0,a1);var _carg=Module["_carg"]=a0=>(_carg=Module["_carg"]=wasmExports["carg"])(a0);var _cargf=Module["_cargf"]=a0=>(_cargf=Module["_cargf"]=wasmExports["cargf"])(a0);var _cargl=Module["_cargl"]=(a0,a1)=>(_cargl=Module["_cargl"]=wasmExports["cargl"])(a0,a1);var _csqrt=Module["_csqrt"]=(a0,a1)=>(_csqrt=Module["_csqrt"]=wasmExports["csqrt"])(a0,a1);var _clog=Module["_clog"]=(a0,a1)=>(_clog=Module["_clog"]=wasmExports["clog"])(a0,a1);var _csqrtf=Module["_csqrtf"]=(a0,a1)=>(_csqrtf=Module["_csqrtf"]=wasmExports["csqrtf"])(a0,a1);var _clogf=Module["_clogf"]=(a0,a1)=>(_clogf=Module["_clogf"]=wasmExports["clogf"])(a0,a1);var _casinh=Module["_casinh"]=(a0,a1)=>(_casinh=Module["_casinh"]=wasmExports["casinh"])(a0,a1);var _casinhf=Module["_casinhf"]=(a0,a1)=>(_casinhf=Module["_casinhf"]=wasmExports["casinhf"])(a0,a1);var _casinhl=Module["_casinhl"]=(a0,a1)=>(_casinhl=Module["_casinhl"]=wasmExports["casinhl"])(a0,a1);var _csqrtl=Module["_csqrtl"]=(a0,a1)=>(_csqrtl=Module["_csqrtl"]=wasmExports["csqrtl"])(a0,a1);var _clogl=Module["_clogl"]=(a0,a1)=>(_clogl=Module["_clogl"]=wasmExports["clogl"])(a0,a1);var _catan=Module["_catan"]=(a0,a1)=>(_catan=Module["_catan"]=wasmExports["catan"])(a0,a1);var _catanf=Module["_catanf"]=(a0,a1)=>(_catanf=Module["_catanf"]=wasmExports["catanf"])(a0,a1);var _catanh=Module["_catanh"]=(a0,a1)=>(_catanh=Module["_catanh"]=wasmExports["catanh"])(a0,a1);var _catanhf=Module["_catanhf"]=(a0,a1)=>(_catanhf=Module["_catanhf"]=wasmExports["catanhf"])(a0,a1);var _catanhl=Module["_catanhl"]=(a0,a1)=>(_catanhl=Module["_catanhl"]=wasmExports["catanhl"])(a0,a1);var _catanl=Module["_catanl"]=(a0,a1)=>(_catanl=Module["_catanl"]=wasmExports["catanl"])(a0,a1);var _logl=Module["_logl"]=(a0,a1,a2)=>(_logl=Module["_logl"]=wasmExports["logl"])(a0,a1,a2);var ___trunctfsf2=Module["___trunctfsf2"]=(a0,a1)=>(___trunctfsf2=Module["___trunctfsf2"]=wasmExports["__trunctfsf2"])(a0,a1);var ___extendsftf2=Module["___extendsftf2"]=(a0,a1)=>(___extendsftf2=Module["___extendsftf2"]=wasmExports["__extendsftf2"])(a0,a1);var _catclose=Module["_catclose"]=a0=>(_catclose=Module["_catclose"]=wasmExports["catclose"])(a0);var _catgets=Module["_catgets"]=(a0,a1,a2,a3)=>(_catgets=Module["_catgets"]=wasmExports["catgets"])(a0,a1,a2,a3);var _catopen=Module["_catopen"]=(a0,a1)=>(_catopen=Module["_catopen"]=wasmExports["catopen"])(a0,a1);var _cbrtf=Module["_cbrtf"]=a0=>(_cbrtf=Module["_cbrtf"]=wasmExports["cbrtf"])(a0);var _cbrtl=Module["_cbrtl"]=(a0,a1,a2)=>(_cbrtl=Module["_cbrtl"]=wasmExports["cbrtl"])(a0,a1,a2);var _ccos=Module["_ccos"]=(a0,a1)=>(_ccos=Module["_ccos"]=wasmExports["ccos"])(a0,a1);var _ccosh=Module["_ccosh"]=(a0,a1)=>(_ccosh=Module["_ccosh"]=wasmExports["ccosh"])(a0,a1);var _ccosf=Module["_ccosf"]=(a0,a1)=>(_ccosf=Module["_ccosf"]=wasmExports["ccosf"])(a0,a1);var _ccoshf=Module["_ccoshf"]=(a0,a1)=>(_ccoshf=Module["_ccoshf"]=wasmExports["ccoshf"])(a0,a1);var _coshf=Module["_coshf"]=a0=>(_coshf=Module["_coshf"]=wasmExports["coshf"])(a0);var _sinhf=Module["_sinhf"]=a0=>(_sinhf=Module["_sinhf"]=wasmExports["sinhf"])(a0);var _copysignf=Module["_copysignf"]=(a0,a1)=>(_copysignf=Module["_copysignf"]=wasmExports["copysignf"])(a0,a1);var _ccoshl=Module["_ccoshl"]=(a0,a1)=>(_ccoshl=Module["_ccoshl"]=wasmExports["ccoshl"])(a0,a1);var _ccosl=Module["_ccosl"]=(a0,a1)=>(_ccosl=Module["_ccosl"]=wasmExports["ccosl"])(a0,a1);var _ceil=Module["_ceil"]=a0=>(_ceil=Module["_ceil"]=wasmExports["ceil"])(a0);var _ceilf=Module["_ceilf"]=a0=>(_ceilf=Module["_ceilf"]=wasmExports["ceilf"])(a0);var _ceill=Module["_ceill"]=(a0,a1,a2)=>(_ceill=Module["_ceill"]=wasmExports["ceill"])(a0,a1,a2);var _cexp=Module["_cexp"]=(a0,a1)=>(_cexp=Module["_cexp"]=wasmExports["cexp"])(a0,a1);var _cexpf=Module["_cexpf"]=(a0,a1)=>(_cexpf=Module["_cexpf"]=wasmExports["cexpf"])(a0,a1);var _cexpl=Module["_cexpl"]=(a0,a1)=>(_cexpl=Module["_cexpl"]=wasmExports["cexpl"])(a0,a1);var _cfgetospeed=Module["_cfgetospeed"]=a0=>(_cfgetospeed=Module["_cfgetospeed"]=wasmExports["cfgetospeed"])(a0);var _cfgetispeed=Module["_cfgetispeed"]=a0=>(_cfgetispeed=Module["_cfgetispeed"]=wasmExports["cfgetispeed"])(a0);var _cfmakeraw=Module["_cfmakeraw"]=a0=>(_cfmakeraw=Module["_cfmakeraw"]=wasmExports["cfmakeraw"])(a0);var _cfsetospeed=Module["_cfsetospeed"]=(a0,a1)=>(_cfsetospeed=Module["_cfsetospeed"]=wasmExports["cfsetospeed"])(a0,a1);var _cfsetispeed=Module["_cfsetispeed"]=(a0,a1)=>(_cfsetispeed=Module["_cfsetispeed"]=wasmExports["cfsetispeed"])(a0,a1);var _cfsetspeed=Module["_cfsetspeed"]=(a0,a1)=>(_cfsetspeed=Module["_cfsetspeed"]=wasmExports["cfsetspeed"])(a0,a1);var _cimag=Module["_cimag"]=a0=>(_cimag=Module["_cimag"]=wasmExports["cimag"])(a0);var _cimagf=Module["_cimagf"]=a0=>(_cimagf=Module["_cimagf"]=wasmExports["cimagf"])(a0);var _cimagl=Module["_cimagl"]=(a0,a1)=>(_cimagl=Module["_cimagl"]=wasmExports["cimagl"])(a0,a1);var _clearenv=Module["_clearenv"]=()=>(_clearenv=Module["_clearenv"]=wasmExports["clearenv"])();var _clearerr_unlocked=Module["_clearerr_unlocked"]=a0=>(_clearerr_unlocked=Module["_clearerr_unlocked"]=wasmExports["clearerr_unlocked"])(a0);var _emscripten_thread_sleep=Module["_emscripten_thread_sleep"]=a0=>(_emscripten_thread_sleep=Module["_emscripten_thread_sleep"]=wasmExports["emscripten_thread_sleep"])(a0);var _cnd_broadcast=Module["_cnd_broadcast"]=a0=>(_cnd_broadcast=Module["_cnd_broadcast"]=wasmExports["cnd_broadcast"])(a0);var _cnd_destroy=Module["_cnd_destroy"]=a0=>(_cnd_destroy=Module["_cnd_destroy"]=wasmExports["cnd_destroy"])(a0);var _cnd_init=Module["_cnd_init"]=a0=>(_cnd_init=Module["_cnd_init"]=wasmExports["cnd_init"])(a0);var _cnd_signal=Module["_cnd_signal"]=a0=>(_cnd_signal=Module["_cnd_signal"]=wasmExports["cnd_signal"])(a0);var _cnd_timedwait=Module["_cnd_timedwait"]=(a0,a1,a2)=>(_cnd_timedwait=Module["_cnd_timedwait"]=wasmExports["cnd_timedwait"])(a0,a1,a2);var _cnd_wait=Module["_cnd_wait"]=(a0,a1)=>(_cnd_wait=Module["_cnd_wait"]=wasmExports["cnd_wait"])(a0,a1);var _conj=Module["_conj"]=(a0,a1)=>(_conj=Module["_conj"]=wasmExports["conj"])(a0,a1);var _conjf=Module["_conjf"]=(a0,a1)=>(_conjf=Module["_conjf"]=wasmExports["conjf"])(a0,a1);var _conjl=Module["_conjl"]=(a0,a1)=>(_conjl=Module["_conjl"]=wasmExports["conjl"])(a0,a1);var _copysignl=Module["_copysignl"]=(a0,a1,a2,a3,a4)=>(_copysignl=Module["_copysignl"]=wasmExports["copysignl"])(a0,a1,a2,a3,a4);var _expm1f=Module["_expm1f"]=a0=>(_expm1f=Module["_expm1f"]=wasmExports["expm1f"])(a0);var _coshl=Module["_coshl"]=(a0,a1,a2)=>(_coshl=Module["_coshl"]=wasmExports["coshl"])(a0,a1,a2);var _cosl=Module["_cosl"]=(a0,a1,a2)=>(_cosl=Module["_cosl"]=wasmExports["cosl"])(a0,a1,a2);var _cpow=Module["_cpow"]=(a0,a1,a2)=>(_cpow=Module["_cpow"]=wasmExports["cpow"])(a0,a1,a2);var ___muldc3=Module["___muldc3"]=(a0,a1,a2,a3,a4)=>(___muldc3=Module["___muldc3"]=wasmExports["__muldc3"])(a0,a1,a2,a3,a4);var _cpowf=Module["_cpowf"]=(a0,a1,a2)=>(_cpowf=Module["_cpowf"]=wasmExports["cpowf"])(a0,a1,a2);var ___mulsc3=Module["___mulsc3"]=(a0,a1,a2,a3,a4)=>(___mulsc3=Module["___mulsc3"]=wasmExports["__mulsc3"])(a0,a1,a2,a3,a4);var _cpowl=Module["_cpowl"]=(a0,a1,a2)=>(_cpowl=Module["_cpowl"]=wasmExports["cpowl"])(a0,a1,a2);var ___unordtf2=Module["___unordtf2"]=(a0,a1,a2,a3)=>(___unordtf2=Module["___unordtf2"]=wasmExports["__unordtf2"])(a0,a1,a2,a3);var ___multc3=Module["___multc3"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(___multc3=Module["___multc3"]=wasmExports["__multc3"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _cproj=Module["_cproj"]=(a0,a1)=>(_cproj=Module["_cproj"]=wasmExports["cproj"])(a0,a1);var _cprojf=Module["_cprojf"]=(a0,a1)=>(_cprojf=Module["_cprojf"]=wasmExports["cprojf"])(a0,a1);var _cprojl=Module["_cprojl"]=(a0,a1)=>(_cprojl=Module["_cprojl"]=wasmExports["cprojl"])(a0,a1);var _creal=Module["_creal"]=a0=>(_creal=Module["_creal"]=wasmExports["creal"])(a0);var _crealf=Module["_crealf"]=a0=>(_crealf=Module["_crealf"]=wasmExports["crealf"])(a0);var _creall=Module["_creall"]=(a0,a1)=>(_creall=Module["_creall"]=wasmExports["creall"])(a0,a1);var _creat=Module["_creat"]=(a0,a1)=>(_creat=Module["_creat"]=wasmExports["creat"])(a0,a1);var _crypt=Module["_crypt"]=(a0,a1)=>(_crypt=Module["_crypt"]=wasmExports["crypt"])(a0,a1);var ___crypt_blowfish=Module["___crypt_blowfish"]=(a0,a1,a2)=>(___crypt_blowfish=Module["___crypt_blowfish"]=wasmExports["__crypt_blowfish"])(a0,a1,a2);var ___crypt_des=Module["___crypt_des"]=(a0,a1,a2)=>(___crypt_des=Module["___crypt_des"]=wasmExports["__crypt_des"])(a0,a1,a2);var ___crypt_md5=Module["___crypt_md5"]=(a0,a1,a2)=>(___crypt_md5=Module["___crypt_md5"]=wasmExports["__crypt_md5"])(a0,a1,a2);var _strnlen=Module["_strnlen"]=(a0,a1)=>(_strnlen=Module["_strnlen"]=wasmExports["strnlen"])(a0,a1);var ___crypt_sha256=Module["___crypt_sha256"]=(a0,a1,a2)=>(___crypt_sha256=Module["___crypt_sha256"]=wasmExports["__crypt_sha256"])(a0,a1,a2);var ___crypt_sha512=Module["___crypt_sha512"]=(a0,a1,a2)=>(___crypt_sha512=Module["___crypt_sha512"]=wasmExports["__crypt_sha512"])(a0,a1,a2);var _sprintf=Module["_sprintf"]=(a0,a1,a2)=>(_sprintf=Module["_sprintf"]=wasmExports["sprintf"])(a0,a1,a2);var _csin=Module["_csin"]=(a0,a1)=>(_csin=Module["_csin"]=wasmExports["csin"])(a0,a1);var _csinh=Module["_csinh"]=(a0,a1)=>(_csinh=Module["_csinh"]=wasmExports["csinh"])(a0,a1);var _csinf=Module["_csinf"]=(a0,a1)=>(_csinf=Module["_csinf"]=wasmExports["csinf"])(a0,a1);var _csinhf=Module["_csinhf"]=(a0,a1)=>(_csinhf=Module["_csinhf"]=wasmExports["csinhf"])(a0,a1);var _csinhl=Module["_csinhl"]=(a0,a1)=>(_csinhl=Module["_csinhl"]=wasmExports["csinhl"])(a0,a1);var _csinl=Module["_csinl"]=(a0,a1)=>(_csinl=Module["_csinl"]=wasmExports["csinl"])(a0,a1);var _ctan=Module["_ctan"]=(a0,a1)=>(_ctan=Module["_ctan"]=wasmExports["ctan"])(a0,a1);var _ctanh=Module["_ctanh"]=(a0,a1)=>(_ctanh=Module["_ctanh"]=wasmExports["ctanh"])(a0,a1);var _ctanf=Module["_ctanf"]=(a0,a1)=>(_ctanf=Module["_ctanf"]=wasmExports["ctanf"])(a0,a1);var _ctanhf=Module["_ctanhf"]=(a0,a1)=>(_ctanhf=Module["_ctanhf"]=wasmExports["ctanhf"])(a0,a1);var _tanf=Module["_tanf"]=a0=>(_tanf=Module["_tanf"]=wasmExports["tanf"])(a0);var _ctanhl=Module["_ctanhl"]=(a0,a1)=>(_ctanhl=Module["_ctanhl"]=wasmExports["ctanhl"])(a0,a1);var _ctanl=Module["_ctanl"]=(a0,a1)=>(_ctanl=Module["_ctanl"]=wasmExports["ctanl"])(a0,a1);var _ctime=Module["_ctime"]=a0=>(_ctime=Module["_ctime"]=wasmExports["ctime"])(a0);var _localtime=Module["_localtime"]=a0=>(_localtime=Module["_localtime"]=wasmExports["localtime"])(a0);var _ctime_r=Module["_ctime_r"]=(a0,a1)=>(_ctime_r=Module["_ctime_r"]=wasmExports["ctime_r"])(a0,a1);var _dcngettext=Module["_dcngettext"]=(a0,a1,a2,a3,a4)=>(_dcngettext=Module["_dcngettext"]=wasmExports["dcngettext"])(a0,a1,a2,a3,a4);var ___gettextdomain=Module["___gettextdomain"]=()=>(___gettextdomain=Module["___gettextdomain"]=wasmExports["__gettextdomain"])();var _dngettext=Module["_dngettext"]=(a0,a1,a2,a3)=>(_dngettext=Module["_dngettext"]=wasmExports["dngettext"])(a0,a1,a2,a3);var _difftime=Module["_difftime"]=(a0,a1)=>(_difftime=Module["_difftime"]=wasmExports["difftime"])(a0,a1);var _dirname=Module["_dirname"]=a0=>(_dirname=Module["_dirname"]=wasmExports["dirname"])(a0);var _div=Module["_div"]=(a0,a1,a2)=>(_div=Module["_div"]=wasmExports["div"])(a0,a1,a2);var _dladdr=Module["_dladdr"]=(a0,a1)=>(_dladdr=Module["_dladdr"]=wasmExports["dladdr"])(a0,a1);var ___libc_free=Module["___libc_free"]=a0=>(___libc_free=Module["___libc_free"]=wasmExports["__libc_free"])(a0);var ___libc_malloc=Module["___libc_malloc"]=a0=>(___libc_malloc=Module["___libc_malloc"]=wasmExports["__libc_malloc"])(a0);var ___dl_seterr=(a0,a1)=>(___dl_seterr=wasmExports["__dl_seterr"])(a0,a1);var _dn_comp=Module["_dn_comp"]=(a0,a1,a2,a3,a4)=>(_dn_comp=Module["_dn_comp"]=wasmExports["dn_comp"])(a0,a1,a2,a3,a4);var _dn_expand=Module["_dn_expand"]=(a0,a1,a2,a3,a4)=>(_dn_expand=Module["_dn_expand"]=wasmExports["dn_expand"])(a0,a1,a2,a3,a4);var _dn_skipname=Module["_dn_skipname"]=(a0,a1)=>(_dn_skipname=Module["_dn_skipname"]=wasmExports["dn_skipname"])(a0,a1);var _dprintf=Module["_dprintf"]=(a0,a1,a2)=>(_dprintf=Module["_dprintf"]=wasmExports["dprintf"])(a0,a1,a2);var _vdprintf=Module["_vdprintf"]=(a0,a1,a2)=>(_vdprintf=Module["_vdprintf"]=wasmExports["vdprintf"])(a0,a1,a2);var _erand48=Module["_erand48"]=a0=>(_erand48=Module["_erand48"]=wasmExports["erand48"])(a0);var _drand48=Module["_drand48"]=()=>(_drand48=Module["_drand48"]=wasmExports["drand48"])();var ___wasi_fd_is_valid=Module["___wasi_fd_is_valid"]=a0=>(___wasi_fd_is_valid=Module["___wasi_fd_is_valid"]=wasmExports["__wasi_fd_is_valid"])(a0);var ___duplocale=Module["___duplocale"]=a0=>(___duplocale=Module["___duplocale"]=wasmExports["__duplocale"])(a0);var _duplocale=Module["_duplocale"]=a0=>(_duplocale=Module["_duplocale"]=wasmExports["duplocale"])(a0);var _new_dlevent=Module["_new_dlevent"]=(a0,a1)=>(_new_dlevent=Module["_new_dlevent"]=wasmExports["new_dlevent"])(a0,a1);var _pthread_setcancelstate=Module["_pthread_setcancelstate"]=(a0,a1)=>(_pthread_setcancelstate=Module["_pthread_setcancelstate"]=wasmExports["pthread_setcancelstate"])(a0,a1);var _emscripten_dlopen=Module["_emscripten_dlopen"]=(a0,a1,a2,a3,a4)=>(_emscripten_dlopen=Module["_emscripten_dlopen"]=wasmExports["emscripten_dlopen"])(a0,a1,a2,a3,a4);var _emscripten_dlopen_promise=Module["_emscripten_dlopen_promise"]=(a0,a1)=>(_emscripten_dlopen_promise=Module["_emscripten_dlopen_promise"]=wasmExports["emscripten_dlopen_promise"])(a0,a1);var _strspn=Module["_strspn"]=(a0,a1)=>(_strspn=Module["_strspn"]=wasmExports["strspn"])(a0,a1);var _ecvt=Module["_ecvt"]=(a0,a1,a2,a3)=>(_ecvt=Module["_ecvt"]=wasmExports["ecvt"])(a0,a1,a2,a3);var _emscripten_atomic_exchange_u8=Module["_emscripten_atomic_exchange_u8"]=(a0,a1)=>(_emscripten_atomic_exchange_u8=Module["_emscripten_atomic_exchange_u8"]=wasmExports["emscripten_atomic_exchange_u8"])(a0,a1);var _emscripten_atomic_exchange_u16=Module["_emscripten_atomic_exchange_u16"]=(a0,a1)=>(_emscripten_atomic_exchange_u16=Module["_emscripten_atomic_exchange_u16"]=wasmExports["emscripten_atomic_exchange_u16"])(a0,a1);var _emscripten_atomic_exchange_u32=Module["_emscripten_atomic_exchange_u32"]=(a0,a1)=>(_emscripten_atomic_exchange_u32=Module["_emscripten_atomic_exchange_u32"]=wasmExports["emscripten_atomic_exchange_u32"])(a0,a1);var _emscripten_atomic_exchange_u64=Module["_emscripten_atomic_exchange_u64"]=(a0,a1)=>(_emscripten_atomic_exchange_u64=Module["_emscripten_atomic_exchange_u64"]=wasmExports["emscripten_atomic_exchange_u64"])(a0,a1);var _emscripten_atomic_cas_u8=Module["_emscripten_atomic_cas_u8"]=(a0,a1,a2)=>(_emscripten_atomic_cas_u8=Module["_emscripten_atomic_cas_u8"]=wasmExports["emscripten_atomic_cas_u8"])(a0,a1,a2);var _emscripten_atomic_cas_u16=Module["_emscripten_atomic_cas_u16"]=(a0,a1,a2)=>(_emscripten_atomic_cas_u16=Module["_emscripten_atomic_cas_u16"]=wasmExports["emscripten_atomic_cas_u16"])(a0,a1,a2);var _emscripten_atomic_cas_u32=Module["_emscripten_atomic_cas_u32"]=(a0,a1,a2)=>(_emscripten_atomic_cas_u32=Module["_emscripten_atomic_cas_u32"]=wasmExports["emscripten_atomic_cas_u32"])(a0,a1,a2);var _emscripten_atomic_cas_u64=Module["_emscripten_atomic_cas_u64"]=(a0,a1,a2)=>(_emscripten_atomic_cas_u64=Module["_emscripten_atomic_cas_u64"]=wasmExports["emscripten_atomic_cas_u64"])(a0,a1,a2);var _emscripten_atomic_load_u8=Module["_emscripten_atomic_load_u8"]=a0=>(_emscripten_atomic_load_u8=Module["_emscripten_atomic_load_u8"]=wasmExports["emscripten_atomic_load_u8"])(a0);var _emscripten_atomic_load_u16=Module["_emscripten_atomic_load_u16"]=a0=>(_emscripten_atomic_load_u16=Module["_emscripten_atomic_load_u16"]=wasmExports["emscripten_atomic_load_u16"])(a0);var _emscripten_atomic_load_u32=Module["_emscripten_atomic_load_u32"]=a0=>(_emscripten_atomic_load_u32=Module["_emscripten_atomic_load_u32"]=wasmExports["emscripten_atomic_load_u32"])(a0);var _emscripten_atomic_load_f32=Module["_emscripten_atomic_load_f32"]=a0=>(_emscripten_atomic_load_f32=Module["_emscripten_atomic_load_f32"]=wasmExports["emscripten_atomic_load_f32"])(a0);var _emscripten_atomic_load_u64=Module["_emscripten_atomic_load_u64"]=a0=>(_emscripten_atomic_load_u64=Module["_emscripten_atomic_load_u64"]=wasmExports["emscripten_atomic_load_u64"])(a0);var _emscripten_atomic_load_f64=Module["_emscripten_atomic_load_f64"]=a0=>(_emscripten_atomic_load_f64=Module["_emscripten_atomic_load_f64"]=wasmExports["emscripten_atomic_load_f64"])(a0);var _emscripten_atomic_store_u8=Module["_emscripten_atomic_store_u8"]=(a0,a1)=>(_emscripten_atomic_store_u8=Module["_emscripten_atomic_store_u8"]=wasmExports["emscripten_atomic_store_u8"])(a0,a1);var _emscripten_atomic_store_u16=Module["_emscripten_atomic_store_u16"]=(a0,a1)=>(_emscripten_atomic_store_u16=Module["_emscripten_atomic_store_u16"]=wasmExports["emscripten_atomic_store_u16"])(a0,a1);var _emscripten_atomic_store_u32=Module["_emscripten_atomic_store_u32"]=(a0,a1)=>(_emscripten_atomic_store_u32=Module["_emscripten_atomic_store_u32"]=wasmExports["emscripten_atomic_store_u32"])(a0,a1);var _emscripten_atomic_store_f32=Module["_emscripten_atomic_store_f32"]=(a0,a1)=>(_emscripten_atomic_store_f32=Module["_emscripten_atomic_store_f32"]=wasmExports["emscripten_atomic_store_f32"])(a0,a1);var _emscripten_atomic_store_u64=Module["_emscripten_atomic_store_u64"]=(a0,a1)=>(_emscripten_atomic_store_u64=Module["_emscripten_atomic_store_u64"]=wasmExports["emscripten_atomic_store_u64"])(a0,a1);var _emscripten_atomic_store_f64=Module["_emscripten_atomic_store_f64"]=(a0,a1)=>(_emscripten_atomic_store_f64=Module["_emscripten_atomic_store_f64"]=wasmExports["emscripten_atomic_store_f64"])(a0,a1);var _emscripten_atomic_fence=Module["_emscripten_atomic_fence"]=()=>(_emscripten_atomic_fence=Module["_emscripten_atomic_fence"]=wasmExports["emscripten_atomic_fence"])();var _emscripten_atomic_or_u8=Module["_emscripten_atomic_or_u8"]=(a0,a1)=>(_emscripten_atomic_or_u8=Module["_emscripten_atomic_or_u8"]=wasmExports["emscripten_atomic_or_u8"])(a0,a1);var _emscripten_atomic_add_u8=Module["_emscripten_atomic_add_u8"]=(a0,a1)=>(_emscripten_atomic_add_u8=Module["_emscripten_atomic_add_u8"]=wasmExports["emscripten_atomic_add_u8"])(a0,a1);var _emscripten_atomic_add_u16=Module["_emscripten_atomic_add_u16"]=(a0,a1)=>(_emscripten_atomic_add_u16=Module["_emscripten_atomic_add_u16"]=wasmExports["emscripten_atomic_add_u16"])(a0,a1);var _emscripten_atomic_add_u32=Module["_emscripten_atomic_add_u32"]=(a0,a1)=>(_emscripten_atomic_add_u32=Module["_emscripten_atomic_add_u32"]=wasmExports["emscripten_atomic_add_u32"])(a0,a1);var _emscripten_atomic_add_u64=Module["_emscripten_atomic_add_u64"]=(a0,a1)=>(_emscripten_atomic_add_u64=Module["_emscripten_atomic_add_u64"]=wasmExports["emscripten_atomic_add_u64"])(a0,a1);var _emscripten_atomic_sub_u8=Module["_emscripten_atomic_sub_u8"]=(a0,a1)=>(_emscripten_atomic_sub_u8=Module["_emscripten_atomic_sub_u8"]=wasmExports["emscripten_atomic_sub_u8"])(a0,a1);var _emscripten_atomic_sub_u16=Module["_emscripten_atomic_sub_u16"]=(a0,a1)=>(_emscripten_atomic_sub_u16=Module["_emscripten_atomic_sub_u16"]=wasmExports["emscripten_atomic_sub_u16"])(a0,a1);var _emscripten_atomic_sub_u32=Module["_emscripten_atomic_sub_u32"]=(a0,a1)=>(_emscripten_atomic_sub_u32=Module["_emscripten_atomic_sub_u32"]=wasmExports["emscripten_atomic_sub_u32"])(a0,a1);var _emscripten_atomic_sub_u64=Module["_emscripten_atomic_sub_u64"]=(a0,a1)=>(_emscripten_atomic_sub_u64=Module["_emscripten_atomic_sub_u64"]=wasmExports["emscripten_atomic_sub_u64"])(a0,a1);var _emscripten_atomic_and_u8=Module["_emscripten_atomic_and_u8"]=(a0,a1)=>(_emscripten_atomic_and_u8=Module["_emscripten_atomic_and_u8"]=wasmExports["emscripten_atomic_and_u8"])(a0,a1);var _emscripten_atomic_and_u16=Module["_emscripten_atomic_and_u16"]=(a0,a1)=>(_emscripten_atomic_and_u16=Module["_emscripten_atomic_and_u16"]=wasmExports["emscripten_atomic_and_u16"])(a0,a1);var _emscripten_atomic_and_u32=Module["_emscripten_atomic_and_u32"]=(a0,a1)=>(_emscripten_atomic_and_u32=Module["_emscripten_atomic_and_u32"]=wasmExports["emscripten_atomic_and_u32"])(a0,a1);var _emscripten_atomic_and_u64=Module["_emscripten_atomic_and_u64"]=(a0,a1)=>(_emscripten_atomic_and_u64=Module["_emscripten_atomic_and_u64"]=wasmExports["emscripten_atomic_and_u64"])(a0,a1);var _emscripten_atomic_or_u16=Module["_emscripten_atomic_or_u16"]=(a0,a1)=>(_emscripten_atomic_or_u16=Module["_emscripten_atomic_or_u16"]=wasmExports["emscripten_atomic_or_u16"])(a0,a1);var _emscripten_atomic_or_u32=Module["_emscripten_atomic_or_u32"]=(a0,a1)=>(_emscripten_atomic_or_u32=Module["_emscripten_atomic_or_u32"]=wasmExports["emscripten_atomic_or_u32"])(a0,a1);var _emscripten_atomic_or_u64=Module["_emscripten_atomic_or_u64"]=(a0,a1)=>(_emscripten_atomic_or_u64=Module["_emscripten_atomic_or_u64"]=wasmExports["emscripten_atomic_or_u64"])(a0,a1);var _emscripten_atomic_xor_u8=Module["_emscripten_atomic_xor_u8"]=(a0,a1)=>(_emscripten_atomic_xor_u8=Module["_emscripten_atomic_xor_u8"]=wasmExports["emscripten_atomic_xor_u8"])(a0,a1);var _emscripten_atomic_xor_u16=Module["_emscripten_atomic_xor_u16"]=(a0,a1)=>(_emscripten_atomic_xor_u16=Module["_emscripten_atomic_xor_u16"]=wasmExports["emscripten_atomic_xor_u16"])(a0,a1);var _emscripten_atomic_xor_u32=Module["_emscripten_atomic_xor_u32"]=(a0,a1)=>(_emscripten_atomic_xor_u32=Module["_emscripten_atomic_xor_u32"]=wasmExports["emscripten_atomic_xor_u32"])(a0,a1);var _emscripten_atomic_xor_u64=Module["_emscripten_atomic_xor_u64"]=(a0,a1)=>(_emscripten_atomic_xor_u64=Module["_emscripten_atomic_xor_u64"]=wasmExports["emscripten_atomic_xor_u64"])(a0,a1);var _emscripten_console_logf=Module["_emscripten_console_logf"]=(a0,a1)=>(_emscripten_console_logf=Module["_emscripten_console_logf"]=wasmExports["emscripten_console_logf"])(a0,a1);var _emscripten_console_errorf=Module["_emscripten_console_errorf"]=(a0,a1)=>(_emscripten_console_errorf=Module["_emscripten_console_errorf"]=wasmExports["emscripten_console_errorf"])(a0,a1);var _emscripten_console_warnf=Module["_emscripten_console_warnf"]=(a0,a1)=>(_emscripten_console_warnf=Module["_emscripten_console_warnf"]=wasmExports["emscripten_console_warnf"])(a0,a1);var _emscripten_outf=Module["_emscripten_outf"]=(a0,a1)=>(_emscripten_outf=Module["_emscripten_outf"]=wasmExports["emscripten_outf"])(a0,a1);var _emscripten_errf=Module["_emscripten_errf"]=(a0,a1)=>(_emscripten_errf=Module["_emscripten_errf"]=wasmExports["emscripten_errf"])(a0,a1);var _emscripten_fiber_init=Module["_emscripten_fiber_init"]=(a0,a1,a2,a3,a4,a5,a6)=>(_emscripten_fiber_init=Module["_emscripten_fiber_init"]=wasmExports["emscripten_fiber_init"])(a0,a1,a2,a3,a4,a5,a6);var _emscripten_fiber_init_from_current_context=Module["_emscripten_fiber_init_from_current_context"]=(a0,a1,a2)=>(_emscripten_fiber_init_from_current_context=Module["_emscripten_fiber_init_from_current_context"]=wasmExports["emscripten_fiber_init_from_current_context"])(a0,a1,a2);var _emscripten_stack_get_base=Module["_emscripten_stack_get_base"]=()=>(_emscripten_stack_get_base=Module["_emscripten_stack_get_base"]=wasmExports["emscripten_stack_get_base"])();var _emscripten_stack_get_end=Module["_emscripten_stack_get_end"]=()=>(_emscripten_stack_get_end=Module["_emscripten_stack_get_end"]=wasmExports["emscripten_stack_get_end"])();var _emscripten_get_heap_size=Module["_emscripten_get_heap_size"]=()=>(_emscripten_get_heap_size=Module["_emscripten_get_heap_size"]=wasmExports["emscripten_get_heap_size"])();var _emscripten_builtin_memcpy=Module["_emscripten_builtin_memcpy"]=(a0,a1,a2)=>(_emscripten_builtin_memcpy=Module["_emscripten_builtin_memcpy"]=wasmExports["emscripten_builtin_memcpy"])(a0,a1,a2);var ___memset=Module["___memset"]=(a0,a1,a2)=>(___memset=Module["___memset"]=wasmExports["__memset"])(a0,a1,a2);var _emscripten_builtin_memset=Module["_emscripten_builtin_memset"]=(a0,a1,a2)=>(_emscripten_builtin_memset=Module["_emscripten_builtin_memset"]=wasmExports["emscripten_builtin_memset"])(a0,a1,a2);var ___syscall_munmap=Module["___syscall_munmap"]=(a0,a1)=>(___syscall_munmap=Module["___syscall_munmap"]=wasmExports["__syscall_munmap"])(a0,a1);var _emscripten_builtin_free=Module["_emscripten_builtin_free"]=a0=>(_emscripten_builtin_free=Module["_emscripten_builtin_free"]=wasmExports["emscripten_builtin_free"])(a0);var ___syscall_msync=Module["___syscall_msync"]=(a0,a1,a2)=>(___syscall_msync=Module["___syscall_msync"]=wasmExports["__syscall_msync"])(a0,a1,a2);var ___syscall_mmap2=Module["___syscall_mmap2"]=(a0,a1,a2,a3,a4,a5)=>(___syscall_mmap2=Module["___syscall_mmap2"]=wasmExports["__syscall_mmap2"])(a0,a1,a2,a3,a4,a5);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"])(a0,a1);var _emscripten_scan_stack=Module["_emscripten_scan_stack"]=a0=>(_emscripten_scan_stack=Module["_emscripten_scan_stack"]=wasmExports["emscripten_scan_stack"])(a0);var _emscripten_stack_get_current=Module["_emscripten_stack_get_current"]=()=>(_emscripten_stack_get_current=Module["_emscripten_stack_get_current"]=wasmExports["emscripten_stack_get_current"])();var ___clock=Module["___clock"]=()=>(___clock=Module["___clock"]=wasmExports["__clock"])();var ___time=Module["___time"]=a0=>(___time=Module["___time"]=wasmExports["__time"])(a0);var ___clock_getres=Module["___clock_getres"]=(a0,a1)=>(___clock_getres=Module["___clock_getres"]=wasmExports["__clock_getres"])(a0,a1);var ___gettimeofday=Module["___gettimeofday"]=(a0,a1)=>(___gettimeofday=Module["___gettimeofday"]=wasmExports["__gettimeofday"])(a0,a1);var _dysize=Module["_dysize"]=a0=>(_dysize=Module["_dysize"]=wasmExports["dysize"])(a0);var _setkey=Module["_setkey"]=a0=>(_setkey=Module["_setkey"]=wasmExports["setkey"])(a0);var _encrypt=Module["_encrypt"]=(a0,a1)=>(_encrypt=Module["_encrypt"]=wasmExports["encrypt"])(a0,a1);var _sethostent=Module["_sethostent"]=a0=>(_sethostent=Module["_sethostent"]=wasmExports["sethostent"])(a0);var _gethostent=Module["_gethostent"]=()=>(_gethostent=Module["_gethostent"]=wasmExports["gethostent"])();var _getnetent=Module["_getnetent"]=()=>(_getnetent=Module["_getnetent"]=wasmExports["getnetent"])();var _endhostent=Module["_endhostent"]=()=>(_endhostent=Module["_endhostent"]=wasmExports["endhostent"])();var _setnetent=Module["_setnetent"]=a0=>(_setnetent=Module["_setnetent"]=wasmExports["setnetent"])(a0);var _endnetent=Module["_endnetent"]=()=>(_endnetent=Module["_endnetent"]=wasmExports["endnetent"])();var _erff=Module["_erff"]=a0=>(_erff=Module["_erff"]=wasmExports["erff"])(a0);var _erfcf=Module["_erfcf"]=a0=>(_erfcf=Module["_erfcf"]=wasmExports["erfcf"])(a0);var _erfl=Module["_erfl"]=(a0,a1,a2)=>(_erfl=Module["_erfl"]=wasmExports["erfl"])(a0,a1,a2);var _erfcl=Module["_erfcl"]=(a0,a1,a2)=>(_erfcl=Module["_erfcl"]=wasmExports["erfcl"])(a0,a1,a2);var _vwarn=Module["_vwarn"]=(a0,a1)=>(_vwarn=Module["_vwarn"]=wasmExports["vwarn"])(a0,a1);var _fprintf=Module["_fprintf"]=(a0,a1,a2)=>(_fprintf=Module["_fprintf"]=wasmExports["fprintf"])(a0,a1,a2);var _vwarnx=Module["_vwarnx"]=(a0,a1)=>(_vwarnx=Module["_vwarnx"]=wasmExports["vwarnx"])(a0,a1);var _putc=Module["_putc"]=(a0,a1)=>(_putc=Module["_putc"]=wasmExports["putc"])(a0,a1);var _verr=Module["_verr"]=(a0,a1,a2)=>(_verr=Module["_verr"]=wasmExports["verr"])(a0,a1,a2);var _verrx=Module["_verrx"]=(a0,a1,a2)=>(_verrx=Module["_verrx"]=wasmExports["verrx"])(a0,a1,a2);var _warn=Module["_warn"]=(a0,a1)=>(_warn=Module["_warn"]=wasmExports["warn"])(a0,a1);var _warnx=Module["_warnx"]=(a0,a1)=>(_warnx=Module["_warnx"]=wasmExports["warnx"])(a0,a1);var _err=Module["_err"]=(a0,a1,a2)=>(_err=Module["_err"]=wasmExports["err"])(a0,a1,a2);var _errx=Module["_errx"]=(a0,a1,a2)=>(_errx=Module["_errx"]=wasmExports["errx"])(a0,a1,a2);var _ether_aton_r=Module["_ether_aton_r"]=(a0,a1)=>(_ether_aton_r=Module["_ether_aton_r"]=wasmExports["ether_aton_r"])(a0,a1);var _ether_aton=Module["_ether_aton"]=a0=>(_ether_aton=Module["_ether_aton"]=wasmExports["ether_aton"])(a0);var _ether_ntoa_r=Module["_ether_ntoa_r"]=(a0,a1)=>(_ether_ntoa_r=Module["_ether_ntoa_r"]=wasmExports["ether_ntoa_r"])(a0,a1);var _ether_ntoa=Module["_ether_ntoa"]=a0=>(_ether_ntoa=Module["_ether_ntoa"]=wasmExports["ether_ntoa"])(a0);var _ether_line=Module["_ether_line"]=(a0,a1,a2)=>(_ether_line=Module["_ether_line"]=wasmExports["ether_line"])(a0,a1,a2);var _ether_ntohost=Module["_ether_ntohost"]=(a0,a1)=>(_ether_ntohost=Module["_ether_ntohost"]=wasmExports["ether_ntohost"])(a0,a1);var _ether_hostton=Module["_ether_hostton"]=(a0,a1)=>(_ether_hostton=Module["_ether_hostton"]=wasmExports["ether_hostton"])(a0,a1);var _execl=Module["_execl"]=(a0,a1,a2)=>(_execl=Module["_execl"]=wasmExports["execl"])(a0,a1,a2);var _execle=Module["_execle"]=(a0,a1,a2)=>(_execle=Module["_execle"]=wasmExports["execle"])(a0,a1,a2);var _execlp=Module["_execlp"]=(a0,a1,a2)=>(_execlp=Module["_execlp"]=wasmExports["execlp"])(a0,a1,a2);var _execvp=Module["_execvp"]=(a0,a1)=>(_execvp=Module["_execvp"]=wasmExports["execvp"])(a0,a1);var _execvpe=Module["_execvpe"]=(a0,a1,a2)=>(_execvpe=Module["_execvpe"]=wasmExports["execvpe"])(a0,a1,a2);var _exp10=Module["_exp10"]=a0=>(_exp10=Module["_exp10"]=wasmExports["exp10"])(a0);var _pow10=Module["_pow10"]=a0=>(_pow10=Module["_pow10"]=wasmExports["pow10"])(a0);var _exp10f=Module["_exp10f"]=a0=>(_exp10f=Module["_exp10f"]=wasmExports["exp10f"])(a0);var _modff=Module["_modff"]=(a0,a1)=>(_modff=Module["_modff"]=wasmExports["modff"])(a0,a1);var _exp2f=Module["_exp2f"]=a0=>(_exp2f=Module["_exp2f"]=wasmExports["exp2f"])(a0);var _pow10f=Module["_pow10f"]=a0=>(_pow10f=Module["_pow10f"]=wasmExports["pow10f"])(a0);var _exp10l=Module["_exp10l"]=(a0,a1,a2)=>(_exp10l=Module["_exp10l"]=wasmExports["exp10l"])(a0,a1,a2);var _modfl=Module["_modfl"]=(a0,a1,a2,a3)=>(_modfl=Module["_modfl"]=wasmExports["modfl"])(a0,a1,a2,a3);var _exp2l=Module["_exp2l"]=(a0,a1,a2)=>(_exp2l=Module["_exp2l"]=wasmExports["exp2l"])(a0,a1,a2);var _powl=Module["_powl"]=(a0,a1,a2,a3,a4)=>(_powl=Module["_powl"]=wasmExports["powl"])(a0,a1,a2,a3,a4);var _pow10l=Module["_pow10l"]=(a0,a1,a2)=>(_pow10l=Module["_pow10l"]=wasmExports["pow10l"])(a0,a1,a2);var ___letf2=Module["___letf2"]=(a0,a1,a2,a3)=>(___letf2=Module["___letf2"]=wasmExports["__letf2"])(a0,a1,a2,a3);var _scalbnl=Module["_scalbnl"]=(a0,a1,a2,a3)=>(_scalbnl=Module["_scalbnl"]=wasmExports["scalbnl"])(a0,a1,a2,a3);var _expl=Module["_expl"]=(a0,a1,a2)=>(_expl=Module["_expl"]=wasmExports["expl"])(a0,a1,a2);var _expm1l=Module["_expm1l"]=(a0,a1,a2)=>(_expm1l=Module["_expm1l"]=wasmExports["expm1l"])(a0,a1,a2);var __flushlbf=Module["__flushlbf"]=()=>(__flushlbf=Module["__flushlbf"]=wasmExports["_flushlbf"])();var ___fsetlocking=Module["___fsetlocking"]=(a0,a1)=>(___fsetlocking=Module["___fsetlocking"]=wasmExports["__fsetlocking"])(a0,a1);var ___fwriting=Module["___fwriting"]=a0=>(___fwriting=Module["___fwriting"]=wasmExports["__fwriting"])(a0);var ___freading=Module["___freading"]=a0=>(___freading=Module["___freading"]=wasmExports["__freading"])(a0);var ___freadable=Module["___freadable"]=a0=>(___freadable=Module["___freadable"]=wasmExports["__freadable"])(a0);var ___fwritable=Module["___fwritable"]=a0=>(___fwritable=Module["___fwritable"]=wasmExports["__fwritable"])(a0);var ___flbf=Module["___flbf"]=a0=>(___flbf=Module["___flbf"]=wasmExports["__flbf"])(a0);var ___fbufsize=Module["___fbufsize"]=a0=>(___fbufsize=Module["___fbufsize"]=wasmExports["__fbufsize"])(a0);var ___fpending=Module["___fpending"]=a0=>(___fpending=Module["___fpending"]=wasmExports["__fpending"])(a0);var ___fpurge=Module["___fpurge"]=a0=>(___fpurge=Module["___fpurge"]=wasmExports["__fpurge"])(a0);var _fpurge=Module["_fpurge"]=a0=>(_fpurge=Module["_fpurge"]=wasmExports["fpurge"])(a0);var ___freadahead=Module["___freadahead"]=a0=>(___freadahead=Module["___freadahead"]=wasmExports["__freadahead"])(a0);var ___freadptr=Module["___freadptr"]=(a0,a1)=>(___freadptr=Module["___freadptr"]=wasmExports["__freadptr"])(a0,a1);var ___freadptrinc=Module["___freadptrinc"]=(a0,a1)=>(___freadptrinc=Module["___freadptrinc"]=wasmExports["__freadptrinc"])(a0,a1);var ___fseterr=Module["___fseterr"]=a0=>(___fseterr=Module["___fseterr"]=wasmExports["__fseterr"])(a0);var _faccessat=Module["_faccessat"]=(a0,a1,a2,a3)=>(_faccessat=Module["_faccessat"]=wasmExports["faccessat"])(a0,a1,a2,a3);var _fcvt=Module["_fcvt"]=(a0,a1,a2,a3)=>(_fcvt=Module["_fcvt"]=wasmExports["fcvt"])(a0,a1,a2,a3);var _fdim=Module["_fdim"]=(a0,a1)=>(_fdim=Module["_fdim"]=wasmExports["fdim"])(a0,a1);var _fdimf=Module["_fdimf"]=(a0,a1)=>(_fdimf=Module["_fdimf"]=wasmExports["fdimf"])(a0,a1);var _fdiml=Module["_fdiml"]=(a0,a1,a2,a3,a4)=>(_fdiml=Module["_fdiml"]=wasmExports["fdiml"])(a0,a1,a2,a3,a4);var _fegetexceptflag=Module["_fegetexceptflag"]=(a0,a1)=>(_fegetexceptflag=Module["_fegetexceptflag"]=wasmExports["fegetexceptflag"])(a0,a1);var _fetestexcept=Module["_fetestexcept"]=a0=>(_fetestexcept=Module["_fetestexcept"]=wasmExports["fetestexcept"])(a0);var _feholdexcept=Module["_feholdexcept"]=a0=>(_feholdexcept=Module["_feholdexcept"]=wasmExports["feholdexcept"])(a0);var _fegetenv=Module["_fegetenv"]=a0=>(_fegetenv=Module["_fegetenv"]=wasmExports["fegetenv"])(a0);var _feclearexcept=Module["_feclearexcept"]=a0=>(_feclearexcept=Module["_feclearexcept"]=wasmExports["feclearexcept"])(a0);var _feraiseexcept=Module["_feraiseexcept"]=a0=>(_feraiseexcept=Module["_feraiseexcept"]=wasmExports["feraiseexcept"])(a0);var ___fesetround=Module["___fesetround"]=a0=>(___fesetround=Module["___fesetround"]=wasmExports["__fesetround"])(a0);var _fesetenv=Module["_fesetenv"]=a0=>(_fesetenv=Module["_fesetenv"]=wasmExports["fesetenv"])(a0);var _feof_unlocked=Module["_feof_unlocked"]=a0=>(_feof_unlocked=Module["_feof_unlocked"]=wasmExports["feof_unlocked"])(a0);var __IO_feof_unlocked=Module["__IO_feof_unlocked"]=a0=>(__IO_feof_unlocked=Module["__IO_feof_unlocked"]=wasmExports["_IO_feof_unlocked"])(a0);var _ferror_unlocked=Module["_ferror_unlocked"]=a0=>(_ferror_unlocked=Module["_ferror_unlocked"]=wasmExports["ferror_unlocked"])(a0);var __IO_ferror_unlocked=Module["__IO_ferror_unlocked"]=a0=>(__IO_ferror_unlocked=Module["__IO_ferror_unlocked"]=wasmExports["_IO_ferror_unlocked"])(a0);var _fesetexceptflag=Module["_fesetexceptflag"]=(a0,a1)=>(_fesetexceptflag=Module["_fesetexceptflag"]=wasmExports["fesetexceptflag"])(a0,a1);var _fesetround=Module["_fesetround"]=a0=>(_fesetround=Module["_fesetround"]=wasmExports["fesetround"])(a0);var _feupdateenv=Module["_feupdateenv"]=a0=>(_feupdateenv=Module["_feupdateenv"]=wasmExports["feupdateenv"])(a0);var _fflush_unlocked=Module["_fflush_unlocked"]=a0=>(_fflush_unlocked=Module["_fflush_unlocked"]=wasmExports["fflush_unlocked"])(a0);var _ffs=Module["_ffs"]=a0=>(_ffs=Module["_ffs"]=wasmExports["ffs"])(a0);var _ffsl=Module["_ffsl"]=a0=>(_ffsl=Module["_ffsl"]=wasmExports["ffsl"])(a0);var _ffsll=Module["_ffsll"]=a0=>(_ffsll=Module["_ffsll"]=wasmExports["ffsll"])(a0);var _emscripten_futex_wake=Module["_emscripten_futex_wake"]=(a0,a1)=>(_emscripten_futex_wake=Module["_emscripten_futex_wake"]=wasmExports["emscripten_futex_wake"])(a0,a1);var _fgetln=Module["_fgetln"]=(a0,a1)=>(_fgetln=Module["_fgetln"]=wasmExports["fgetln"])(a0,a1);var _getline=Module["_getline"]=(a0,a1,a2)=>(_getline=Module["_getline"]=wasmExports["getline"])(a0,a1,a2);var _fgetpos=Module["_fgetpos"]=(a0,a1)=>(_fgetpos=Module["_fgetpos"]=wasmExports["fgetpos"])(a0,a1);var _fgets_unlocked=Module["_fgets_unlocked"]=(a0,a1,a2)=>(_fgets_unlocked=Module["_fgets_unlocked"]=wasmExports["fgets_unlocked"])(a0,a1,a2);var ___fgetwc_unlocked=Module["___fgetwc_unlocked"]=a0=>(___fgetwc_unlocked=Module["___fgetwc_unlocked"]=wasmExports["__fgetwc_unlocked"])(a0);var _fwide=Module["_fwide"]=(a0,a1)=>(_fwide=Module["_fwide"]=wasmExports["fwide"])(a0,a1);var _mbtowc=Module["_mbtowc"]=(a0,a1,a2)=>(_mbtowc=Module["_mbtowc"]=wasmExports["mbtowc"])(a0,a1,a2);var _fgetwc=Module["_fgetwc"]=a0=>(_fgetwc=Module["_fgetwc"]=wasmExports["fgetwc"])(a0);var _fgetwc_unlocked=Module["_fgetwc_unlocked"]=a0=>(_fgetwc_unlocked=Module["_fgetwc_unlocked"]=wasmExports["fgetwc_unlocked"])(a0);var _getwc_unlocked=Module["_getwc_unlocked"]=a0=>(_getwc_unlocked=Module["_getwc_unlocked"]=wasmExports["getwc_unlocked"])(a0);var _fgetws=Module["_fgetws"]=(a0,a1,a2)=>(_fgetws=Module["_fgetws"]=wasmExports["fgetws"])(a0,a1,a2);var _fgetws_unlocked=Module["_fgetws_unlocked"]=(a0,a1,a2)=>(_fgetws_unlocked=Module["_fgetws_unlocked"]=wasmExports["fgetws_unlocked"])(a0,a1,a2);var _fileno_unlocked=Module["_fileno_unlocked"]=a0=>(_fileno_unlocked=Module["_fileno_unlocked"]=wasmExports["fileno_unlocked"])(a0);var _finite=Module["_finite"]=a0=>(_finite=Module["_finite"]=wasmExports["finite"])(a0);var _finitef=Module["_finitef"]=a0=>(_finitef=Module["_finitef"]=wasmExports["finitef"])(a0);var ___floatunsitf=Module["___floatunsitf"]=(a0,a1)=>(___floatunsitf=Module["___floatunsitf"]=wasmExports["__floatunsitf"])(a0,a1);var _fmodl=Module["_fmodl"]=(a0,a1,a2,a3,a4)=>(_fmodl=Module["_fmodl"]=wasmExports["fmodl"])(a0,a1,a2,a3,a4);var _ftrylockfile=Module["_ftrylockfile"]=a0=>(_ftrylockfile=Module["_ftrylockfile"]=wasmExports["ftrylockfile"])(a0);var _floorf=Module["_floorf"]=a0=>(_floorf=Module["_floorf"]=wasmExports["floorf"])(a0);var _floorl=Module["_floorl"]=(a0,a1,a2)=>(_floorl=Module["_floorl"]=wasmExports["floorl"])(a0,a1,a2);var _fma=Module["_fma"]=(a0,a1,a2)=>(_fma=Module["_fma"]=wasmExports["fma"])(a0,a1,a2);var _fmaf=Module["_fmaf"]=(a0,a1,a2)=>(_fmaf=Module["_fmaf"]=wasmExports["fmaf"])(a0,a1,a2);var _fmal=Module["_fmal"]=(a0,a1,a2,a3,a4,a5,a6)=>(_fmal=Module["_fmal"]=wasmExports["fmal"])(a0,a1,a2,a3,a4,a5,a6);var _frexpl=Module["_frexpl"]=(a0,a1,a2,a3)=>(_frexpl=Module["_frexpl"]=wasmExports["frexpl"])(a0,a1,a2,a3);var _nextafterl=Module["_nextafterl"]=(a0,a1,a2,a3,a4)=>(_nextafterl=Module["_nextafterl"]=wasmExports["nextafterl"])(a0,a1,a2,a3,a4);var _ilogbl=Module["_ilogbl"]=(a0,a1)=>(_ilogbl=Module["_ilogbl"]=wasmExports["ilogbl"])(a0,a1);var _fmax=Module["_fmax"]=(a0,a1)=>(_fmax=Module["_fmax"]=wasmExports["fmax"])(a0,a1);var _fmaxf=Module["_fmaxf"]=(a0,a1)=>(_fmaxf=Module["_fmaxf"]=wasmExports["fmaxf"])(a0,a1);var _fmaxl=Module["_fmaxl"]=(a0,a1,a2,a3,a4)=>(_fmaxl=Module["_fmaxl"]=wasmExports["fmaxl"])(a0,a1,a2,a3,a4);var _fmemopen=Module["_fmemopen"]=(a0,a1,a2)=>(_fmemopen=Module["_fmemopen"]=wasmExports["fmemopen"])(a0,a1,a2);var _fmin=Module["_fmin"]=(a0,a1)=>(_fmin=Module["_fmin"]=wasmExports["fmin"])(a0,a1);var _fminf=Module["_fminf"]=(a0,a1)=>(_fminf=Module["_fminf"]=wasmExports["fminf"])(a0,a1);var _fminl=Module["_fminl"]=(a0,a1,a2,a3,a4)=>(_fminl=Module["_fminl"]=wasmExports["fminl"])(a0,a1,a2,a3,a4);var _fmodf=Module["_fmodf"]=(a0,a1)=>(_fmodf=Module["_fmodf"]=wasmExports["fmodf"])(a0,a1);var _fmtmsg=Module["_fmtmsg"]=(a0,a1,a2,a3,a4,a5)=>(_fmtmsg=Module["_fmtmsg"]=wasmExports["fmtmsg"])(a0,a1,a2,a3,a4,a5);var _fnmatch=Module["_fnmatch"]=(a0,a1,a2)=>(_fnmatch=Module["_fnmatch"]=wasmExports["fnmatch"])(a0,a1,a2);var _towupper=Module["_towupper"]=a0=>(_towupper=Module["_towupper"]=wasmExports["towupper"])(a0);var _towlower=Module["_towlower"]=a0=>(_towlower=Module["_towlower"]=wasmExports["towlower"])(a0);var _wctype=Module["_wctype"]=a0=>(_wctype=Module["_wctype"]=wasmExports["wctype"])(a0);var _iswctype=Module["_iswctype"]=(a0,a1)=>(_iswctype=Module["_iswctype"]=wasmExports["iswctype"])(a0,a1);var _fopencookie=Module["_fopencookie"]=(a0,a1,a2)=>(_fopencookie=Module["_fopencookie"]=wasmExports["fopencookie"])(a0,a1,a2);var _forkpty=Module["_forkpty"]=(a0,a1,a2,a3)=>(_forkpty=Module["_forkpty"]=wasmExports["forkpty"])(a0,a1,a2,a3);var _openpty=Module["_openpty"]=(a0,a1,a2,a3,a4)=>(_openpty=Module["_openpty"]=wasmExports["openpty"])(a0,a1,a2,a3,a4);var _pipe2=Module["_pipe2"]=(a0,a1)=>(_pipe2=Module["_pipe2"]=wasmExports["pipe2"])(a0,a1);var _vfiprintf=Module["_vfiprintf"]=(a0,a1,a2)=>(_vfiprintf=Module["_vfiprintf"]=wasmExports["vfiprintf"])(a0,a1,a2);var ___small_vfprintf=Module["___small_vfprintf"]=(a0,a1,a2)=>(___small_vfprintf=Module["___small_vfprintf"]=wasmExports["__small_vfprintf"])(a0,a1,a2);var _fputs_unlocked=Module["_fputs_unlocked"]=(a0,a1)=>(_fputs_unlocked=Module["_fputs_unlocked"]=wasmExports["fputs_unlocked"])(a0,a1);var ___fputwc_unlocked=Module["___fputwc_unlocked"]=(a0,a1)=>(___fputwc_unlocked=Module["___fputwc_unlocked"]=wasmExports["__fputwc_unlocked"])(a0,a1);var _wctomb=Module["_wctomb"]=(a0,a1)=>(_wctomb=Module["_wctomb"]=wasmExports["wctomb"])(a0,a1);var _fputwc=Module["_fputwc"]=(a0,a1)=>(_fputwc=Module["_fputwc"]=wasmExports["fputwc"])(a0,a1);var _fputwc_unlocked=Module["_fputwc_unlocked"]=(a0,a1)=>(_fputwc_unlocked=Module["_fputwc_unlocked"]=wasmExports["fputwc_unlocked"])(a0,a1);var _putwc_unlocked=Module["_putwc_unlocked"]=(a0,a1)=>(_putwc_unlocked=Module["_putwc_unlocked"]=wasmExports["putwc_unlocked"])(a0,a1);var _fputws=Module["_fputws"]=(a0,a1)=>(_fputws=Module["_fputws"]=wasmExports["fputws"])(a0,a1);var _wcsrtombs=Module["_wcsrtombs"]=(a0,a1,a2,a3)=>(_wcsrtombs=Module["_wcsrtombs"]=wasmExports["wcsrtombs"])(a0,a1,a2,a3);var _fputws_unlocked=Module["_fputws_unlocked"]=(a0,a1)=>(_fputws_unlocked=Module["_fputws_unlocked"]=wasmExports["fputws_unlocked"])(a0,a1);var _fread_unlocked=Module["_fread_unlocked"]=(a0,a1,a2,a3)=>(_fread_unlocked=Module["_fread_unlocked"]=wasmExports["fread_unlocked"])(a0,a1,a2,a3);var _freelocale=Module["_freelocale"]=a0=>(_freelocale=Module["_freelocale"]=wasmExports["freelocale"])(a0);var ___freelocale=Module["___freelocale"]=a0=>(___freelocale=Module["___freelocale"]=wasmExports["__freelocale"])(a0);var _freopen=Module["_freopen"]=(a0,a1,a2)=>(_freopen=Module["_freopen"]=wasmExports["freopen"])(a0,a1,a2);var _frexpf=Module["_frexpf"]=(a0,a1)=>(_frexpf=Module["_frexpf"]=wasmExports["frexpf"])(a0,a1);var _fscanf=Module["_fscanf"]=(a0,a1,a2)=>(_fscanf=Module["_fscanf"]=wasmExports["fscanf"])(a0,a1,a2);var _vfscanf=Module["_vfscanf"]=(a0,a1,a2)=>(_vfscanf=Module["_vfscanf"]=wasmExports["vfscanf"])(a0,a1,a2);var ___isoc99_fscanf=Module["___isoc99_fscanf"]=(a0,a1,a2)=>(___isoc99_fscanf=Module["___isoc99_fscanf"]=wasmExports["__isoc99_fscanf"])(a0,a1,a2);var _fseek=Module["_fseek"]=(a0,a1,a2)=>(_fseek=Module["_fseek"]=wasmExports["fseek"])(a0,a1,a2);var _fseeko=Module["_fseeko"]=(a0,a1,a2)=>(_fseeko=Module["_fseeko"]=wasmExports["fseeko"])(a0,a1,a2);var _fsetpos=Module["_fsetpos"]=(a0,a1)=>(_fsetpos=Module["_fsetpos"]=wasmExports["fsetpos"])(a0,a1);var _ftello=Module["_ftello"]=a0=>(_ftello=Module["_ftello"]=wasmExports["ftello"])(a0);var _ftime=Module["_ftime"]=a0=>(_ftime=Module["_ftime"]=wasmExports["ftime"])(a0);var _utimensat=Module["_utimensat"]=(a0,a1,a2,a3)=>(_utimensat=Module["_utimensat"]=wasmExports["utimensat"])(a0,a1,a2,a3);var _fwprintf=Module["_fwprintf"]=(a0,a1,a2)=>(_fwprintf=Module["_fwprintf"]=wasmExports["fwprintf"])(a0,a1,a2);var _vfwprintf=Module["_vfwprintf"]=(a0,a1,a2)=>(_vfwprintf=Module["_vfwprintf"]=wasmExports["vfwprintf"])(a0,a1,a2);var _fwrite_unlocked=Module["_fwrite_unlocked"]=(a0,a1,a2,a3)=>(_fwrite_unlocked=Module["_fwrite_unlocked"]=wasmExports["fwrite_unlocked"])(a0,a1,a2,a3);var _fwscanf=Module["_fwscanf"]=(a0,a1,a2)=>(_fwscanf=Module["_fwscanf"]=wasmExports["fwscanf"])(a0,a1,a2);var _vfwscanf=Module["_vfwscanf"]=(a0,a1,a2)=>(_vfwscanf=Module["_vfwscanf"]=wasmExports["vfwscanf"])(a0,a1,a2);var ___isoc99_fwscanf=Module["___isoc99_fwscanf"]=(a0,a1,a2)=>(___isoc99_fwscanf=Module["___isoc99_fwscanf"]=wasmExports["__isoc99_fwscanf"])(a0,a1,a2);var _gcvt=Module["_gcvt"]=(a0,a1,a2)=>(_gcvt=Module["_gcvt"]=wasmExports["gcvt"])(a0,a1,a2);var _get_current_dir_name=Module["_get_current_dir_name"]=()=>(_get_current_dir_name=Module["_get_current_dir_name"]=wasmExports["get_current_dir_name"])();var _strdup=Module["_strdup"]=a0=>(_strdup=Module["_strdup"]=wasmExports["strdup"])(a0);var __IO_getc=Module["__IO_getc"]=a0=>(__IO_getc=Module["__IO_getc"]=wasmExports["_IO_getc"])(a0);var _fgetc_unlocked=Module["_fgetc_unlocked"]=a0=>(_fgetc_unlocked=Module["_fgetc_unlocked"]=wasmExports["fgetc_unlocked"])(a0);var __IO_getc_unlocked=Module["__IO_getc_unlocked"]=a0=>(__IO_getc_unlocked=Module["__IO_getc_unlocked"]=wasmExports["_IO_getc_unlocked"])(a0);var _getchar=Module["_getchar"]=()=>(_getchar=Module["_getchar"]=wasmExports["getchar"])();var _getchar_unlocked=Module["_getchar_unlocked"]=()=>(_getchar_unlocked=Module["_getchar_unlocked"]=wasmExports["getchar_unlocked"])();var _getdelim=Module["_getdelim"]=(a0,a1,a2,a3)=>(_getdelim=Module["_getdelim"]=wasmExports["getdelim"])(a0,a1,a2,a3);var ___getdelim=Module["___getdelim"]=(a0,a1,a2,a3)=>(___getdelim=Module["___getdelim"]=wasmExports["__getdelim"])(a0,a1,a2,a3);var _getdents=Module["_getdents"]=(a0,a1,a2)=>(_getdents=Module["_getdents"]=wasmExports["getdents"])(a0,a1,a2);var _getdomainname=Module["_getdomainname"]=(a0,a1)=>(_getdomainname=Module["_getdomainname"]=wasmExports["getdomainname"])(a0,a1);var _getegid=Module["_getegid"]=()=>(_getegid=Module["_getegid"]=wasmExports["getegid"])();var _geteuid=Module["_geteuid"]=()=>(_geteuid=Module["_geteuid"]=wasmExports["geteuid"])();var _getgroups=Module["_getgroups"]=(a0,a1)=>(_getgroups=Module["_getgroups"]=wasmExports["getgroups"])(a0,a1);var _gethostid=Module["_gethostid"]=()=>(_gethostid=Module["_gethostid"]=wasmExports["gethostid"])();var _freeifaddrs=Module["_freeifaddrs"]=a0=>(_freeifaddrs=Module["_freeifaddrs"]=wasmExports["freeifaddrs"])(a0);var _getifaddrs=Module["_getifaddrs"]=a0=>(_getifaddrs=Module["_getifaddrs"]=wasmExports["getifaddrs"])(a0);var ___getitimer=Module["___getitimer"]=(a0,a1,a2)=>(___getitimer=Module["___getitimer"]=wasmExports["__getitimer"])(a0,a1,a2);var _getlogin_r=Module["_getlogin_r"]=(a0,a1)=>(_getlogin_r=Module["_getlogin_r"]=wasmExports["getlogin_r"])(a0,a1);var _getopt=Module["_getopt"]=(a0,a1,a2)=>(_getopt=Module["_getopt"]=wasmExports["getopt"])(a0,a1,a2);var ___posix_getopt=Module["___posix_getopt"]=(a0,a1,a2)=>(___posix_getopt=Module["___posix_getopt"]=wasmExports["__posix_getopt"])(a0,a1,a2);var _getopt_long=Module["_getopt_long"]=(a0,a1,a2,a3,a4)=>(_getopt_long=Module["_getopt_long"]=wasmExports["getopt_long"])(a0,a1,a2,a3,a4);var _getopt_long_only=Module["_getopt_long_only"]=(a0,a1,a2,a3,a4)=>(_getopt_long_only=Module["_getopt_long_only"]=wasmExports["getopt_long_only"])(a0,a1,a2,a3,a4);var _mblen=Module["_mblen"]=(a0,a1)=>(_mblen=Module["_mblen"]=wasmExports["mblen"])(a0,a1);var _getpagesize=Module["_getpagesize"]=()=>(_getpagesize=Module["_getpagesize"]=wasmExports["getpagesize"])();var _getresgid=Module["_getresgid"]=(a0,a1,a2)=>(_getresgid=Module["_getresgid"]=wasmExports["getresgid"])(a0,a1,a2);var _getresuid=Module["_getresuid"]=(a0,a1,a2)=>(_getresuid=Module["_getresuid"]=wasmExports["getresuid"])(a0,a1,a2);var _getrusage=Module["_getrusage"]=(a0,a1)=>(_getrusage=Module["_getrusage"]=wasmExports["getrusage"])(a0,a1);var _gets=Module["_gets"]=a0=>(_gets=Module["_gets"]=wasmExports["gets"])(a0);var _getservbyname_r=Module["_getservbyname_r"]=(a0,a1,a2,a3,a4,a5)=>(_getservbyname_r=Module["_getservbyname_r"]=wasmExports["getservbyname_r"])(a0,a1,a2,a3,a4,a5);var _getservbyport_r=Module["_getservbyport_r"]=(a0,a1,a2,a3,a4,a5)=>(_getservbyport_r=Module["_getservbyport_r"]=wasmExports["getservbyport_r"])(a0,a1,a2,a3,a4,a5);var _getsubopt=Module["_getsubopt"]=(a0,a1,a2)=>(_getsubopt=Module["_getsubopt"]=wasmExports["getsubopt"])(a0,a1,a2);var _gettid=Module["_gettid"]=()=>(_gettid=Module["_gettid"]=wasmExports["gettid"])();var _getw=Module["_getw"]=a0=>(_getw=Module["_getw"]=wasmExports["getw"])(a0);var _getwc=Module["_getwc"]=a0=>(_getwc=Module["_getwc"]=wasmExports["getwc"])(a0);var _getwchar=Module["_getwchar"]=()=>(_getwchar=Module["_getwchar"]=wasmExports["getwchar"])();var _getwchar_unlocked=Module["_getwchar_unlocked"]=()=>(_getwchar_unlocked=Module["_getwchar_unlocked"]=wasmExports["getwchar_unlocked"])();var _glob=Module["_glob"]=(a0,a1,a2,a3)=>(_glob=Module["_glob"]=wasmExports["glob"])(a0,a1,a2,a3);var _globfree=Module["_globfree"]=a0=>(_globfree=Module["_globfree"]=wasmExports["globfree"])(a0);var _gmtime=Module["_gmtime"]=a0=>(_gmtime=Module["_gmtime"]=wasmExports["gmtime"])(a0);var _herror=Module["_herror"]=a0=>(_herror=Module["_herror"]=wasmExports["herror"])(a0);var _hcreate=Module["_hcreate"]=a0=>(_hcreate=Module["_hcreate"]=wasmExports["hcreate"])(a0);var _hdestroy=Module["_hdestroy"]=()=>(_hdestroy=Module["_hdestroy"]=wasmExports["hdestroy"])();var _hsearch=Module["_hsearch"]=(a0,a1)=>(_hsearch=Module["_hsearch"]=wasmExports["hsearch"])(a0,a1);var _hcreate_r=Module["_hcreate_r"]=(a0,a1)=>(_hcreate_r=Module["_hcreate_r"]=wasmExports["hcreate_r"])(a0,a1);var _hdestroy_r=Module["_hdestroy_r"]=a0=>(_hdestroy_r=Module["_hdestroy_r"]=wasmExports["hdestroy_r"])(a0);var _hsearch_r=Module["_hsearch_r"]=(a0,a1,a2,a3)=>(_hsearch_r=Module["_hsearch_r"]=wasmExports["hsearch_r"])(a0,a1,a2,a3);var _iconv_open=Module["_iconv_open"]=(a0,a1)=>(_iconv_open=Module["_iconv_open"]=wasmExports["iconv_open"])(a0,a1);var _iconv=Module["_iconv"]=(a0,a1,a2,a3,a4)=>(_iconv=Module["_iconv"]=wasmExports["iconv"])(a0,a1,a2,a3,a4);var _iconv_close=Module["_iconv_close"]=a0=>(_iconv_close=Module["_iconv_close"]=wasmExports["iconv_close"])(a0);var _ioctl=Module["_ioctl"]=(a0,a1,a2)=>(_ioctl=Module["_ioctl"]=wasmExports["ioctl"])(a0,a1,a2);var _ilogb=Module["_ilogb"]=a0=>(_ilogb=Module["_ilogb"]=wasmExports["ilogb"])(a0);var _ilogbf=Module["_ilogbf"]=a0=>(_ilogbf=Module["_ilogbf"]=wasmExports["ilogbf"])(a0);var _imaxabs=Module["_imaxabs"]=a0=>(_imaxabs=Module["_imaxabs"]=wasmExports["imaxabs"])(a0);var _imaxdiv=Module["_imaxdiv"]=(a0,a1,a2)=>(_imaxdiv=Module["_imaxdiv"]=wasmExports["imaxdiv"])(a0,a1,a2);var _index=Module["_index"]=(a0,a1)=>(_index=Module["_index"]=wasmExports["index"])(a0,a1);var _inet_addr=Module["_inet_addr"]=a0=>(_inet_addr=Module["_inet_addr"]=wasmExports["inet_addr"])(a0);var _inet_network=Module["_inet_network"]=a0=>(_inet_network=Module["_inet_network"]=wasmExports["inet_network"])(a0);var _inet_makeaddr=Module["_inet_makeaddr"]=(a0,a1)=>(_inet_makeaddr=Module["_inet_makeaddr"]=wasmExports["inet_makeaddr"])(a0,a1);var _inet_lnaof=Module["_inet_lnaof"]=a0=>(_inet_lnaof=Module["_inet_lnaof"]=wasmExports["inet_lnaof"])(a0);var _inet_netof=Module["_inet_netof"]=a0=>(_inet_netof=Module["_inet_netof"]=wasmExports["inet_netof"])(a0);var _insque=Module["_insque"]=(a0,a1)=>(_insque=Module["_insque"]=wasmExports["insque"])(a0,a1);var _remque=Module["_remque"]=a0=>(_remque=Module["_remque"]=wasmExports["remque"])(a0);var ___intscan=Module["___intscan"]=(a0,a1,a2,a3)=>(___intscan=Module["___intscan"]=wasmExports["__intscan"])(a0,a1,a2,a3);var ___multi3=Module["___multi3"]=(a0,a1,a2,a3,a4)=>(___multi3=Module["___multi3"]=wasmExports["__multi3"])(a0,a1,a2,a3,a4);var ___isalnum_l=Module["___isalnum_l"]=(a0,a1)=>(___isalnum_l=Module["___isalnum_l"]=wasmExports["__isalnum_l"])(a0,a1);var _isalnum_l=Module["_isalnum_l"]=(a0,a1)=>(_isalnum_l=Module["_isalnum_l"]=wasmExports["isalnum_l"])(a0,a1);var ___isalpha_l=Module["___isalpha_l"]=(a0,a1)=>(___isalpha_l=Module["___isalpha_l"]=wasmExports["__isalpha_l"])(a0,a1);var _isalpha_l=Module["_isalpha_l"]=(a0,a1)=>(_isalpha_l=Module["_isalpha_l"]=wasmExports["isalpha_l"])(a0,a1);var _isascii=Module["_isascii"]=a0=>(_isascii=Module["_isascii"]=wasmExports["isascii"])(a0);var _isblank=Module["_isblank"]=a0=>(_isblank=Module["_isblank"]=wasmExports["isblank"])(a0);var ___isblank_l=Module["___isblank_l"]=(a0,a1)=>(___isblank_l=Module["___isblank_l"]=wasmExports["__isblank_l"])(a0,a1);var _isblank_l=Module["_isblank_l"]=(a0,a1)=>(_isblank_l=Module["_isblank_l"]=wasmExports["isblank_l"])(a0,a1);var _iscntrl=Module["_iscntrl"]=a0=>(_iscntrl=Module["_iscntrl"]=wasmExports["iscntrl"])(a0);var ___iscntrl_l=Module["___iscntrl_l"]=(a0,a1)=>(___iscntrl_l=Module["___iscntrl_l"]=wasmExports["__iscntrl_l"])(a0,a1);var _iscntrl_l=Module["_iscntrl_l"]=(a0,a1)=>(_iscntrl_l=Module["_iscntrl_l"]=wasmExports["iscntrl_l"])(a0,a1);var ___isdigit_l=Module["___isdigit_l"]=(a0,a1)=>(___isdigit_l=Module["___isdigit_l"]=wasmExports["__isdigit_l"])(a0,a1);var _isdigit_l=Module["_isdigit_l"]=(a0,a1)=>(_isdigit_l=Module["_isdigit_l"]=wasmExports["isdigit_l"])(a0,a1);var _isgraph=Module["_isgraph"]=a0=>(_isgraph=Module["_isgraph"]=wasmExports["isgraph"])(a0);var ___isgraph_l=Module["___isgraph_l"]=(a0,a1)=>(___isgraph_l=Module["___isgraph_l"]=wasmExports["__isgraph_l"])(a0,a1);var _isgraph_l=Module["_isgraph_l"]=(a0,a1)=>(_isgraph_l=Module["_isgraph_l"]=wasmExports["isgraph_l"])(a0,a1);var _islower=Module["_islower"]=a0=>(_islower=Module["_islower"]=wasmExports["islower"])(a0);var ___islower_l=Module["___islower_l"]=(a0,a1)=>(___islower_l=Module["___islower_l"]=wasmExports["__islower_l"])(a0,a1);var _islower_l=Module["_islower_l"]=(a0,a1)=>(_islower_l=Module["_islower_l"]=wasmExports["islower_l"])(a0,a1);var _isprint=Module["_isprint"]=a0=>(_isprint=Module["_isprint"]=wasmExports["isprint"])(a0);var ___isprint_l=Module["___isprint_l"]=(a0,a1)=>(___isprint_l=Module["___isprint_l"]=wasmExports["__isprint_l"])(a0,a1);var _isprint_l=Module["_isprint_l"]=(a0,a1)=>(_isprint_l=Module["_isprint_l"]=wasmExports["isprint_l"])(a0,a1);var _ispunct=Module["_ispunct"]=a0=>(_ispunct=Module["_ispunct"]=wasmExports["ispunct"])(a0);var ___ispunct_l=Module["___ispunct_l"]=(a0,a1)=>(___ispunct_l=Module["___ispunct_l"]=wasmExports["__ispunct_l"])(a0,a1);var _ispunct_l=Module["_ispunct_l"]=(a0,a1)=>(_ispunct_l=Module["_ispunct_l"]=wasmExports["ispunct_l"])(a0,a1);var _issetugid=Module["_issetugid"]=()=>(_issetugid=Module["_issetugid"]=wasmExports["issetugid"])();var ___isspace_l=Module["___isspace_l"]=(a0,a1)=>(___isspace_l=Module["___isspace_l"]=wasmExports["__isspace_l"])(a0,a1);var _isspace_l=Module["_isspace_l"]=(a0,a1)=>(_isspace_l=Module["_isspace_l"]=wasmExports["isspace_l"])(a0,a1);var ___isupper_l=Module["___isupper_l"]=(a0,a1)=>(___isupper_l=Module["___isupper_l"]=wasmExports["__isupper_l"])(a0,a1);var _isupper_l=Module["_isupper_l"]=(a0,a1)=>(_isupper_l=Module["_isupper_l"]=wasmExports["isupper_l"])(a0,a1);var _iswalnum=Module["_iswalnum"]=a0=>(_iswalnum=Module["_iswalnum"]=wasmExports["iswalnum"])(a0);var _iswdigit=Module["_iswdigit"]=a0=>(_iswdigit=Module["_iswdigit"]=wasmExports["iswdigit"])(a0);var _iswalpha=Module["_iswalpha"]=a0=>(_iswalpha=Module["_iswalpha"]=wasmExports["iswalpha"])(a0);var ___iswalnum_l=Module["___iswalnum_l"]=(a0,a1)=>(___iswalnum_l=Module["___iswalnum_l"]=wasmExports["__iswalnum_l"])(a0,a1);var _iswalnum_l=Module["_iswalnum_l"]=(a0,a1)=>(_iswalnum_l=Module["_iswalnum_l"]=wasmExports["iswalnum_l"])(a0,a1);var ___iswalpha_l=Module["___iswalpha_l"]=(a0,a1)=>(___iswalpha_l=Module["___iswalpha_l"]=wasmExports["__iswalpha_l"])(a0,a1);var _iswalpha_l=Module["_iswalpha_l"]=(a0,a1)=>(_iswalpha_l=Module["_iswalpha_l"]=wasmExports["iswalpha_l"])(a0,a1);var _iswblank=Module["_iswblank"]=a0=>(_iswblank=Module["_iswblank"]=wasmExports["iswblank"])(a0);var ___iswblank_l=Module["___iswblank_l"]=(a0,a1)=>(___iswblank_l=Module["___iswblank_l"]=wasmExports["__iswblank_l"])(a0,a1);var _iswblank_l=Module["_iswblank_l"]=(a0,a1)=>(_iswblank_l=Module["_iswblank_l"]=wasmExports["iswblank_l"])(a0,a1);var _iswcntrl=Module["_iswcntrl"]=a0=>(_iswcntrl=Module["_iswcntrl"]=wasmExports["iswcntrl"])(a0);var ___iswcntrl_l=Module["___iswcntrl_l"]=(a0,a1)=>(___iswcntrl_l=Module["___iswcntrl_l"]=wasmExports["__iswcntrl_l"])(a0,a1);var _iswcntrl_l=Module["_iswcntrl_l"]=(a0,a1)=>(_iswcntrl_l=Module["_iswcntrl_l"]=wasmExports["iswcntrl_l"])(a0,a1);var _iswgraph=Module["_iswgraph"]=a0=>(_iswgraph=Module["_iswgraph"]=wasmExports["iswgraph"])(a0);var _iswlower=Module["_iswlower"]=a0=>(_iswlower=Module["_iswlower"]=wasmExports["iswlower"])(a0);var _iswprint=Module["_iswprint"]=a0=>(_iswprint=Module["_iswprint"]=wasmExports["iswprint"])(a0);var _iswpunct=Module["_iswpunct"]=a0=>(_iswpunct=Module["_iswpunct"]=wasmExports["iswpunct"])(a0);var _iswspace=Module["_iswspace"]=a0=>(_iswspace=Module["_iswspace"]=wasmExports["iswspace"])(a0);var _iswupper=Module["_iswupper"]=a0=>(_iswupper=Module["_iswupper"]=wasmExports["iswupper"])(a0);var _iswxdigit=Module["_iswxdigit"]=a0=>(_iswxdigit=Module["_iswxdigit"]=wasmExports["iswxdigit"])(a0);var ___iswctype_l=Module["___iswctype_l"]=(a0,a1,a2)=>(___iswctype_l=Module["___iswctype_l"]=wasmExports["__iswctype_l"])(a0,a1,a2);var ___wctype_l=Module["___wctype_l"]=(a0,a1)=>(___wctype_l=Module["___wctype_l"]=wasmExports["__wctype_l"])(a0,a1);var _iswctype_l=Module["_iswctype_l"]=(a0,a1,a2)=>(_iswctype_l=Module["_iswctype_l"]=wasmExports["iswctype_l"])(a0,a1,a2);var _wctype_l=Module["_wctype_l"]=(a0,a1)=>(_wctype_l=Module["_wctype_l"]=wasmExports["wctype_l"])(a0,a1);var ___iswdigit_l=Module["___iswdigit_l"]=(a0,a1)=>(___iswdigit_l=Module["___iswdigit_l"]=wasmExports["__iswdigit_l"])(a0,a1);var _iswdigit_l=Module["_iswdigit_l"]=(a0,a1)=>(_iswdigit_l=Module["_iswdigit_l"]=wasmExports["iswdigit_l"])(a0,a1);var ___iswgraph_l=Module["___iswgraph_l"]=(a0,a1)=>(___iswgraph_l=Module["___iswgraph_l"]=wasmExports["__iswgraph_l"])(a0,a1);var _iswgraph_l=Module["_iswgraph_l"]=(a0,a1)=>(_iswgraph_l=Module["_iswgraph_l"]=wasmExports["iswgraph_l"])(a0,a1);var ___iswlower_l=Module["___iswlower_l"]=(a0,a1)=>(___iswlower_l=Module["___iswlower_l"]=wasmExports["__iswlower_l"])(a0,a1);var _iswlower_l=Module["_iswlower_l"]=(a0,a1)=>(_iswlower_l=Module["_iswlower_l"]=wasmExports["iswlower_l"])(a0,a1);var ___iswprint_l=Module["___iswprint_l"]=(a0,a1)=>(___iswprint_l=Module["___iswprint_l"]=wasmExports["__iswprint_l"])(a0,a1);var _iswprint_l=Module["_iswprint_l"]=(a0,a1)=>(_iswprint_l=Module["_iswprint_l"]=wasmExports["iswprint_l"])(a0,a1);var ___iswpunct_l=Module["___iswpunct_l"]=(a0,a1)=>(___iswpunct_l=Module["___iswpunct_l"]=wasmExports["__iswpunct_l"])(a0,a1);var _iswpunct_l=Module["_iswpunct_l"]=(a0,a1)=>(_iswpunct_l=Module["_iswpunct_l"]=wasmExports["iswpunct_l"])(a0,a1);var ___iswspace_l=Module["___iswspace_l"]=(a0,a1)=>(___iswspace_l=Module["___iswspace_l"]=wasmExports["__iswspace_l"])(a0,a1);var _iswspace_l=Module["_iswspace_l"]=(a0,a1)=>(_iswspace_l=Module["_iswspace_l"]=wasmExports["iswspace_l"])(a0,a1);var ___iswupper_l=Module["___iswupper_l"]=(a0,a1)=>(___iswupper_l=Module["___iswupper_l"]=wasmExports["__iswupper_l"])(a0,a1);var _iswupper_l=Module["_iswupper_l"]=(a0,a1)=>(_iswupper_l=Module["_iswupper_l"]=wasmExports["iswupper_l"])(a0,a1);var ___iswxdigit_l=Module["___iswxdigit_l"]=(a0,a1)=>(___iswxdigit_l=Module["___iswxdigit_l"]=wasmExports["__iswxdigit_l"])(a0,a1);var _iswxdigit_l=Module["_iswxdigit_l"]=(a0,a1)=>(_iswxdigit_l=Module["_iswxdigit_l"]=wasmExports["iswxdigit_l"])(a0,a1);var ___isxdigit_l=Module["___isxdigit_l"]=(a0,a1)=>(___isxdigit_l=Module["___isxdigit_l"]=wasmExports["__isxdigit_l"])(a0,a1);var _isxdigit_l=Module["_isxdigit_l"]=(a0,a1)=>(_isxdigit_l=Module["_isxdigit_l"]=wasmExports["isxdigit_l"])(a0,a1);var _j0=Module["_j0"]=a0=>(_j0=Module["_j0"]=wasmExports["j0"])(a0);var _y0=Module["_y0"]=a0=>(_y0=Module["_y0"]=wasmExports["y0"])(a0);var _j0f=Module["_j0f"]=a0=>(_j0f=Module["_j0f"]=wasmExports["j0f"])(a0);var _y0f=Module["_y0f"]=a0=>(_y0f=Module["_y0f"]=wasmExports["y0f"])(a0);var _j1=Module["_j1"]=a0=>(_j1=Module["_j1"]=wasmExports["j1"])(a0);var _y1=Module["_y1"]=a0=>(_y1=Module["_y1"]=wasmExports["y1"])(a0);var _j1f=Module["_j1f"]=a0=>(_j1f=Module["_j1f"]=wasmExports["j1f"])(a0);var _y1f=Module["_y1f"]=a0=>(_y1f=Module["_y1f"]=wasmExports["y1f"])(a0);var _jn=Module["_jn"]=(a0,a1)=>(_jn=Module["_jn"]=wasmExports["jn"])(a0,a1);var _yn=Module["_yn"]=(a0,a1)=>(_yn=Module["_yn"]=wasmExports["yn"])(a0,a1);var _jnf=Module["_jnf"]=(a0,a1)=>(_jnf=Module["_jnf"]=wasmExports["jnf"])(a0,a1);var _ynf=Module["_ynf"]=(a0,a1)=>(_ynf=Module["_ynf"]=wasmExports["ynf"])(a0,a1);var _labs=Module["_labs"]=a0=>(_labs=Module["_labs"]=wasmExports["labs"])(a0);var ___nl_langinfo=Module["___nl_langinfo"]=a0=>(___nl_langinfo=Module["___nl_langinfo"]=wasmExports["__nl_langinfo"])(a0);var _nl_langinfo_l=Module["_nl_langinfo_l"]=(a0,a1)=>(_nl_langinfo_l=Module["_nl_langinfo_l"]=wasmExports["nl_langinfo_l"])(a0,a1);var _lchmod=Module["_lchmod"]=(a0,a1)=>(_lchmod=Module["_lchmod"]=wasmExports["lchmod"])(a0,a1);var _lchown=Module["_lchown"]=(a0,a1,a2)=>(_lchown=Module["_lchown"]=wasmExports["lchown"])(a0,a1,a2);var _lcong48=Module["_lcong48"]=a0=>(_lcong48=Module["_lcong48"]=wasmExports["lcong48"])(a0);var _ldexpf=Module["_ldexpf"]=(a0,a1)=>(_ldexpf=Module["_ldexpf"]=wasmExports["ldexpf"])(a0,a1);var _scalbnf=Module["_scalbnf"]=(a0,a1)=>(_scalbnf=Module["_scalbnf"]=wasmExports["scalbnf"])(a0,a1);var _ldexpl=Module["_ldexpl"]=(a0,a1,a2,a3)=>(_ldexpl=Module["_ldexpl"]=wasmExports["ldexpl"])(a0,a1,a2,a3);var _ldiv=Module["_ldiv"]=(a0,a1,a2)=>(_ldiv=Module["_ldiv"]=wasmExports["ldiv"])(a0,a1,a2);var _get_nprocs_conf=Module["_get_nprocs_conf"]=()=>(_get_nprocs_conf=Module["_get_nprocs_conf"]=wasmExports["get_nprocs_conf"])();var _get_nprocs=Module["_get_nprocs"]=()=>(_get_nprocs=Module["_get_nprocs"]=wasmExports["get_nprocs"])();var _get_phys_pages=Module["_get_phys_pages"]=()=>(_get_phys_pages=Module["_get_phys_pages"]=wasmExports["get_phys_pages"])();var _get_avphys_pages=Module["_get_avphys_pages"]=()=>(_get_avphys_pages=Module["_get_avphys_pages"]=wasmExports["get_avphys_pages"])();var _lgamma=Module["_lgamma"]=a0=>(_lgamma=Module["_lgamma"]=wasmExports["lgamma"])(a0);var _lgamma_r=Module["_lgamma_r"]=(a0,a1)=>(_lgamma_r=Module["_lgamma_r"]=wasmExports["lgamma_r"])(a0,a1);var _lgammaf=Module["_lgammaf"]=a0=>(_lgammaf=Module["_lgammaf"]=wasmExports["lgammaf"])(a0);var _lgammaf_r=Module["_lgammaf_r"]=(a0,a1)=>(_lgammaf_r=Module["_lgammaf_r"]=wasmExports["lgammaf_r"])(a0,a1);var ___lgammal_r=Module["___lgammal_r"]=(a0,a1,a2,a3)=>(___lgammal_r=Module["___lgammal_r"]=wasmExports["__lgammal_r"])(a0,a1,a2,a3);var _lgammal=Module["_lgammal"]=(a0,a1,a2)=>(_lgammal=Module["_lgammal"]=wasmExports["lgammal"])(a0,a1,a2);var _lgammal_r=Module["_lgammal_r"]=(a0,a1,a2,a3)=>(_lgammal_r=Module["_lgammal_r"]=wasmExports["lgammal_r"])(a0,a1,a2,a3);var _emscripten_has_threading_support=Module["_emscripten_has_threading_support"]=()=>(_emscripten_has_threading_support=Module["_emscripten_has_threading_support"]=wasmExports["emscripten_has_threading_support"])();var _emscripten_num_logical_cores=Module["_emscripten_num_logical_cores"]=()=>(_emscripten_num_logical_cores=Module["_emscripten_num_logical_cores"]=wasmExports["emscripten_num_logical_cores"])();var _emscripten_force_num_logical_cores=Module["_emscripten_force_num_logical_cores"]=a0=>(_emscripten_force_num_logical_cores=Module["_emscripten_force_num_logical_cores"]=wasmExports["emscripten_force_num_logical_cores"])(a0);var _emscripten_futex_wait=Module["_emscripten_futex_wait"]=(a0,a1,a2)=>(_emscripten_futex_wait=Module["_emscripten_futex_wait"]=wasmExports["emscripten_futex_wait"])(a0,a1,a2);var _emscripten_is_main_runtime_thread=Module["_emscripten_is_main_runtime_thread"]=()=>(_emscripten_is_main_runtime_thread=Module["_emscripten_is_main_runtime_thread"]=wasmExports["emscripten_is_main_runtime_thread"])();var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=()=>(_emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=wasmExports["emscripten_main_thread_process_queued_calls"])();var _emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=()=>(_emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=wasmExports["emscripten_current_thread_process_queued_calls"])();var __emscripten_yield=Module["__emscripten_yield"]=a0=>(__emscripten_yield=Module["__emscripten_yield"]=wasmExports["_emscripten_yield"])(a0);var __emscripten_check_timers=Module["__emscripten_check_timers"]=a0=>(__emscripten_check_timers=Module["__emscripten_check_timers"]=wasmExports["_emscripten_check_timers"])(a0);var _pthread_mutex_consistent=Module["_pthread_mutex_consistent"]=a0=>(_pthread_mutex_consistent=Module["_pthread_mutex_consistent"]=wasmExports["pthread_mutex_consistent"])(a0);var _pthread_barrier_init=Module["_pthread_barrier_init"]=(a0,a1,a2)=>(_pthread_barrier_init=Module["_pthread_barrier_init"]=wasmExports["pthread_barrier_init"])(a0,a1,a2);var _pthread_barrier_destroy=Module["_pthread_barrier_destroy"]=a0=>(_pthread_barrier_destroy=Module["_pthread_barrier_destroy"]=wasmExports["pthread_barrier_destroy"])(a0);var _pthread_barrier_wait=Module["_pthread_barrier_wait"]=a0=>(_pthread_barrier_wait=Module["_pthread_barrier_wait"]=wasmExports["pthread_barrier_wait"])(a0);var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=a0=>(_pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=wasmExports["pthread_cond_broadcast"])(a0);var _pthread_atfork=Module["_pthread_atfork"]=(a0,a1,a2)=>(_pthread_atfork=Module["_pthread_atfork"]=wasmExports["pthread_atfork"])(a0,a1,a2);var _pthread_cancel=Module["_pthread_cancel"]=a0=>(_pthread_cancel=Module["_pthread_cancel"]=wasmExports["pthread_cancel"])(a0);var _pthread_testcancel=Module["_pthread_testcancel"]=()=>(_pthread_testcancel=Module["_pthread_testcancel"]=wasmExports["pthread_testcancel"])();var ___pthread_detach=Module["___pthread_detach"]=a0=>(___pthread_detach=Module["___pthread_detach"]=wasmExports["__pthread_detach"])(a0);var _pthread_equal=Module["_pthread_equal"]=(a0,a1)=>(_pthread_equal=Module["_pthread_equal"]=wasmExports["pthread_equal"])(a0,a1);var _pthread_mutexattr_init=Module["_pthread_mutexattr_init"]=a0=>(_pthread_mutexattr_init=Module["_pthread_mutexattr_init"]=wasmExports["pthread_mutexattr_init"])(a0);var _pthread_mutexattr_setprotocol=Module["_pthread_mutexattr_setprotocol"]=(a0,a1)=>(_pthread_mutexattr_setprotocol=Module["_pthread_mutexattr_setprotocol"]=wasmExports["pthread_mutexattr_setprotocol"])(a0,a1);var _pthread_mutexattr_settype=Module["_pthread_mutexattr_settype"]=(a0,a1)=>(_pthread_mutexattr_settype=Module["_pthread_mutexattr_settype"]=wasmExports["pthread_mutexattr_settype"])(a0,a1);var _pthread_mutexattr_destroy=Module["_pthread_mutexattr_destroy"]=a0=>(_pthread_mutexattr_destroy=Module["_pthread_mutexattr_destroy"]=wasmExports["pthread_mutexattr_destroy"])(a0);var _pthread_mutexattr_setpshared=Module["_pthread_mutexattr_setpshared"]=(a0,a1)=>(_pthread_mutexattr_setpshared=Module["_pthread_mutexattr_setpshared"]=wasmExports["pthread_mutexattr_setpshared"])(a0,a1);var _pthread_condattr_destroy=Module["_pthread_condattr_destroy"]=a0=>(_pthread_condattr_destroy=Module["_pthread_condattr_destroy"]=wasmExports["pthread_condattr_destroy"])(a0);var _pthread_condattr_setpshared=Module["_pthread_condattr_setpshared"]=(a0,a1)=>(_pthread_condattr_setpshared=Module["_pthread_condattr_setpshared"]=wasmExports["pthread_condattr_setpshared"])(a0,a1);var _pthread_getattr_np=Module["_pthread_getattr_np"]=(a0,a1)=>(_pthread_getattr_np=Module["_pthread_getattr_np"]=wasmExports["pthread_getattr_np"])(a0,a1);var _pthread_setcanceltype=Module["_pthread_setcanceltype"]=(a0,a1)=>(_pthread_setcanceltype=Module["_pthread_setcanceltype"]=wasmExports["pthread_setcanceltype"])(a0,a1);var _pthread_rwlock_init=Module["_pthread_rwlock_init"]=(a0,a1)=>(_pthread_rwlock_init=Module["_pthread_rwlock_init"]=wasmExports["pthread_rwlock_init"])(a0,a1);var _pthread_rwlock_destroy=Module["_pthread_rwlock_destroy"]=a0=>(_pthread_rwlock_destroy=Module["_pthread_rwlock_destroy"]=wasmExports["pthread_rwlock_destroy"])(a0);var _pthread_rwlock_rdlock=Module["_pthread_rwlock_rdlock"]=a0=>(_pthread_rwlock_rdlock=Module["_pthread_rwlock_rdlock"]=wasmExports["pthread_rwlock_rdlock"])(a0);var _pthread_rwlock_tryrdlock=Module["_pthread_rwlock_tryrdlock"]=a0=>(_pthread_rwlock_tryrdlock=Module["_pthread_rwlock_tryrdlock"]=wasmExports["pthread_rwlock_tryrdlock"])(a0);var _pthread_rwlock_timedrdlock=Module["_pthread_rwlock_timedrdlock"]=(a0,a1)=>(_pthread_rwlock_timedrdlock=Module["_pthread_rwlock_timedrdlock"]=wasmExports["pthread_rwlock_timedrdlock"])(a0,a1);var _pthread_rwlock_wrlock=Module["_pthread_rwlock_wrlock"]=a0=>(_pthread_rwlock_wrlock=Module["_pthread_rwlock_wrlock"]=wasmExports["pthread_rwlock_wrlock"])(a0);var _pthread_rwlock_trywrlock=Module["_pthread_rwlock_trywrlock"]=a0=>(_pthread_rwlock_trywrlock=Module["_pthread_rwlock_trywrlock"]=wasmExports["pthread_rwlock_trywrlock"])(a0);var _pthread_rwlock_timedwrlock=Module["_pthread_rwlock_timedwrlock"]=(a0,a1)=>(_pthread_rwlock_timedwrlock=Module["_pthread_rwlock_timedwrlock"]=wasmExports["pthread_rwlock_timedwrlock"])(a0,a1);var _pthread_rwlock_unlock=Module["_pthread_rwlock_unlock"]=a0=>(_pthread_rwlock_unlock=Module["_pthread_rwlock_unlock"]=wasmExports["pthread_rwlock_unlock"])(a0);var _pthread_rwlockattr_init=Module["_pthread_rwlockattr_init"]=a0=>(_pthread_rwlockattr_init=Module["_pthread_rwlockattr_init"]=wasmExports["pthread_rwlockattr_init"])(a0);var _pthread_rwlockattr_destroy=Module["_pthread_rwlockattr_destroy"]=a0=>(_pthread_rwlockattr_destroy=Module["_pthread_rwlockattr_destroy"]=wasmExports["pthread_rwlockattr_destroy"])(a0);var _pthread_rwlockattr_setpshared=Module["_pthread_rwlockattr_setpshared"]=(a0,a1)=>(_pthread_rwlockattr_setpshared=Module["_pthread_rwlockattr_setpshared"]=wasmExports["pthread_rwlockattr_setpshared"])(a0,a1);var _pthread_spin_init=Module["_pthread_spin_init"]=(a0,a1)=>(_pthread_spin_init=Module["_pthread_spin_init"]=wasmExports["pthread_spin_init"])(a0,a1);var _pthread_spin_destroy=Module["_pthread_spin_destroy"]=a0=>(_pthread_spin_destroy=Module["_pthread_spin_destroy"]=wasmExports["pthread_spin_destroy"])(a0);var _pthread_spin_lock=Module["_pthread_spin_lock"]=a0=>(_pthread_spin_lock=Module["_pthread_spin_lock"]=wasmExports["pthread_spin_lock"])(a0);var _pthread_spin_trylock=Module["_pthread_spin_trylock"]=a0=>(_pthread_spin_trylock=Module["_pthread_spin_trylock"]=wasmExports["pthread_spin_trylock"])(a0);var _pthread_spin_unlock=Module["_pthread_spin_unlock"]=a0=>(_pthread_spin_unlock=Module["_pthread_spin_unlock"]=wasmExports["pthread_spin_unlock"])(a0);var _sem_init=Module["_sem_init"]=(a0,a1,a2)=>(_sem_init=Module["_sem_init"]=wasmExports["sem_init"])(a0,a1,a2);var _sem_post=Module["_sem_post"]=a0=>(_sem_post=Module["_sem_post"]=wasmExports["sem_post"])(a0);var _sem_wait=Module["_sem_wait"]=a0=>(_sem_wait=Module["_sem_wait"]=wasmExports["sem_wait"])(a0);var _sem_trywait=Module["_sem_trywait"]=a0=>(_sem_trywait=Module["_sem_trywait"]=wasmExports["sem_trywait"])(a0);var _sem_destroy=Module["_sem_destroy"]=a0=>(_sem_destroy=Module["_sem_destroy"]=wasmExports["sem_destroy"])(a0);var _pthread_mutex_timedlock=Module["_pthread_mutex_timedlock"]=(a0,a1)=>(_pthread_mutex_timedlock=Module["_pthread_mutex_timedlock"]=wasmExports["pthread_mutex_timedlock"])(a0,a1);var _emscripten_builtin_pthread_create=Module["_emscripten_builtin_pthread_create"]=(a0,a1,a2,a3)=>(_emscripten_builtin_pthread_create=Module["_emscripten_builtin_pthread_create"]=wasmExports["emscripten_builtin_pthread_create"])(a0,a1,a2,a3);var _emscripten_builtin_pthread_join=Module["_emscripten_builtin_pthread_join"]=(a0,a1)=>(_emscripten_builtin_pthread_join=Module["_emscripten_builtin_pthread_join"]=wasmExports["emscripten_builtin_pthread_join"])(a0,a1);var _pthread_join=Module["_pthread_join"]=(a0,a1)=>(_pthread_join=Module["_pthread_join"]=wasmExports["pthread_join"])(a0,a1);var _pthread_once=Module["_pthread_once"]=(a0,a1)=>(_pthread_once=Module["_pthread_once"]=wasmExports["pthread_once"])(a0,a1);var _emscripten_builtin_pthread_detach=Module["_emscripten_builtin_pthread_detach"]=a0=>(_emscripten_builtin_pthread_detach=Module["_emscripten_builtin_pthread_detach"]=wasmExports["emscripten_builtin_pthread_detach"])(a0);var _thrd_detach=Module["_thrd_detach"]=a0=>(_thrd_detach=Module["_thrd_detach"]=wasmExports["thrd_detach"])(a0);var _link=Module["_link"]=(a0,a1)=>(_link=Module["_link"]=wasmExports["link"])(a0,a1);var _linkat=Module["_linkat"]=(a0,a1,a2,a3,a4)=>(_linkat=Module["_linkat"]=wasmExports["linkat"])(a0,a1,a2,a3,a4);var _llabs=Module["_llabs"]=a0=>(_llabs=Module["_llabs"]=wasmExports["llabs"])(a0);var _lldiv=Module["_lldiv"]=(a0,a1,a2)=>(_lldiv=Module["_lldiv"]=wasmExports["lldiv"])(a0,a1,a2);var _llrint=Module["_llrint"]=a0=>(_llrint=Module["_llrint"]=wasmExports["llrint"])(a0);var _rint=Module["_rint"]=a0=>(_rint=Module["_rint"]=wasmExports["rint"])(a0);var _llrintf=Module["_llrintf"]=a0=>(_llrintf=Module["_llrintf"]=wasmExports["llrintf"])(a0);var _rintf=Module["_rintf"]=a0=>(_rintf=Module["_rintf"]=wasmExports["rintf"])(a0);var _llrintl=Module["_llrintl"]=(a0,a1)=>(_llrintl=Module["_llrintl"]=wasmExports["llrintl"])(a0,a1);var _rintl=Module["_rintl"]=(a0,a1,a2)=>(_rintl=Module["_rintl"]=wasmExports["rintl"])(a0,a1,a2);var _llround=Module["_llround"]=a0=>(_llround=Module["_llround"]=wasmExports["llround"])(a0);var _llroundf=Module["_llroundf"]=a0=>(_llroundf=Module["_llroundf"]=wasmExports["llroundf"])(a0);var _roundf=Module["_roundf"]=a0=>(_roundf=Module["_roundf"]=wasmExports["roundf"])(a0);var _llroundl=Module["_llroundl"]=(a0,a1)=>(_llroundl=Module["_llroundl"]=wasmExports["llroundl"])(a0,a1);var _roundl=Module["_roundl"]=(a0,a1,a2)=>(_roundl=Module["_roundl"]=wasmExports["roundl"])(a0,a1,a2);var _log10f=Module["_log10f"]=a0=>(_log10f=Module["_log10f"]=wasmExports["log10f"])(a0);var _log10l=Module["_log10l"]=(a0,a1,a2)=>(_log10l=Module["_log10l"]=wasmExports["log10l"])(a0,a1,a2);var _log2f=Module["_log2f"]=a0=>(_log2f=Module["_log2f"]=wasmExports["log2f"])(a0);var _log2l=Module["_log2l"]=(a0,a1,a2)=>(_log2l=Module["_log2l"]=wasmExports["log2l"])(a0,a1,a2);var _logb=Module["_logb"]=a0=>(_logb=Module["_logb"]=wasmExports["logb"])(a0);var _logbf=Module["_logbf"]=a0=>(_logbf=Module["_logbf"]=wasmExports["logbf"])(a0);var _logbl=Module["_logbl"]=(a0,a1,a2)=>(_logbl=Module["_logbl"]=wasmExports["logbl"])(a0,a1,a2);var _strtoull=Module["_strtoull"]=(a0,a1,a2)=>(_strtoull=Module["_strtoull"]=wasmExports["strtoull"])(a0,a1,a2);var _nrand48=Module["_nrand48"]=a0=>(_nrand48=Module["_nrand48"]=wasmExports["nrand48"])(a0);var _lrand48=Module["_lrand48"]=()=>(_lrand48=Module["_lrand48"]=wasmExports["lrand48"])();var _lrint=Module["_lrint"]=a0=>(_lrint=Module["_lrint"]=wasmExports["lrint"])(a0);var _lrintf=Module["_lrintf"]=a0=>(_lrintf=Module["_lrintf"]=wasmExports["lrintf"])(a0);var _lrintl=Module["_lrintl"]=(a0,a1)=>(_lrintl=Module["_lrintl"]=wasmExports["lrintl"])(a0,a1);var _lround=Module["_lround"]=a0=>(_lround=Module["_lround"]=wasmExports["lround"])(a0);var _lroundf=Module["_lroundf"]=a0=>(_lroundf=Module["_lroundf"]=wasmExports["lroundf"])(a0);var _lroundl=Module["_lroundl"]=(a0,a1)=>(_lroundl=Module["_lroundl"]=wasmExports["lroundl"])(a0,a1);var _lsearch=Module["_lsearch"]=(a0,a1,a2,a3,a4)=>(_lsearch=Module["_lsearch"]=wasmExports["lsearch"])(a0,a1,a2,a3,a4);var _lfind=Module["_lfind"]=(a0,a1,a2,a3,a4)=>(_lfind=Module["_lfind"]=wasmExports["lfind"])(a0,a1,a2,a3,a4);var _mbrlen=Module["_mbrlen"]=(a0,a1,a2)=>(_mbrlen=Module["_mbrlen"]=wasmExports["mbrlen"])(a0,a1,a2);var _mbrtoc16=Module["_mbrtoc16"]=(a0,a1,a2,a3)=>(_mbrtoc16=Module["_mbrtoc16"]=wasmExports["mbrtoc16"])(a0,a1,a2,a3);var _mbrtoc32=Module["_mbrtoc32"]=(a0,a1,a2,a3)=>(_mbrtoc32=Module["_mbrtoc32"]=wasmExports["mbrtoc32"])(a0,a1,a2,a3);var _mbsinit=Module["_mbsinit"]=a0=>(_mbsinit=Module["_mbsinit"]=wasmExports["mbsinit"])(a0);var _mbsnrtowcs=Module["_mbsnrtowcs"]=(a0,a1,a2,a3,a4)=>(_mbsnrtowcs=Module["_mbsnrtowcs"]=wasmExports["mbsnrtowcs"])(a0,a1,a2,a3,a4);var _mbsrtowcs=Module["_mbsrtowcs"]=(a0,a1,a2,a3)=>(_mbsrtowcs=Module["_mbsrtowcs"]=wasmExports["mbsrtowcs"])(a0,a1,a2,a3);var _memccpy=Module["_memccpy"]=(a0,a1,a2,a3)=>(_memccpy=Module["_memccpy"]=wasmExports["memccpy"])(a0,a1,a2,a3);var _memmem=Module["_memmem"]=(a0,a1,a2,a3)=>(_memmem=Module["_memmem"]=wasmExports["memmem"])(a0,a1,a2,a3);var _mempcpy=Module["_mempcpy"]=(a0,a1,a2)=>(_mempcpy=Module["_mempcpy"]=wasmExports["mempcpy"])(a0,a1,a2);var _mincore=Module["_mincore"]=(a0,a1,a2)=>(_mincore=Module["_mincore"]=wasmExports["mincore"])(a0,a1,a2);var _mkdtemp=Module["_mkdtemp"]=a0=>(_mkdtemp=Module["_mkdtemp"]=wasmExports["mkdtemp"])(a0);var _mkfifo=Module["_mkfifo"]=(a0,a1)=>(_mkfifo=Module["_mkfifo"]=wasmExports["mkfifo"])(a0,a1);var _mkfifoat=Module["_mkfifoat"]=(a0,a1,a2)=>(_mkfifoat=Module["_mkfifoat"]=wasmExports["mkfifoat"])(a0,a1,a2);var _mkostemp=Module["_mkostemp"]=(a0,a1)=>(_mkostemp=Module["_mkostemp"]=wasmExports["mkostemp"])(a0,a1);var _mkostemps=Module["_mkostemps"]=(a0,a1,a2)=>(_mkostemps=Module["_mkostemps"]=wasmExports["mkostemps"])(a0,a1,a2);var _mkstemp=Module["_mkstemp"]=a0=>(_mkstemp=Module["_mkstemp"]=wasmExports["mkstemp"])(a0);var _mkstemps=Module["_mkstemps"]=(a0,a1)=>(_mkstemps=Module["_mkstemps"]=wasmExports["mkstemps"])(a0,a1);var _mktemp=Module["_mktemp"]=a0=>(_mktemp=Module["_mktemp"]=wasmExports["mktemp"])(a0);var _timegm=Module["_timegm"]=a0=>(_timegm=Module["_timegm"]=wasmExports["timegm"])(a0);var _tzset=Module["_tzset"]=()=>(_tzset=Module["_tzset"]=wasmExports["tzset"])();var _mlock=Module["_mlock"]=(a0,a1)=>(_mlock=Module["_mlock"]=wasmExports["mlock"])(a0,a1);var _mlockall=Module["_mlockall"]=a0=>(_mlockall=Module["_mlockall"]=wasmExports["mlockall"])(a0);var _emscripten_builtin_mmap=Module["_emscripten_builtin_mmap"]=(a0,a1,a2,a3,a4,a5)=>(_emscripten_builtin_mmap=Module["_emscripten_builtin_mmap"]=wasmExports["emscripten_builtin_mmap"])(a0,a1,a2,a3,a4,a5);var _setmntent=Module["_setmntent"]=(a0,a1)=>(_setmntent=Module["_setmntent"]=wasmExports["setmntent"])(a0,a1);var _endmntent=Module["_endmntent"]=a0=>(_endmntent=Module["_endmntent"]=wasmExports["endmntent"])(a0);var _getmntent_r=Module["_getmntent_r"]=(a0,a1,a2,a3)=>(_getmntent_r=Module["_getmntent_r"]=wasmExports["getmntent_r"])(a0,a1,a2,a3);var _sscanf=Module["_sscanf"]=(a0,a1,a2)=>(_sscanf=Module["_sscanf"]=wasmExports["sscanf"])(a0,a1,a2);var _getmntent=Module["_getmntent"]=a0=>(_getmntent=Module["_getmntent"]=wasmExports["getmntent"])(a0);var _addmntent=Module["_addmntent"]=(a0,a1)=>(_addmntent=Module["_addmntent"]=wasmExports["addmntent"])(a0,a1);var _hasmntopt=Module["_hasmntopt"]=(a0,a1)=>(_hasmntopt=Module["_hasmntopt"]=wasmExports["hasmntopt"])(a0,a1);var _mprotect=Module["_mprotect"]=(a0,a1,a2)=>(_mprotect=Module["_mprotect"]=wasmExports["mprotect"])(a0,a1,a2);var _jrand48=Module["_jrand48"]=a0=>(_jrand48=Module["_jrand48"]=wasmExports["jrand48"])(a0);var _mrand48=Module["_mrand48"]=()=>(_mrand48=Module["_mrand48"]=wasmExports["mrand48"])();var _mtx_destroy=Module["_mtx_destroy"]=a0=>(_mtx_destroy=Module["_mtx_destroy"]=wasmExports["mtx_destroy"])(a0);var _mtx_init=Module["_mtx_init"]=(a0,a1)=>(_mtx_init=Module["_mtx_init"]=wasmExports["mtx_init"])(a0,a1);var _mtx_lock=Module["_mtx_lock"]=a0=>(_mtx_lock=Module["_mtx_lock"]=wasmExports["mtx_lock"])(a0);var _mtx_timedlock=Module["_mtx_timedlock"]=(a0,a1)=>(_mtx_timedlock=Module["_mtx_timedlock"]=wasmExports["mtx_timedlock"])(a0,a1);var _mtx_trylock=Module["_mtx_trylock"]=a0=>(_mtx_trylock=Module["_mtx_trylock"]=wasmExports["mtx_trylock"])(a0);var _mtx_unlock=Module["_mtx_unlock"]=a0=>(_mtx_unlock=Module["_mtx_unlock"]=wasmExports["mtx_unlock"])(a0);var _munlock=Module["_munlock"]=(a0,a1)=>(_munlock=Module["_munlock"]=wasmExports["munlock"])(a0,a1);var _munlockall=Module["_munlockall"]=()=>(_munlockall=Module["_munlockall"]=wasmExports["munlockall"])();var _emscripten_builtin_munmap=Module["_emscripten_builtin_munmap"]=(a0,a1)=>(_emscripten_builtin_munmap=Module["_emscripten_builtin_munmap"]=wasmExports["emscripten_builtin_munmap"])(a0,a1);var _nan=Module["_nan"]=a0=>(_nan=Module["_nan"]=wasmExports["nan"])(a0);var _nanf=Module["_nanf"]=a0=>(_nanf=Module["_nanf"]=wasmExports["nanf"])(a0);var _nanl=Module["_nanl"]=(a0,a1)=>(_nanl=Module["_nanl"]=wasmExports["nanl"])(a0,a1);var _nanosleep=Module["_nanosleep"]=(a0,a1)=>(_nanosleep=Module["_nanosleep"]=wasmExports["nanosleep"])(a0,a1);var _nearbyint=Module["_nearbyint"]=a0=>(_nearbyint=Module["_nearbyint"]=wasmExports["nearbyint"])(a0);var _nearbyintf=Module["_nearbyintf"]=a0=>(_nearbyintf=Module["_nearbyintf"]=wasmExports["nearbyintf"])(a0);var _nearbyintl=Module["_nearbyintl"]=(a0,a1,a2)=>(_nearbyintl=Module["_nearbyintl"]=wasmExports["nearbyintl"])(a0,a1,a2);var _getnetbyaddr=Module["_getnetbyaddr"]=(a0,a1)=>(_getnetbyaddr=Module["_getnetbyaddr"]=wasmExports["getnetbyaddr"])(a0,a1);var _getnetbyname=Module["_getnetbyname"]=a0=>(_getnetbyname=Module["_getnetbyname"]=wasmExports["getnetbyname"])(a0);var ___newlocale=Module["___newlocale"]=(a0,a1,a2)=>(___newlocale=Module["___newlocale"]=wasmExports["__newlocale"])(a0,a1,a2);var _newlocale=Module["_newlocale"]=(a0,a1,a2)=>(_newlocale=Module["_newlocale"]=wasmExports["newlocale"])(a0,a1,a2);var _nextafterf=Module["_nextafterf"]=(a0,a1)=>(_nextafterf=Module["_nextafterf"]=wasmExports["nextafterf"])(a0,a1);var _nexttoward=Module["_nexttoward"]=(a0,a1,a2)=>(_nexttoward=Module["_nexttoward"]=wasmExports["nexttoward"])(a0,a1,a2);var _nexttowardf=Module["_nexttowardf"]=(a0,a1,a2)=>(_nexttowardf=Module["_nexttowardf"]=wasmExports["nexttowardf"])(a0,a1,a2);var _nexttowardl=Module["_nexttowardl"]=(a0,a1,a2,a3,a4)=>(_nexttowardl=Module["_nexttowardl"]=wasmExports["nexttowardl"])(a0,a1,a2,a3,a4);var _nftw=Module["_nftw"]=(a0,a1,a2,a3)=>(_nftw=Module["_nftw"]=wasmExports["nftw"])(a0,a1,a2,a3);var _nice=Module["_nice"]=a0=>(_nice=Module["_nice"]=wasmExports["nice"])(a0);var _setpriority=Module["_setpriority"]=(a0,a1,a2)=>(_setpriority=Module["_setpriority"]=wasmExports["setpriority"])(a0,a1,a2);var _ns_get16=Module["_ns_get16"]=a0=>(_ns_get16=Module["_ns_get16"]=wasmExports["ns_get16"])(a0);var _ns_get32=Module["_ns_get32"]=a0=>(_ns_get32=Module["_ns_get32"]=wasmExports["ns_get32"])(a0);var _ns_put16=Module["_ns_put16"]=(a0,a1)=>(_ns_put16=Module["_ns_put16"]=wasmExports["ns_put16"])(a0,a1);var _ns_put32=Module["_ns_put32"]=(a0,a1)=>(_ns_put32=Module["_ns_put32"]=wasmExports["ns_put32"])(a0,a1);var _ns_skiprr=Module["_ns_skiprr"]=(a0,a1,a2,a3)=>(_ns_skiprr=Module["_ns_skiprr"]=wasmExports["ns_skiprr"])(a0,a1,a2,a3);var _ns_initparse=Module["_ns_initparse"]=(a0,a1,a2)=>(_ns_initparse=Module["_ns_initparse"]=wasmExports["ns_initparse"])(a0,a1,a2);var _ns_name_uncompress=Module["_ns_name_uncompress"]=(a0,a1,a2,a3,a4)=>(_ns_name_uncompress=Module["_ns_name_uncompress"]=wasmExports["ns_name_uncompress"])(a0,a1,a2,a3,a4);var _ns_parserr=Module["_ns_parserr"]=(a0,a1,a2,a3)=>(_ns_parserr=Module["_ns_parserr"]=wasmExports["ns_parserr"])(a0,a1,a2,a3);var _open_memstream=Module["_open_memstream"]=(a0,a1)=>(_open_memstream=Module["_open_memstream"]=wasmExports["open_memstream"])(a0,a1);var _open_wmemstream=Module["_open_wmemstream"]=(a0,a1)=>(_open_wmemstream=Module["_open_wmemstream"]=wasmExports["open_wmemstream"])(a0,a1);var _tcsetattr=Module["_tcsetattr"]=(a0,a1,a2)=>(_tcsetattr=Module["_tcsetattr"]=wasmExports["tcsetattr"])(a0,a1,a2);var _posix_close=Module["_posix_close"]=(a0,a1)=>(_posix_close=Module["_posix_close"]=wasmExports["posix_close"])(a0,a1);var _posix_fallocate=Module["_posix_fallocate"]=(a0,a1,a2)=>(_posix_fallocate=Module["_posix_fallocate"]=wasmExports["posix_fallocate"])(a0,a1,a2);var _posix_madvise=Module["_posix_madvise"]=(a0,a1,a2)=>(_posix_madvise=Module["_posix_madvise"]=wasmExports["posix_madvise"])(a0,a1,a2);var _posix_spawn_file_actions_addchdir_np=Module["_posix_spawn_file_actions_addchdir_np"]=(a0,a1)=>(_posix_spawn_file_actions_addchdir_np=Module["_posix_spawn_file_actions_addchdir_np"]=wasmExports["posix_spawn_file_actions_addchdir_np"])(a0,a1);var _posix_spawn_file_actions_addclose=Module["_posix_spawn_file_actions_addclose"]=(a0,a1)=>(_posix_spawn_file_actions_addclose=Module["_posix_spawn_file_actions_addclose"]=wasmExports["posix_spawn_file_actions_addclose"])(a0,a1);var _posix_spawn_file_actions_adddup2=Module["_posix_spawn_file_actions_adddup2"]=(a0,a1,a2)=>(_posix_spawn_file_actions_adddup2=Module["_posix_spawn_file_actions_adddup2"]=wasmExports["posix_spawn_file_actions_adddup2"])(a0,a1,a2);var _posix_spawn_file_actions_addfchdir_np=Module["_posix_spawn_file_actions_addfchdir_np"]=(a0,a1)=>(_posix_spawn_file_actions_addfchdir_np=Module["_posix_spawn_file_actions_addfchdir_np"]=wasmExports["posix_spawn_file_actions_addfchdir_np"])(a0,a1);var _posix_spawn_file_actions_addopen=Module["_posix_spawn_file_actions_addopen"]=(a0,a1,a2,a3,a4)=>(_posix_spawn_file_actions_addopen=Module["_posix_spawn_file_actions_addopen"]=wasmExports["posix_spawn_file_actions_addopen"])(a0,a1,a2,a3,a4);var _posix_spawn_file_actions_destroy=Module["_posix_spawn_file_actions_destroy"]=a0=>(_posix_spawn_file_actions_destroy=Module["_posix_spawn_file_actions_destroy"]=wasmExports["posix_spawn_file_actions_destroy"])(a0);var _posix_spawn_file_actions_init=Module["_posix_spawn_file_actions_init"]=a0=>(_posix_spawn_file_actions_init=Module["_posix_spawn_file_actions_init"]=wasmExports["posix_spawn_file_actions_init"])(a0);var _posix_spawnattr_destroy=Module["_posix_spawnattr_destroy"]=a0=>(_posix_spawnattr_destroy=Module["_posix_spawnattr_destroy"]=wasmExports["posix_spawnattr_destroy"])(a0);var _posix_spawnattr_getflags=Module["_posix_spawnattr_getflags"]=(a0,a1)=>(_posix_spawnattr_getflags=Module["_posix_spawnattr_getflags"]=wasmExports["posix_spawnattr_getflags"])(a0,a1);var _posix_spawnattr_getpgroup=Module["_posix_spawnattr_getpgroup"]=(a0,a1)=>(_posix_spawnattr_getpgroup=Module["_posix_spawnattr_getpgroup"]=wasmExports["posix_spawnattr_getpgroup"])(a0,a1);var _posix_spawnattr_getsigdefault=Module["_posix_spawnattr_getsigdefault"]=(a0,a1)=>(_posix_spawnattr_getsigdefault=Module["_posix_spawnattr_getsigdefault"]=wasmExports["posix_spawnattr_getsigdefault"])(a0,a1);var _posix_spawnattr_getsigmask=Module["_posix_spawnattr_getsigmask"]=(a0,a1)=>(_posix_spawnattr_getsigmask=Module["_posix_spawnattr_getsigmask"]=wasmExports["posix_spawnattr_getsigmask"])(a0,a1);var _posix_spawnattr_init=Module["_posix_spawnattr_init"]=a0=>(_posix_spawnattr_init=Module["_posix_spawnattr_init"]=wasmExports["posix_spawnattr_init"])(a0);var _posix_spawnattr_getschedparam=Module["_posix_spawnattr_getschedparam"]=(a0,a1)=>(_posix_spawnattr_getschedparam=Module["_posix_spawnattr_getschedparam"]=wasmExports["posix_spawnattr_getschedparam"])(a0,a1);var _posix_spawnattr_setschedparam=Module["_posix_spawnattr_setschedparam"]=(a0,a1)=>(_posix_spawnattr_setschedparam=Module["_posix_spawnattr_setschedparam"]=wasmExports["posix_spawnattr_setschedparam"])(a0,a1);var _posix_spawnattr_getschedpolicy=Module["_posix_spawnattr_getschedpolicy"]=(a0,a1)=>(_posix_spawnattr_getschedpolicy=Module["_posix_spawnattr_getschedpolicy"]=wasmExports["posix_spawnattr_getschedpolicy"])(a0,a1);var _posix_spawnattr_setschedpolicy=Module["_posix_spawnattr_setschedpolicy"]=(a0,a1)=>(_posix_spawnattr_setschedpolicy=Module["_posix_spawnattr_setschedpolicy"]=wasmExports["posix_spawnattr_setschedpolicy"])(a0,a1);var _posix_spawnattr_setflags=Module["_posix_spawnattr_setflags"]=(a0,a1)=>(_posix_spawnattr_setflags=Module["_posix_spawnattr_setflags"]=wasmExports["posix_spawnattr_setflags"])(a0,a1);var _posix_spawnattr_setpgroup=Module["_posix_spawnattr_setpgroup"]=(a0,a1)=>(_posix_spawnattr_setpgroup=Module["_posix_spawnattr_setpgroup"]=wasmExports["posix_spawnattr_setpgroup"])(a0,a1);var _posix_spawnattr_setsigdefault=Module["_posix_spawnattr_setsigdefault"]=(a0,a1)=>(_posix_spawnattr_setsigdefault=Module["_posix_spawnattr_setsigdefault"]=wasmExports["posix_spawnattr_setsigdefault"])(a0,a1);var _posix_spawnattr_setsigmask=Module["_posix_spawnattr_setsigmask"]=(a0,a1)=>(_posix_spawnattr_setsigmask=Module["_posix_spawnattr_setsigmask"]=wasmExports["posix_spawnattr_setsigmask"])(a0,a1);var _powf=Module["_powf"]=(a0,a1)=>(_powf=Module["_powf"]=wasmExports["powf"])(a0,a1);var _preadv=Module["_preadv"]=(a0,a1,a2,a3)=>(_preadv=Module["_preadv"]=wasmExports["preadv"])(a0,a1,a2,a3);var _printf=Module["_printf"]=(a0,a1)=>(_printf=Module["_printf"]=wasmExports["printf"])(a0,a1);var ___small_printf=Module["___small_printf"]=(a0,a1)=>(___small_printf=Module["___small_printf"]=wasmExports["__small_printf"])(a0,a1);var _em_proxying_queue_create=Module["_em_proxying_queue_create"]=()=>(_em_proxying_queue_create=Module["_em_proxying_queue_create"]=wasmExports["em_proxying_queue_create"])();var _em_proxying_queue_destroy=Module["_em_proxying_queue_destroy"]=a0=>(_em_proxying_queue_destroy=Module["_em_proxying_queue_destroy"]=wasmExports["em_proxying_queue_destroy"])(a0);var _emscripten_proxy_get_system_queue=Module["_emscripten_proxy_get_system_queue"]=()=>(_emscripten_proxy_get_system_queue=Module["_emscripten_proxy_get_system_queue"]=wasmExports["emscripten_proxy_get_system_queue"])();var _emscripten_proxy_execute_queue=Module["_emscripten_proxy_execute_queue"]=a0=>(_emscripten_proxy_execute_queue=Module["_emscripten_proxy_execute_queue"]=wasmExports["emscripten_proxy_execute_queue"])(a0);var _emscripten_proxy_finish=Module["_emscripten_proxy_finish"]=a0=>(_emscripten_proxy_finish=Module["_emscripten_proxy_finish"]=wasmExports["emscripten_proxy_finish"])(a0);var _emscripten_proxy_async=Module["_emscripten_proxy_async"]=(a0,a1,a2,a3)=>(_emscripten_proxy_async=Module["_emscripten_proxy_async"]=wasmExports["emscripten_proxy_async"])(a0,a1,a2,a3);var _emscripten_proxy_sync=Module["_emscripten_proxy_sync"]=(a0,a1,a2,a3)=>(_emscripten_proxy_sync=Module["_emscripten_proxy_sync"]=wasmExports["emscripten_proxy_sync"])(a0,a1,a2,a3);var _emscripten_proxy_sync_with_ctx=Module["_emscripten_proxy_sync_with_ctx"]=(a0,a1,a2,a3)=>(_emscripten_proxy_sync_with_ctx=Module["_emscripten_proxy_sync_with_ctx"]=wasmExports["emscripten_proxy_sync_with_ctx"])(a0,a1,a2,a3);var _pselect=Module["_pselect"]=(a0,a1,a2,a3,a4,a5)=>(_pselect=Module["_pselect"]=wasmExports["pselect"])(a0,a1,a2,a3,a4,a5);var _pthread_attr_getdetachstate=Module["_pthread_attr_getdetachstate"]=(a0,a1)=>(_pthread_attr_getdetachstate=Module["_pthread_attr_getdetachstate"]=wasmExports["pthread_attr_getdetachstate"])(a0,a1);var _pthread_attr_getguardsize=Module["_pthread_attr_getguardsize"]=(a0,a1)=>(_pthread_attr_getguardsize=Module["_pthread_attr_getguardsize"]=wasmExports["pthread_attr_getguardsize"])(a0,a1);var _pthread_attr_getinheritsched=Module["_pthread_attr_getinheritsched"]=(a0,a1)=>(_pthread_attr_getinheritsched=Module["_pthread_attr_getinheritsched"]=wasmExports["pthread_attr_getinheritsched"])(a0,a1);var _pthread_attr_getschedparam=Module["_pthread_attr_getschedparam"]=(a0,a1)=>(_pthread_attr_getschedparam=Module["_pthread_attr_getschedparam"]=wasmExports["pthread_attr_getschedparam"])(a0,a1);var _pthread_attr_getschedpolicy=Module["_pthread_attr_getschedpolicy"]=(a0,a1)=>(_pthread_attr_getschedpolicy=Module["_pthread_attr_getschedpolicy"]=wasmExports["pthread_attr_getschedpolicy"])(a0,a1);var _pthread_attr_getscope=Module["_pthread_attr_getscope"]=(a0,a1)=>(_pthread_attr_getscope=Module["_pthread_attr_getscope"]=wasmExports["pthread_attr_getscope"])(a0,a1);var _pthread_attr_getstack=Module["_pthread_attr_getstack"]=(a0,a1,a2)=>(_pthread_attr_getstack=Module["_pthread_attr_getstack"]=wasmExports["pthread_attr_getstack"])(a0,a1,a2);var _pthread_attr_getstacksize=Module["_pthread_attr_getstacksize"]=(a0,a1)=>(_pthread_attr_getstacksize=Module["_pthread_attr_getstacksize"]=wasmExports["pthread_attr_getstacksize"])(a0,a1);var _pthread_barrierattr_getpshared=Module["_pthread_barrierattr_getpshared"]=(a0,a1)=>(_pthread_barrierattr_getpshared=Module["_pthread_barrierattr_getpshared"]=wasmExports["pthread_barrierattr_getpshared"])(a0,a1);var _pthread_condattr_getclock=Module["_pthread_condattr_getclock"]=(a0,a1)=>(_pthread_condattr_getclock=Module["_pthread_condattr_getclock"]=wasmExports["pthread_condattr_getclock"])(a0,a1);var _pthread_condattr_getpshared=Module["_pthread_condattr_getpshared"]=(a0,a1)=>(_pthread_condattr_getpshared=Module["_pthread_condattr_getpshared"]=wasmExports["pthread_condattr_getpshared"])(a0,a1);var _pthread_mutexattr_getprotocol=Module["_pthread_mutexattr_getprotocol"]=(a0,a1)=>(_pthread_mutexattr_getprotocol=Module["_pthread_mutexattr_getprotocol"]=wasmExports["pthread_mutexattr_getprotocol"])(a0,a1);var _pthread_mutexattr_getpshared=Module["_pthread_mutexattr_getpshared"]=(a0,a1)=>(_pthread_mutexattr_getpshared=Module["_pthread_mutexattr_getpshared"]=wasmExports["pthread_mutexattr_getpshared"])(a0,a1);var _pthread_mutexattr_getrobust=Module["_pthread_mutexattr_getrobust"]=(a0,a1)=>(_pthread_mutexattr_getrobust=Module["_pthread_mutexattr_getrobust"]=wasmExports["pthread_mutexattr_getrobust"])(a0,a1);var _pthread_mutexattr_gettype=Module["_pthread_mutexattr_gettype"]=(a0,a1)=>(_pthread_mutexattr_gettype=Module["_pthread_mutexattr_gettype"]=wasmExports["pthread_mutexattr_gettype"])(a0,a1);var _pthread_rwlockattr_getpshared=Module["_pthread_rwlockattr_getpshared"]=(a0,a1)=>(_pthread_rwlockattr_getpshared=Module["_pthread_rwlockattr_getpshared"]=wasmExports["pthread_rwlockattr_getpshared"])(a0,a1);var _pthread_attr_setdetachstate=Module["_pthread_attr_setdetachstate"]=(a0,a1)=>(_pthread_attr_setdetachstate=Module["_pthread_attr_setdetachstate"]=wasmExports["pthread_attr_setdetachstate"])(a0,a1);var _pthread_attr_setguardsize=Module["_pthread_attr_setguardsize"]=(a0,a1)=>(_pthread_attr_setguardsize=Module["_pthread_attr_setguardsize"]=wasmExports["pthread_attr_setguardsize"])(a0,a1);var _pthread_attr_setinheritsched=Module["_pthread_attr_setinheritsched"]=(a0,a1)=>(_pthread_attr_setinheritsched=Module["_pthread_attr_setinheritsched"]=wasmExports["pthread_attr_setinheritsched"])(a0,a1);var _pthread_attr_setschedparam=Module["_pthread_attr_setschedparam"]=(a0,a1)=>(_pthread_attr_setschedparam=Module["_pthread_attr_setschedparam"]=wasmExports["pthread_attr_setschedparam"])(a0,a1);var _pthread_attr_setschedpolicy=Module["_pthread_attr_setschedpolicy"]=(a0,a1)=>(_pthread_attr_setschedpolicy=Module["_pthread_attr_setschedpolicy"]=wasmExports["pthread_attr_setschedpolicy"])(a0,a1);var _pthread_attr_setscope=Module["_pthread_attr_setscope"]=(a0,a1)=>(_pthread_attr_setscope=Module["_pthread_attr_setscope"]=wasmExports["pthread_attr_setscope"])(a0,a1);var _pthread_attr_setstack=Module["_pthread_attr_setstack"]=(a0,a1,a2)=>(_pthread_attr_setstack=Module["_pthread_attr_setstack"]=wasmExports["pthread_attr_setstack"])(a0,a1,a2);var __pthread_cleanup_push=Module["__pthread_cleanup_push"]=(a0,a1,a2)=>(__pthread_cleanup_push=Module["__pthread_cleanup_push"]=wasmExports["_pthread_cleanup_push"])(a0,a1,a2);var __pthread_cleanup_pop=Module["__pthread_cleanup_pop"]=(a0,a1)=>(__pthread_cleanup_pop=Module["__pthread_cleanup_pop"]=wasmExports["_pthread_cleanup_pop"])(a0,a1);var _pthread_getconcurrency=Module["_pthread_getconcurrency"]=()=>(_pthread_getconcurrency=Module["_pthread_getconcurrency"]=wasmExports["pthread_getconcurrency"])();var _pthread_getschedparam=Module["_pthread_getschedparam"]=(a0,a1,a2)=>(_pthread_getschedparam=Module["_pthread_getschedparam"]=wasmExports["pthread_getschedparam"])(a0,a1,a2);var _thrd_current=Module["_thrd_current"]=()=>(_thrd_current=Module["_thrd_current"]=wasmExports["thrd_current"])();var _emscripten_main_runtime_thread_id=Module["_emscripten_main_runtime_thread_id"]=()=>(_emscripten_main_runtime_thread_id=Module["_emscripten_main_runtime_thread_id"]=wasmExports["emscripten_main_runtime_thread_id"])();var _pthread_setconcurrency=Module["_pthread_setconcurrency"]=a0=>(_pthread_setconcurrency=Module["_pthread_setconcurrency"]=wasmExports["pthread_setconcurrency"])(a0);var _pthread_setschedprio=Module["_pthread_setschedprio"]=(a0,a1)=>(_pthread_setschedprio=Module["_pthread_setschedprio"]=wasmExports["pthread_setschedprio"])(a0,a1);var ___sig_is_blocked=Module["___sig_is_blocked"]=a0=>(___sig_is_blocked=Module["___sig_is_blocked"]=wasmExports["__sig_is_blocked"])(a0);var _sigorset=Module["_sigorset"]=(a0,a1,a2)=>(_sigorset=Module["_sigorset"]=wasmExports["sigorset"])(a0,a1,a2);var _sigandset=Module["_sigandset"]=(a0,a1,a2)=>(_sigandset=Module["_sigandset"]=wasmExports["sigandset"])(a0,a1,a2);var _sigdelset=Module["_sigdelset"]=(a0,a1)=>(_sigdelset=Module["_sigdelset"]=wasmExports["sigdelset"])(a0,a1);var _ptsname=Module["_ptsname"]=a0=>(_ptsname=Module["_ptsname"]=wasmExports["ptsname"])(a0);var _posix_openpt=Module["_posix_openpt"]=a0=>(_posix_openpt=Module["_posix_openpt"]=wasmExports["posix_openpt"])(a0);var _grantpt=Module["_grantpt"]=a0=>(_grantpt=Module["_grantpt"]=wasmExports["grantpt"])(a0);var _unlockpt=Module["_unlockpt"]=a0=>(_unlockpt=Module["_unlockpt"]=wasmExports["unlockpt"])(a0);var _ptsname_r=Module["_ptsname_r"]=(a0,a1,a2)=>(_ptsname_r=Module["_ptsname_r"]=wasmExports["ptsname_r"])(a0,a1,a2);var __IO_putc=Module["__IO_putc"]=(a0,a1)=>(__IO_putc=Module["__IO_putc"]=wasmExports["_IO_putc"])(a0,a1);var _putc_unlocked=Module["_putc_unlocked"]=(a0,a1)=>(_putc_unlocked=Module["_putc_unlocked"]=wasmExports["putc_unlocked"])(a0,a1);var _fputc_unlocked=Module["_fputc_unlocked"]=(a0,a1)=>(_fputc_unlocked=Module["_fputc_unlocked"]=wasmExports["fputc_unlocked"])(a0,a1);var __IO_putc_unlocked=Module["__IO_putc_unlocked"]=(a0,a1)=>(__IO_putc_unlocked=Module["__IO_putc_unlocked"]=wasmExports["_IO_putc_unlocked"])(a0,a1);var _putchar=Module["_putchar"]=a0=>(_putchar=Module["_putchar"]=wasmExports["putchar"])(a0);var _putchar_unlocked=Module["_putchar_unlocked"]=a0=>(_putchar_unlocked=Module["_putchar_unlocked"]=wasmExports["putchar_unlocked"])(a0);var _putenv=Module["_putenv"]=a0=>(_putenv=Module["_putenv"]=wasmExports["putenv"])(a0);var _putw=Module["_putw"]=(a0,a1)=>(_putw=Module["_putw"]=wasmExports["putw"])(a0,a1);var _putwc=Module["_putwc"]=(a0,a1)=>(_putwc=Module["_putwc"]=wasmExports["putwc"])(a0,a1);var _putwchar=Module["_putwchar"]=a0=>(_putwchar=Module["_putwchar"]=wasmExports["putwchar"])(a0);var _putwchar_unlocked=Module["_putwchar_unlocked"]=a0=>(_putwchar_unlocked=Module["_putwchar_unlocked"]=wasmExports["putwchar_unlocked"])(a0);var _pwritev=Module["_pwritev"]=(a0,a1,a2,a3)=>(_pwritev=Module["_pwritev"]=wasmExports["pwritev"])(a0,a1,a2,a3);var _qsort_r=Module["_qsort_r"]=(a0,a1,a2,a3,a4)=>(_qsort_r=Module["_qsort_r"]=wasmExports["qsort_r"])(a0,a1,a2,a3,a4);var _quick_exit=Module["_quick_exit"]=a0=>(_quick_exit=Module["_quick_exit"]=wasmExports["quick_exit"])(a0);var _srand=Module["_srand"]=a0=>(_srand=Module["_srand"]=wasmExports["srand"])(a0);var _rand=Module["_rand"]=()=>(_rand=Module["_rand"]=wasmExports["rand"])();var _rand_r=Module["_rand_r"]=a0=>(_rand_r=Module["_rand_r"]=wasmExports["rand_r"])(a0);var _srandom=Module["_srandom"]=a0=>(_srandom=Module["_srandom"]=wasmExports["srandom"])(a0);var _initstate=Module["_initstate"]=(a0,a1,a2)=>(_initstate=Module["_initstate"]=wasmExports["initstate"])(a0,a1,a2);var _setstate=Module["_setstate"]=a0=>(_setstate=Module["_setstate"]=wasmExports["setstate"])(a0);var _random=Module["_random"]=()=>(_random=Module["_random"]=wasmExports["random"])();var _readdir_r=Module["_readdir_r"]=(a0,a1,a2)=>(_readdir_r=Module["_readdir_r"]=wasmExports["readdir_r"])(a0,a1,a2);var _recvmmsg=Module["_recvmmsg"]=(a0,a1,a2,a3,a4)=>(_recvmmsg=Module["_recvmmsg"]=wasmExports["recvmmsg"])(a0,a1,a2,a3,a4);var _regcomp=Module["_regcomp"]=(a0,a1,a2)=>(_regcomp=Module["_regcomp"]=wasmExports["regcomp"])(a0,a1,a2);var _regfree=Module["_regfree"]=a0=>(_regfree=Module["_regfree"]=wasmExports["regfree"])(a0);var _regerror=Module["_regerror"]=(a0,a1,a2,a3)=>(_regerror=Module["_regerror"]=wasmExports["regerror"])(a0,a1,a2,a3);var _regexec=Module["_regexec"]=(a0,a1,a2,a3,a4)=>(_regexec=Module["_regexec"]=wasmExports["regexec"])(a0,a1,a2,a3,a4);var _remainder=Module["_remainder"]=(a0,a1)=>(_remainder=Module["_remainder"]=wasmExports["remainder"])(a0,a1);var _remquo=Module["_remquo"]=(a0,a1,a2)=>(_remquo=Module["_remquo"]=wasmExports["remquo"])(a0,a1,a2);var _drem=Module["_drem"]=(a0,a1)=>(_drem=Module["_drem"]=wasmExports["drem"])(a0,a1);var _remainderf=Module["_remainderf"]=(a0,a1)=>(_remainderf=Module["_remainderf"]=wasmExports["remainderf"])(a0,a1);var _remquof=Module["_remquof"]=(a0,a1,a2)=>(_remquof=Module["_remquof"]=wasmExports["remquof"])(a0,a1,a2);var _dremf=Module["_dremf"]=(a0,a1)=>(_dremf=Module["_dremf"]=wasmExports["dremf"])(a0,a1);var _remainderl=Module["_remainderl"]=(a0,a1,a2,a3,a4)=>(_remainderl=Module["_remainderl"]=wasmExports["remainderl"])(a0,a1,a2,a3,a4);var _remquol=Module["_remquol"]=(a0,a1,a2,a3,a4,a5)=>(_remquol=Module["_remquol"]=wasmExports["remquol"])(a0,a1,a2,a3,a4,a5);var _remove=Module["_remove"]=a0=>(_remove=Module["_remove"]=wasmExports["remove"])(a0);var _res_init=Module["_res_init"]=()=>(_res_init=Module["_res_init"]=wasmExports["res_init"])();var _res_mkquery=Module["_res_mkquery"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_res_mkquery=Module["_res_mkquery"]=wasmExports["res_mkquery"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var ___res_msend=Module["___res_msend"]=(a0,a1,a2,a3,a4,a5)=>(___res_msend=Module["___res_msend"]=wasmExports["__res_msend"])(a0,a1,a2,a3,a4,a5);var _res_send=Module["_res_send"]=(a0,a1,a2,a3)=>(_res_send=Module["_res_send"]=wasmExports["res_send"])(a0,a1,a2,a3);var ___res_state=Module["___res_state"]=()=>(___res_state=Module["___res_state"]=wasmExports["__res_state"])();var _rindex=Module["_rindex"]=(a0,a1)=>(_rindex=Module["_rindex"]=wasmExports["rindex"])(a0,a1);var _emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=()=>(_emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=wasmExports["emscripten_get_sbrk_ptr"])();var _sbrk=Module["_sbrk"]=a0=>(_sbrk=Module["_sbrk"]=wasmExports["sbrk"])(a0);var _brk=Module["_brk"]=a0=>(_brk=Module["_brk"]=wasmExports["brk"])(a0);var _scalb=Module["_scalb"]=(a0,a1)=>(_scalb=Module["_scalb"]=wasmExports["scalb"])(a0,a1);var _scalbf=Module["_scalbf"]=(a0,a1)=>(_scalbf=Module["_scalbf"]=wasmExports["scalbf"])(a0,a1);var _scalbln=Module["_scalbln"]=(a0,a1)=>(_scalbln=Module["_scalbln"]=wasmExports["scalbln"])(a0,a1);var _scalblnf=Module["_scalblnf"]=(a0,a1)=>(_scalblnf=Module["_scalblnf"]=wasmExports["scalblnf"])(a0,a1);var _scalblnl=Module["_scalblnl"]=(a0,a1,a2,a3)=>(_scalblnl=Module["_scalblnl"]=wasmExports["scalblnl"])(a0,a1,a2,a3);var _scandir=Module["_scandir"]=(a0,a1,a2,a3)=>(_scandir=Module["_scandir"]=wasmExports["scandir"])(a0,a1,a2,a3);var _scanf=Module["_scanf"]=(a0,a1)=>(_scanf=Module["_scanf"]=wasmExports["scanf"])(a0,a1);var _vscanf=Module["_vscanf"]=(a0,a1)=>(_vscanf=Module["_vscanf"]=wasmExports["vscanf"])(a0,a1);var ___isoc99_scanf=Module["___isoc99_scanf"]=(a0,a1)=>(___isoc99_scanf=Module["___isoc99_scanf"]=wasmExports["__isoc99_scanf"])(a0,a1);var _secure_getenv=Module["_secure_getenv"]=a0=>(_secure_getenv=Module["_secure_getenv"]=wasmExports["secure_getenv"])(a0);var _seed48=Module["_seed48"]=a0=>(_seed48=Module["_seed48"]=wasmExports["seed48"])(a0);var _seekdir=Module["_seekdir"]=(a0,a1)=>(_seekdir=Module["_seekdir"]=wasmExports["seekdir"])(a0,a1);var _sendmmsg=Module["_sendmmsg"]=(a0,a1,a2,a3)=>(_sendmmsg=Module["_sendmmsg"]=wasmExports["sendmmsg"])(a0,a1,a2,a3);var _endservent=Module["_endservent"]=()=>(_endservent=Module["_endservent"]=wasmExports["endservent"])();var _setservent=Module["_setservent"]=a0=>(_setservent=Module["_setservent"]=wasmExports["setservent"])(a0);var _getservent=Module["_getservent"]=()=>(_getservent=Module["_getservent"]=wasmExports["getservent"])();var _setbuf=Module["_setbuf"]=(a0,a1)=>(_setbuf=Module["_setbuf"]=wasmExports["setbuf"])(a0,a1);var _setbuffer=Module["_setbuffer"]=(a0,a1,a2)=>(_setbuffer=Module["_setbuffer"]=wasmExports["setbuffer"])(a0,a1,a2);var _setdomainname=Module["_setdomainname"]=(a0,a1)=>(_setdomainname=Module["_setdomainname"]=wasmExports["setdomainname"])(a0,a1);var _setegid=Module["_setegid"]=a0=>(_setegid=Module["_setegid"]=wasmExports["setegid"])(a0);var _seteuid=Module["_seteuid"]=a0=>(_seteuid=Module["_seteuid"]=wasmExports["seteuid"])(a0);var __emscripten_timeout=(a0,a1)=>(__emscripten_timeout=wasmExports["_emscripten_timeout"])(a0,a1);var _setlinebuf=Module["_setlinebuf"]=a0=>(_setlinebuf=Module["_setlinebuf"]=wasmExports["setlinebuf"])(a0);var _setresgid=Module["_setresgid"]=(a0,a1,a2)=>(_setresgid=Module["_setresgid"]=wasmExports["setresgid"])(a0,a1,a2);var _setresuid=Module["_setresuid"]=(a0,a1,a2)=>(_setresuid=Module["_setresuid"]=wasmExports["setresuid"])(a0,a1,a2);var _shm_open=Module["_shm_open"]=(a0,a1,a2)=>(_shm_open=Module["_shm_open"]=wasmExports["shm_open"])(a0,a1,a2);var _shm_unlink=Module["_shm_unlink"]=a0=>(_shm_unlink=Module["_shm_unlink"]=wasmExports["shm_unlink"])(a0);var _sigaction=Module["_sigaction"]=(a0,a1,a2)=>(_sigaction=Module["_sigaction"]=wasmExports["sigaction"])(a0,a1,a2);var _bsd_signal=Module["_bsd_signal"]=(a0,a1)=>(_bsd_signal=Module["_bsd_signal"]=wasmExports["bsd_signal"])(a0,a1);var ___sysv_signal=Module["___sysv_signal"]=(a0,a1)=>(___sysv_signal=Module["___sysv_signal"]=wasmExports["__sysv_signal"])(a0,a1);var _significand=Module["_significand"]=a0=>(_significand=Module["_significand"]=wasmExports["significand"])(a0);var _significandf=Module["_significandf"]=a0=>(_significandf=Module["_significandf"]=wasmExports["significandf"])(a0);var _sigprocmask=Module["_sigprocmask"]=(a0,a1,a2)=>(_sigprocmask=Module["_sigprocmask"]=wasmExports["sigprocmask"])(a0,a1,a2);var _sincos=Module["_sincos"]=(a0,a1,a2)=>(_sincos=Module["_sincos"]=wasmExports["sincos"])(a0,a1,a2);var _sincosf=Module["_sincosf"]=(a0,a1,a2)=>(_sincosf=Module["_sincosf"]=wasmExports["sincosf"])(a0,a1,a2);var _sincosl=Module["_sincosl"]=(a0,a1,a2,a3)=>(_sincosl=Module["_sincosl"]=wasmExports["sincosl"])(a0,a1,a2,a3);var _sinhl=Module["_sinhl"]=(a0,a1,a2)=>(_sinhl=Module["_sinhl"]=wasmExports["sinhl"])(a0,a1,a2);var _sinl=Module["_sinl"]=(a0,a1,a2)=>(_sinl=Module["_sinl"]=wasmExports["sinl"])(a0,a1,a2);var _sleep=Module["_sleep"]=a0=>(_sleep=Module["_sleep"]=wasmExports["sleep"])(a0);var _sockatmark=Module["_sockatmark"]=a0=>(_sockatmark=Module["_sockatmark"]=wasmExports["sockatmark"])(a0);var _vsprintf=Module["_vsprintf"]=(a0,a1,a2)=>(_vsprintf=Module["_vsprintf"]=wasmExports["vsprintf"])(a0,a1,a2);var _vsiprintf=Module["_vsiprintf"]=(a0,a1,a2)=>(_vsiprintf=Module["_vsiprintf"]=wasmExports["vsiprintf"])(a0,a1,a2);var ___small_sprintf=Module["___small_sprintf"]=(a0,a1,a2)=>(___small_sprintf=Module["___small_sprintf"]=wasmExports["__small_sprintf"])(a0,a1,a2);var ___small_vsprintf=Module["___small_vsprintf"]=(a0,a1,a2)=>(___small_vsprintf=Module["___small_vsprintf"]=wasmExports["__small_vsprintf"])(a0,a1,a2);var _srand48=Module["_srand48"]=a0=>(_srand48=Module["_srand48"]=wasmExports["srand48"])(a0);var _vsscanf=Module["_vsscanf"]=(a0,a1,a2)=>(_vsscanf=Module["_vsscanf"]=wasmExports["vsscanf"])(a0,a1,a2);var ___isoc99_sscanf=Module["___isoc99_sscanf"]=(a0,a1,a2)=>(___isoc99_sscanf=Module["___isoc99_sscanf"]=wasmExports["__isoc99_sscanf"])(a0,a1,a2);var _statfs=Module["_statfs"]=(a0,a1)=>(_statfs=Module["_statfs"]=wasmExports["statfs"])(a0,a1);var _fstatfs=Module["_fstatfs"]=(a0,a1)=>(_fstatfs=Module["_fstatfs"]=wasmExports["fstatfs"])(a0,a1);var _stpcpy=Module["_stpcpy"]=(a0,a1)=>(_stpcpy=Module["_stpcpy"]=wasmExports["stpcpy"])(a0,a1);var _stpncpy=Module["_stpncpy"]=(a0,a1,a2)=>(_stpncpy=Module["_stpncpy"]=wasmExports["stpncpy"])(a0,a1,a2);var ___strcasecmp_l=Module["___strcasecmp_l"]=(a0,a1,a2)=>(___strcasecmp_l=Module["___strcasecmp_l"]=wasmExports["__strcasecmp_l"])(a0,a1,a2);var _strcasecmp_l=Module["_strcasecmp_l"]=(a0,a1,a2)=>(_strcasecmp_l=Module["_strcasecmp_l"]=wasmExports["strcasecmp_l"])(a0,a1,a2);var _strcasestr=Module["_strcasestr"]=(a0,a1)=>(_strcasestr=Module["_strcasestr"]=wasmExports["strcasestr"])(a0,a1);var _strncasecmp=Module["_strncasecmp"]=(a0,a1,a2)=>(_strncasecmp=Module["_strncasecmp"]=wasmExports["strncasecmp"])(a0,a1,a2);var _strchrnul=Module["_strchrnul"]=(a0,a1)=>(_strchrnul=Module["_strchrnul"]=wasmExports["strchrnul"])(a0,a1);var ___strcoll_l=Module["___strcoll_l"]=(a0,a1,a2)=>(___strcoll_l=Module["___strcoll_l"]=wasmExports["__strcoll_l"])(a0,a1,a2);var _strcoll_l=Module["_strcoll_l"]=(a0,a1,a2)=>(_strcoll_l=Module["_strcoll_l"]=wasmExports["strcoll_l"])(a0,a1,a2);var ___strerror_l=Module["___strerror_l"]=(a0,a1)=>(___strerror_l=Module["___strerror_l"]=wasmExports["__strerror_l"])(a0,a1);var _strerror_l=Module["_strerror_l"]=(a0,a1)=>(_strerror_l=Module["_strerror_l"]=wasmExports["strerror_l"])(a0,a1);var _strerror_r=Module["_strerror_r"]=(a0,a1,a2)=>(_strerror_r=Module["_strerror_r"]=wasmExports["strerror_r"])(a0,a1,a2);var ___xpg_strerror_r=Module["___xpg_strerror_r"]=(a0,a1,a2)=>(___xpg_strerror_r=Module["___xpg_strerror_r"]=wasmExports["__xpg_strerror_r"])(a0,a1,a2);var _strfmon_l=Module["_strfmon_l"]=(a0,a1,a2,a3,a4)=>(_strfmon_l=Module["_strfmon_l"]=wasmExports["strfmon_l"])(a0,a1,a2,a3,a4);var _strfmon=Module["_strfmon"]=(a0,a1,a2,a3)=>(_strfmon=Module["_strfmon"]=wasmExports["strfmon"])(a0,a1,a2,a3);var _strlcat=Module["_strlcat"]=(a0,a1,a2)=>(_strlcat=Module["_strlcat"]=wasmExports["strlcat"])(a0,a1,a2);var _strlcpy=Module["_strlcpy"]=(a0,a1,a2)=>(_strlcpy=Module["_strlcpy"]=wasmExports["strlcpy"])(a0,a1,a2);var _strlwr=Module["_strlwr"]=a0=>(_strlwr=Module["_strlwr"]=wasmExports["strlwr"])(a0);var ___strncasecmp_l=Module["___strncasecmp_l"]=(a0,a1,a2,a3)=>(___strncasecmp_l=Module["___strncasecmp_l"]=wasmExports["__strncasecmp_l"])(a0,a1,a2,a3);var _strncasecmp_l=Module["_strncasecmp_l"]=(a0,a1,a2,a3)=>(_strncasecmp_l=Module["_strncasecmp_l"]=wasmExports["strncasecmp_l"])(a0,a1,a2,a3);var _strndup=Module["_strndup"]=(a0,a1)=>(_strndup=Module["_strndup"]=wasmExports["strndup"])(a0,a1);var _strpbrk=Module["_strpbrk"]=(a0,a1)=>(_strpbrk=Module["_strpbrk"]=wasmExports["strpbrk"])(a0,a1);var _strsep=Module["_strsep"]=(a0,a1)=>(_strsep=Module["_strsep"]=wasmExports["strsep"])(a0,a1);var _strtof=Module["_strtof"]=(a0,a1)=>(_strtof=Module["_strtof"]=wasmExports["strtof"])(a0,a1);var _strtold=Module["_strtold"]=(a0,a1,a2)=>(_strtold=Module["_strtold"]=wasmExports["strtold"])(a0,a1,a2);var _strtof_l=Module["_strtof_l"]=(a0,a1,a2)=>(_strtof_l=Module["_strtof_l"]=wasmExports["strtof_l"])(a0,a1,a2);var _strtod_l=Module["_strtod_l"]=(a0,a1,a2)=>(_strtod_l=Module["_strtod_l"]=wasmExports["strtod_l"])(a0,a1,a2);var _strtold_l=Module["_strtold_l"]=(a0,a1,a2,a3)=>(_strtold_l=Module["_strtold_l"]=wasmExports["strtold_l"])(a0,a1,a2,a3);var ___strtof_l=Module["___strtof_l"]=(a0,a1,a2)=>(___strtof_l=Module["___strtof_l"]=wasmExports["__strtof_l"])(a0,a1,a2);var ___strtod_l=Module["___strtod_l"]=(a0,a1,a2)=>(___strtod_l=Module["___strtod_l"]=wasmExports["__strtod_l"])(a0,a1,a2);var ___strtold_l=Module["___strtold_l"]=(a0,a1,a2,a3)=>(___strtold_l=Module["___strtold_l"]=wasmExports["__strtold_l"])(a0,a1,a2,a3);var _strtok=Module["_strtok"]=(a0,a1)=>(_strtok=Module["_strtok"]=wasmExports["strtok"])(a0,a1);var _strtok_r=Module["_strtok_r"]=(a0,a1,a2)=>(_strtok_r=Module["_strtok_r"]=wasmExports["strtok_r"])(a0,a1,a2);var _strtoll=Module["_strtoll"]=(a0,a1,a2)=>(_strtoll=Module["_strtoll"]=wasmExports["strtoll"])(a0,a1,a2);var _strtoimax=Module["_strtoimax"]=(a0,a1,a2)=>(_strtoimax=Module["_strtoimax"]=wasmExports["strtoimax"])(a0,a1,a2);var _strtoumax=Module["_strtoumax"]=(a0,a1,a2)=>(_strtoumax=Module["_strtoumax"]=wasmExports["strtoumax"])(a0,a1,a2);var ___strtol_internal=Module["___strtol_internal"]=(a0,a1,a2)=>(___strtol_internal=Module["___strtol_internal"]=wasmExports["__strtol_internal"])(a0,a1,a2);var ___strtoul_internal=Module["___strtoul_internal"]=(a0,a1,a2)=>(___strtoul_internal=Module["___strtoul_internal"]=wasmExports["__strtoul_internal"])(a0,a1,a2);var ___strtoll_internal=Module["___strtoll_internal"]=(a0,a1,a2)=>(___strtoll_internal=Module["___strtoll_internal"]=wasmExports["__strtoll_internal"])(a0,a1,a2);var ___strtoull_internal=Module["___strtoull_internal"]=(a0,a1,a2)=>(___strtoull_internal=Module["___strtoull_internal"]=wasmExports["__strtoull_internal"])(a0,a1,a2);var ___strtoimax_internal=Module["___strtoimax_internal"]=(a0,a1,a2)=>(___strtoimax_internal=Module["___strtoimax_internal"]=wasmExports["__strtoimax_internal"])(a0,a1,a2);var ___strtoumax_internal=Module["___strtoumax_internal"]=(a0,a1,a2)=>(___strtoumax_internal=Module["___strtoumax_internal"]=wasmExports["__strtoumax_internal"])(a0,a1,a2);var _strtoull_l=Module["_strtoull_l"]=(a0,a1,a2,a3)=>(_strtoull_l=Module["_strtoull_l"]=wasmExports["strtoull_l"])(a0,a1,a2,a3);var _strtoll_l=Module["_strtoll_l"]=(a0,a1,a2,a3)=>(_strtoll_l=Module["_strtoll_l"]=wasmExports["strtoll_l"])(a0,a1,a2,a3);var _strtoul_l=Module["_strtoul_l"]=(a0,a1,a2,a3)=>(_strtoul_l=Module["_strtoul_l"]=wasmExports["strtoul_l"])(a0,a1,a2,a3);var _strtol_l=Module["_strtol_l"]=(a0,a1,a2,a3)=>(_strtol_l=Module["_strtol_l"]=wasmExports["strtol_l"])(a0,a1,a2,a3);var _strupr=Module["_strupr"]=a0=>(_strupr=Module["_strupr"]=wasmExports["strupr"])(a0);var _strverscmp=Module["_strverscmp"]=(a0,a1)=>(_strverscmp=Module["_strverscmp"]=wasmExports["strverscmp"])(a0,a1);var ___strxfrm_l=Module["___strxfrm_l"]=(a0,a1,a2,a3)=>(___strxfrm_l=Module["___strxfrm_l"]=wasmExports["__strxfrm_l"])(a0,a1,a2,a3);var _strxfrm=Module["_strxfrm"]=(a0,a1,a2)=>(_strxfrm=Module["_strxfrm"]=wasmExports["strxfrm"])(a0,a1,a2);var _strxfrm_l=Module["_strxfrm_l"]=(a0,a1,a2,a3)=>(_strxfrm_l=Module["_strxfrm_l"]=wasmExports["strxfrm_l"])(a0,a1,a2,a3);var _swab=Module["_swab"]=(a0,a1,a2)=>(_swab=Module["_swab"]=wasmExports["swab"])(a0,a1,a2);var _swprintf=Module["_swprintf"]=(a0,a1,a2,a3)=>(_swprintf=Module["_swprintf"]=wasmExports["swprintf"])(a0,a1,a2,a3);var _vswprintf=Module["_vswprintf"]=(a0,a1,a2,a3)=>(_vswprintf=Module["_vswprintf"]=wasmExports["vswprintf"])(a0,a1,a2,a3);var _swscanf=Module["_swscanf"]=(a0,a1,a2)=>(_swscanf=Module["_swscanf"]=wasmExports["swscanf"])(a0,a1,a2);var _vswscanf=Module["_vswscanf"]=(a0,a1,a2)=>(_vswscanf=Module["_vswscanf"]=wasmExports["vswscanf"])(a0,a1,a2);var ___isoc99_swscanf=Module["___isoc99_swscanf"]=(a0,a1,a2)=>(___isoc99_swscanf=Module["___isoc99_swscanf"]=wasmExports["__isoc99_swscanf"])(a0,a1,a2);var _symlinkat=Module["_symlinkat"]=(a0,a1,a2)=>(_symlinkat=Module["_symlinkat"]=wasmExports["symlinkat"])(a0,a1,a2);var _setlogmask=Module["_setlogmask"]=a0=>(_setlogmask=Module["_setlogmask"]=wasmExports["setlogmask"])(a0);var _closelog=Module["_closelog"]=()=>(_closelog=Module["_closelog"]=wasmExports["closelog"])();var _openlog=Module["_openlog"]=(a0,a1,a2)=>(_openlog=Module["_openlog"]=wasmExports["openlog"])(a0,a1,a2);var _syslog=Module["_syslog"]=(a0,a1,a2)=>(_syslog=Module["_syslog"]=wasmExports["syslog"])(a0,a1,a2);var _vsyslog=Module["_vsyslog"]=(a0,a1,a2)=>(_vsyslog=Module["_vsyslog"]=wasmExports["vsyslog"])(a0,a1,a2);var _tanhf=Module["_tanhf"]=a0=>(_tanhf=Module["_tanhf"]=wasmExports["tanhf"])(a0);var _tanhl=Module["_tanhl"]=(a0,a1,a2)=>(_tanhl=Module["_tanhl"]=wasmExports["tanhl"])(a0,a1,a2);var _tanl=Module["_tanl"]=(a0,a1,a2)=>(_tanl=Module["_tanl"]=wasmExports["tanl"])(a0,a1,a2);var _tcdrain=Module["_tcdrain"]=a0=>(_tcdrain=Module["_tcdrain"]=wasmExports["tcdrain"])(a0);var _tcflow=Module["_tcflow"]=(a0,a1)=>(_tcflow=Module["_tcflow"]=wasmExports["tcflow"])(a0,a1);var _tcflush=Module["_tcflush"]=(a0,a1)=>(_tcflush=Module["_tcflush"]=wasmExports["tcflush"])(a0,a1);var _tcgetattr=Module["_tcgetattr"]=(a0,a1)=>(_tcgetattr=Module["_tcgetattr"]=wasmExports["tcgetattr"])(a0,a1);var _tcgetsid=Module["_tcgetsid"]=a0=>(_tcgetsid=Module["_tcgetsid"]=wasmExports["tcgetsid"])(a0);var _tcgetwinsize=Module["_tcgetwinsize"]=(a0,a1)=>(_tcgetwinsize=Module["_tcgetwinsize"]=wasmExports["tcgetwinsize"])(a0,a1);var _tcsendbreak=Module["_tcsendbreak"]=(a0,a1)=>(_tcsendbreak=Module["_tcsendbreak"]=wasmExports["tcsendbreak"])(a0,a1);var _tcsetwinsize=Module["_tcsetwinsize"]=(a0,a1)=>(_tcsetwinsize=Module["_tcsetwinsize"]=wasmExports["tcsetwinsize"])(a0,a1);var _tdelete=Module["_tdelete"]=(a0,a1,a2)=>(_tdelete=Module["_tdelete"]=wasmExports["tdelete"])(a0,a1,a2);var _tdestroy=Module["_tdestroy"]=(a0,a1)=>(_tdestroy=Module["_tdestroy"]=wasmExports["tdestroy"])(a0,a1);var _telldir=Module["_telldir"]=a0=>(_telldir=Module["_telldir"]=wasmExports["telldir"])(a0);var _tempnam=Module["_tempnam"]=(a0,a1)=>(_tempnam=Module["_tempnam"]=wasmExports["tempnam"])(a0,a1);var _ngettext=Module["_ngettext"]=(a0,a1,a2)=>(_ngettext=Module["_ngettext"]=wasmExports["ngettext"])(a0,a1,a2);var _tfind=Module["_tfind"]=(a0,a1,a2)=>(_tfind=Module["_tfind"]=wasmExports["tfind"])(a0,a1,a2);var _tgamma=Module["_tgamma"]=a0=>(_tgamma=Module["_tgamma"]=wasmExports["tgamma"])(a0);var _tgammaf=Module["_tgammaf"]=a0=>(_tgammaf=Module["_tgammaf"]=wasmExports["tgammaf"])(a0);var _tgammal=Module["_tgammal"]=(a0,a1,a2)=>(_tgammal=Module["_tgammal"]=wasmExports["tgammal"])(a0,a1,a2);var _thrd_create=Module["_thrd_create"]=(a0,a1,a2)=>(_thrd_create=Module["_thrd_create"]=wasmExports["thrd_create"])(a0,a1,a2);var _thrd_exit=Module["_thrd_exit"]=a0=>(_thrd_exit=Module["_thrd_exit"]=wasmExports["thrd_exit"])(a0);var _thrd_join=Module["_thrd_join"]=(a0,a1)=>(_thrd_join=Module["_thrd_join"]=wasmExports["thrd_join"])(a0,a1);var _thrd_sleep=Module["_thrd_sleep"]=(a0,a1)=>(_thrd_sleep=Module["_thrd_sleep"]=wasmExports["thrd_sleep"])(a0,a1);var _thrd_yield=Module["_thrd_yield"]=()=>(_thrd_yield=Module["_thrd_yield"]=wasmExports["thrd_yield"])();var _emscripten_set_thread_name=Module["_emscripten_set_thread_name"]=(a0,a1)=>(_emscripten_set_thread_name=Module["_emscripten_set_thread_name"]=wasmExports["emscripten_set_thread_name"])(a0,a1);var _timespec_get=Module["_timespec_get"]=(a0,a1)=>(_timespec_get=Module["_timespec_get"]=wasmExports["timespec_get"])(a0,a1);var _tmpfile=Module["_tmpfile"]=()=>(_tmpfile=Module["_tmpfile"]=wasmExports["tmpfile"])();var _tmpnam=Module["_tmpnam"]=a0=>(_tmpnam=Module["_tmpnam"]=wasmExports["tmpnam"])(a0);var _toascii=Module["_toascii"]=a0=>(_toascii=Module["_toascii"]=wasmExports["toascii"])(a0);var ___tolower_l=Module["___tolower_l"]=(a0,a1)=>(___tolower_l=Module["___tolower_l"]=wasmExports["__tolower_l"])(a0,a1);var _tolower_l=Module["_tolower_l"]=(a0,a1)=>(_tolower_l=Module["_tolower_l"]=wasmExports["tolower_l"])(a0,a1);var ___toupper_l=Module["___toupper_l"]=(a0,a1)=>(___toupper_l=Module["___toupper_l"]=wasmExports["__toupper_l"])(a0,a1);var _toupper_l=Module["_toupper_l"]=(a0,a1)=>(_toupper_l=Module["_toupper_l"]=wasmExports["toupper_l"])(a0,a1);var ___towupper_l=Module["___towupper_l"]=(a0,a1)=>(___towupper_l=Module["___towupper_l"]=wasmExports["__towupper_l"])(a0,a1);var ___towlower_l=Module["___towlower_l"]=(a0,a1)=>(___towlower_l=Module["___towlower_l"]=wasmExports["__towlower_l"])(a0,a1);var _towupper_l=Module["_towupper_l"]=(a0,a1)=>(_towupper_l=Module["_towupper_l"]=wasmExports["towupper_l"])(a0,a1);var _towlower_l=Module["_towlower_l"]=(a0,a1)=>(_towlower_l=Module["_towlower_l"]=wasmExports["towlower_l"])(a0,a1);var _trunc=Module["_trunc"]=a0=>(_trunc=Module["_trunc"]=wasmExports["trunc"])(a0);var _truncf=Module["_truncf"]=a0=>(_truncf=Module["_truncf"]=wasmExports["truncf"])(a0);var _truncl=Module["_truncl"]=(a0,a1,a2)=>(_truncl=Module["_truncl"]=wasmExports["truncl"])(a0,a1,a2);var _tsearch=Module["_tsearch"]=(a0,a1,a2)=>(_tsearch=Module["_tsearch"]=wasmExports["tsearch"])(a0,a1,a2);var _tss_create=Module["_tss_create"]=(a0,a1)=>(_tss_create=Module["_tss_create"]=wasmExports["tss_create"])(a0,a1);var _tss_delete=Module["_tss_delete"]=a0=>(_tss_delete=Module["_tss_delete"]=wasmExports["tss_delete"])(a0);var _tss_set=Module["_tss_set"]=(a0,a1)=>(_tss_set=Module["_tss_set"]=wasmExports["tss_set"])(a0,a1);var _ttyname=Module["_ttyname"]=a0=>(_ttyname=Module["_ttyname"]=wasmExports["ttyname"])(a0);var _twalk=Module["_twalk"]=(a0,a1)=>(_twalk=Module["_twalk"]=wasmExports["twalk"])(a0,a1);var _ualarm=Module["_ualarm"]=(a0,a1)=>(_ualarm=Module["_ualarm"]=wasmExports["ualarm"])(a0,a1);var _ungetwc=Module["_ungetwc"]=(a0,a1)=>(_ungetwc=Module["_ungetwc"]=wasmExports["ungetwc"])(a0,a1);var ___uselocale=Module["___uselocale"]=a0=>(___uselocale=Module["___uselocale"]=wasmExports["__uselocale"])(a0);var _uselocale=Module["_uselocale"]=a0=>(_uselocale=Module["_uselocale"]=wasmExports["uselocale"])(a0);var _usleep=Module["_usleep"]=a0=>(_usleep=Module["_usleep"]=wasmExports["usleep"])(a0);var _utime=Module["_utime"]=(a0,a1)=>(_utime=Module["_utime"]=wasmExports["utime"])(a0,a1);var _versionsort=Module["_versionsort"]=(a0,a1)=>(_versionsort=Module["_versionsort"]=wasmExports["versionsort"])(a0,a1);var ___vfprintf_internal=Module["___vfprintf_internal"]=(a0,a1,a2,a3,a4)=>(___vfprintf_internal=Module["___vfprintf_internal"]=wasmExports["__vfprintf_internal"])(a0,a1,a2,a3,a4);var ___isoc99_vfscanf=Module["___isoc99_vfscanf"]=(a0,a1,a2)=>(___isoc99_vfscanf=Module["___isoc99_vfscanf"]=wasmExports["__isoc99_vfscanf"])(a0,a1,a2);var _wcsnlen=Module["_wcsnlen"]=(a0,a1)=>(_wcsnlen=Module["_wcsnlen"]=wasmExports["wcsnlen"])(a0,a1);var ___isoc99_vfwscanf=Module["___isoc99_vfwscanf"]=(a0,a1,a2)=>(___isoc99_vfwscanf=Module["___isoc99_vfwscanf"]=wasmExports["__isoc99_vfwscanf"])(a0,a1,a2);var _vprintf=Module["_vprintf"]=(a0,a1)=>(_vprintf=Module["_vprintf"]=wasmExports["vprintf"])(a0,a1);var ___isoc99_vscanf=Module["___isoc99_vscanf"]=(a0,a1)=>(___isoc99_vscanf=Module["___isoc99_vscanf"]=wasmExports["__isoc99_vscanf"])(a0,a1);var _vsniprintf=Module["_vsniprintf"]=(a0,a1,a2,a3)=>(_vsniprintf=Module["_vsniprintf"]=wasmExports["vsniprintf"])(a0,a1,a2,a3);var ___small_vsnprintf=Module["___small_vsnprintf"]=(a0,a1,a2,a3)=>(___small_vsnprintf=Module["___small_vsnprintf"]=wasmExports["__small_vsnprintf"])(a0,a1,a2,a3);var ___isoc99_vsscanf=Module["___isoc99_vsscanf"]=(a0,a1,a2)=>(___isoc99_vsscanf=Module["___isoc99_vsscanf"]=wasmExports["__isoc99_vsscanf"])(a0,a1,a2);var ___isoc99_vswscanf=Module["___isoc99_vswscanf"]=(a0,a1,a2)=>(___isoc99_vswscanf=Module["___isoc99_vswscanf"]=wasmExports["__isoc99_vswscanf"])(a0,a1,a2);var _vwprintf=Module["_vwprintf"]=(a0,a1)=>(_vwprintf=Module["_vwprintf"]=wasmExports["vwprintf"])(a0,a1);var _vwscanf=Module["_vwscanf"]=(a0,a1)=>(_vwscanf=Module["_vwscanf"]=wasmExports["vwscanf"])(a0,a1);var ___isoc99_vwscanf=Module["___isoc99_vwscanf"]=(a0,a1)=>(___isoc99_vwscanf=Module["___isoc99_vwscanf"]=wasmExports["__isoc99_vwscanf"])(a0,a1);var _wcpcpy=Module["_wcpcpy"]=(a0,a1)=>(_wcpcpy=Module["_wcpcpy"]=wasmExports["wcpcpy"])(a0,a1);var _wcpncpy=Module["_wcpncpy"]=(a0,a1,a2)=>(_wcpncpy=Module["_wcpncpy"]=wasmExports["wcpncpy"])(a0,a1,a2);var _wcscasecmp=Module["_wcscasecmp"]=(a0,a1)=>(_wcscasecmp=Module["_wcscasecmp"]=wasmExports["wcscasecmp"])(a0,a1);var _wcsncasecmp=Module["_wcsncasecmp"]=(a0,a1,a2)=>(_wcsncasecmp=Module["_wcsncasecmp"]=wasmExports["wcsncasecmp"])(a0,a1,a2);var _wcscasecmp_l=Module["_wcscasecmp_l"]=(a0,a1,a2)=>(_wcscasecmp_l=Module["_wcscasecmp_l"]=wasmExports["wcscasecmp_l"])(a0,a1,a2);var _wcscat=Module["_wcscat"]=(a0,a1)=>(_wcscat=Module["_wcscat"]=wasmExports["wcscat"])(a0,a1);var ___wcscoll_l=Module["___wcscoll_l"]=(a0,a1,a2)=>(___wcscoll_l=Module["___wcscoll_l"]=wasmExports["__wcscoll_l"])(a0,a1,a2);var _wcscoll_l=Module["_wcscoll_l"]=(a0,a1,a2)=>(_wcscoll_l=Module["_wcscoll_l"]=wasmExports["wcscoll_l"])(a0,a1,a2);var _wcscspn=Module["_wcscspn"]=(a0,a1)=>(_wcscspn=Module["_wcscspn"]=wasmExports["wcscspn"])(a0,a1);var _wcsdup=Module["_wcsdup"]=a0=>(_wcsdup=Module["_wcsdup"]=wasmExports["wcsdup"])(a0);var _wmemcpy=Module["_wmemcpy"]=(a0,a1,a2)=>(_wmemcpy=Module["_wmemcpy"]=wasmExports["wmemcpy"])(a0,a1,a2);var _wcsncasecmp_l=Module["_wcsncasecmp_l"]=(a0,a1,a2,a3)=>(_wcsncasecmp_l=Module["_wcsncasecmp_l"]=wasmExports["wcsncasecmp_l"])(a0,a1,a2,a3);var _wcsncat=Module["_wcsncat"]=(a0,a1,a2)=>(_wcsncat=Module["_wcsncat"]=wasmExports["wcsncat"])(a0,a1,a2);var _wmemset=Module["_wmemset"]=(a0,a1,a2)=>(_wmemset=Module["_wmemset"]=wasmExports["wmemset"])(a0,a1,a2);var _wmemchr=Module["_wmemchr"]=(a0,a1,a2)=>(_wmemchr=Module["_wmemchr"]=wasmExports["wmemchr"])(a0,a1,a2);var _wcsnrtombs=Module["_wcsnrtombs"]=(a0,a1,a2,a3,a4)=>(_wcsnrtombs=Module["_wcsnrtombs"]=wasmExports["wcsnrtombs"])(a0,a1,a2,a3,a4);var _wcspbrk=Module["_wcspbrk"]=(a0,a1)=>(_wcspbrk=Module["_wcspbrk"]=wasmExports["wcspbrk"])(a0,a1);var _wcsspn=Module["_wcsspn"]=(a0,a1)=>(_wcsspn=Module["_wcsspn"]=wasmExports["wcsspn"])(a0,a1);var _wcsstr=Module["_wcsstr"]=(a0,a1)=>(_wcsstr=Module["_wcsstr"]=wasmExports["wcsstr"])(a0,a1);var _wcstof=Module["_wcstof"]=(a0,a1)=>(_wcstof=Module["_wcstof"]=wasmExports["wcstof"])(a0,a1);var _wcstod=Module["_wcstod"]=(a0,a1)=>(_wcstod=Module["_wcstod"]=wasmExports["wcstod"])(a0,a1);var _wcstold=Module["_wcstold"]=(a0,a1,a2)=>(_wcstold=Module["_wcstold"]=wasmExports["wcstold"])(a0,a1,a2);var _wcstoull=Module["_wcstoull"]=(a0,a1,a2)=>(_wcstoull=Module["_wcstoull"]=wasmExports["wcstoull"])(a0,a1,a2);var _wcstoll=Module["_wcstoll"]=(a0,a1,a2)=>(_wcstoll=Module["_wcstoll"]=wasmExports["wcstoll"])(a0,a1,a2);var _wcstoul=Module["_wcstoul"]=(a0,a1,a2)=>(_wcstoul=Module["_wcstoul"]=wasmExports["wcstoul"])(a0,a1,a2);var _wcstoimax=Module["_wcstoimax"]=(a0,a1,a2)=>(_wcstoimax=Module["_wcstoimax"]=wasmExports["wcstoimax"])(a0,a1,a2);var _wcstoumax=Module["_wcstoumax"]=(a0,a1,a2)=>(_wcstoumax=Module["_wcstoumax"]=wasmExports["wcstoumax"])(a0,a1,a2);var _wcswcs=Module["_wcswcs"]=(a0,a1)=>(_wcswcs=Module["_wcswcs"]=wasmExports["wcswcs"])(a0,a1);var _wcswidth=Module["_wcswidth"]=(a0,a1)=>(_wcswidth=Module["_wcswidth"]=wasmExports["wcswidth"])(a0,a1);var _wcwidth=Module["_wcwidth"]=a0=>(_wcwidth=Module["_wcwidth"]=wasmExports["wcwidth"])(a0);var ___wcsxfrm_l=Module["___wcsxfrm_l"]=(a0,a1,a2,a3)=>(___wcsxfrm_l=Module["___wcsxfrm_l"]=wasmExports["__wcsxfrm_l"])(a0,a1,a2,a3);var _wcsxfrm_l=Module["_wcsxfrm_l"]=(a0,a1,a2,a3)=>(_wcsxfrm_l=Module["_wcsxfrm_l"]=wasmExports["wcsxfrm_l"])(a0,a1,a2,a3);var _wctob=Module["_wctob"]=a0=>(_wctob=Module["_wctob"]=wasmExports["wctob"])(a0);var _wctrans=Module["_wctrans"]=a0=>(_wctrans=Module["_wctrans"]=wasmExports["wctrans"])(a0);var _towctrans=Module["_towctrans"]=(a0,a1)=>(_towctrans=Module["_towctrans"]=wasmExports["towctrans"])(a0,a1);var ___wctrans_l=Module["___wctrans_l"]=(a0,a1)=>(___wctrans_l=Module["___wctrans_l"]=wasmExports["__wctrans_l"])(a0,a1);var ___towctrans_l=Module["___towctrans_l"]=(a0,a1,a2)=>(___towctrans_l=Module["___towctrans_l"]=wasmExports["__towctrans_l"])(a0,a1,a2);var _wctrans_l=Module["_wctrans_l"]=(a0,a1)=>(_wctrans_l=Module["_wctrans_l"]=wasmExports["wctrans_l"])(a0,a1);var _towctrans_l=Module["_towctrans_l"]=(a0,a1,a2)=>(_towctrans_l=Module["_towctrans_l"]=wasmExports["towctrans_l"])(a0,a1,a2);var _wmemmove=Module["_wmemmove"]=(a0,a1,a2)=>(_wmemmove=Module["_wmemmove"]=wasmExports["wmemmove"])(a0,a1,a2);var _wprintf=Module["_wprintf"]=(a0,a1)=>(_wprintf=Module["_wprintf"]=wasmExports["wprintf"])(a0,a1);var _wscanf=Module["_wscanf"]=(a0,a1)=>(_wscanf=Module["_wscanf"]=wasmExports["wscanf"])(a0,a1);var ___isoc99_wscanf=Module["___isoc99_wscanf"]=(a0,a1)=>(___isoc99_wscanf=Module["___isoc99_wscanf"]=wasmExports["__isoc99_wscanf"])(a0,a1);var ___libc_realloc=Module["___libc_realloc"]=(a0,a1)=>(___libc_realloc=Module["___libc_realloc"]=wasmExports["__libc_realloc"])(a0,a1);var _realloc_in_place=Module["_realloc_in_place"]=(a0,a1)=>(_realloc_in_place=Module["_realloc_in_place"]=wasmExports["realloc_in_place"])(a0,a1);var _memalign=Module["_memalign"]=(a0,a1)=>(_memalign=Module["_memalign"]=wasmExports["memalign"])(a0,a1);var _valloc=Module["_valloc"]=a0=>(_valloc=Module["_valloc"]=wasmExports["valloc"])(a0);var _pvalloc=Module["_pvalloc"]=a0=>(_pvalloc=Module["_pvalloc"]=wasmExports["pvalloc"])(a0);var _mallinfo=Module["_mallinfo"]=a0=>(_mallinfo=Module["_mallinfo"]=wasmExports["mallinfo"])(a0);var _mallopt=Module["_mallopt"]=(a0,a1)=>(_mallopt=Module["_mallopt"]=wasmExports["mallopt"])(a0,a1);var _malloc_trim=Module["_malloc_trim"]=a0=>(_malloc_trim=Module["_malloc_trim"]=wasmExports["malloc_trim"])(a0);var _malloc_usable_size=Module["_malloc_usable_size"]=a0=>(_malloc_usable_size=Module["_malloc_usable_size"]=wasmExports["malloc_usable_size"])(a0);var _malloc_footprint=Module["_malloc_footprint"]=()=>(_malloc_footprint=Module["_malloc_footprint"]=wasmExports["malloc_footprint"])();var _malloc_max_footprint=Module["_malloc_max_footprint"]=()=>(_malloc_max_footprint=Module["_malloc_max_footprint"]=wasmExports["malloc_max_footprint"])();var _malloc_footprint_limit=Module["_malloc_footprint_limit"]=()=>(_malloc_footprint_limit=Module["_malloc_footprint_limit"]=wasmExports["malloc_footprint_limit"])();var _malloc_set_footprint_limit=Module["_malloc_set_footprint_limit"]=a0=>(_malloc_set_footprint_limit=Module["_malloc_set_footprint_limit"]=wasmExports["malloc_set_footprint_limit"])(a0);var _independent_calloc=Module["_independent_calloc"]=(a0,a1,a2)=>(_independent_calloc=Module["_independent_calloc"]=wasmExports["independent_calloc"])(a0,a1,a2);var _independent_comalloc=Module["_independent_comalloc"]=(a0,a1,a2)=>(_independent_comalloc=Module["_independent_comalloc"]=wasmExports["independent_comalloc"])(a0,a1,a2);var _bulk_free=Module["_bulk_free"]=(a0,a1)=>(_bulk_free=Module["_bulk_free"]=wasmExports["bulk_free"])(a0,a1);var ___trap=Module["___trap"]=()=>(___trap=Module["___trap"]=wasmExports["__trap"])();var ___absvdi2=Module["___absvdi2"]=a0=>(___absvdi2=Module["___absvdi2"]=wasmExports["__absvdi2"])(a0);var ___absvsi2=Module["___absvsi2"]=a0=>(___absvsi2=Module["___absvsi2"]=wasmExports["__absvsi2"])(a0);var ___absvti2=Module["___absvti2"]=(a0,a1,a2)=>(___absvti2=Module["___absvti2"]=wasmExports["__absvti2"])(a0,a1,a2);var ___adddf3=Module["___adddf3"]=(a0,a1)=>(___adddf3=Module["___adddf3"]=wasmExports["__adddf3"])(a0,a1);var ___fe_getround=Module["___fe_getround"]=()=>(___fe_getround=Module["___fe_getround"]=wasmExports["__fe_getround"])();var ___fe_raise_inexact=Module["___fe_raise_inexact"]=()=>(___fe_raise_inexact=Module["___fe_raise_inexact"]=wasmExports["__fe_raise_inexact"])();var ___addsf3=Module["___addsf3"]=(a0,a1)=>(___addsf3=Module["___addsf3"]=wasmExports["__addsf3"])(a0,a1);var ___ashlti3=Module["___ashlti3"]=(a0,a1,a2,a3)=>(___ashlti3=Module["___ashlti3"]=wasmExports["__ashlti3"])(a0,a1,a2,a3);var ___lshrti3=Module["___lshrti3"]=(a0,a1,a2,a3)=>(___lshrti3=Module["___lshrti3"]=wasmExports["__lshrti3"])(a0,a1,a2,a3);var ___addvdi3=Module["___addvdi3"]=(a0,a1)=>(___addvdi3=Module["___addvdi3"]=wasmExports["__addvdi3"])(a0,a1);var ___addvsi3=Module["___addvsi3"]=(a0,a1)=>(___addvsi3=Module["___addvsi3"]=wasmExports["__addvsi3"])(a0,a1);var ___addvti3=Module["___addvti3"]=(a0,a1,a2,a3,a4)=>(___addvti3=Module["___addvti3"]=wasmExports["__addvti3"])(a0,a1,a2,a3,a4);var ___ashldi3=Module["___ashldi3"]=(a0,a1)=>(___ashldi3=Module["___ashldi3"]=wasmExports["__ashldi3"])(a0,a1);var ___ashrdi3=Module["___ashrdi3"]=(a0,a1)=>(___ashrdi3=Module["___ashrdi3"]=wasmExports["__ashrdi3"])(a0,a1);var ___ashrti3=Module["___ashrti3"]=(a0,a1,a2,a3)=>(___ashrti3=Module["___ashrti3"]=wasmExports["__ashrti3"])(a0,a1,a2,a3);var ___atomic_is_lock_free=Module["___atomic_is_lock_free"]=(a0,a1)=>(___atomic_is_lock_free=Module["___atomic_is_lock_free"]=wasmExports["__atomic_is_lock_free"])(a0,a1);var ___atomic_load=Module["___atomic_load"]=(a0,a1,a2,a3)=>(___atomic_load=Module["___atomic_load"]=wasmExports["__atomic_load"])(a0,a1,a2,a3);var ___atomic_store=Module["___atomic_store"]=(a0,a1,a2,a3)=>(___atomic_store=Module["___atomic_store"]=wasmExports["__atomic_store"])(a0,a1,a2,a3);var ___atomic_compare_exchange=Module["___atomic_compare_exchange"]=(a0,a1,a2,a3,a4,a5)=>(___atomic_compare_exchange=Module["___atomic_compare_exchange"]=wasmExports["__atomic_compare_exchange"])(a0,a1,a2,a3,a4,a5);var ___atomic_exchange=Module["___atomic_exchange"]=(a0,a1,a2,a3,a4)=>(___atomic_exchange=Module["___atomic_exchange"]=wasmExports["__atomic_exchange"])(a0,a1,a2,a3,a4);var ___atomic_load_1=Module["___atomic_load_1"]=(a0,a1)=>(___atomic_load_1=Module["___atomic_load_1"]=wasmExports["__atomic_load_1"])(a0,a1);var ___atomic_load_2=Module["___atomic_load_2"]=(a0,a1)=>(___atomic_load_2=Module["___atomic_load_2"]=wasmExports["__atomic_load_2"])(a0,a1);var ___atomic_load_4=Module["___atomic_load_4"]=(a0,a1)=>(___atomic_load_4=Module["___atomic_load_4"]=wasmExports["__atomic_load_4"])(a0,a1);var ___atomic_load_8=Module["___atomic_load_8"]=(a0,a1)=>(___atomic_load_8=Module["___atomic_load_8"]=wasmExports["__atomic_load_8"])(a0,a1);var ___atomic_load_16=Module["___atomic_load_16"]=(a0,a1,a2)=>(___atomic_load_16=Module["___atomic_load_16"]=wasmExports["__atomic_load_16"])(a0,a1,a2);var ___atomic_store_1=Module["___atomic_store_1"]=(a0,a1,a2)=>(___atomic_store_1=Module["___atomic_store_1"]=wasmExports["__atomic_store_1"])(a0,a1,a2);var ___atomic_store_2=Module["___atomic_store_2"]=(a0,a1,a2)=>(___atomic_store_2=Module["___atomic_store_2"]=wasmExports["__atomic_store_2"])(a0,a1,a2);var ___atomic_store_4=Module["___atomic_store_4"]=(a0,a1,a2)=>(___atomic_store_4=Module["___atomic_store_4"]=wasmExports["__atomic_store_4"])(a0,a1,a2);var ___atomic_store_8=Module["___atomic_store_8"]=(a0,a1,a2)=>(___atomic_store_8=Module["___atomic_store_8"]=wasmExports["__atomic_store_8"])(a0,a1,a2);var ___atomic_store_16=Module["___atomic_store_16"]=(a0,a1,a2,a3)=>(___atomic_store_16=Module["___atomic_store_16"]=wasmExports["__atomic_store_16"])(a0,a1,a2,a3);var ___atomic_exchange_1=Module["___atomic_exchange_1"]=(a0,a1,a2)=>(___atomic_exchange_1=Module["___atomic_exchange_1"]=wasmExports["__atomic_exchange_1"])(a0,a1,a2);var ___atomic_exchange_2=Module["___atomic_exchange_2"]=(a0,a1,a2)=>(___atomic_exchange_2=Module["___atomic_exchange_2"]=wasmExports["__atomic_exchange_2"])(a0,a1,a2);var ___atomic_exchange_4=Module["___atomic_exchange_4"]=(a0,a1,a2)=>(___atomic_exchange_4=Module["___atomic_exchange_4"]=wasmExports["__atomic_exchange_4"])(a0,a1,a2);var ___atomic_exchange_8=Module["___atomic_exchange_8"]=(a0,a1,a2)=>(___atomic_exchange_8=Module["___atomic_exchange_8"]=wasmExports["__atomic_exchange_8"])(a0,a1,a2);var ___atomic_exchange_16=Module["___atomic_exchange_16"]=(a0,a1,a2,a3,a4)=>(___atomic_exchange_16=Module["___atomic_exchange_16"]=wasmExports["__atomic_exchange_16"])(a0,a1,a2,a3,a4);var ___atomic_compare_exchange_1=Module["___atomic_compare_exchange_1"]=(a0,a1,a2,a3,a4)=>(___atomic_compare_exchange_1=Module["___atomic_compare_exchange_1"]=wasmExports["__atomic_compare_exchange_1"])(a0,a1,a2,a3,a4);var ___atomic_compare_exchange_2=Module["___atomic_compare_exchange_2"]=(a0,a1,a2,a3,a4)=>(___atomic_compare_exchange_2=Module["___atomic_compare_exchange_2"]=wasmExports["__atomic_compare_exchange_2"])(a0,a1,a2,a3,a4);var ___atomic_compare_exchange_4=Module["___atomic_compare_exchange_4"]=(a0,a1,a2,a3,a4)=>(___atomic_compare_exchange_4=Module["___atomic_compare_exchange_4"]=wasmExports["__atomic_compare_exchange_4"])(a0,a1,a2,a3,a4);var ___atomic_compare_exchange_8=Module["___atomic_compare_exchange_8"]=(a0,a1,a2,a3,a4)=>(___atomic_compare_exchange_8=Module["___atomic_compare_exchange_8"]=wasmExports["__atomic_compare_exchange_8"])(a0,a1,a2,a3,a4);var ___atomic_compare_exchange_16=Module["___atomic_compare_exchange_16"]=(a0,a1,a2,a3,a4,a5)=>(___atomic_compare_exchange_16=Module["___atomic_compare_exchange_16"]=wasmExports["__atomic_compare_exchange_16"])(a0,a1,a2,a3,a4,a5);var ___atomic_fetch_add_1=Module["___atomic_fetch_add_1"]=(a0,a1,a2)=>(___atomic_fetch_add_1=Module["___atomic_fetch_add_1"]=wasmExports["__atomic_fetch_add_1"])(a0,a1,a2);var ___atomic_fetch_add_2=Module["___atomic_fetch_add_2"]=(a0,a1,a2)=>(___atomic_fetch_add_2=Module["___atomic_fetch_add_2"]=wasmExports["__atomic_fetch_add_2"])(a0,a1,a2);var ___atomic_fetch_add_4=Module["___atomic_fetch_add_4"]=(a0,a1,a2)=>(___atomic_fetch_add_4=Module["___atomic_fetch_add_4"]=wasmExports["__atomic_fetch_add_4"])(a0,a1,a2);var ___atomic_fetch_add_8=Module["___atomic_fetch_add_8"]=(a0,a1,a2)=>(___atomic_fetch_add_8=Module["___atomic_fetch_add_8"]=wasmExports["__atomic_fetch_add_8"])(a0,a1,a2);var ___atomic_fetch_add_16=Module["___atomic_fetch_add_16"]=(a0,a1,a2,a3,a4)=>(___atomic_fetch_add_16=Module["___atomic_fetch_add_16"]=wasmExports["__atomic_fetch_add_16"])(a0,a1,a2,a3,a4);var ___atomic_fetch_sub_1=Module["___atomic_fetch_sub_1"]=(a0,a1,a2)=>(___atomic_fetch_sub_1=Module["___atomic_fetch_sub_1"]=wasmExports["__atomic_fetch_sub_1"])(a0,a1,a2);var ___atomic_fetch_sub_2=Module["___atomic_fetch_sub_2"]=(a0,a1,a2)=>(___atomic_fetch_sub_2=Module["___atomic_fetch_sub_2"]=wasmExports["__atomic_fetch_sub_2"])(a0,a1,a2);var ___atomic_fetch_sub_4=Module["___atomic_fetch_sub_4"]=(a0,a1,a2)=>(___atomic_fetch_sub_4=Module["___atomic_fetch_sub_4"]=wasmExports["__atomic_fetch_sub_4"])(a0,a1,a2);var ___atomic_fetch_sub_8=Module["___atomic_fetch_sub_8"]=(a0,a1,a2)=>(___atomic_fetch_sub_8=Module["___atomic_fetch_sub_8"]=wasmExports["__atomic_fetch_sub_8"])(a0,a1,a2);var ___atomic_fetch_sub_16=Module["___atomic_fetch_sub_16"]=(a0,a1,a2,a3,a4)=>(___atomic_fetch_sub_16=Module["___atomic_fetch_sub_16"]=wasmExports["__atomic_fetch_sub_16"])(a0,a1,a2,a3,a4);var ___atomic_fetch_and_1=Module["___atomic_fetch_and_1"]=(a0,a1,a2)=>(___atomic_fetch_and_1=Module["___atomic_fetch_and_1"]=wasmExports["__atomic_fetch_and_1"])(a0,a1,a2);var ___atomic_fetch_and_2=Module["___atomic_fetch_and_2"]=(a0,a1,a2)=>(___atomic_fetch_and_2=Module["___atomic_fetch_and_2"]=wasmExports["__atomic_fetch_and_2"])(a0,a1,a2);var ___atomic_fetch_and_4=Module["___atomic_fetch_and_4"]=(a0,a1,a2)=>(___atomic_fetch_and_4=Module["___atomic_fetch_and_4"]=wasmExports["__atomic_fetch_and_4"])(a0,a1,a2);var ___atomic_fetch_and_8=Module["___atomic_fetch_and_8"]=(a0,a1,a2)=>(___atomic_fetch_and_8=Module["___atomic_fetch_and_8"]=wasmExports["__atomic_fetch_and_8"])(a0,a1,a2);var ___atomic_fetch_and_16=Module["___atomic_fetch_and_16"]=(a0,a1,a2,a3,a4)=>(___atomic_fetch_and_16=Module["___atomic_fetch_and_16"]=wasmExports["__atomic_fetch_and_16"])(a0,a1,a2,a3,a4);var ___atomic_fetch_or_1=Module["___atomic_fetch_or_1"]=(a0,a1,a2)=>(___atomic_fetch_or_1=Module["___atomic_fetch_or_1"]=wasmExports["__atomic_fetch_or_1"])(a0,a1,a2);var ___atomic_fetch_or_2=Module["___atomic_fetch_or_2"]=(a0,a1,a2)=>(___atomic_fetch_or_2=Module["___atomic_fetch_or_2"]=wasmExports["__atomic_fetch_or_2"])(a0,a1,a2);var ___atomic_fetch_or_4=Module["___atomic_fetch_or_4"]=(a0,a1,a2)=>(___atomic_fetch_or_4=Module["___atomic_fetch_or_4"]=wasmExports["__atomic_fetch_or_4"])(a0,a1,a2);var ___atomic_fetch_or_8=Module["___atomic_fetch_or_8"]=(a0,a1,a2)=>(___atomic_fetch_or_8=Module["___atomic_fetch_or_8"]=wasmExports["__atomic_fetch_or_8"])(a0,a1,a2);var ___atomic_fetch_or_16=Module["___atomic_fetch_or_16"]=(a0,a1,a2,a3,a4)=>(___atomic_fetch_or_16=Module["___atomic_fetch_or_16"]=wasmExports["__atomic_fetch_or_16"])(a0,a1,a2,a3,a4);var ___atomic_fetch_xor_1=Module["___atomic_fetch_xor_1"]=(a0,a1,a2)=>(___atomic_fetch_xor_1=Module["___atomic_fetch_xor_1"]=wasmExports["__atomic_fetch_xor_1"])(a0,a1,a2);var ___atomic_fetch_xor_2=Module["___atomic_fetch_xor_2"]=(a0,a1,a2)=>(___atomic_fetch_xor_2=Module["___atomic_fetch_xor_2"]=wasmExports["__atomic_fetch_xor_2"])(a0,a1,a2);var ___atomic_fetch_xor_4=Module["___atomic_fetch_xor_4"]=(a0,a1,a2)=>(___atomic_fetch_xor_4=Module["___atomic_fetch_xor_4"]=wasmExports["__atomic_fetch_xor_4"])(a0,a1,a2);var ___atomic_fetch_xor_8=Module["___atomic_fetch_xor_8"]=(a0,a1,a2)=>(___atomic_fetch_xor_8=Module["___atomic_fetch_xor_8"]=wasmExports["__atomic_fetch_xor_8"])(a0,a1,a2);var ___atomic_fetch_xor_16=Module["___atomic_fetch_xor_16"]=(a0,a1,a2,a3,a4)=>(___atomic_fetch_xor_16=Module["___atomic_fetch_xor_16"]=wasmExports["__atomic_fetch_xor_16"])(a0,a1,a2,a3,a4);var ___atomic_fetch_nand_1=Module["___atomic_fetch_nand_1"]=(a0,a1,a2)=>(___atomic_fetch_nand_1=Module["___atomic_fetch_nand_1"]=wasmExports["__atomic_fetch_nand_1"])(a0,a1,a2);var ___atomic_fetch_nand_2=Module["___atomic_fetch_nand_2"]=(a0,a1,a2)=>(___atomic_fetch_nand_2=Module["___atomic_fetch_nand_2"]=wasmExports["__atomic_fetch_nand_2"])(a0,a1,a2);var ___atomic_fetch_nand_4=Module["___atomic_fetch_nand_4"]=(a0,a1,a2)=>(___atomic_fetch_nand_4=Module["___atomic_fetch_nand_4"]=wasmExports["__atomic_fetch_nand_4"])(a0,a1,a2);var ___atomic_fetch_nand_8=Module["___atomic_fetch_nand_8"]=(a0,a1,a2)=>(___atomic_fetch_nand_8=Module["___atomic_fetch_nand_8"]=wasmExports["__atomic_fetch_nand_8"])(a0,a1,a2);var ___atomic_fetch_nand_16=Module["___atomic_fetch_nand_16"]=(a0,a1,a2,a3,a4)=>(___atomic_fetch_nand_16=Module["___atomic_fetch_nand_16"]=wasmExports["__atomic_fetch_nand_16"])(a0,a1,a2,a3,a4);var _atomic_flag_clear=Module["_atomic_flag_clear"]=a0=>(_atomic_flag_clear=Module["_atomic_flag_clear"]=wasmExports["atomic_flag_clear"])(a0);var _atomic_flag_clear_explicit=Module["_atomic_flag_clear_explicit"]=(a0,a1)=>(_atomic_flag_clear_explicit=Module["_atomic_flag_clear_explicit"]=wasmExports["atomic_flag_clear_explicit"])(a0,a1);var _atomic_flag_test_and_set=Module["_atomic_flag_test_and_set"]=a0=>(_atomic_flag_test_and_set=Module["_atomic_flag_test_and_set"]=wasmExports["atomic_flag_test_and_set"])(a0);var _atomic_flag_test_and_set_explicit=Module["_atomic_flag_test_and_set_explicit"]=(a0,a1)=>(_atomic_flag_test_and_set_explicit=Module["_atomic_flag_test_and_set_explicit"]=wasmExports["atomic_flag_test_and_set_explicit"])(a0,a1);var _atomic_signal_fence=Module["_atomic_signal_fence"]=a0=>(_atomic_signal_fence=Module["_atomic_signal_fence"]=wasmExports["atomic_signal_fence"])(a0);var _atomic_thread_fence=Module["_atomic_thread_fence"]=a0=>(_atomic_thread_fence=Module["_atomic_thread_fence"]=wasmExports["atomic_thread_fence"])(a0);var ___bswapdi2=Module["___bswapdi2"]=a0=>(___bswapdi2=Module["___bswapdi2"]=wasmExports["__bswapdi2"])(a0);var ___bswapsi2=Module["___bswapsi2"]=a0=>(___bswapsi2=Module["___bswapsi2"]=wasmExports["__bswapsi2"])(a0);var ___clear_cache=Module["___clear_cache"]=(a0,a1)=>(___clear_cache=Module["___clear_cache"]=wasmExports["__clear_cache"])(a0,a1);var ___clzdi2=Module["___clzdi2"]=a0=>(___clzdi2=Module["___clzdi2"]=wasmExports["__clzdi2"])(a0);var ___clzsi2=Module["___clzsi2"]=a0=>(___clzsi2=Module["___clzsi2"]=wasmExports["__clzsi2"])(a0);var ___clzti2=Module["___clzti2"]=(a0,a1)=>(___clzti2=Module["___clzti2"]=wasmExports["__clzti2"])(a0,a1);var ___cmpdi2=Module["___cmpdi2"]=(a0,a1)=>(___cmpdi2=Module["___cmpdi2"]=wasmExports["__cmpdi2"])(a0,a1);var ___cmpti2=Module["___cmpti2"]=(a0,a1,a2,a3)=>(___cmpti2=Module["___cmpti2"]=wasmExports["__cmpti2"])(a0,a1,a2,a3);var ___ledf2=Module["___ledf2"]=(a0,a1)=>(___ledf2=Module["___ledf2"]=wasmExports["__ledf2"])(a0,a1);var ___gedf2=Module["___gedf2"]=(a0,a1)=>(___gedf2=Module["___gedf2"]=wasmExports["__gedf2"])(a0,a1);var ___unorddf2=Module["___unorddf2"]=(a0,a1)=>(___unorddf2=Module["___unorddf2"]=wasmExports["__unorddf2"])(a0,a1);var ___eqdf2=Module["___eqdf2"]=(a0,a1)=>(___eqdf2=Module["___eqdf2"]=wasmExports["__eqdf2"])(a0,a1);var ___ltdf2=Module["___ltdf2"]=(a0,a1)=>(___ltdf2=Module["___ltdf2"]=wasmExports["__ltdf2"])(a0,a1);var ___nedf2=Module["___nedf2"]=(a0,a1)=>(___nedf2=Module["___nedf2"]=wasmExports["__nedf2"])(a0,a1);var ___gtdf2=Module["___gtdf2"]=(a0,a1)=>(___gtdf2=Module["___gtdf2"]=wasmExports["__gtdf2"])(a0,a1);var ___lesf2=Module["___lesf2"]=(a0,a1)=>(___lesf2=Module["___lesf2"]=wasmExports["__lesf2"])(a0,a1);var ___gesf2=Module["___gesf2"]=(a0,a1)=>(___gesf2=Module["___gesf2"]=wasmExports["__gesf2"])(a0,a1);var ___unordsf2=Module["___unordsf2"]=(a0,a1)=>(___unordsf2=Module["___unordsf2"]=wasmExports["__unordsf2"])(a0,a1);var ___eqsf2=Module["___eqsf2"]=(a0,a1)=>(___eqsf2=Module["___eqsf2"]=wasmExports["__eqsf2"])(a0,a1);var ___ltsf2=Module["___ltsf2"]=(a0,a1)=>(___ltsf2=Module["___ltsf2"]=wasmExports["__ltsf2"])(a0,a1);var ___nesf2=Module["___nesf2"]=(a0,a1)=>(___nesf2=Module["___nesf2"]=wasmExports["__nesf2"])(a0,a1);var ___gtsf2=Module["___gtsf2"]=(a0,a1)=>(___gtsf2=Module["___gtsf2"]=wasmExports["__gtsf2"])(a0,a1);var ___ctzdi2=Module["___ctzdi2"]=a0=>(___ctzdi2=Module["___ctzdi2"]=wasmExports["__ctzdi2"])(a0);var ___ctzsi2=Module["___ctzsi2"]=a0=>(___ctzsi2=Module["___ctzsi2"]=wasmExports["__ctzsi2"])(a0);var ___ctzti2=Module["___ctzti2"]=(a0,a1)=>(___ctzti2=Module["___ctzti2"]=wasmExports["__ctzti2"])(a0,a1);var ___divdc3=Module["___divdc3"]=(a0,a1,a2,a3,a4)=>(___divdc3=Module["___divdc3"]=wasmExports["__divdc3"])(a0,a1,a2,a3,a4);var ___divdf3=Module["___divdf3"]=(a0,a1)=>(___divdf3=Module["___divdf3"]=wasmExports["__divdf3"])(a0,a1);var ___divdi3=Module["___divdi3"]=(a0,a1)=>(___divdi3=Module["___divdi3"]=wasmExports["__divdi3"])(a0,a1);var ___udivmoddi4=Module["___udivmoddi4"]=(a0,a1,a2)=>(___udivmoddi4=Module["___udivmoddi4"]=wasmExports["__udivmoddi4"])(a0,a1,a2);var ___divmoddi4=Module["___divmoddi4"]=(a0,a1,a2)=>(___divmoddi4=Module["___divmoddi4"]=wasmExports["__divmoddi4"])(a0,a1,a2);var ___divmodsi4=Module["___divmodsi4"]=(a0,a1,a2)=>(___divmodsi4=Module["___divmodsi4"]=wasmExports["__divmodsi4"])(a0,a1,a2);var ___udivmodsi4=Module["___udivmodsi4"]=(a0,a1,a2)=>(___udivmodsi4=Module["___udivmodsi4"]=wasmExports["__udivmodsi4"])(a0,a1,a2);var ___divmodti4=Module["___divmodti4"]=(a0,a1,a2,a3,a4,a5)=>(___divmodti4=Module["___divmodti4"]=wasmExports["__divmodti4"])(a0,a1,a2,a3,a4,a5);var ___udivmodti4=Module["___udivmodti4"]=(a0,a1,a2,a3,a4,a5)=>(___udivmodti4=Module["___udivmodti4"]=wasmExports["__udivmodti4"])(a0,a1,a2,a3,a4,a5);var ___divsc3=Module["___divsc3"]=(a0,a1,a2,a3,a4)=>(___divsc3=Module["___divsc3"]=wasmExports["__divsc3"])(a0,a1,a2,a3,a4);var ___divsf3=Module["___divsf3"]=(a0,a1)=>(___divsf3=Module["___divsf3"]=wasmExports["__divsf3"])(a0,a1);var ___divsi3=Module["___divsi3"]=(a0,a1)=>(___divsi3=Module["___divsi3"]=wasmExports["__divsi3"])(a0,a1);var ___divtc3=Module["___divtc3"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(___divtc3=Module["___divtc3"]=wasmExports["__divtc3"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var ___divti3=Module["___divti3"]=(a0,a1,a2,a3,a4)=>(___divti3=Module["___divti3"]=wasmExports["__divti3"])(a0,a1,a2,a3,a4);var ___divxc3=Module["___divxc3"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(___divxc3=Module["___divxc3"]=wasmExports["__divxc3"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _setThrew=(a0,a1)=>(_setThrew=wasmExports["setThrew"])(a0,a1);var _saveSetjmp=Module["_saveSetjmp"]=(a0,a1,a2,a3)=>(_saveSetjmp=Module["_saveSetjmp"]=wasmExports["saveSetjmp"])(a0,a1,a2,a3);var setTempRet0=a0=>(setTempRet0=wasmExports["setTempRet0"])(a0);var _testSetjmp=Module["_testSetjmp"]=(a0,a1,a2)=>(_testSetjmp=Module["_testSetjmp"]=wasmExports["testSetjmp"])(a0,a1,a2);var _emscripten_longjmp=Module["_emscripten_longjmp"]=(a0,a1)=>(_emscripten_longjmp=Module["_emscripten_longjmp"]=wasmExports["emscripten_longjmp"])(a0,a1);var getTempRet0=()=>(getTempRet0=wasmExports["getTempRet0"])();var ___get_temp_ret=Module["___get_temp_ret"]=()=>(___get_temp_ret=Module["___get_temp_ret"]=wasmExports["__get_temp_ret"])();var ___set_temp_ret=Module["___set_temp_ret"]=a0=>(___set_temp_ret=Module["___set_temp_ret"]=wasmExports["__set_temp_ret"])(a0);var ___emutls_get_address=Module["___emutls_get_address"]=a0=>(___emutls_get_address=Module["___emutls_get_address"]=wasmExports["__emutls_get_address"])(a0);var ___enable_execute_stack=Module["___enable_execute_stack"]=a0=>(___enable_execute_stack=Module["___enable_execute_stack"]=wasmExports["__enable_execute_stack"])(a0);var ___extendhfsf2=Module["___extendhfsf2"]=a0=>(___extendhfsf2=Module["___extendhfsf2"]=wasmExports["__extendhfsf2"])(a0);var ___gnu_h2f_ieee=Module["___gnu_h2f_ieee"]=a0=>(___gnu_h2f_ieee=Module["___gnu_h2f_ieee"]=wasmExports["__gnu_h2f_ieee"])(a0);var ___extendsfdf2=Module["___extendsfdf2"]=a0=>(___extendsfdf2=Module["___extendsfdf2"]=wasmExports["__extendsfdf2"])(a0);var ___ffsdi2=Module["___ffsdi2"]=a0=>(___ffsdi2=Module["___ffsdi2"]=wasmExports["__ffsdi2"])(a0);var ___ffssi2=Module["___ffssi2"]=a0=>(___ffssi2=Module["___ffssi2"]=wasmExports["__ffssi2"])(a0);var ___ffsti2=Module["___ffsti2"]=(a0,a1)=>(___ffsti2=Module["___ffsti2"]=wasmExports["__ffsti2"])(a0,a1);var ___fixdfdi=Module["___fixdfdi"]=a0=>(___fixdfdi=Module["___fixdfdi"]=wasmExports["__fixdfdi"])(a0);var ___fixunsdfdi=Module["___fixunsdfdi"]=a0=>(___fixunsdfdi=Module["___fixunsdfdi"]=wasmExports["__fixunsdfdi"])(a0);var ___fixdfsi=Module["___fixdfsi"]=a0=>(___fixdfsi=Module["___fixdfsi"]=wasmExports["__fixdfsi"])(a0);var ___fixdfti=Module["___fixdfti"]=(a0,a1)=>(___fixdfti=Module["___fixdfti"]=wasmExports["__fixdfti"])(a0,a1);var ___fixsfdi=Module["___fixsfdi"]=a0=>(___fixsfdi=Module["___fixsfdi"]=wasmExports["__fixsfdi"])(a0);var ___fixunssfdi=Module["___fixunssfdi"]=a0=>(___fixunssfdi=Module["___fixunssfdi"]=wasmExports["__fixunssfdi"])(a0);var ___fixsfsi=Module["___fixsfsi"]=a0=>(___fixsfsi=Module["___fixsfsi"]=wasmExports["__fixsfsi"])(a0);var ___fixsfti=Module["___fixsfti"]=(a0,a1)=>(___fixsfti=Module["___fixsfti"]=wasmExports["__fixsfti"])(a0,a1);var ___fixtfti=Module["___fixtfti"]=(a0,a1,a2)=>(___fixtfti=Module["___fixtfti"]=wasmExports["__fixtfti"])(a0,a1,a2);var ___fixunsdfsi=Module["___fixunsdfsi"]=a0=>(___fixunsdfsi=Module["___fixunsdfsi"]=wasmExports["__fixunsdfsi"])(a0);var ___fixunsdfti=Module["___fixunsdfti"]=(a0,a1)=>(___fixunsdfti=Module["___fixunsdfti"]=wasmExports["__fixunsdfti"])(a0,a1);var ___fixunssfsi=Module["___fixunssfsi"]=a0=>(___fixunssfsi=Module["___fixunssfsi"]=wasmExports["__fixunssfsi"])(a0);var ___fixunssfti=Module["___fixunssfti"]=(a0,a1)=>(___fixunssfti=Module["___fixunssfti"]=wasmExports["__fixunssfti"])(a0,a1);var ___fixunstfdi=Module["___fixunstfdi"]=(a0,a1)=>(___fixunstfdi=Module["___fixunstfdi"]=wasmExports["__fixunstfdi"])(a0,a1);var ___fixunstfsi=Module["___fixunstfsi"]=(a0,a1)=>(___fixunstfsi=Module["___fixunstfsi"]=wasmExports["__fixunstfsi"])(a0,a1);var ___fixunstfti=Module["___fixunstfti"]=(a0,a1,a2)=>(___fixunstfti=Module["___fixunstfti"]=wasmExports["__fixunstfti"])(a0,a1,a2);var ___fixunsxfdi=Module["___fixunsxfdi"]=(a0,a1)=>(___fixunsxfdi=Module["___fixunsxfdi"]=wasmExports["__fixunsxfdi"])(a0,a1);var ___fixunsxfsi=Module["___fixunsxfsi"]=(a0,a1)=>(___fixunsxfsi=Module["___fixunsxfsi"]=wasmExports["__fixunsxfsi"])(a0,a1);var ___fixunsxfti=Module["___fixunsxfti"]=(a0,a1,a2)=>(___fixunsxfti=Module["___fixunsxfti"]=wasmExports["__fixunsxfti"])(a0,a1,a2);var ___fixxfdi=Module["___fixxfdi"]=(a0,a1)=>(___fixxfdi=Module["___fixxfdi"]=wasmExports["__fixxfdi"])(a0,a1);var ___fixxfti=Module["___fixxfti"]=(a0,a1,a2)=>(___fixxfti=Module["___fixxfti"]=wasmExports["__fixxfti"])(a0,a1,a2);var ___floatdidf=Module["___floatdidf"]=a0=>(___floatdidf=Module["___floatdidf"]=wasmExports["__floatdidf"])(a0);var ___floatdisf=Module["___floatdisf"]=a0=>(___floatdisf=Module["___floatdisf"]=wasmExports["__floatdisf"])(a0);var ___floatditf=Module["___floatditf"]=(a0,a1)=>(___floatditf=Module["___floatditf"]=wasmExports["__floatditf"])(a0,a1);var ___floatdixf=Module["___floatdixf"]=(a0,a1)=>(___floatdixf=Module["___floatdixf"]=wasmExports["__floatdixf"])(a0,a1);var ___floatsidf=Module["___floatsidf"]=a0=>(___floatsidf=Module["___floatsidf"]=wasmExports["__floatsidf"])(a0);var ___floatsisf=Module["___floatsisf"]=a0=>(___floatsisf=Module["___floatsisf"]=wasmExports["__floatsisf"])(a0);var ___floattidf=Module["___floattidf"]=(a0,a1)=>(___floattidf=Module["___floattidf"]=wasmExports["__floattidf"])(a0,a1);var ___floattisf=Module["___floattisf"]=(a0,a1)=>(___floattisf=Module["___floattisf"]=wasmExports["__floattisf"])(a0,a1);var ___floattitf=Module["___floattitf"]=(a0,a1,a2)=>(___floattitf=Module["___floattitf"]=wasmExports["__floattitf"])(a0,a1,a2);var ___floattixf=Module["___floattixf"]=(a0,a1,a2)=>(___floattixf=Module["___floattixf"]=wasmExports["__floattixf"])(a0,a1,a2);var ___floatundidf=Module["___floatundidf"]=a0=>(___floatundidf=Module["___floatundidf"]=wasmExports["__floatundidf"])(a0);var ___floatundisf=Module["___floatundisf"]=a0=>(___floatundisf=Module["___floatundisf"]=wasmExports["__floatundisf"])(a0);var ___floatunditf=Module["___floatunditf"]=(a0,a1)=>(___floatunditf=Module["___floatunditf"]=wasmExports["__floatunditf"])(a0,a1);var ___floatundixf=Module["___floatundixf"]=(a0,a1)=>(___floatundixf=Module["___floatundixf"]=wasmExports["__floatundixf"])(a0,a1);var ___floatunsidf=Module["___floatunsidf"]=a0=>(___floatunsidf=Module["___floatunsidf"]=wasmExports["__floatunsidf"])(a0);var ___floatunsisf=Module["___floatunsisf"]=a0=>(___floatunsisf=Module["___floatunsisf"]=wasmExports["__floatunsisf"])(a0);var ___floatuntidf=Module["___floatuntidf"]=(a0,a1)=>(___floatuntidf=Module["___floatuntidf"]=wasmExports["__floatuntidf"])(a0,a1);var ___floatuntisf=Module["___floatuntisf"]=(a0,a1)=>(___floatuntisf=Module["___floatuntisf"]=wasmExports["__floatuntisf"])(a0,a1);var ___floatuntitf=Module["___floatuntitf"]=(a0,a1,a2)=>(___floatuntitf=Module["___floatuntitf"]=wasmExports["__floatuntitf"])(a0,a1,a2);var ___floatuntixf=Module["___floatuntixf"]=(a0,a1,a2)=>(___floatuntixf=Module["___floatuntixf"]=wasmExports["__floatuntixf"])(a0,a1,a2);var ___lshrdi3=Module["___lshrdi3"]=(a0,a1)=>(___lshrdi3=Module["___lshrdi3"]=wasmExports["__lshrdi3"])(a0,a1);var ___moddi3=Module["___moddi3"]=(a0,a1)=>(___moddi3=Module["___moddi3"]=wasmExports["__moddi3"])(a0,a1);var ___modsi3=Module["___modsi3"]=(a0,a1)=>(___modsi3=Module["___modsi3"]=wasmExports["__modsi3"])(a0,a1);var ___modti3=Module["___modti3"]=(a0,a1,a2,a3,a4)=>(___modti3=Module["___modti3"]=wasmExports["__modti3"])(a0,a1,a2,a3,a4);var ___muldf3=Module["___muldf3"]=(a0,a1)=>(___muldf3=Module["___muldf3"]=wasmExports["__muldf3"])(a0,a1);var ___muldi3=Module["___muldi3"]=(a0,a1)=>(___muldi3=Module["___muldi3"]=wasmExports["__muldi3"])(a0,a1);var ___mulodi4=Module["___mulodi4"]=(a0,a1,a2)=>(___mulodi4=Module["___mulodi4"]=wasmExports["__mulodi4"])(a0,a1,a2);var ___mulosi4=Module["___mulosi4"]=(a0,a1,a2)=>(___mulosi4=Module["___mulosi4"]=wasmExports["__mulosi4"])(a0,a1,a2);var ___muloti4=Module["___muloti4"]=(a0,a1,a2,a3,a4,a5)=>(___muloti4=Module["___muloti4"]=wasmExports["__muloti4"])(a0,a1,a2,a3,a4,a5);var ___udivti3=Module["___udivti3"]=(a0,a1,a2,a3,a4)=>(___udivti3=Module["___udivti3"]=wasmExports["__udivti3"])(a0,a1,a2,a3,a4);var ___mulsf3=Module["___mulsf3"]=(a0,a1)=>(___mulsf3=Module["___mulsf3"]=wasmExports["__mulsf3"])(a0,a1);var ___mulvdi3=Module["___mulvdi3"]=(a0,a1)=>(___mulvdi3=Module["___mulvdi3"]=wasmExports["__mulvdi3"])(a0,a1);var ___mulvsi3=Module["___mulvsi3"]=(a0,a1)=>(___mulvsi3=Module["___mulvsi3"]=wasmExports["__mulvsi3"])(a0,a1);var ___mulvti3=Module["___mulvti3"]=(a0,a1,a2,a3,a4)=>(___mulvti3=Module["___mulvti3"]=wasmExports["__mulvti3"])(a0,a1,a2,a3,a4);var ___mulxc3=Module["___mulxc3"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(___mulxc3=Module["___mulxc3"]=wasmExports["__mulxc3"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var ___negdf2=Module["___negdf2"]=a0=>(___negdf2=Module["___negdf2"]=wasmExports["__negdf2"])(a0);var ___negdi2=Module["___negdi2"]=a0=>(___negdi2=Module["___negdi2"]=wasmExports["__negdi2"])(a0);var ___negsf2=Module["___negsf2"]=a0=>(___negsf2=Module["___negsf2"]=wasmExports["__negsf2"])(a0);var ___negti2=Module["___negti2"]=(a0,a1,a2)=>(___negti2=Module["___negti2"]=wasmExports["__negti2"])(a0,a1,a2);var ___negvdi2=Module["___negvdi2"]=a0=>(___negvdi2=Module["___negvdi2"]=wasmExports["__negvdi2"])(a0);var ___negvsi2=Module["___negvsi2"]=a0=>(___negvsi2=Module["___negvsi2"]=wasmExports["__negvsi2"])(a0);var ___negvti2=Module["___negvti2"]=(a0,a1,a2)=>(___negvti2=Module["___negvti2"]=wasmExports["__negvti2"])(a0,a1,a2);var ___paritydi2=Module["___paritydi2"]=a0=>(___paritydi2=Module["___paritydi2"]=wasmExports["__paritydi2"])(a0);var ___paritysi2=Module["___paritysi2"]=a0=>(___paritysi2=Module["___paritysi2"]=wasmExports["__paritysi2"])(a0);var ___parityti2=Module["___parityti2"]=(a0,a1)=>(___parityti2=Module["___parityti2"]=wasmExports["__parityti2"])(a0,a1);var ___popcountdi2=Module["___popcountdi2"]=a0=>(___popcountdi2=Module["___popcountdi2"]=wasmExports["__popcountdi2"])(a0);var ___popcountsi2=Module["___popcountsi2"]=a0=>(___popcountsi2=Module["___popcountsi2"]=wasmExports["__popcountsi2"])(a0);var ___popcountti2=Module["___popcountti2"]=(a0,a1)=>(___popcountti2=Module["___popcountti2"]=wasmExports["__popcountti2"])(a0,a1);var ___powidf2=Module["___powidf2"]=(a0,a1)=>(___powidf2=Module["___powidf2"]=wasmExports["__powidf2"])(a0,a1);var ___powisf2=Module["___powisf2"]=(a0,a1)=>(___powisf2=Module["___powisf2"]=wasmExports["__powisf2"])(a0,a1);var ___powitf2=Module["___powitf2"]=(a0,a1,a2,a3)=>(___powitf2=Module["___powitf2"]=wasmExports["__powitf2"])(a0,a1,a2,a3);var ___powixf2=Module["___powixf2"]=(a0,a1,a2,a3)=>(___powixf2=Module["___powixf2"]=wasmExports["__powixf2"])(a0,a1,a2,a3);var _emscripten_stack_init=Module["_emscripten_stack_init"]=()=>(_emscripten_stack_init=Module["_emscripten_stack_init"]=wasmExports["emscripten_stack_init"])();var _emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=(a0,a1)=>(_emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=wasmExports["emscripten_stack_set_limits"])(a0,a1);var _emscripten_stack_get_free=Module["_emscripten_stack_get_free"]=()=>(_emscripten_stack_get_free=Module["_emscripten_stack_get_free"]=wasmExports["emscripten_stack_get_free"])();var stackSave=()=>(stackSave=wasmExports["stackSave"])();var stackRestore=a0=>(stackRestore=wasmExports["stackRestore"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["stackAlloc"])(a0);var ___subdf3=Module["___subdf3"]=(a0,a1)=>(___subdf3=Module["___subdf3"]=wasmExports["__subdf3"])(a0,a1);var ___subsf3=Module["___subsf3"]=(a0,a1)=>(___subsf3=Module["___subsf3"]=wasmExports["__subsf3"])(a0,a1);var ___subvdi3=Module["___subvdi3"]=(a0,a1)=>(___subvdi3=Module["___subvdi3"]=wasmExports["__subvdi3"])(a0,a1);var ___subvsi3=Module["___subvsi3"]=(a0,a1)=>(___subvsi3=Module["___subvsi3"]=wasmExports["__subvsi3"])(a0,a1);var ___subvti3=Module["___subvti3"]=(a0,a1,a2,a3,a4)=>(___subvti3=Module["___subvti3"]=wasmExports["__subvti3"])(a0,a1,a2,a3,a4);var ___truncdfhf2=Module["___truncdfhf2"]=a0=>(___truncdfhf2=Module["___truncdfhf2"]=wasmExports["__truncdfhf2"])(a0);var ___truncdfsf2=Module["___truncdfsf2"]=a0=>(___truncdfsf2=Module["___truncdfsf2"]=wasmExports["__truncdfsf2"])(a0);var ___truncsfhf2=Module["___truncsfhf2"]=a0=>(___truncsfhf2=Module["___truncsfhf2"]=wasmExports["__truncsfhf2"])(a0);var ___gnu_f2h_ieee=Module["___gnu_f2h_ieee"]=a0=>(___gnu_f2h_ieee=Module["___gnu_f2h_ieee"]=wasmExports["__gnu_f2h_ieee"])(a0);var ___ucmpdi2=Module["___ucmpdi2"]=(a0,a1)=>(___ucmpdi2=Module["___ucmpdi2"]=wasmExports["__ucmpdi2"])(a0,a1);var ___ucmpti2=Module["___ucmpti2"]=(a0,a1,a2,a3)=>(___ucmpti2=Module["___ucmpti2"]=wasmExports["__ucmpti2"])(a0,a1,a2,a3);var ___udivdi3=Module["___udivdi3"]=(a0,a1)=>(___udivdi3=Module["___udivdi3"]=wasmExports["__udivdi3"])(a0,a1);var ___udivsi3=Module["___udivsi3"]=(a0,a1)=>(___udivsi3=Module["___udivsi3"]=wasmExports["__udivsi3"])(a0,a1);var ___umoddi3=Module["___umoddi3"]=(a0,a1)=>(___umoddi3=Module["___umoddi3"]=wasmExports["__umoddi3"])(a0,a1);var ___umodsi3=Module["___umodsi3"]=(a0,a1)=>(___umodsi3=Module["___umodsi3"]=wasmExports["__umodsi3"])(a0,a1);var ___umodti3=Module["___umodti3"]=(a0,a1,a2,a3,a4)=>(___umodti3=Module["___umodti3"]=wasmExports["__umodti3"])(a0,a1,a2,a3,a4);var ___cxa_pure_virtual=Module["___cxa_pure_virtual"]=()=>(___cxa_pure_virtual=Module["___cxa_pure_virtual"]=wasmExports["__cxa_pure_virtual"])();var ___cxa_allocate_exception=Module["___cxa_allocate_exception"]=a0=>(___cxa_allocate_exception=Module["___cxa_allocate_exception"]=wasmExports["__cxa_allocate_exception"])(a0);var ___cxa_free_exception=a0=>(___cxa_free_exception=wasmExports["__cxa_free_exception"])(a0);var ___cxa_decrement_exception_refcount=a0=>(___cxa_decrement_exception_refcount=wasmExports["__cxa_decrement_exception_refcount"])(a0);var ___cxa_increment_exception_refcount=a0=>(___cxa_increment_exception_refcount=wasmExports["__cxa_increment_exception_refcount"])(a0);var ___cxa_bad_cast=Module["___cxa_bad_cast"]=()=>(___cxa_bad_cast=Module["___cxa_bad_cast"]=wasmExports["__cxa_bad_cast"])();var ___cxa_bad_typeid=Module["___cxa_bad_typeid"]=()=>(___cxa_bad_typeid=Module["___cxa_bad_typeid"]=wasmExports["__cxa_bad_typeid"])();var ___cxa_throw_bad_array_new_length=Module["___cxa_throw_bad_array_new_length"]=()=>(___cxa_throw_bad_array_new_length=Module["___cxa_throw_bad_array_new_length"]=wasmExports["__cxa_throw_bad_array_new_length"])();var ___cxa_demangle=(a0,a1,a2,a3)=>(___cxa_demangle=wasmExports["__cxa_demangle"])(a0,a1,a2,a3);var ___gxx_personality_v0=Module["___gxx_personality_v0"]=(a0,a1,a2,a3,a4)=>(___gxx_personality_v0=Module["___gxx_personality_v0"]=wasmExports["__gxx_personality_v0"])(a0,a1,a2,a3,a4);var ___thrown_object_from_unwind_exception=Module["___thrown_object_from_unwind_exception"]=a0=>(___thrown_object_from_unwind_exception=Module["___thrown_object_from_unwind_exception"]=wasmExports["__thrown_object_from_unwind_exception"])(a0);var ___get_exception_message=Module["___get_exception_message"]=(a0,a1,a2)=>(___get_exception_message=Module["___get_exception_message"]=wasmExports["__get_exception_message"])(a0,a1,a2);var ___get_exception_terminate_message=Module["___get_exception_terminate_message"]=a0=>(___get_exception_terminate_message=Module["___get_exception_terminate_message"]=wasmExports["__get_exception_terminate_message"])(a0);var ___cxa_guard_acquire=Module["___cxa_guard_acquire"]=a0=>(___cxa_guard_acquire=Module["___cxa_guard_acquire"]=wasmExports["__cxa_guard_acquire"])(a0);var ___cxa_guard_release=Module["___cxa_guard_release"]=a0=>(___cxa_guard_release=Module["___cxa_guard_release"]=wasmExports["__cxa_guard_release"])(a0);var ___cxa_guard_abort=Module["___cxa_guard_abort"]=a0=>(___cxa_guard_abort=Module["___cxa_guard_abort"]=wasmExports["__cxa_guard_abort"])(a0);var ___cxa_thread_atexit=Module["___cxa_thread_atexit"]=(a0,a1,a2)=>(___cxa_thread_atexit=Module["___cxa_thread_atexit"]=wasmExports["__cxa_thread_atexit"])(a0,a1,a2);var ___cxa_deleted_virtual=Module["___cxa_deleted_virtual"]=()=>(___cxa_deleted_virtual=Module["___cxa_deleted_virtual"]=wasmExports["__cxa_deleted_virtual"])();var ___dynamic_cast=Module["___dynamic_cast"]=(a0,a1,a2,a3)=>(___dynamic_cast=Module["___dynamic_cast"]=wasmExports["__dynamic_cast"])(a0,a1,a2,a3);var ___cxa_can_catch=(a0,a1,a2)=>(___cxa_can_catch=wasmExports["__cxa_can_catch"])(a0,a1,a2);var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports["__cxa_is_pointer_type"])(a0);var _shutdown=Module["_shutdown"]=(a0,a1)=>(_shutdown=Module["_shutdown"]=wasmExports["shutdown"])(a0,a1);var _socketpair=Module["_socketpair"]=(a0,a1,a2,a3)=>(_socketpair=Module["_socketpair"]=wasmExports["socketpair"])(a0,a1,a2,a3);var _py_docstring_mod=Module["_py_docstring_mod"]=3885760;var _PyExc_AttributeError=Module["_PyExc_AttributeError"]=2762280;var _stdout=Module["_stdout"]=3739648;var __Py_NoneStruct=Module["__Py_NoneStruct"]=2788148;var _PyExc_TypeError=Module["_PyExc_TypeError"]=2755832;var _internal_error=Module["_internal_error"]=3885764;var _conversion_error=Module["_conversion_error"]=3885768;var _PyExc_ImportError=Module["_PyExc_ImportError"]=2757288;var _pyodide_export_=Module["_pyodide_export_"]=2741400;var _py_version_major_=Module["_py_version_major_"]=2741404;var _set_new_cframe_=Module["_set_new_cframe_"]=2741408;var __Py_TrueStruct=Module["__Py_TrueStruct"]=2744608;var __Py_FalseStruct=Module["__Py_FalseStruct"]=2744624;var _Jsr_undefined=Module["_Jsr_undefined"]=243188;var _PyExc_StopIteration=Module["_PyExc_StopIteration"]=2756248;var _PyTraceBack_Type=Module["_PyTraceBack_Type"]=2984248;var _PyExc_GeneratorExit=Module["_PyExc_GeneratorExit"]=2756456;var _PyExc_StopAsyncIteration=Module["_PyExc_StopAsyncIteration"]=2756040;var _PyExc_RuntimeError=Module["_PyExc_RuntimeError"]=2761240;var _PyExc_Exception=Module["_PyExc_Exception"]=2755624;var _PyExc_BaseException=Module["_PyExc_BaseException"]=2755416;var _PyExc_KeyError=Module["_PyExc_KeyError"]=2763528;var _PyExc_IndexError=Module["_PyExc_IndexError"]=2763320;var _PySlice_Type=Module["_PySlice_Type"]=2793124;var _PyExc_ValueError=Module["_PyExc_ValueError"]=2763736;var _PyExc_NotImplementedError=Module["_PyExc_NotImplementedError"]=2761656;var _PyBaseObject_Type=Module["_PyBaseObject_Type"]=2794380;var _PyExc_OverflowError=Module["_PyExc_OverflowError"]=2765400;var _PyList_Type=Module["_PyList_Type"]=2778220;var _PyTuple_Type=Module["_PyTuple_Type"]=2793568;var __Py_NotImplementedStruct=Module["__Py_NotImplementedStruct"]=2788924;var _PyDict_Type=Module["_PyDict_Type"]=2780504;var _PyGen_Type=Module["_PyGen_Type"]=2772124;var _PyCoro_Type=Module["_PyCoro_Type"]=2772328;var _compat_to_string_repr=Module["_compat_to_string_repr"]=3885824;var _PyMethod_Type=Module["_PyMethod_Type"]=2749192;var _PyFunction_Type=Module["_PyFunction_Type"]=2775828;var _py_buffer_len_offset=Module["_py_buffer_len_offset"]=2743468;var _py_buffer_shape_offset=Module["_py_buffer_shape_offset"]=2743472;var _syncifyHandler=Module["_syncifyHandler"]=3885852;var _Jsr_true=Module["_Jsr_true"]=243192;var _Jsr_false=Module["_Jsr_false"]=243196;var _Jsr_novalue=Module["_Jsr_novalue"]=243200;var _PySet_Type=Module["_PySet_Type"]=2791888;var _PyFloat_Type=Module["_PyFloat_Type"]=2774576;var _PyBool_Type=Module["_PyBool_Type"]=2744784;var _size_of_cframe=Module["_size_of_cframe"]=2743920;var __PyParser_TokenNames=Module["__PyParser_TokenNames"]=2743936;var _PyExc_SyntaxError=Module["_PyExc_SyntaxError"]=2762488;var __PyRuntime=Module["__PyRuntime"]=2810368;var _PyExc_LookupError=Module["_PyExc_LookupError"]=2763112;var _PyExc_UnicodeDecodeError=Module["_PyExc_UnicodeDecodeError"]=2764360;var _PyExc_IndentationError=Module["_PyExc_IndentationError"]=2762696;var _PyExc_KeyboardInterrupt=Module["_PyExc_KeyboardInterrupt"]=2757080;var _PyExc_TabError=Module["_PyExc_TabError"]=2762904;var _PyExc_UnicodeError=Module["_PyExc_UnicodeError"]=2763944;var _stdin=Module["_stdin"]=3739496;var _PyComplex_Type=Module["_PyComplex_Type"]=2751180;var __Py_EllipsisObject=Module["__Py_EllipsisObject"]=2793116;var _PyExc_SystemError=Module["_PyExc_SystemError"]=2765816;var __Py_ctype_table=Module["__Py_ctype_table"]=434496;var _PyExc_DeprecationWarning=Module["_PyExc_DeprecationWarning"]=2767064;var __PyOS_ReadlineTState=Module["__PyOS_ReadlineTState"]=3885912;var _stderr=Module["_stderr"]=3739344;var _PyOS_InputHook=Module["_PyOS_InputHook"]=3885916;var _PyOS_ReadlineFunctionPointer=Module["_PyOS_ReadlineFunctionPointer"]=3885920;var _PyExc_MemoryError=Module["_PyExc_MemoryError"]=2766232;var _PyExc_SyntaxWarning=Module["_PyExc_SyntaxWarning"]=2767480;var _PyExc_OSError=Module["_PyExc_OSError"]=2757704;var _PyType_Type=Module["_PyType_Type"]=2794176;var _PyExc_BufferError=Module["_PyExc_BufferError"]=2766440;var _PyUnicode_Type=Module["_PyUnicode_Type"]=2798536;var _PyLong_Type=Module["_PyLong_Type"]=2779324;var _PyCFunction_Type=Module["_PyCFunction_Type"]=2786872;var _PyByteArray_Type=Module["_PyByteArray_Type"]=2744988;var __PyByteArray_empty_string=Module["__PyByteArray_empty_string"]=3885928;var __Py_ctype_tolower=Module["__Py_ctype_tolower"]=435520;var __Py_ctype_toupper=Module["__Py_ctype_toupper"]=435776;var _Py_hexdigits=Module["_Py_hexdigits"]=2806616;var _PyExc_BytesWarning=Module["_PyExc_BytesWarning"]=2768520;var _PyByteArrayIter_Type=Module["_PyByteArrayIter_Type"]=2746352;var _PyBytes_Type=Module["_PyBytes_Type"]=2746948;var __PyLong_DigitValue=Module["__PyLong_DigitValue"]=2779536;var _PyBytesIter_Type=Module["_PyBytesIter_Type"]=2748080;var _PyCapsule_Type=Module["_PyCapsule_Type"]=2748740;var _PyCell_Type=Module["_PyCell_Type"]=2748944;var _PyInstanceMethod_Type=Module["_PyInstanceMethod_Type"]=2749544;var _PyCode_Type=Module["_PyCode_Type"]=2749848;var _PyFrozenSet_Type=Module["_PyFrozenSet_Type"]=2792448;var _PyExc_ZeroDivisionError=Module["_PyExc_ZeroDivisionError"]=2765608;var __PyMethodWrapper_Type=Module["__PyMethodWrapper_Type"]=2753560;var _PyMethodDescr_Type=Module["_PyMethodDescr_Type"]=2751904;var _PyClassMethodDescr_Type=Module["_PyClassMethodDescr_Type"]=2752108;var _PyMemberDescr_Type=Module["_PyMemberDescr_Type"]=2752380;var _PyGetSetDescr_Type=Module["_PyGetSetDescr_Type"]=2752652;var _PyWrapperDescr_Type=Module["_PyWrapperDescr_Type"]=2752944;var _PyDictProxy_Type=Module["_PyDictProxy_Type"]=2753148;var _PyProperty_Type=Module["_PyProperty_Type"]=2754328;var _PyReversed_Type=Module["_PyReversed_Type"]=2754960;var _PyEnum_Type=Module["_PyEnum_Type"]=2754688;var _PyExc_BaseExceptionGroup=Module["_PyExc_BaseExceptionGroup"]=2756668;var _PyExc_UnicodeTranslateError=Module["_PyExc_UnicodeTranslateError"]=2764568;var _PyExc_BlockingIOError=Module["_PyExc_BlockingIOError"]=2757912;var _PyExc_BrokenPipeError=Module["_PyExc_BrokenPipeError"]=2758536;var _PyExc_ChildProcessError=Module["_PyExc_ChildProcessError"]=2758328;var _PyExc_ConnectionAbortedError=Module["_PyExc_ConnectionAbortedError"]=2758744;var _PyExc_ConnectionRefusedError=Module["_PyExc_ConnectionRefusedError"]=2758952;var _PyExc_ConnectionResetError=Module["_PyExc_ConnectionResetError"]=2759160;var _PyExc_FileExistsError=Module["_PyExc_FileExistsError"]=2759368;var _PyExc_FileNotFoundError=Module["_PyExc_FileNotFoundError"]=2759576;var _PyExc_IsADirectoryError=Module["_PyExc_IsADirectoryError"]=2759784;var _PyExc_NotADirectoryError=Module["_PyExc_NotADirectoryError"]=2759992;var _PyExc_InterruptedError=Module["_PyExc_InterruptedError"]=2760200;var _PyExc_PermissionError=Module["_PyExc_PermissionError"]=2760408;var _PyExc_ProcessLookupError=Module["_PyExc_ProcessLookupError"]=2760616;var _PyExc_TimeoutError=Module["_PyExc_TimeoutError"]=2760824;var _PyExc_EnvironmentError=Module["_PyExc_EnvironmentError"]=3885932;var _PyExc_IOError=Module["_PyExc_IOError"]=3885936;var _PyExc_SystemExit=Module["_PyExc_SystemExit"]=2756664;var _PyExc_ModuleNotFoundError=Module["_PyExc_ModuleNotFoundError"]=2757496;var _PyExc_ConnectionError=Module["_PyExc_ConnectionError"]=2758120;var _PyExc_EOFError=Module["_PyExc_EOFError"]=2761032;var _PyExc_RecursionError=Module["_PyExc_RecursionError"]=2761448;var _PyExc_NameError=Module["_PyExc_NameError"]=2761864;var _PyExc_UnboundLocalError=Module["_PyExc_UnboundLocalError"]=2762072;var _PyExc_UnicodeEncodeError=Module["_PyExc_UnicodeEncodeError"]=2764152;var _PyExc_AssertionError=Module["_PyExc_AssertionError"]=2764776;var _PyExc_ArithmeticError=Module["_PyExc_ArithmeticError"]=2764984;var _PyExc_FloatingPointError=Module["_PyExc_FloatingPointError"]=2765192;var _PyExc_ReferenceError=Module["_PyExc_ReferenceError"]=2766024;var _PyExc_Warning=Module["_PyExc_Warning"]=2766648;var _PyExc_UserWarning=Module["_PyExc_UserWarning"]=2766856;var _PyExc_PendingDeprecationWarning=Module["_PyExc_PendingDeprecationWarning"]=2767272;var _PyExc_RuntimeWarning=Module["_PyExc_RuntimeWarning"]=2767688;var _PyExc_FutureWarning=Module["_PyExc_FutureWarning"]=2767896;var _PyExc_ImportWarning=Module["_PyExc_ImportWarning"]=2768104;var _PyExc_UnicodeWarning=Module["_PyExc_UnicodeWarning"]=2768312;var _PyExc_EncodingWarning=Module["_PyExc_EncodingWarning"]=2768728;var _PyExc_ResourceWarning=Module["_PyExc_ResourceWarning"]=2768936;var _Py_GenericAliasType=Module["_Py_GenericAliasType"]=2771372;var _PyAsyncGen_Type=Module["_PyAsyncGen_Type"]=2771632;var __PyAsyncGenWrappedValue_Type=Module["__PyAsyncGenWrappedValue_Type"]=2773692;var __PyCoroWrapper_Type=Module["__PyCoroWrapper_Type"]=2772912;var __PyAsyncGenASend_Type=Module["__PyAsyncGenASend_Type"]=2773488;var __PyAsyncGenAThrow_Type=Module["__PyAsyncGenAThrow_Type"]=2773984;var _PyStdPrinter_Type=Module["_PyStdPrinter_Type"]=2774188;var __Py_SwappedOp=Module["__Py_SwappedOp"]=2788160;var _PyFrame_Type=Module["_PyFrame_Type"]=2775604;var _PyModule_Type=Module["_PyModule_Type"]=2787492;var _PyClassMethod_Type=Module["_PyClassMethod_Type"]=2776460;var _PyStaticMethod_Type=Module["_PyStaticMethod_Type"]=2776796;var __PyInterpreterID_Type=Module["__PyInterpreterID_Type"]=2777212;var _PySeqIter_Type=Module["_PySeqIter_Type"]=2777428;var _PyCallIter_Type=Module["_PyCallIter_Type"]=2777696;var _PyListIter_Type=Module["_PyListIter_Type"]=2778800;var _PyListRevIter_Type=Module["_PyListRevIter_Type"]=2779072;var _PyDictIterKey_Type=Module["_PyDictIterKey_Type"]=2781232;var _PyDictRevIterKey_Type=Module["_PyDictRevIterKey_Type"]=2781844;var _PyDictRevIterValue_Type=Module["_PyDictRevIterValue_Type"]=2782252;var _PyDictKeys_Type=Module["_PyDictKeys_Type"]=2782456;var _PyDictItems_Type=Module["_PyDictItems_Type"]=2782660;var _PyDictIterItem_Type=Module["_PyDictIterItem_Type"]=2781640;var _PyDictIterValue_Type=Module["_PyDictIterValue_Type"]=2781436;var _PyDictRevIterItem_Type=Module["_PyDictRevIterItem_Type"]=2782048;var _PyDictValues_Type=Module["_PyDictValues_Type"]=2783312;var _PyODict_Type=Module["_PyODict_Type"]=2783992;var _PyODictIter_Type=Module["_PyODictIter_Type"]=2784240;var _PyODictKeys_Type=Module["_PyODictKeys_Type"]=2784480;var _PyODictValues_Type=Module["_PyODictValues_Type"]=2784960;var _PyODictItems_Type=Module["_PyODictItems_Type"]=2784720;var __PyManagedBuffer_Type=Module["__PyManagedBuffer_Type"]=2785400;var _PyMemoryView_Type=Module["_PyMemoryView_Type"]=2785604;var _PyCMethod_Type=Module["_PyCMethod_Type"]=2786668;var _PyModuleDef_Type=Module["_PyModuleDef_Type"]=2787288;var __Py_PackageContext=Module["__Py_PackageContext"]=3887924;var __PyNamespace_Type=Module["__PyNamespace_Type"]=2787944;var __Py_tracemalloc_config=Module["__Py_tracemalloc_config"]=2789400;var __PyNone_Type=Module["__PyNone_Type"]=2788328;var __PyNotImplemented_Type=Module["__PyNotImplemented_Type"]=2788720;var _PyContextToken_Type=Module["_PyContextToken_Type"]=2807192;var _PyContextVar_Type=Module["_PyContextVar_Type"]=2806988;var _PyContext_Type=Module["_PyContext_Type"]=2806784;var _PyEllipsis_Type=Module["_PyEllipsis_Type"]=2792912;var _PyFilter_Type=Module["_PyFilter_Type"]=2804576;var _PyLongRangeIter_Type=Module["_PyLongRangeIter_Type"]=2790880;var _PyMap_Type=Module["_PyMap_Type"]=2804816;var _PyPickleBuffer_Type=Module["_PyPickleBuffer_Type"]=2789696;var _PyRangeIter_Type=Module["_PyRangeIter_Type"]=2790608;var _PyRange_Type=Module["_PyRange_Type"]=2790336;var _PySetIter_Type=Module["_PySetIter_Type"]=2791136;var _PySuper_Type=Module["_PySuper_Type"]=2798112;var _PyTupleIter_Type=Module["_PyTupleIter_Type"]=2793904;var _PyUnicodeIter_Type=Module["_PyUnicodeIter_Type"]=2800448;var _PyZip_Type=Module["_PyZip_Type"]=2805072;var __PyWeakref_CallableProxyType=Module["__PyWeakref_CallableProxyType"]=2802508;var __PyWeakref_ProxyType=Module["__PyWeakref_ProxyType"]=2802304;var __PyWeakref_RefType=Module["__PyWeakref_RefType"]=2801848;var __PySet_Dummy=Module["__PySet_Dummy"]=2792660;var _PyStructSequence_UnnamedField=Module["_PyStructSequence_UnnamedField"]=2793476;var __Py_ascii_whitespace=Module["__Py_ascii_whitespace"]=289472;var _Py_VerboseFlag=Module["_Py_VerboseFlag"]=3887852;var _Py_Version=Module["_Py_Version"]=419860;var _PyImport_Inittab=Module["_PyImport_Inittab"]=2809696;var __PyImport_FrozenBootstrap=Module["__PyImport_FrozenBootstrap"]=3734576;var _PyImport_FrozenModules=Module["_PyImport_FrozenModules"]=3901984;var __PyImport_FrozenStdlib=Module["__PyImport_FrozenStdlib"]=3734912;var __PyImport_FrozenTest=Module["__PyImport_FrozenTest"]=3735168;var _Py_IgnoreEnvironmentFlag=Module["_Py_IgnoreEnvironmentFlag"]=3887884;var _Py_IsolatedFlag=Module["_Py_IsolatedFlag"]=3887904;var _Py_BytesWarningFlag=Module["_Py_BytesWarningFlag"]=3887876;var _Py_InspectFlag=Module["_Py_InspectFlag"]=3887864;var _Py_InteractiveFlag=Module["_Py_InteractiveFlag"]=3887860;var _Py_OptimizeFlag=Module["_Py_OptimizeFlag"]=3887868;var _Py_DebugFlag=Module["_Py_DebugFlag"]=3887848;var _Py_QuietFlag=Module["_Py_QuietFlag"]=3887856;var _Py_FrozenFlag=Module["_Py_FrozenFlag"]=3887880;var _Py_UnbufferedStdioFlag=Module["_Py_UnbufferedStdioFlag"]=3887896;var _Py_NoSiteFlag=Module["_Py_NoSiteFlag"]=3887872;var _Py_DontWriteBytecodeFlag=Module["_Py_DontWriteBytecodeFlag"]=3887888;var _Py_NoUserSiteDirectory=Module["_Py_NoUserSiteDirectory"]=3887892;var _Py_HashRandomizationFlag=Module["_Py_HashRandomizationFlag"]=3887900;var _Py_FileSystemDefaultEncoding=Module["_Py_FileSystemDefaultEncoding"]=3887964;var _Py_HasFileSystemDefaultEncoding=Module["_Py_HasFileSystemDefaultEncoding"]=3887968;var _Py_FileSystemDefaultEncodeErrors=Module["_Py_FileSystemDefaultEncodeErrors"]=3887972;var __Py_HasFileSystemDefaultEncodeErrors=Module["__Py_HasFileSystemDefaultEncodeErrors"]=3887976;var _Py_UTF8Mode=Module["_Py_UTF8Mode"]=3887844;var __Py_HashSecret=Module["__Py_HashSecret"]=3887984;var __Py_UnhandledKeyboardInterrupt=Module["__Py_UnhandledKeyboardInterrupt"]=3888008;var _Py_EMSCRIPTEN_SIGNAL_HANDLING=Module["_Py_EMSCRIPTEN_SIGNAL_HANDLING"]=3891616;var _ffi_type_pointer=Module["_ffi_type_pointer"]=2389412;var _ffi_type_void=Module["_ffi_type_void"]=2389304;var _ffi_type_sint32=Module["_ffi_type_sint32"]=2389376;var _ffi_type_uint8=Module["_ffi_type_uint8"]=2389316;var _ffi_type_double=Module["_ffi_type_double"]=2389436;var _ffi_type_longdouble=Module["_ffi_type_longdouble"]=2389448;var _ffi_type_float=Module["_ffi_type_float"]=2389424;var _ffi_type_sint16=Module["_ffi_type_sint16"]=2389352;var _ffi_type_uint16=Module["_ffi_type_uint16"]=2389340;var _ffi_type_uint32=Module["_ffi_type_uint32"]=2389364;var _ffi_type_sint64=Module["_ffi_type_sint64"]=2389400;var _ffi_type_uint64=Module["_ffi_type_uint64"]=2389388;var _ffi_type_sint8=Module["_ffi_type_sint8"]=2389328;var _environ=Module["_environ"]=3902008;var __PyBytesIOBuffer_Type=Module["__PyBytesIOBuffer_Type"]=3106108;var __deduplicate_map=Module["__deduplicate_map"]=3901988;var _z_errmsg=Module["_z_errmsg"]=3735472;var __length_code=Module["__length_code"]=2400064;var __dist_code=Module["__dist_code"]=2399552;var _deflate_copyright=Module["_deflate_copyright"]=2394720;var _inflate_copyright=Module["_inflate_copyright"]=2399248;var _BZ2_crc32Table=Module["_BZ2_crc32Table"]=3735584;var _BZ2_rNums=Module["_BZ2_rNums"]=3736608;var ___environ=Module["___environ"]=3902008;var ____environ=Module["____environ"]=3902008;var __environ=Module["__environ"]=3902008;var _timezone=Module["_timezone"]=3902664;var _daylight=Module["_daylight"]=3902668;var _tzname=Module["_tzname"]=3902672;var ___progname=Module["___progname"]=3903888;var ___optreset=Module["___optreset"]=3902852;var _optind=Module["_optind"]=3738872;var ___optpos=Module["___optpos"]=3902856;var _optarg=Module["_optarg"]=3902860;var _optopt=Module["_optopt"]=3902864;var _opterr=Module["_opterr"]=3738876;var _optreset=Module["_optreset"]=3902852;var _h_errno=Module["_h_errno"]=3902988;var ___signgam=Module["___signgam"]=3918284;var __ns_flagdata=Module["__ns_flagdata"]=2587040;var ___progname_full=Module["___progname_full"]=3903892;var _program_invocation_short_name=Module["_program_invocation_short_name"]=3903888;var _program_invocation_name=Module["_program_invocation_name"]=3903892;var ___sig_pending=Module["___sig_pending"]=3908264;var ___sig_actions=Module["___sig_actions"]=3909184;var _signgam=Module["_signgam"]=3918284;var ___THREW__=Module["___THREW__"]=3925120;var ___threwValue=Module["___threwValue"]=3925124;var ___cxa_unexpected_handler=Module["___cxa_unexpected_handler"]=3750032;var ___cxa_terminate_handler=Module["___cxa_terminate_handler"]=3750028;var ___cxa_new_handler=Module["___cxa_new_handler"]=3948040;var _in6addr_any=Module["_in6addr_any"]=2741292;var _in6addr_loopback=Module["_in6addr_loopback"]=2741308;var ___start_em_js=Module["___start_em_js"]=3757008;var ___stop_em_js=Module["___stop_em_js"]=3885483;function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiifi(index,a1,a2,a3,a4,a5){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiidi(index,a1,a2,a3,a4,a5){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_j(index){var sp=stackSave();try{return getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_ji(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_vii(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_v(index){var sp=stackSave();try{getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viijii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiijj(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_iiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_viif(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viid(index,a1,a2,a3){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viijj(index,a1,a2,a3,a4){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE!="undefined"&&ENVIRONMENT_IS_NODE){var buf=Buffer.from(s,"base64");return new Uint8Array(buf.buffer,buf.byteOffset,buf.length)}try{var decoded=atob(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); + + + return moduleArg.ready +} + +); +})(); +globalThis._createPyodideModule = _createPyodideModule; diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pyodide.asm.wasm b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pyodide.asm.wasm new file mode 100755 index 0000000..809ce20 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pyodide.asm.wasm differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pyparsing-3.1.1-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pyparsing-3.1.1-py3-none-any.whl new file mode 100644 index 0000000..642dd04 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pyparsing-3.1.1-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/python_dateutil-2.8.2-py2.py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/python_dateutil-2.8.2-py2.py3-none-any.whl new file mode 100644 index 0000000..8dcf7b4 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/python_dateutil-2.8.2-py2.py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/python_multipart-0.0.6-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/python_multipart-0.0.6-py3-none-any.whl new file mode 100644 index 0000000..376ccec Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/python_multipart-0.0.6-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/python_stdlib.zip b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/python_stdlib.zip new file mode 100644 index 0000000..ba3b3a8 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/python_stdlib.zip differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pytz-2023.3-py2.py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pytz-2023.3-py2.py3-none-any.whl new file mode 100644 index 0000000..021ce41 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/pytz-2023.3-py2.py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/seaborn-0.13.2-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/seaborn-0.13.2-py3-none-any.whl new file mode 100644 index 0000000..950b900 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/seaborn-0.13.2-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/shiny-0.10.2-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/shiny-0.10.2-py3-none-any.whl new file mode 100644 index 0000000..f4c40a8 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/shiny-0.10.2-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/six-1.16.0-py2.py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/six-1.16.0-py2.py3-none-any.whl new file mode 100644 index 0000000..78e1e89 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/six-1.16.0-py2.py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/sniffio-1.3.0-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/sniffio-1.3.0-py3-none-any.whl new file mode 100644 index 0000000..7d72f26 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/sniffio-1.3.0-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/ssl-1.0.0.zip b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/ssl-1.0.0.zip new file mode 100644 index 0000000..46fa5c5 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/ssl-1.0.0.zip differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/starlette-0.32.0.post1-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/starlette-0.32.0.post1-py3-none-any.whl new file mode 100644 index 0000000..407b9a7 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/starlette-0.32.0.post1-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/typing_extensions-4.7.1-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/typing_extensions-4.7.1-py3-none-any.whl new file mode 100644 index 0000000..66ef270 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/typing_extensions-4.7.1-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/uc_micro_py-1.0.2-py3-none-any.whl b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/uc_micro_py-1.0.2-py3-none-any.whl new file mode 100644 index 0000000..790f604 Binary files /dev/null and b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyodide/uc_micro_py-1.0.2-py3-none-any.whl differ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/PYRIGHT_LICENSE.txt b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/PYRIGHT_LICENSE.txt new file mode 100644 index 0000000..0c53797 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/PYRIGHT_LICENSE.txt @@ -0,0 +1,22 @@ +MIT License + +Pyright - A static type checker for the Python language +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/PYRIGHT_README.txt b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/PYRIGHT_README.txt new file mode 100644 index 0000000..e49c7b5 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/PYRIGHT_README.txt @@ -0,0 +1,3 @@ +Pyright as a Web Worker. + +Source: https://github.com/microbit-foundation/pyright diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/README.md b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/README.md new file mode 100644 index 0000000..d7486bb --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/README.md @@ -0,0 +1,2 @@ +The files in this directory are originally from: +https://github.com/microbit-foundation/python-editor-v3/tree/7947f5c9368d9c22ff8fc55088fcf1bbb4cd3eda/public/workers diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-101-c121083e2a7a54d431db.worker.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-101-c121083e2a7a54d431db.worker.js new file mode 100644 index 0000000..0ba52f2 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-101-c121083e2a7a54d431db.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[101],{5101:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument komt niet overeen met parameter type","argAssignmentFunction":"Argument komt niet overeen met parameter type in functie \\"{functionName}\\"","argAssignmentParam":"Argument komt niet overeen met parameter \\"{paramName}\\"","argAssignmentParamFunction":"Argument komt niet overeen met parameter \\"{paramName}\\"","argMissingForParam":"Argument ontbreekt voor parameter {name}","argMissingForParams":"Argumenten ontbreken voor parameters {names}","argMorePositionalExpectedCount":"Verwachte {expected} positionele argumenten","argMorePositionalExpectedOne":"Verwacht nog 1 positioneel argument","argPositional":"Verwacht positionele argument","argPositionalExpectedOne":"1 positioneel argument verwacht","assignmentTargetExpr":"Expressie kan geen toewijzing doel zijn","booleanIsLowerCase":"\\"{name}\\" is niet gedefinieerd, bedoelde je \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" kan alleen worden gebruikt binnen een \\"terwijl\\" of \\"voor\\" lus","constructorNoArgs":"Geen argumenten verwacht aan \\"{type}\\" constructor","continueOutsideLoop":"\\"doorgaan\\" kan alleen worden gebruikt binnen een \\"terwijl\\" of \\"voor\\" lus","delTargetExpr":"Expressie kan niet worden verwijderd","duplicateParam":"Dubbel parameter \\"{name}\\"","expectedAssignRightHandExpr":"Verwachte expressie rechts van \\"=\\"","expectedBinaryRightHandExpr":"Verwachte expressie rechts van operator","expectedClassName":"Klasse naam ontbreekt","expectedCloseBrace":"Ontbrekend sluitingshaakje \\"}\\"","expectedCloseBracket":"Ontbrekend sluitingshaakje \\"]\\"","expectedCloseParen":"Ontbrekend sluitingshaakje \\")\\"","expectedColon":"Ontbrekende colon \\":\\"","expectedDelExpr":"Ontbrekende expressie na \\"del\\"","expectedElse":"Ontbrekende \\"else\\"","expectedEqualityOperator":"Verwachte gelijkheidsoperator, bedoelde u \\"==\\"?","expectedExpr":"Ontbrekende expressie","expectedFunctionName":"Functienaam ontbreekt na \\"def\\"","expectedIdentifier":"Ontbrekende ID","expectedImport":"Ontbrekende \\"import\\"","expectedImportAlias":"Ontbrekend symbool na \\"as\\"","expectedImportSymbols":"Eén of meer symboolnamen verwacht na import","expectedIn":"Ontbrekende \\"in\\"","expectedIndentedBlock":"Ontbrekende inspringingen","expectedInExpr":"Ontbrekende expressie na \\"in\\"","expectedMemberName":"Lid naam ontbreekt na \\".\\"","expectedModuleName":"Ontbrekende module naam","expectedNamedParameter":"Parameter met trefwoorden moet \\"*\\" volgen","expectedNewlineOrSemicolon":"Onverwachte extra inhoud\\nVerklaringen moeten één per regel zijn","expectedOpenParen":"Ontbrekend openingshaakje \\"(\\"","expectedParamName":"Naam van de parameter ontbreekt","expectedSliceIndex":"Ontbrekende index of slice","expectedYieldExpr":"Verwachte expressie in rendements verklaring","globalReassignment":"\\"{name}\\" is toegewezen voor de globale declaratie","globalRedefinition":"\\"{name}\\" was al globaal verklaard","importResolveFailure":"Module \\"{importName}\\" kon niet worden gevonden","importSymbolUnknown":"\\"{name}\\" niet gevonden in module \\"{moduleName}\\"","inconsistentIndent":"Inspringen komt niet overeen met de vorige regel","inconsistentTabs":"Inconsistent gebruik van tabbladen en spaties voor indenten","instanceMethodSelfParam":"Instantie methoden hebben een zelf-parameter nodig","invalidIdentifierChar":"Ongeldig teken in id","invalidTokenChars":"Ongeldig teken \\"{text}\\" in token","memberAccess":"Geen toegang tot lid \\"{name}\\" voor type \\"{type}\\"","memberDelete":"Kan lid niet verwijderen \\"{name}\\" voor type \\"{type}\\"","memberSet":"Kan lid \\"{name}\\" niet toewijzen voor type \\"{type}\\"","moduleNotCallable":"Module kan niet aangeroepen worden","moduleUnknownMember":"\\"{name}\\" is geen bekend lid van module \\"{module}\\"","nonDefaultAfterDefault":"Niet standaard argument volgt het standaard argument","noOverload":"Argumenten komen niet overeen met parametertypes","objectNotCallable":"Object kan niet aangeroepen worden","obscuredClassDeclaration":"Les \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredFunctionDeclaration":"Functie \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredMethodDeclaration":"Methode \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredParameterDeclaration":"Parameter \\"{name}\\" botst met een andere verklaring met dezelfde naam","obscuredVariableDeclaration":"Verklaring \\"{name}\\" botst met een andere verklaring met dezelfde naam","paramAfterKwargsParam":"Parameter kan \\"**\\" parameter niet volgen","paramAlreadyAssigned":"Parameter \\"{name}\\" is al toegewezen","paramNameMissing":"Geen parameter genaamd \\"{name}\\"","positionArgAfterNamedArg":"Positioneel argument kan niet worden weergegeven na trefwoord argumenten","returnOutsideFunction":"\\"retour\\" kan alleen worden gebruikt binnen een functie","stringUnsupportedEscape":"Niet ondersteunde escape reeks in tekenreeks","stringUnterminated":"String is niet gesloten - aanhalingsteken ontbreekt","symbolIsUndefined":"\\"{name}\\" is niet gedefinieerd","trailingCommaInFromImport":"Komma\'s aan het einde zijn niet toegestaan zonder haakjes eromheen","tupleIndexOutOfRange":"Index {index} is buiten bereik voor type {type}","typeNotIterable":"Type is niet itereerbaar","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" niet ondersteund voor deze combinatie van soorten","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" niet ondersteund voor deze combinatie van soorten","unaccessedClass":"Klasse \\"{name}\\" is ongebruikt","unaccessedFunction":"Functie \\"{name}\\" is ongebruikt","unaccessedImport":"Import \\"{name}\\" is ongebruikt","unaccessedSymbol":"\\"{name}\\" is ongebruikt","unaccessedVariable":"Variabele \\"{name}\\" is ongebruikt","unexpectedIndent":"Onverwachte inspringing","unreachableCode":"Code is onbereikbaar\\nDe logica van je programma betekent dat deze code nooit kan worden uitgevoerd"},"DiagnosticAddendum":{"tupleSizeMismatch":"Element grootte komt niet overeen; verwacht {expected} maar ontving {received}"}}')}}]); \ No newline at end of file diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-131-ab4e388ba76ce41a9bbe.worker.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-131-ab4e388ba76ce41a9bbe.worker.js new file mode 100644 index 0000000..daf1f00 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-131-ab4e388ba76ce41a9bbe.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[131],{8131:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"参数与参数类型不匹配","argAssignmentFunction":"参数与函数 \\"{functionName}\\" 中的参数类型不匹配","argAssignmentParam":"参数与参数 “{paramName}” 的参数类型不匹配","argAssignmentParamFunction":"参数与参数 “{paramName}” 的参数类型不匹配","argMissingForParam":"参数 {name} 缺少参数","argMissingForParams":"参数 {names} 缺少参数","argMorePositionalExpectedCount":"需要 {expected} 更多位置参数","argMorePositionalExpectedOne":"还需要 1 个位置参数","argPositional":"预期的位置参数","argPositionalExpectedOne":"预期的 1 个位置参数","assignmentTargetExpr":"表达式不能作为赋值目标","booleanIsLowerCase":"\\"{name}\\" 未定义。您指的是\\"{booleanName}\\"吗?","breakOutsideLoop":"\\"break\\" 只能在 \\"while\\" 或 \\"for\\" 循环中使用","constructorNoArgs":"预计 “{type}” 构造函数没有参数","continueOutsideLoop":"\\"continue\\" 只能在 \\"while\\" 或 \\"for\\" 循环中使用","delTargetExpr":"表达式不能被删除","duplicateParam":"重复参数 \\"{name}\\"","expectedAssignRightHandExpr":"“=”右侧的预期表达式","expectedBinaryRightHandExpr":"运算符右侧的预期表达式","expectedClassName":"缺少类名","expectedCloseBrace":"\\n缺少右括号“}”","expectedCloseBracket":"\\n缺少右括号“]”","expectedCloseParen":"\\n缺少右括号“)”","expectedColon":"缺少冒号\\":\\"","expectedDelExpr":"“del” 后缺少表达式","expectedElse":"缺少 “else”","expectedEqualityOperator":"预期等号运算符,您是指“==”吗?","expectedExpr":"缺少表达式","expectedFunctionName":"“def” 后缺少函数名称","expectedIdentifier":"缺少标识符","expectedImport":"缺少 ”import”(导入)","expectedImportAlias":"“as” 后缺少符号","expectedImportSymbols":"import (导入) 后需要一个或多个符号名称","expectedIn":"缺少 “in”","expectedIndentedBlock":"缺失缩进","expectedInExpr":"“in” 后缺少表达式","expectedMemberName":"“.” 后缺少成员名称","expectedModuleName":"缺少模块名称","expectedNamedParameter":"关键字参数必须跟在 \\"*\\" 后面","expectedNewlineOrSemicolon":"意外的额外内容\\n必须是每行一条语句","expectedOpenParen":"缺少左括号“(”","expectedParamName":"缺少参数名称","expectedSliceIndex":"缺少索引或切片","expectedYieldExpr":"yield 语句中的预期表达式","globalReassignment":"\\"{name}\\" 是在全局声明之前分配的","globalRedefinition":"“{name}” 已被声明为全局","importResolveFailure":"找不到模块 \\"{importName}\\"","importSymbolUnknown":"在模块 “{moduleName}” 中找不到 “{name}”","inconsistentIndent":"缩进与前一行不匹配","inconsistentTabs":"缩进的制表符和空格的使用不一致","instanceMethodSelfParam":"实例方法需要一个 “self” 参数","invalidIdentifierChar":"标识符中的无效字符","invalidTokenChars":"令牌中的无效字符 “{text}”","memberAccess":"无法访问类型 “{type}” 的成员 “{name}”","memberDelete":"无法删除类型 “{type}” 的成员 “{name}”","memberSet":"无法为类型 “{type}” 分配成员 “{name}”","moduleNotCallable":"模块不可调用","moduleUnknownMember":"\\"{name}\\" 不是模块 \\"{module}\\" 的已知成员","nonDefaultAfterDefault":"默认参数之后为非默认参数","noOverload":"参数与参数类型不匹配","objectNotCallable":"对象不可调用","obscuredClassDeclaration":"类 \\"{name}\\" 与另一个同名的声明冲突","obscuredFunctionDeclaration":"函数 \\"{name}\\" 与另一个同名的声明冲突","obscuredMethodDeclaration":"方法 \\"{name}\\" 与另一个同名的声明冲突","obscuredParameterDeclaration":"参数 \\"{name}\\" 与另一个同名的声明冲突","obscuredVariableDeclaration":"声明 \\"{name}\\" 与另一个同名的声明冲突","paramAfterKwargsParam":"参数不能跟在 \\"**\\" 参数之后","paramAlreadyAssigned":"参数 \\"{name}\\" 已分配","paramNameMissing":"没有名为 \\"{name}\\" 的参数","positionArgAfterNamedArg":"位置参数不能出现在关键字参数之后","returnOutsideFunction":"\\"return\\" (返回)只能在函数内使用","stringUnsupportedEscape":"在字符串字面量中不支持的转义序列","stringUnterminated":"字符串未闭合 - 缺少引号","symbolIsUndefined":"\\"{name}\\" 未定义","trailingCommaInFromImport":"不允许无圆括号的尾随逗号","tupleIndexOutOfRange":"索引 {index} 超出了类型 {type} 的范围","typeNotIterable":"类型不可迭代","typeNotSupportBinaryOperator":"此类型组合不支持运算符 “{operator}”","typeNotSupportBinaryOperatorBidirectional":"此类型组合不支持运算符 “{operator}”","unaccessedClass":"类 \\"{name}\\" 未使用","unaccessedFunction":"函数 “{name}” 未使用","unaccessedImport":"导入 “{name}” 未使用","unaccessedSymbol":"\\"{name}\\" 未使用","unaccessedVariable":"变量 \\"{name}\\" 未使用","unexpectedIndent":"意外缩进","unreachableCode":"代码无法访问\\n您的程序的逻辑意味着此代码永远不会运行"},"DiagnosticAddendum":{"tupleSizeMismatch":"元素大小不匹配;预期 {expected} 但收到 {received}"}}')}}]); \ No newline at end of file diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-162-52858c93d4cbe348333a.worker.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-162-52858c93d4cbe348333a.worker.js new file mode 100644 index 0000000..39ef210 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-162-52858c93d4cbe348333a.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[162],{4162:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"El tipo de argumento no coincide con el tipo de parámetro","argAssignmentFunction":"El tipo de argumento no coincide con el tipo de parámetro en la función \\"{functionName}\\"","argAssignmentParam":"El tipo de argumento no coincide con el tipo de parámetro para el parámetro \\"{paramName}\\"","argAssignmentParamFunction":"El tipo de argumento no coincide con el tipo de parámetro para el parámetro \\"{paramName}\\"","argMissingForParam":"Falta el argumento para el parámetro {name}","argMissingForParams":"Faltan los argumentos para los parámetros {names}","argMorePositionalExpectedCount":"Se esperan {expected} argumentos posicionales más","argMorePositionalExpectedOne":"Se espera 1 argumento posicional más","argPositional":"Se espera argumento posicional","argPositionalExpectedOne":"Se espera 1 argumento posicional","assignmentTargetExpr":"La expresión no se puede utilizar como destino de asignación","booleanIsLowerCase":"\\"{name}\\" no está definido, ¿querías decir \\"{booleanName}\\"?","breakOutsideLoop":"Solo se puede usar \\"break\\" dentro de un bucle \\"while\\" o \\"for\\"","constructorNoArgs":"No se esperan argumentos para el constructor \\"{type}\\"","continueOutsideLoop":"Solo se puede usar \\"continue\\" dentro de un bucle \\"while\\" o \\"for\\"","delTargetExpr":"La expresión no se puede eliminar","duplicateParam":"Parámetro \\"{name}\\" duplicado","expectedAssignRightHandExpr":"Se espera una expresión a la derecha de \\"=\\"","expectedBinaryRightHandExpr":"Se espera una expresión a la derecha del operador","expectedClassName":"Falta el nombre de la clase","expectedCloseBrace":"Falta la llave de cierre \\"}\\"","expectedCloseBracket":"Falta el corchete de cierre \\"]\\"","expectedCloseParen":"Falta el paréntesis de cierre \\")\\"","expectedColon":"Faltan los dos puntos \\":\\"","expectedDelExpr":"Falta una expresión después de \\"del\\"","expectedElse":"Falta \\"else\\"","expectedEqualityOperator":"Se espera operador de igualdad, ¿querías decir \\"==\\"?","expectedExpr":"Falta una expresión","expectedFunctionName":"Falta el nombre de la función después de \\"def\\"","expectedIdentifier":"Falta un identificador","expectedImport":"Falta \\"import\\"","expectedImportAlias":"Falta un símbolo después de \\"as\\"","expectedImportSymbols":"Se espera uno o más nombres de símbolos después de la importación","expectedIn":"Falta \\"in\\"","expectedIndentedBlock":"Falta la sangría","expectedInExpr":"Falta una expresión después de \\"in\\"","expectedMemberName":"Falta el nombre del miembro después de \\".\\"","expectedModuleName":"Falta el nombre del módulo","expectedNamedParameter":"Un parámetro de palabra clave debe ir después de \\"*\\"","expectedNewlineOrSemicolon":"Contenido extra inesperado\\nDebe haber una declaración por línea","expectedOpenParen":"Falta el paréntesis de apertura \\"(\\"","expectedParamName":"Falta el nombre del parámetro","expectedSliceIndex":"Falta el índice o \\"slice\\"","expectedYieldExpr":"Se espera expresión en declaración \\"yield\\"","globalReassignment":"Se ha asignado \\"{name}\\" antes de la declaración global","globalRedefinition":"Ya se ha declarado \\"{name}\\" como global","importResolveFailure":"No se ha podido encontrar el módulo \\"{importName}\\"","importSymbolUnknown":"No se ha encontrado \\"{name}\\" en el módulo \\"{moduleName}\\"","inconsistentIndent":"La sangría no coincide con la de la línea anterior","inconsistentTabs":"Uso inconsistente de tabulación y espacios para sangrías","instanceMethodSelfParam":"Los métodos de instancia necesitan un parámetro \\"self\\"","invalidIdentifierChar":"Carácter no válido en el identificador","invalidTokenChars":"Carácter no válido \\"{text}\\" en token","memberAccess":"No se puede acceder al miembro \\"{name}\\" para el tipo \\"{type}\\"","memberDelete":"No se puede eliminar el miembro \\"{name}\\" para el tipo \\"{type}\\"","memberSet":"No se puede asignar el miembro \\"{name}\\" para el tipo \\"{type}\\"","moduleNotCallable":"No se puede llamar al módulo","moduleUnknownMember":"\\"{name}\\" no es un miembro conocido del módulo \\"{module}\\"","nonDefaultAfterDefault":"Argumento no por defecto después de argumento por defecto","noOverload":"Los tipos de los argumentos no coinciden con los tipos de los parámetros","objectNotCallable":"No se puede llamar al objeto","obscuredClassDeclaration":"La clase \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredFunctionDeclaration":"La función \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredMethodDeclaration":"El método \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredParameterDeclaration":"El parámetro \\"{name}\\" tiene el mismo nombre que otra declaración","obscuredVariableDeclaration":"La declaración \\"{name}\\" tiene el mismo nombre que otra declaración","paramAfterKwargsParam":"El parámetro no puede ir después de un parámetro \\"**\\"","paramAlreadyAssigned":"El parámetro \\"{name}\\" ya está asignado","paramNameMissing":"No existe ningún parámetro llamado \\"{name}\\"","positionArgAfterNamedArg":"Un argumento posicional no puede ir después de los argumentos de palabra clave","returnOutsideFunction":"\\"return\\" solo puede utilizarse dentro de una función","stringUnsupportedEscape":"Secuencia de escape no admitida en literal de cadena","stringUnterminated":"La cadena no está cerrada: faltan las comillas","symbolIsUndefined":"\\"{name}\\" no está definido","trailingCommaInFromImport":"Coma final no permitida: la expresión debe estar entre paréntesis","tupleIndexOutOfRange":"El índice {index} está fuera de rango para el tipo {type}","typeNotIterable":"El tipo no es iterable","typeNotSupportBinaryOperator":"No se admite el operador \\"{operator}\\" para esta combinación de tipos","typeNotSupportBinaryOperatorBidirectional":"No se admite el operador \\"{operator}\\" para esta combinación de tipos","unaccessedClass":"La clase \\"{name}\\" no se utiliza","unaccessedFunction":"La función \\"{name}\\" no se utiliza","unaccessedImport":"La importación \\"{name}\\" no se utiliza","unaccessedSymbol":"\\"{name}\\" no se utiliza","unaccessedVariable":"La variable \\"{name}\\" no se utiliza","unexpectedIndent":"Sangría inesperada","unreachableCode":"El código es inalcanzable\\nEl código nunca se ejecutará según la lógica del programa"},"DiagnosticAddendum":{"tupleSizeMismatch":"El tamaño del elemento no coincide: se esperaba {expected} pero se ha obtenido {received}"}}')}}]); \ No newline at end of file diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-244-93121a06520a592814db.worker.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-244-93121a06520a592814db.worker.js new file mode 100644 index 0000000..aaae727 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-244-93121a06520a592814db.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[244],{244:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"引数がパラメータ型と一致しません","argAssignmentFunction":"引数が関数「{functionName}」のパラメータ型と一致しません","argAssignmentParam":"引数がパラメータ「{paramName}」のパラメータ型と一致しません","argAssignmentParamFunction":"引数がパラメータ「{paramName}」のパラメータ型と一致しません","argMissingForParam":"パラメータ {name} の引数がありません","argMissingForParams":"パラメータ {names} の引数がありません","argMorePositionalExpectedCount":"あと {expected} 個の位置引数を期待していました","argMorePositionalExpectedOne":"あともう一つの位置引数を期待していました","argPositional":"位置引数を期待していました","argPositionalExpectedOne":"一つの位置引数を期待していました","assignmentTargetExpr":"式を代入先にすることはできません","booleanIsLowerCase":"「{name}」が定義されていません。「{booleanName}」という意味ですか?","breakOutsideLoop":"「break」は「while」または「for」ループ内でのみ使用できます","constructorNoArgs":"「{type}」コンストラクタは引数を期待していません","continueOutsideLoop":"「continue」は「while」または「for」ループ内でのみ使用できます","delTargetExpr":"式は削除できません","duplicateParam":"パラメータ「{name}」が重複しています","expectedAssignRightHandExpr":"「=」の右側には式を期待していました","expectedBinaryRightHandExpr":"演算子の右側には式を期待していました","expectedClassName":"クラス名がありません","expectedCloseBrace":"閉じ括弧「}」がありません","expectedCloseBracket":"閉じ括弧「]」がありません","expectedCloseParen":"閉じ括弧「)」がありません","expectedColon":"コロン「:」がありません","expectedDelExpr":"「del」の後に式がありません","expectedElse":"「else」がありません","expectedEqualityOperator":"等価演算子が期待されていました。「==」の意味ですか?","expectedExpr":"式がありません","expectedFunctionName":"「def」の後に関数名がありません","expectedIdentifier":"識別子がありません","expectedImport":"「import」がありません","expectedImportAlias":"「as」の後に記号がありません","expectedImportSymbols":"インポート後に1つ以上の記号名を期待していました","expectedIn":"「in」がありません","expectedIndentedBlock":"インデントがありません","expectedInExpr":"「in」の後に式がありません","expectedMemberName":"「.」の後にメンバー名がありません","expectedModuleName":"モジュール名がありません","expectedNamedParameter":"キーワードパラメータは「*」に続かなければなりません","expectedNewlineOrSemicolon":"予期しない追加内容\\n文は1行に1つでなければなりません","expectedOpenParen":"開き括弧「(」がありません","expectedParamName":"パラメータ名がありません","expectedSliceIndex":"インデックスまたはスライスがありません","expectedYieldExpr":"yield文中に式を期待していました","globalReassignment":"「{name}」はグローバル宣言の前に割り当てられています","globalRedefinition":"「{name}」は既にグローバル宣言されています","importResolveFailure":"モジュール「{importName}」が見つかりませんでした","importSymbolUnknown":"「{name}」がモジュール「{moduleName}」に見つかりません","inconsistentIndent":"インデントが前の行と一致しません","inconsistentTabs":"インデントのタブとスペースの使用が一貫していません","instanceMethodSelfParam":"インスタンスメソッドには「self」パラメータが必要です","invalidIdentifierChar":"識別子に無効な文字が含まれています","invalidTokenChars":"トークンに無効な文字 「{text}」が含まれています","memberAccess":"型「{type}」の メンバー「{name}」 にアクセスできません","memberDelete":"型「{type}」の メンバー「{name}」 を削除できません","memberSet":"型「{type}」の メンバー「{name}」 を割り当てできません","moduleNotCallable":"モジュールは呼び出しできません","moduleUnknownMember":"「{name}」はモジュール「{module}」の既知のメンバではありません","nonDefaultAfterDefault":"デフォルトでない引数はデフォルト引数の後に続きます","noOverload":"引数がパラメータ型と一致しません","objectNotCallable":"オブジェクトは呼び出しできません","obscuredClassDeclaration":"クラス「{name}」は同じ名前の別の宣言と衝突しています","obscuredFunctionDeclaration":"関数「{name}」は同じ名前の別の宣言と衝突しています","obscuredMethodDeclaration":"メソッド「{name}」は同じ名前の別の宣言と衝突しています","obscuredParameterDeclaration":"パラメータ「{name}」は同じ名前の別の宣言と衝突しています","obscuredVariableDeclaration":"宣言「{name}」は同じ名前の別の宣言と衝突しています","paramAfterKwargsParam":"パラメータは「**」パラメータに続くことができません","paramAlreadyAssigned":"パラメータ「{name}」は既に割り当てられています","paramNameMissing":"「{name}」というパラメータ名はありません","positionArgAfterNamedArg":"位置変数はキーワード引数の後に続くことができません","returnOutsideFunction":"「return」は関数内でのみ使用できます","stringUnsupportedEscape":"文字列リテラル内にサポートされないエスケープシーケンスがあります","stringUnterminated":"文字列が閉じられていません(引用符がありません)","symbolIsUndefined":"「{name}」が定義されていません","trailingCommaInFromImport":"末尾のカンマは括弧で囲まれていないと許可されません","tupleIndexOutOfRange":"インデックス {index} は型 {type} の範囲外です","typeNotIterable":"型は反復できません","typeNotSupportBinaryOperator":"演算子「{operator}」はこの型の組み合わせではサポートされていません","typeNotSupportBinaryOperatorBidirectional":"演算子「{operator}」はこの型の組み合わせではサポートされていません","unaccessedClass":"クラス「{name}」は使用されていません","unaccessedFunction":"関数「{name}」は使用されていません","unaccessedImport":"インポート「{name}」は使用されていません","unaccessedSymbol":"「{name}」は使用されていません","unaccessedVariable":"変数「{name}」は使用されていません","unexpectedIndent":"予期しないインデント","unreachableCode":"コードに到達できません\\nプログラムのロジックによるとこのコードは実行されません"},"DiagnosticAddendum":{"tupleSizeMismatch":"要素のサイズが一致しません。予期していたのは {expected} でしたが、受信したのは {received} でした"}}')}}]); \ No newline at end of file diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-372-2f2f20ca0313ae5dd1d6.worker.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-372-2f2f20ca0313ae5dd1d6.worker.js new file mode 100644 index 0000000..a1d22cf --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-372-2f2f20ca0313ae5dd1d6.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[372],{1372:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"인자가 매개변수 유형과 일치하지 않음","argAssignmentFunction":"인자가 \\"{functionName}\\" 함수의 매개변수 유형과 일치하지 않음","argAssignmentParam":"인자가 \\"{paramName}\\" 함수의 매개변수 유형과 일치하지 않음","argAssignmentParamFunction":"인자가 \\"{paramName}\\" 함수의 매개변수 유형과 일치하지 않음","argMissingForParam":"{name} 매개변수의 인자가 누락됨","argMissingForParams":"{name} 매개변수들의 인자가 누락됨","argMorePositionalExpectedCount":"위치 인자가 {expected}개 더 필요함","argMorePositionalExpectedOne":"위치 인자가 1개 더 필요함","argPositional":"위치 인자가 필요함","argPositionalExpectedOne":"위치 인자가 1개 필요함","assignmentTargetExpr":"표현식은 할당 대상이 될 수 없음","booleanIsLowerCase":"\\"{name}\\"(이)가 정의되지 않았습니다. \\"{booleanName}\\"입니까?","breakOutsideLoop":"\\"break\\"는 \\"while\\" 또는 \\"for\\" 루프에서만 사용될 수 있음","constructorNoArgs":"\\"{type}\\" 생성자에는 인자가 필요하지 않음","continueOutsideLoop":"\\"continue\\"는 \\"while\\" 또는 \\"for\\" 루프에서만 사용될 수 있음","delTargetExpr":"표현식은 삭제할 수 없음","duplicateParam":"매개변수 \\"{name}\\"(이)가 중복됨","expectedAssignRightHandExpr":"\\"=\\" 오른쪽에 표현식이 필요함","expectedBinaryRightHandExpr":"연산자 오른쪽에 표현식이 필요함","expectedClassName":"클래스 이름이 누락됨","expectedCloseBrace":"닫는 괄호 \\"}\\"가 누락됨","expectedCloseBracket":"닫는 괄호 \\"]\\"가 누락됨","expectedCloseParen":"닫는 괄호 \\")\\"가 누락됨","expectedColon":"콜론 \\":\\"이 누락됨 ","expectedDelExpr":"\\"del\\" 이후 표현식이 누락됨","expectedElse":"\\"else\\"가 누락됨","expectedEqualityOperator":"동등 연산자가 필요합니다. \\"==\\"입니까?","expectedExpr":"표현식이 누락됨","expectedFunctionName":"\\"def\\" 뒤의 함수 이름이 누락됨","expectedIdentifier":"식별자가 누락됨","expectedImport":"\\"import\\"가 누락됨","expectedImportAlias":"\\"as\\" 뒤의 기호가 누락됨","expectedImportSymbols":"가져오기 후 1개 이상의 기호 이름이 필요함","expectedIn":"\\"in\\"이 누락됨","expectedIndentedBlock":"들여쓰기가 누락됨","expectedInExpr":"\\"in\\" 뒤의 표현식이 누락됨","expectedMemberName":"\\".\\" 뒤의 멤버 이름이 누락됨","expectedModuleName":"모듈 이름이 누락됨","expectedNamedParameter":"키워드 매개변수 뒤에는 반드시 \\"*\\"를 붙여야 함","expectedNewlineOrSemicolon":"예상치 못한 추가 콘텐츠\\n구문은 한 줄이어야 함","expectedOpenParen":"여는 괄호 \\"(\\"가 누락됨","expectedParamName":"매개변수 이름이 누락됨","expectedSliceIndex":"인덱스 또는 슬라이스가 누락됨","expectedYieldExpr":"yield 구문에 표현식이 필요함","globalReassignment":"\\"{name}\\"(이)가 전역 선언 전에 할당되어 있음","globalRedefinition":"\\"{name}\\"(이)가 이미 전역 선언됨","importResolveFailure":"\\"{importName}\\" 모듈이 발견되지 않음","importSymbolUnknown":"\\"{moduleName}\\" 모듈에서 \\"{name}\\"(이)가 발견되지 않음","inconsistentIndent":"들여쓰기가 이전 줄과 일치하지 않음","inconsistentTabs":"들여쓰기에 탭과 스페이스가 불규칙적으로 사용됨","instanceMethodSelfParam":"인스턴스 메소드는 \\"self\\" 매개변수가 필요함","invalidIdentifierChar":"인식자의 문자가 올바르지 않음","invalidTokenChars":"토큰 내 문자 \\"{text}\\"(이)가 올바르지 않음","memberAccess":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버에 접근할 수 없음","memberDelete":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버를 삭제할 수 없음","memberSet":"\\"{type}\\" 유형으로 \\"{name}\\" 멤버를 할당할 수 없음","moduleNotCallable":"모듈을 호출할 수 없음","moduleUnknownMember":"\\"{name}\\"(이)가 \\"{module}\\"의 기존 멤버가 아님","nonDefaultAfterDefault":"기본값 인자 뒤에 기본값이 아닌 인자가 입력됨","noOverload":"인자가 매개변수 유형과 일치하지 않음","objectNotCallable":"개체를 호출할 수 없음","obscuredClassDeclaration":"\\"{name}\\" 클래스가 같은 이름의 다른 선언과 충돌함","obscuredFunctionDeclaration":"\\"{name}\\" 함수가 같은 이름의 다른 선언과 충돌함","obscuredMethodDeclaration":"\\"{name}\\" 메소드가 같은 이름의 다른 선언과 충돌함","obscuredParameterDeclaration":"\\"{name}\\" 매개변수가 같은 이름의 다른 선언과 충돌함","obscuredVariableDeclaration":"\\"{name}\\" 선언이 같은 이름의 다른 선언과 충돌함","paramAfterKwargsParam":"\\"**\\" 매개변수 뒤에는 매개변수를 입력할 수 없음","paramAlreadyAssigned":"\\"{name}\\" 매개변수가 이미 할당됨","paramNameMissing":"이름이 \\"{name}\\"인 매개변수가 없음","positionArgAfterNamedArg":"키워드 인자 뒤에 위치 인자를 입력할 수 없음","returnOutsideFunction":"\\"return\\"은 함수 내에서만 사용해야 함","stringUnsupportedEscape":"문자열 리터럴 내에서 해당 이스케이프 시퀀스를 지원하지 않음","stringUnterminated":"문자열이 닫혀있지 않음 — 따옴표가 필요함","symbolIsUndefined":"\\"{name}\\"(이)가 정의되지 않음","trailingCommaInFromImport":"소괄호 없이는 후행 쉼표를 사용할 수 없음","tupleIndexOutOfRange":"{index} 인덱스가 {type} 유형의 범위 밖임","typeNotIterable":"Type은 연속형이 아님","typeNotSupportBinaryOperator":"\\"{operator}\\" 연산자가 해당 조합 유형을 지원하지 않음","typeNotSupportBinaryOperatorBidirectional":"\\"{operator}\\" 연산자가 해당 조합 유형을 지원하지 않음","unaccessedClass":"\\"{name}\\" 클래스가 사용되지 않음","unaccessedFunction":"\\"{name}\\" 함수가 사용되지 않음","unaccessedImport":"\\"{name}\\" 가져오기가 사용되지 않음","unaccessedSymbol":"\\"{name}\\"(이)가 사용되지 않음","unaccessedVariable":"\\"{name}\\" 변수가 사용되지 않음\\n","unexpectedIndent":"예상치 못한 들여쓰기","unreachableCode":"코드에 접근할 수 없음\\n프로그램의 논리에 따르면 이 코드는 절대로 실행할 수 없음"},"DiagnosticAddendum":{"tupleSizeMismatch":"요소 크기가 일치하지 않음: {expected}(이)가 필요하지만 {received}(을)를 받음"}}')}}]); \ No newline at end of file diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-416-213af665ac61b39bb90a.worker.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-416-213af665ac61b39bb90a.worker.js new file mode 100644 index 0000000..622f2bd --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-416-213af665ac61b39bb90a.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[416],{8416:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"Argument does not match parameter type","argAssignmentFunction":"Argument does not match parameter type in function \\"{functionName}\\"","argAssignmentParam":"Argument does not match parameter type for parameter \\"{paramName}\\"","argAssignmentParamFunction":"Argument does not match parameter type for parameter \\"{paramName}\\"","argMissingForParam":"Argument missing for parameter {name}","argMissingForParams":"Arguments missing for parameters {names}","argMorePositionalExpectedCount":"Expected {expected} more positional arguments","argMorePositionalExpectedOne":"Expected 1 more positional argument","argPositional":"Expected positional argument","argPositionalExpectedOne":"Expected 1 positional argument","assignmentTargetExpr":"Expression cannot be assignment target","booleanIsLowerCase":"\\"{name}\\" is not defined, did you mean \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" can be used only within a \\"while\\" or \\"for\\" loop","constructorNoArgs":"Expected no arguments to \\"{type}\\" constructor","continueOutsideLoop":"\\"continue\\" can be used only within a \\"while\\" or \\"for\\" loop","delTargetExpr":"Expression cannot be deleted","duplicateParam":"Duplicate parameter \\"{name}\\"","expectedAssignRightHandExpr":"Expected expression to the right of \\"=\\"","expectedBinaryRightHandExpr":"Expected expression to the right of operator","expectedClassName":"Missing class name","expectedCloseBrace":"Missing closing bracket \\"}\\"","expectedCloseBracket":"Missing closing bracket \\"]\\"","expectedCloseParen":"Missing closing bracket \\")\\"","expectedColon":"Missing colon \\":\\"","expectedDelExpr":"Missing expression after \\"del\\"","expectedElse":"Missing \\"else\\"","expectedEqualityOperator":"Expected equality operator, did you mean \\"==\\"?","expectedExpr":"Missing expression","expectedFunctionName":"Missing function name after \\"def\\"","expectedIdentifier":"Missing identifier","expectedImport":"Missing \\"import\\"","expectedImportAlias":"Missing symbol after \\"as\\"","expectedImportSymbols":"Expected one or more symbol names after import","expectedIn":"Missing \\"in\\"","expectedIndentedBlock":"Indent missing","expectedInExpr":"Missing expression after \\"in\\"","expectedMemberName":"Missing member name after \\".\\"","expectedModuleName":"Missing module name","expectedNamedParameter":"Keyword parameter must follow \\"*\\"","expectedNewlineOrSemicolon":"Unexpected extra content\\nStatements must be one per line","expectedOpenParen":"Missing opening bracket \\"(\\"","expectedParamName":"Missing parameter name","expectedSliceIndex":"Missing index or slice","expectedYieldExpr":"Expected expression in yield statement","globalReassignment":"\\"{name}\\" is assigned before global declaration","globalRedefinition":"\\"{name}\\" was already declared global","importResolveFailure":"Module \\"{importName}\\" could not be found","importSymbolUnknown":"\\"{name}\\" not found in module \\"{moduleName}\\"","inconsistentIndent":"Indent does not match the previous line","inconsistentTabs":"Inconsistent use of tabs and spaces for indents","instanceMethodSelfParam":"Instance methods need a \\"self\\" parameter","invalidIdentifierChar":"Invalid character in identifier","invalidTokenChars":"Invalid character \\"{text}\\" in token","memberAccess":"Cannot access member \\"{name}\\" for type \\"{type}\\"","memberDelete":"Cannot delete member \\"{name}\\" for type \\"{type}\\"","memberSet":"Cannot assign member \\"{name}\\" for type \\"{type}\\"","moduleNotCallable":"Module is not callable","moduleUnknownMember":"\\"{name}\\" is not a known member of module \\"{module}\\"","nonDefaultAfterDefault":"Non-default argument follows default argument","noOverload":"Arguments do not match parameter types","objectNotCallable":"Object is not callable","obscuredClassDeclaration":"Class \\"{name}\\" clashes with another declaration with the same name","obscuredFunctionDeclaration":"Function \\"{name}\\" clashes with another declaration with the same name","obscuredMethodDeclaration":"Method \\"{name}\\" clashes with another declaration with the same name","obscuredParameterDeclaration":"Parameter \\"{name}\\" clashes with another declaration with the same name","obscuredVariableDeclaration":"Declaration \\"{name}\\" clashes with another declaration with the same name","paramAfterKwargsParam":"Parameter cannot follow \\"**\\" parameter","paramAlreadyAssigned":"Parameter \\"{name}\\" is already assigned","paramNameMissing":"No parameter named \\"{name}\\"","positionArgAfterNamedArg":"Positional argument cannot appear after keyword arguments","returnOutsideFunction":"\\"return\\" can only be used within a function","stringUnsupportedEscape":"Unsupported escape sequence in string literal","stringUnterminated":"String is not closed — missing quotation mark","symbolIsUndefined":"\\"{name}\\" is not defined","trailingCommaInFromImport":"Trailing comma not allowed without surrounding parentheses","tupleIndexOutOfRange":"Index {index} is out of range for type {type}","typeNotIterable":"Type is not iterable","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" not supported for this combination of types","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for this combination of types","unaccessedClass":"Class \\"{name}\\" is unused","unaccessedFunction":"Function \\"{name}\\" is unused","unaccessedImport":"Import \\"{name}\\" is unused","unaccessedSymbol":"\\"{name}\\" is unused","unaccessedVariable":"Variable \\"{name}\\" is unused","unexpectedIndent":"Unexpected indent","unreachableCode":"Code is unreachable\\nThe logic of your program means this code will never run"},"DiagnosticAddendum":{"tupleSizeMismatch":"Element size mismatch; expected {expected} but received {received}"}}')}}]); \ No newline at end of file diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-753-025cc0f8d4b408b3f912.worker.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-753-025cc0f8d4b408b3f912.worker.js new file mode 100644 index 0000000..5e03eef --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-753-025cc0f8d4b408b3f912.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[753],{9753:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"引數與參數類型不相符","argAssignmentFunction":"引數與函式 \\"{functionName}\\" 中的參數類型不相符","argAssignmentParam":"引數與參數 \\"{paramName}\\" 中的參數類型不相符","argAssignmentParamFunction":"引數與參數 \\"{paramName}\\" 中的參數類型不相符","argMissingForParam":"引數缺少參數 {name}","argMissingForParams":"引數缺少參數 {names}","argMorePositionalExpectedCount":"必須還要有 {expected} 個位置引數","argMorePositionalExpectedOne":"必須還要有 1 個位置引數","argPositional":"必須要有位置引數","argPositionalExpectedOne":"必須要有 1 個位置引數","assignmentTargetExpr":"運算式不能做為指派目標","booleanIsLowerCase":"\\"{name}\\" 未定義,您指的是 \\"{booleanName}\\" 嗎?","breakOutsideLoop":"\\"break\\" 只能在 \\"while\\" 或 \\"for\\" 迴圈中使用","constructorNoArgs":"\\"{type}\\" 構造函式不應有引數","continueOutsideLoop":"\\"continue\\" 只能在 \\"while\\" 或 \\"for\\" 迴圈中使用","delTargetExpr":"表達式不能刪除","duplicateParam":"複製參數 \\"{name}\\"","expectedAssignRightHandExpr":"運算式必須在 \\"=\\" 的右側","expectedBinaryRightHandExpr":"運算式必須在運算子的右側","expectedClassName":"缺少類別名稱","expectedCloseBrace":"缺少右括弧 \\"}\\"","expectedCloseBracket":"缺少右括弧 \\"]\\"","expectedCloseParen":"缺少右括弧 \\")\\"","expectedColon":"缺少冒號 \\":\\"","expectedDelExpr":"\\"del\\" 後缺少運算式","expectedElse":"缺少 \\"else\\"","expectedEqualityOperator":"預期的等號比較運算子,您的意思是 \\"==\\" 嗎?","expectedExpr":"缺少運算式","expectedFunctionName":"\\"def\\" 後缺少函式名稱","expectedIdentifier":"缺少識別元","expectedImport":"缺少 \\"import\\"","expectedImportAlias":"\\"as\\" 後缺少符號","expectedImportSymbols":"匯入後,必須要有一或多個符號名稱","expectedIn":"缺少 \\"in\\"","expectedIndentedBlock":"缺少縮排","expectedInExpr":"\\"in\\" 後缺少運算式","expectedMemberName":"\\".\\" 後缺少成員名稱","expectedModuleName":"缺少模組名稱","expectedNamedParameter":"關鍵字參數必須接在 \\"*\\" 後面","expectedNewlineOrSemicolon":"非預期的額外內容\\n陳述式必須每行一個","expectedOpenParen":"缺少左括弧 \\"(\\"","expectedParamName":"缺少參數名稱","expectedSliceIndex":"缺少索引或分割","expectedYieldExpr":"yield 陳述式中應該要有運算式","globalReassignment":"\\"{name}\\" 會在全域宣告之前指派","globalRedefinition":"\\"{name}\\" 已經全域宣告","importResolveFailure":"找不到模組 \\"{importName}\\"","importSymbolUnknown":"在模組 \\"{moduleName}\\" 中找不到 \\"{name}\\"","inconsistentIndent":"縮排與上一行不相符","inconsistentTabs":"縮排的索引標籤和空格的使用不一致","instanceMethodSelfParam":"執行個體方法需要一個 \\"self\\" 參數","invalidIdentifierChar":"識別元中的無效字元","invalidTokenChars":"通證中的無效字元 \\"{text}\\"","memberAccess":"無法存取類型 \\"{type}\\" 的成員 \\"{name}\\"","memberDelete":"無法刪除類型 \\"{type}\\" 的成員 \\"{name}\\"","memberSet":"無法指派類型 \\"{type}\\" 的成員 \\"{name}\\"","moduleNotCallable":"模組不可呼叫","moduleUnknownMember":"\\"{name}\\" 不是模組 \\"{module}\\" 的已知成員","nonDefaultAfterDefault":"非預設引數接在預設引數後面","noOverload":"引數與參數類型不相符","objectNotCallable":"物件不可呼叫","obscuredClassDeclaration":"類別 \\"{name}\\" 與另一個同名宣告衝突","obscuredFunctionDeclaration":"函式 \\"{name}\\" 與另一個同名宣告衝突","obscuredMethodDeclaration":"方法 \\"{name}\\" 與另一個同名宣告衝突","obscuredParameterDeclaration":"參數 \\"{name}\\" 與另一個同名宣告衝突","obscuredVariableDeclaration":"宣告 \\"{name}\\" 與另一個同名宣告衝突","paramAfterKwargsParam":"參數不能接在 \\"**\\" 參數後面","paramAlreadyAssigned":"參數 \\"{name}\\" 已指派","paramNameMissing":"沒有名為 \\"{name}\\" 的參數","positionArgAfterNamedArg":"位置引數不能出現在關鍵字引數之後","returnOutsideFunction":"\\"return\\" 只能在函式內使用","stringUnsupportedEscape":"字串常值中不支援的逸出序列","stringUnterminated":"字串未關閉 - 缺少引號","symbolIsUndefined":"\\"{name}\\" 未定義","trailingCommaInFromImport":"不允許不帶括號的尾端逗號","tupleIndexOutOfRange":"索引 {index} 超出類型 {type} 的範圍","typeNotIterable":"類型不可迭代","typeNotSupportBinaryOperator":"此類型組合不支援運算子 \\"{operator}\\"","typeNotSupportBinaryOperatorBidirectional":"此類型組合不支援運算子 \\"{operator}\\"","unaccessedClass":"類別 \\"{name}\\" 未使用","unaccessedFunction":"函式 \\"{name}\\" 未使用","unaccessedImport":"匯入 \\"{name}\\" 未使用","unaccessedSymbol":"\\"{name}\\" 未使用","unaccessedVariable":"變數 \\"{name}\\" 未使用","unexpectedIndent":"非預期縮排","unreachableCode":"程式碼無法取得\\n您的程式邏輯代表這段程式碼永遠不會執行"},"DiagnosticAddendum":{"tupleSizeMismatch":"元素大小不相符;必須是 {expected} 但收到 {received}"}}')}}]); \ No newline at end of file diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-846-49df54db2b702b64a1c6.worker.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-846-49df54db2b702b64a1c6.worker.js new file mode 100644 index 0000000..785d390 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-locale-846-49df54db2b702b64a1c6.worker.js @@ -0,0 +1 @@ +(self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[]).push([[846],{4846:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"argAssignment":"L\'argument ne correspond pas au type du paramètre","argAssignmentFunction":"L\'argument ne correspond pas au type du paramètre dans la fonction \\"{functionName}\\"","argAssignmentParam":"L\'argument ne correspond pas au type du paramètre pour le paramètre \\"{paramName}\\"","argAssignmentParamFunction":"L\'argument ne correspond pas au type du paramètre pour le paramètre \\"{paramName}\\"","argMissingForParam":"Argument manquant pour le paramètre {name}","argMissingForParams":"Arguments manquants pour les paramètres {names}","argMorePositionalExpectedCount":"{expected} arguments positionnels supplémentaires attendus","argMorePositionalExpectedOne":"1 argument positionnel supplémentaire attendu","argPositional":"Argument positionnel attendu","argPositionalExpectedOne":"1 argument positionnel attendu","assignmentTargetExpr":"L\'expression ne peut pas être la cible d\'une affectation","booleanIsLowerCase":"\\"{name}\\" est indéfini, vouliez-vous dire \\"{booleanName}\\" ?","breakOutsideLoop":"\\"break\\" est utilisable seulement dans une boucle \\"while\\" ou \\"for\\"","constructorNoArgs":"Aucun argument attendu pour le constructeur \\"{type}\\"","continueOutsideLoop":"\\"continue\\" est utilisable seulement dans une boucle \\"while\\" ou \\"for\\"","delTargetExpr":"L\'expression ne peut pas être supprimée","duplicateParam":"Paramètre dupliqué \\"{name}\\"","expectedAssignRightHandExpr":"Expression attendue à droite de \\"=\\"","expectedBinaryRightHandExpr":"Expression attendue à droite de l\'opérateur","expectedClassName":"Nom de classe manquant","expectedCloseBrace":"Accolade fermante manquante \\"}\\"","expectedCloseBracket":"Crochet fermant manquant \\"]\\"","expectedCloseParen":"Parenthèse fermante manquante \\")\\"","expectedColon":"Deux-points manquant \\":\\"","expectedDelExpr":"Expression manquante après \\"del\\"","expectedElse":"\\"else\\" manquant","expectedEqualityOperator":"Opérateur d\'égalité attendu, vouliez-vous dire \\"==\\" ?","expectedExpr":"Expression manquante","expectedFunctionName":"Nom de la fonction manquant après \\"def\\"","expectedIdentifier":"Identifiant manquant","expectedImport":"\\"import\\" manquant","expectedImportAlias":"Symbole manquant après \\"as\\"","expectedImportSymbols":"Un ou plusieurs noms de symboles attendus après import","expectedIn":"\\"in\\" manquant","expectedIndentedBlock":"Indentation manquante","expectedInExpr":"Expression manquante après \\"in\\"","expectedMemberName":"Nom de membre manquant après \\".\\"","expectedModuleName":"Nom du module manquant","expectedNamedParameter":"Un argument nommé doit suivre \\"*\\"","expectedNewlineOrSemicolon":"Contenu supplémentaire inattendu\\nUne instruction doit être seule sur une ligne","expectedOpenParen":"Parenthèse ouvrante manquante \\"(\\"","expectedParamName":"Nom du paramètre manquant","expectedSliceIndex":"Indice ou tranche manquant","expectedYieldExpr":"Expression attendue dans l\'instruction yield","globalReassignment":"\\"{name}\\" est assigné avant la déclaration globale","globalRedefinition":"\\"{name}\\" a déjà été déclaré comme global","importResolveFailure":"Module \\"{importName}\\" introuvable","importSymbolUnknown":"\\"{name}\\" introuvable dans le module \\"{moduleName}\\"","inconsistentIndent":"L\'indentation ne correspond pas à la ligne précédente","inconsistentTabs":"Utilisation irrégulière de tabulations et d\'espaces pour l\'indentation","instanceMethodSelfParam":"Les méthodes d\'instance nécessitent un paramètre \\"self\\"","invalidIdentifierChar":"Caractère invalide dans l\'identifiant","invalidTokenChars":"Caractère \\"{text}\\" invalide dans le jeton","memberAccess":"Impossible d\'accéder au membre \\"{name}\\" pour le type \\"{type}\\"","memberDelete":"Impossible de supprimer le membre \\"{name}\\" pour le type \\"{type}\\"","memberSet":"Impossible d\'affecter le membre \\"{name}\\" pour le type \\"{type}\\"","moduleNotCallable":"Le module n\'est pas appelable","moduleUnknownMember":"\\"{name}\\" n\'est pas un membre connu du module \\"{module}\\"","nonDefaultAfterDefault":"Argument sans valeur par défaut suit un argument ayant une valeur par défaut","noOverload":"Les arguments ne correspondent pas aux types des paramètres","objectNotCallable":"L\'objet n\'est pas appelable","obscuredClassDeclaration":"La classe \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredFunctionDeclaration":"La fonction \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredMethodDeclaration":"La méthode \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredParameterDeclaration":"Le paramètre \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","obscuredVariableDeclaration":"La déclaration \\"{name}\\" entre en conflit avec une autre déclaration portant le même nom","paramAfterKwargsParam":"Le paramètre ne peut pas suivre le paramètre \\"**\\"","paramAlreadyAssigned":"Le paramètre \\"{name}\\" est déjà assigné","paramNameMissing":"Aucun paramètre nommé \\"{name}\\"","positionArgAfterNamedArg":"Un argument positionnel ne peut pas apparaître après un argument nommé","returnOutsideFunction":"\\"return\\" ne peut être utilisé que dans une fonction","stringUnsupportedEscape":"Séquence d\'échappement non supportée dans la chaîne","stringUnterminated":"La chaîne n\'est pas fermée — guillemet manquant","symbolIsUndefined":"\\"{name}\\" n\'est pas défini","trailingCommaInFromImport":"Virgule finale non autorisée sans les parenthèses","tupleIndexOutOfRange":"L\'indice {index} est hors limite pour le type {type}","typeNotIterable":"Le type n\'est pas itérable","typeNotSupportBinaryOperator":"L\'opérateur \\"{operator}\\" n\'est pas pris en charge pour cette combinaison de types","typeNotSupportBinaryOperatorBidirectional":"L\'opérateur \\"{operator}\\" n\'est pas pris en charge pour cette combinaison de types","unaccessedClass":"Classe \\"{name}\\" n\'est pas utilisée","unaccessedFunction":"La fonction \\"{name}\\" n\'est pas utilisée","unaccessedImport":"L\'importation \\"{name}\\" n\'est pas utilisée","unaccessedSymbol":"\\"{name}\\" n\'est pas utilisé","unaccessedVariable":"La variable \\"{name}\\" n\'est pas utilisée","unexpectedIndent":"Indentation inattendue","unreachableCode":"Le code est inatteignable\\nLa logique de votre programme fait en sorte que ce code ne sera jamais exécuté"},"DiagnosticAddendum":{"tupleSizeMismatch":"Taille de l\'élément ne correspond pas; attendu {expected} mais reçu {received}"}}')}}]); \ No newline at end of file diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js new file mode 100644 index 0000000..4b6e1bd --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js @@ -0,0 +1,3 @@ +/*! For license information please see pyright-main-9de05813f9fe07eabc93.worker.js.LICENSE.txt */ +(()=>{var __webpack_modules__={9742:(e,t)=>{"use strict";t.byteLength=function(e){var t=l(e),n=t[0],i=t[1];return 3*(n+i)/4-i},t.toByteArray=function(e){var t,n,s=l(e),o=s[0],a=s[1],c=new r(function(e,t,n){return 3*(t+n)/4-n}(0,o,a)),u=0,p=a>0?o-4:o;for(n=0;n>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,c[u++]=255&t),1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,s=[],o=16383,a=0,l=i-r;al?l:a+o));return 1===r?(t=e[i-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),s.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,i){for(var r,s,o=[],a=t;a>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(e,t,n)=>{"use strict";const i=n(9742),r=n(645),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;const o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return p(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|f(e,t);let i=a(n);const r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return h(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return h(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);const r=function(e){if(l.isBuffer(e)){const t=0|m(e.length),n=a(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||Y(e.length)?a(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function p(e){return u(e),a(e<0?0:0|m(e))}function d(e){const t=e.length<0?0:0|m(e.length),n=a(t);for(let i=0;i=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;let r=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return G(e).length;default:if(r)return i?-1:H(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){let i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return w(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return D(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function _(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),Y(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:v(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):v(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function v(e,t,n,i,r){let s,o=1,a=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(r){let i=-1;for(s=n;sa&&(n=a-l),s=n;s>=0;s--){let n=!0;for(let i=0;ir&&(i=r):i=r;const s=t.length;let o;for(i>s/2&&(i=s/2),o=0;o>8,r=n%256,s.push(r),s.push(i);return s}(t,e.length-n),e,n,i)}function C(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function w(e,t,n){n=Math.min(e.length,n);const i=[];let r=t;for(;r239?4:t>223?3:t>191?2:1;if(r+o<=n){let n,i,a,l;switch(o){case 1:t<128&&(s=t);break;case 2:n=e[r+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(s=l));break;case 3:n=e[r+1],i=e[r+2],128==(192&n)&&128==(192&i)&&(l=(15&t)<<12|(63&n)<<6|63&i,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:n=e[r+1],i=e[r+2],a=e[r+3],128==(192&n)&&128==(192&i)&&128==(192&a)&&(l=(15&t)<<18|(63&n)<<12|(63&i)<<6|63&a,l>65535&&l<1114112&&(s=l))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),r+=o}return function(e){const t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);let n="",i=0;for(;ii.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(i,r)):Uint8Array.prototype.set.call(i,t,r);else{if(!l.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(i,r)}r+=t.length}return i},l.byteLength=f,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tn&&(e+=" ... "),""},s&&(l.prototype[s]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(J(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;let s=(r>>>=0)-(i>>>=0),o=(n>>>=0)-(t>>>=0);const a=Math.min(s,o),c=this.slice(i,r),u=e.slice(t,n);for(let e=0;e>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}const r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return T(this,e,t,n);case"utf8":case"utf-8":return b(this,e,t,n);case"ascii":case"latin1":case"binary":return I(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const E=4096;function k(e,t,n){let i="";n=Math.min(e.length,n);for(let r=t;ri)&&(n=i);let r="";for(let i=t;in)throw new RangeError("Trying to access beyond buffer length")}function F(e,t,n,i,r,s){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function N(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s,s>>=8,e[n++]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function M(e,t,n,i,r){W(t,i,r,e,n,7);let s=Number(t&BigInt(4294967295));e[n+7]=s,s>>=8,e[n+6]=s,s>>=8,e[n+5]=s,s>>=8,e[n+4]=s;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}function O(e,t,n,i,r,s){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function U(e,t,n,i,s){return t=+t,n>>>=0,s||O(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e+--t],r=1;for(;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||R(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,r=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(i)+(BigInt(r)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=t*2**24+65536*this[++e]+256*this[++e]+this[++e],r=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(i)<>>=0,t>>>=0,n||R(e,t,this.length);let i=this[e],r=1,s=0;for(;++s=r&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||R(e,t,this.length);let i=t,r=1,s=this[e+--i];for(;i>0&&(r*=256);)s+=this[e+--i]*r;return r*=128,s>=r&&(s-=Math.pow(2,8*t)),s},l.prototype.readInt8=function(e,t){return e>>>=0,t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||R(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=Z((function(e){j(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(i)<>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||z(e,this.length-8);const i=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(i)<>>=0,t||R(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||R(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||R(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,i||F(this,e,t,n,Math.pow(2,8*n)-1,0);let r=n-1,s=1;for(this[t+r]=255&e;--r>=0&&(s*=256);)this[t+r]=e/s&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=Z((function(e,t=0){return N(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=Z((function(e,t=0){return M(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=0,s=1,o=0;for(this[t]=255&e;++r>0)-o&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){const i=Math.pow(2,8*n-1);F(this,e,t,n,i-1,-i)}let r=n-1,s=1,o=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===o&&0!==this[t+r+1]&&(o=1),this[t+r]=(e/s>>0)-o&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=Z((function(e,t=0){return N(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=Z((function(e,t=0){return M(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(r=t;r=i+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function W(e,t,n,i,r,s){if(e>n||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${t}${i} and <= ${n}${i}`,new q.ERR_OUT_OF_RANGE("value",r,e)}!function(e,t,n){j(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||z(t,e.length-(n+1))}(i,r,s)}function j(e,t){if("number"!=typeof e)throw new q.ERR_INVALID_ARG_TYPE(t,"number",e)}function z(e,t,n){if(Math.floor(e)!==e)throw j(e,n),new q.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new q.ERR_BUFFER_OUT_OF_BOUNDS;throw new q.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}V("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),V("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),V("ERR_OUT_OF_RANGE",(function(e,t,n){let i=`The value of "${e}" is out of range.`,r=n;return Number.isInteger(n)&&Math.abs(n)>2**32?r=B(String(n)):"bigint"==typeof n&&(r=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(r=B(r)),r+="n"),i+=` It must be ${t}. Received ${r}`,i}),RangeError);const $=/[^+/0-9A-Za-z-_]/g;function H(e,t){let n;t=t||1/0;const i=e.length;let r=null;const s=[];for(let o=0;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(t-=3)>-1&&s.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&s.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function G(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace($,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function K(e,t,n,i){let r;for(r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function Y(e){return e!=e}const Q=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const i=16*n;for(let r=0;r<16;++r)t[i+r]=e[n]+e[r]}return t}();function Z(e){return"undefined"==typeof BigInt?X:e}function X(){throw new Error("BigInt not supported")}},645:(e,t)=>{t.read=function(e,t,n,i,r){var s,o,a=8*r-i-1,l=(1<>1,u=-7,p=n?r-1:0,d=n?-1:1,h=e[t+p];for(p+=d,s=h&(1<<-u)-1,h>>=-u,u+=a;u>0;s=256*s+e[t+p],p+=d,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=i;u>0;o=256*o+e[t+p],p+=d,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,i),s-=c}return(h?-1:1)*o*Math.pow(2,s-i)},t.write=function(e,t,n,i,r,s){var o,a,l,c=8*s-r-1,u=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:s-1,m=i?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+p>=1?d/l:d*Math.pow(2,1-p))*l>=2&&(o++,l/=2),o+p>=u?(a=0,o=u):o+p>=1?(a=(t*l-1)*Math.pow(2,r),o+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,r),o=0));r>=8;e[n+h]=255&a,h+=m,a/=256,r-=8);for(o=o<0;e[n+h]=255&o,h+=m,o/=256,c-=8);e[n+h-m]|=128*f}},6470:e=>{"use strict";function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},6755:()=>{"use strict";Promise.prototype.ignoreErrors=function(){this.catch((()=>{}))}},1169:(e,t,n)=>{"use strict";e.exports=n(9054)},9054:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(5669).default.install();const s=n(3870);r(n(3870),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},5669:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(147),r=n(3911),s=n(7135),o=n(5530);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},3870:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(839);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(3911);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(7135);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(3881);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(6525);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(6654);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(1343);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(147);t.RAL=u.default},3881:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(147),r=n(7574),s=n(7135);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},1343:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(147),r=n(7574),s=n(839),o=n(6184),a=n(7135),l=n(3881);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,q=b.New;const V=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return q===b.Listening}function J(){return q===b.Closed}function Y(){return q===b.Disposed}function Q(){q!==b.New&&q!==b.Listening||(q=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){V.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){V.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:V.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;q=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),q=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},3911:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},7135:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(147);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},7574:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},6184:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},5530:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},6525:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(147),r=n(7574),s=n(7135);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},6654:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(147),r=n(7574),s=n(142),o=n(7135);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},839:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(7574);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},147:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},142:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(147);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},5224:(e,t,n)=>{"use strict";e.exports=n(152)},152:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(1169);r(n(1169),t),r(n(1661),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},1661:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(9054),t),r(n(1674),t),r(n(6140),t),r(n(542),t);var s,o=n(3767);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},3767:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(9054);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},6140:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(9054);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},2918:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(6140);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},9891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(6140);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},5934:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(6140);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},764:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(6140);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},7846:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3394:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(6140);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},2122:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(6140);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},542:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(9533),r=n(6140),s=n(2122);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(1589);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(9795);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(5934);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(9891);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3394);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(764);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(5206);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(1862);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(2918);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(9434);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5726);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(6305);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(7846);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(3443);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(V=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,V.TriggerCharacter=2,V.ContentChange=3,(q=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",q.type=new r.ProtocolRequestType(q.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},6305:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(6140);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},3443:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(6140);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},1862:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(9054),r=n(6140);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},5206:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(6140);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},9434:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(6140);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5726:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(6140);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},1589:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(6140);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},9795:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(6140);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},9533:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},1674:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>q,CompletionItem:()=>V,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(q||(q={})),function(e){e.create=function(e){return{label:e}}}(V||(V={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{"use strict";e.exports=n(7630)},7630:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=void 0;const s=n(6265);r(n(5224),t),r(n(6265),t);let o=!1;const a={initialize:e=>{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},6265:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(9817);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(152),t),r(n(5878),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7985:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(152);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2507:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(152),r=n(289);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},828:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(152);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},2776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(152);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},8120:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(152);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2731:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(152),r=n(7560);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},9817:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(152);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(152),r=n(289),s=n(7560),o=n(2731),a=n(2507),l=n(8634),c=n(7985),u=n(9817),p=n(5421),d=n(828),h=n(2776),m=n(8120);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},5421:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(152);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},289:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},7560:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},8634:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(152);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},306:e=>{"use strict";e.exports={i8:"1.1.159"}},3574:(e,t,n)=>{"use strict";const i=n(9149),r=n.g.Date;class s extends r{constructor(e){super(e),this.isDate=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}`}}e.exports=e=>{const t=new s(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},8477:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(e+"Z"),this.isFloating=!0}toISOString(){return`${this.getUTCFullYear()}-${i(2,this.getUTCMonth()+1)}-${i(2,this.getUTCDate())}T${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},350:e=>{"use strict";e.exports=e=>{const t=new Date(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},7571:(e,t,n)=>{"use strict";const i=n(9149);class r extends Date{constructor(e){super(`0000-01-01T${e}Z`),this.isTime=!0}toISOString(){return`${i(2,this.getUTCHours())}:${i(2,this.getUTCMinutes())}:${i(2,this.getUTCSeconds())}.${i(3,this.getUTCMilliseconds())}`}}e.exports=e=>{const t=new r(e);if(isNaN(t))throw new TypeError("Invalid Datetime");return t}},9149:e=>{"use strict";e.exports=(e,t)=>{for(t=String(t);t.length{"use strict";const t=1114112;class n extends Error{constructor(e,t,i){super("[ParserError] "+e,t,i),this.name="ParserError",this.code="ParserError",Error.captureStackTrace&&Error.captureStackTrace(this,n)}}class i{constructor(e){this.parser=e,this.buf="",this.returned=null,this.result=null,this.resultTable=null,this.resultArr=null}}class r{constructor(){this.pos=0,this.col=0,this.line=0,this.obj={},this.ctx=this.obj,this.stack=[],this._buf="",this.char=null,this.ii=0,this.state=new i(this.parseStart)}parse(e){if(0===e.length||null==e.length)return;let t;for(this._buf=String(e),this.ii=-1,this.char=-1;!1===t||this.nextChar();)t=this.runOne();this._buf=null}nextChar(){return 10===this.char&&(++this.line,this.col=-1),++this.ii,this.char=this._buf.codePointAt(this.ii),++this.pos,++this.col,this.haveBuffer()}haveBuffer(){return this.ii{"use strict";module.exports=makeParserClass(__webpack_require__(2306)),module.exports.makeParserClass=makeParserClass;class TomlError extends Error{constructor(e){super(e),this.name="TomlError",Error.captureStackTrace&&Error.captureStackTrace(this,TomlError),this.fromTOML=!0,this.wrapped=null}}TomlError.wrap=e=>{const t=new TomlError(e.message);return t.code=e.code,t.wrapped=e,t},module.exports.TomlError=TomlError;const createDateTime=__webpack_require__(350),createDateTimeFloat=__webpack_require__(8477),createDate=__webpack_require__(3574),createTime=__webpack_require__(7571),CTRL_I=9,CTRL_J=10,CTRL_M=13,CTRL_CHAR_BOUNDARY=31,CHAR_SP=32,CHAR_QUOT=34,CHAR_NUM=35,CHAR_APOS=39,CHAR_PLUS=43,CHAR_COMMA=44,CHAR_HYPHEN=45,CHAR_PERIOD=46,CHAR_0=48,CHAR_1=49,CHAR_7=55,CHAR_9=57,CHAR_COLON=58,CHAR_EQUALS=61,CHAR_A=65,CHAR_E=69,CHAR_F=70,CHAR_T=84,CHAR_U=85,CHAR_Z=90,CHAR_LOWBAR=95,CHAR_a=97,CHAR_b=98,CHAR_e=101,CHAR_f=102,CHAR_i=105,CHAR_l=108,CHAR_n=110,CHAR_o=111,CHAR_r=114,CHAR_s=115,CHAR_t=116,CHAR_u=117,CHAR_x=120,CHAR_z=122,CHAR_LCUB=123,CHAR_RCUB=125,CHAR_LSQB=91,CHAR_BSOL=92,CHAR_RSQB=93,CHAR_DEL=127,SURROGATE_FIRST=55296,SURROGATE_LAST=57343,escapes={[CHAR_b]:"\b",[CHAR_t]:"\t",[CHAR_n]:"\n",[CHAR_f]:"\f",[CHAR_r]:"\r",[CHAR_QUOT]:'"',[CHAR_BSOL]:"\\"};function isDigit(e){return e>=CHAR_0&&e<=CHAR_9}function isHexit(e){return e>=CHAR_A&&e<=CHAR_F||e>=CHAR_a&&e<=CHAR_f||e>=CHAR_0&&e<=CHAR_9}function isBit(e){return e===CHAR_1||e===CHAR_0}function isOctit(e){return e>=CHAR_0&&e<=CHAR_7}function isAlphaNumQuoteHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_APOS||e===CHAR_QUOT||e===CHAR_LOWBAR||e===CHAR_HYPHEN}function isAlphaNumHyphen(e){return e>=CHAR_A&&e<=CHAR_Z||e>=CHAR_a&&e<=CHAR_z||e>=CHAR_0&&e<=CHAR_9||e===CHAR_LOWBAR||e===CHAR_HYPHEN}const _type=Symbol("type"),_declared=Symbol("declared"),hasOwnProperty=Object.prototype.hasOwnProperty,defineProperty=Object.defineProperty,descriptor={configurable:!0,enumerable:!0,writable:!0,value:void 0};function hasKey(e,t){return!!hasOwnProperty.call(e,t)||("__proto__"===t&&defineProperty(e,"__proto__",descriptor),!1)}const INLINE_TABLE=Symbol("inline-table");function InlineTable(){return Object.defineProperties({},{[_type]:{value:INLINE_TABLE}})}function isInlineTable(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_TABLE}const TABLE=Symbol("table");function Table(){return Object.defineProperties({},{[_type]:{value:TABLE},[_declared]:{value:!1,writable:!0}})}function isTable(e){return null!==e&&"object"==typeof e&&e[_type]===TABLE}const _contentType=Symbol("content-type"),INLINE_LIST=Symbol("inline-list");function InlineList(e){return Object.defineProperties([],{[_type]:{value:INLINE_LIST},[_contentType]:{value:e}})}function isInlineList(e){return null!==e&&"object"==typeof e&&e[_type]===INLINE_LIST}const LIST=Symbol("list");function List(){return Object.defineProperties([],{[_type]:{value:LIST}})}function isList(e){return null!==e&&"object"==typeof e&&e[_type]===LIST}let _custom;try{const utilInspect=eval("require('util').inspect");_custom=utilInspect.custom}catch(e){}const _inspect=_custom||"inspect";class BoxedBigInt{constructor(e){try{this.value=__webpack_require__.g.BigInt.asIntN(64,e)}catch(e){this.value=null}Object.defineProperty(this,_type,{value:INTEGER})}isNaN(){return null===this.value}toString(){return String(this.value)}[_inspect](){return`[BigInt: ${this.toString()}]}`}valueOf(){return this.value}}const INTEGER=Symbol("integer");function Integer(e){let t=Number(e);return Object.is(t,-0)&&(t=0),__webpack_require__.g.BigInt&&!Number.isSafeInteger(t)?new BoxedBigInt(e):Object.defineProperties(new Number(t),{isNaN:{value:function(){return isNaN(this)}},[_type]:{value:INTEGER},[_inspect]:{value:()=>`[Integer: ${e}]`}})}function isInteger(e){return null!==e&&"object"==typeof e&&e[_type]===INTEGER}const FLOAT=Symbol("float");function Float(e){return Object.defineProperties(new Number(e),{[_type]:{value:FLOAT},[_inspect]:{value:()=>`[Float: ${e}]`}})}function isFloat(e){return null!==e&&"object"==typeof e&&e[_type]===FLOAT}function tomlType(e){const t=typeof e;if("object"===t){if(null===e)return"null";if(e instanceof Date)return"datetime";if(_type in e)switch(e[_type]){case INLINE_TABLE:return"inline-table";case INLINE_LIST:return"inline-list";case TABLE:return"table";case LIST:return"list";case FLOAT:return"float";case INTEGER:return"integer"}}return t}function makeParserClass(e){return class extends e{constructor(){super(),this.ctx=this.obj=Table()}atEndOfWord(){return this.char===CHAR_NUM||this.char===CTRL_I||this.char===CHAR_SP||this.atEndOfLine()}atEndOfLine(){return this.char===e.END||this.char===CTRL_J||this.char===CTRL_M}parseStart(){if(this.char===e.END)return null;if(this.char===CHAR_LSQB)return this.call(this.parseTableOrList);if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(isAlphaNumQuoteHyphen(this.char))return this.callNow(this.parseAssignStatement);throw this.error(new TomlError(`Unknown character "${this.char}"`))}parseWhitespaceToEOL(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M)return null;if(this.char===CHAR_NUM)return this.goto(this.parseComment);if(this.char===e.END||this.char===CTRL_J)return this.return();throw this.error(new TomlError("Unexpected character, expected only whitespace or comments till end of line"))}parseAssignStatement(){return this.callNow(this.parseAssign,this.recordAssignStatement)}recordAssignStatement(e){let t=this.ctx,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseWhitespaceToEOL)}parseAssign(){return this.callNow(this.parseKeyword,this.recordAssignKeyword)}recordAssignKeyword(e){return this.state.resultTable?this.state.resultTable.push(e):this.state.resultTable=[e],this.goto(this.parseAssignKeywordPreDot)}parseAssignKeywordPreDot(){return this.char===CHAR_PERIOD?this.next(this.parseAssignKeywordPostDot):this.char!==CHAR_SP&&this.char!==CTRL_I?this.goto(this.parseAssignEqual):void 0}parseAssignKeywordPostDot(){if(this.char!==CHAR_SP&&this.char!==CTRL_I)return this.callNow(this.parseKeyword,this.recordAssignKeyword)}parseAssignEqual(){if(this.char===CHAR_EQUALS)return this.next(this.parseAssignPreValue);throw this.error(new TomlError('Invalid character, expected "="'))}parseAssignPreValue(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseValue,this.recordAssignValue)}recordAssignValue(e){return this.returnNow({key:this.state.resultTable,value:e})}parseComment(){do{if(this.char===e.END||this.char===CTRL_J)return this.return()}while(this.nextChar())}parseTableOrList(){if(this.char!==CHAR_LSQB)return this.goto(this.parseTable);this.next(this.parseList)}parseTable(){return this.ctx=this.obj,this.goto(this.parseTableNext)}parseTableNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseTableMore)}parseTableMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)&&(!isTable(this.ctx[e])||this.ctx[e][_declared]))throw this.error(new TomlError("Can't redefine existing key"));return this.ctx=this.ctx[e]=this.ctx[e]||Table(),this.ctx[_declared]=!0,this.next(this.parseWhitespaceToEOL)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e))if(isTable(this.ctx[e]))this.ctx=this.ctx[e];else{if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine existing key"));this.ctx=this.ctx[e][this.ctx[e].length-1]}else this.ctx=this.ctx[e]=Table();return this.next(this.parseTableNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseList(){return this.ctx=this.obj,this.goto(this.parseListNext)}parseListNext(){return this.char===CHAR_SP||this.char===CTRL_I?null:this.callNow(this.parseKeyword,this.parseListMore)}parseListMore(e){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CHAR_RSQB){if(hasKey(this.ctx,e)||(this.ctx[e]=List()),isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(!isList(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));{const t=Table();this.ctx[e].push(t),this.ctx=t}return this.next(this.parseListEnd)}if(this.char===CHAR_PERIOD){if(hasKey(this.ctx,e)){if(isInlineList(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline array"));if(isInlineTable(this.ctx[e]))throw this.error(new TomlError("Can't extend an inline table"));if(isList(this.ctx[e]))this.ctx=this.ctx[e][this.ctx[e].length-1];else{if(!isTable(this.ctx[e]))throw this.error(new TomlError("Can't redefine an existing key"));this.ctx=this.ctx[e]}}else this.ctx=this.ctx[e]=Table();return this.next(this.parseListNext)}throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseListEnd(e){if(this.char===CHAR_RSQB)return this.next(this.parseWhitespaceToEOL);throw this.error(new TomlError("Unexpected character, expected whitespace, . or ]"))}parseValue(){if(this.char===e.END)throw this.error(new TomlError("Key without value"));if(this.char===CHAR_QUOT)return this.next(this.parseDoubleString);if(this.char===CHAR_APOS)return this.next(this.parseSingleString);if(this.char===CHAR_HYPHEN||this.char===CHAR_PLUS)return this.goto(this.parseNumberSign);if(this.char===CHAR_i)return this.next(this.parseInf);if(this.char===CHAR_n)return this.next(this.parseNan);if(isDigit(this.char))return this.goto(this.parseNumberOrDateTime);if(this.char===CHAR_t||this.char===CHAR_f)return this.goto(this.parseBoolean);if(this.char===CHAR_LSQB)return this.call(this.parseInlineList,this.recordValue);if(this.char===CHAR_LCUB)return this.call(this.parseInlineTable,this.recordValue);throw this.error(new TomlError("Unexpected character, expecting string, number, datetime, boolean, inline array or inline table"))}recordValue(e){return this.returnNow(e)}parseInf(){if(this.char===CHAR_n)return this.next(this.parseInf2);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseInf2(){if(this.char===CHAR_f)return"-"===this.state.buf?this.return(-1/0):this.return(1/0);throw this.error(new TomlError('Unexpected character, expected "inf", "+inf" or "-inf"'))}parseNan(){if(this.char===CHAR_a)return this.next(this.parseNan2);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseNan2(){if(this.char===CHAR_n)return this.return(NaN);throw this.error(new TomlError('Unexpected character, expected "nan"'))}parseKeyword(){return this.char===CHAR_QUOT?this.next(this.parseBasicString):this.char===CHAR_APOS?this.next(this.parseLiteralString):this.goto(this.parseBareKey)}parseBareKey(){do{if(this.char===e.END)throw this.error(new TomlError("Key ended without value"));if(!isAlphaNumHyphen(this.char)){if(0===this.state.buf.length)throw this.error(new TomlError("Empty bare keys are not allowed"));return this.returnNow()}this.consume()}while(this.nextChar())}parseSingleString(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiStringMaybe):this.goto(this.parseLiteralString)}parseLiteralString(){do{if(this.char===CHAR_APOS)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiStringMaybe(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiString):this.returnNow()}parseLiteralMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseLiteralMultiStringContent):this.goto(this.parseLiteralMultiStringContent)}parseLiteralMultiStringContent(){do{if(this.char===CHAR_APOS)return this.next(this.parseLiteralMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}parseLiteralMultiEnd(){return this.char===CHAR_APOS?this.next(this.parseLiteralMultiEnd2):(this.state.buf+="'",this.goto(this.parseLiteralMultiStringContent))}parseLiteralMultiEnd2(){return this.char===CHAR_APOS?this.return():(this.state.buf+="''",this.goto(this.parseLiteralMultiStringContent))}parseDoubleString(){return this.char===CHAR_QUOT?this.next(this.parseMultiStringMaybe):this.goto(this.parseBasicString)}parseBasicString(){do{if(this.char===CHAR_BSOL)return this.call(this.parseEscape,this.recordEscapeReplacement);if(this.char===CHAR_QUOT)return this.return();if(this.atEndOfLine())throw this.error(new TomlError("Unterminated string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}recordEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseBasicString)}parseMultiStringMaybe(){return this.char===CHAR_QUOT?this.next(this.parseMultiString):this.returnNow()}parseMultiString(){return this.char===CTRL_M?null:this.char===CTRL_J?this.next(this.parseMultiStringContent):this.goto(this.parseMultiStringContent)}parseMultiStringContent(){do{if(this.char===CHAR_BSOL)return this.call(this.parseMultiEscape,this.recordMultiEscapeReplacement);if(this.char===CHAR_QUOT)return this.next(this.parseMultiEnd);if(this.char===e.END)throw this.error(new TomlError("Unterminated multi-line string"));if(this.char===CHAR_DEL||this.char<=CTRL_CHAR_BOUNDARY&&this.char!==CTRL_I&&this.char!==CTRL_J&&this.char!==CTRL_M)throw this.errorControlCharInString();this.consume()}while(this.nextChar())}errorControlCharInString(){let e="\\u00";return this.char<16&&(e+="0"),e+=this.char.toString(16),this.error(new TomlError(`Control characters (codes < 0x1f and 0x7f) are not allowed in strings, use ${e} instead`))}recordMultiEscapeReplacement(e){return this.state.buf+=e,this.goto(this.parseMultiStringContent)}parseMultiEnd(){return this.char===CHAR_QUOT?this.next(this.parseMultiEnd2):(this.state.buf+='"',this.goto(this.parseMultiStringContent))}parseMultiEnd2(){return this.char===CHAR_QUOT?this.return():(this.state.buf+='""',this.goto(this.parseMultiStringContent))}parseMultiEscape(){return this.char===CTRL_M||this.char===CTRL_J?this.next(this.parseMultiTrim):this.char===CHAR_SP||this.char===CTRL_I?this.next(this.parsePreMultiTrim):this.goto(this.parseEscape)}parsePreMultiTrim(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===CTRL_M||this.char===CTRL_J)return this.next(this.parseMultiTrim);throw this.error(new TomlError("Can't escape whitespace"))}parseMultiTrim(){return this.char===CTRL_J||this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M?null:this.returnNow()}parseEscape(){if(this.char in escapes)return this.return(escapes[this.char]);if(this.char===CHAR_u)return this.call(this.parseSmallUnicode,this.parseUnicodeReturn);if(this.char===CHAR_U)return this.call(this.parseLargeUnicode,this.parseUnicodeReturn);throw this.error(new TomlError("Unknown escape character: "+this.char))}parseUnicodeReturn(e){try{const t=parseInt(e,16);if(t>=SURROGATE_FIRST&&t<=SURROGATE_LAST)throw this.error(new TomlError("Invalid unicode, character in range 0xD800 - 0xDFFF is reserved"));return this.returnNow(String.fromCodePoint(t))}catch(e){throw this.error(TomlError.wrap(e))}}parseSmallUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=4)return this.return()}parseLargeUnicode(){if(!isHexit(this.char))throw this.error(new TomlError("Invalid character in unicode sequence, expected hex"));if(this.consume(),this.state.buf.length>=8)return this.return()}parseNumberSign(){return this.consume(),this.next(this.parseMaybeSignedInfOrNan)}parseMaybeSignedInfOrNan(){return this.char===CHAR_i?this.next(this.parseInf):this.char===CHAR_n?this.next(this.parseNan):this.callNow(this.parseNoUnder,this.parseNumberIntegerStart)}parseNumberIntegerStart(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberIntegerExponentOrDecimal)):this.goto(this.parseNumberInteger)}parseNumberIntegerExponentOrDecimal(){return this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Integer(this.state.buf))}parseNumberInteger(){if(!isDigit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnder);if(this.char===CHAR_E||this.char===CHAR_e)return this.consume(),this.next(this.parseNumberExponentSign);if(this.char===CHAR_PERIOD)return this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseNoUnder(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD||this.char===CHAR_E||this.char===CHAR_e)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNoUnderHexOctBinLiteral(){if(this.char===CHAR_LOWBAR||this.char===CHAR_PERIOD)throw this.error(new TomlError("Unexpected character, expected digit"));if(this.atEndOfWord())throw this.error(new TomlError("Incomplete number"));return this.returnNow()}parseNumberFloat(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberFloat):isDigit(this.char)?void this.consume():this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.returnNow(Float(this.state.buf))}parseNumberExponentSign(){if(isDigit(this.char))return this.goto(this.parseNumberExponent);if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS)throw this.error(new TomlError("Unexpected character, expected -, + or digit"));this.consume(),this.call(this.parseNoUnder,this.parseNumberExponent)}parseNumberExponent(){if(!isDigit(this.char))return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder):this.returnNow(Float(this.state.buf));this.consume()}parseNumberOrDateTime(){return this.char===CHAR_0?(this.consume(),this.next(this.parseNumberBaseOrDateTime)):this.goto(this.parseNumberOrDateTimeOnly)}parseNumberOrDateTimeOnly(){return this.char===CHAR_LOWBAR?this.call(this.parseNoUnder,this.parseNumberInteger):isDigit(this.char)?(this.consume(),void(this.state.buf.length>4&&this.next(this.parseNumberInteger))):this.char===CHAR_E||this.char===CHAR_e?(this.consume(),this.next(this.parseNumberExponentSign)):this.char===CHAR_PERIOD?(this.consume(),this.call(this.parseNoUnder,this.parseNumberFloat)):this.char===CHAR_HYPHEN?this.goto(this.parseDateTime):this.char===CHAR_COLON?this.goto(this.parseOnlyTimeHour):this.returnNow(Integer(this.state.buf))}parseDateTimeOnly(){if(this.state.buf.length<4){if(isDigit(this.char))return this.consume();if(this.char===CHAR_COLON)return this.goto(this.parseOnlyTimeHour);throw this.error(new TomlError("Expected digit while parsing year part of a date"))}if(this.char===CHAR_HYPHEN)return this.goto(this.parseDateTime);throw this.error(new TomlError("Expected hyphen (-) while parsing year part of date"))}parseNumberBaseOrDateTime(){return this.char===CHAR_b?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerBin)):this.char===CHAR_o?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerOct)):this.char===CHAR_x?(this.consume(),this.call(this.parseNoUnderHexOctBinLiteral,this.parseIntegerHex)):this.char===CHAR_PERIOD?this.goto(this.parseNumberInteger):isDigit(this.char)?this.goto(this.parseDateTimeOnly):this.returnNow(Integer(this.state.buf))}parseIntegerHex(){if(!isHexit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerOct(){if(!isOctit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseIntegerBin(){if(!isBit(this.char)){if(this.char===CHAR_LOWBAR)return this.call(this.parseNoUnderHexOctBinLiteral);{const e=Integer(this.state.buf);if(e.isNaN())throw this.error(new TomlError("Invalid number"));return this.returnNow(e)}}this.consume()}parseDateTime(){if(this.state.buf.length<4)throw this.error(new TomlError("Years less than 1000 must be zero padded to four characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseDateMonth)}parseDateMonth(){if(this.char===CHAR_HYPHEN){if(this.state.buf.length<2)throw this.error(new TomlError("Months less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseDateDay)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseDateDay(){if(this.char===CHAR_T||this.char===CHAR_SP){if(this.state.buf.length<2)throw this.error(new TomlError("Days less than 10 must be zero padded to two characters"));return this.state.result+="-"+this.state.buf,this.state.buf="",this.next(this.parseStartTimeHour)}if(this.atEndOfWord())return this.returnNow(createDate(this.state.result+"-"+this.state.buf));if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseStartTimeHour(){return this.atEndOfWord()?this.returnNow(createDate(this.state.result)):this.goto(this.parseTimeHour)}parseTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result+="T"+this.state.buf,this.state.buf="",this.next(this.parseTimeMin)}if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));this.consume()}parseTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeSec);throw this.error(new TomlError("Incomplete datetime"))}this.consume()}parseTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete datetime"));if(this.consume(),2===this.state.buf.length)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseTimeZoneOrFraction)}parseOnlyTimeHour(){if(this.char===CHAR_COLON){if(this.state.buf.length<2)throw this.error(new TomlError("Hours less than 10 must be zero padded to two characters"));return this.state.result=this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeMin)}throw this.error(new TomlError("Incomplete time"))}parseOnlyTimeMin(){if(!(this.state.buf.length<2&&isDigit(this.char))){if(2===this.state.buf.length&&this.char===CHAR_COLON)return this.state.result+=":"+this.state.buf,this.state.buf="",this.next(this.parseOnlyTimeSec);throw this.error(new TomlError("Incomplete time"))}this.consume()}parseOnlyTimeSec(){if(!isDigit(this.char))throw this.error(new TomlError("Incomplete time"));if(this.consume(),2===this.state.buf.length)return this.next(this.parseOnlyTimeFractionMaybe)}parseOnlyTimeFractionMaybe(){if(this.state.result+=":"+this.state.buf,this.char!==CHAR_PERIOD)return this.return(createTime(this.state.result));this.state.buf="",this.next(this.parseOnlyTimeFraction)}parseOnlyTimeFraction(){if(!isDigit(this.char)){if(this.atEndOfWord()){if(0===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));return this.returnNow(createTime(this.state.result+"."+this.state.buf))}throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume()}parseTimeZoneOrFraction(){if(this.char===CHAR_PERIOD)this.consume(),this.next(this.parseDateTimeFraction);else{if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseDateTimeFraction(){if(isDigit(this.char))this.consume();else{if(1===this.state.buf.length)throw this.error(new TomlError("Expected digit in milliseconds"));if(this.char!==CHAR_HYPHEN&&this.char!==CHAR_PLUS){if(this.char===CHAR_Z)return this.consume(),this.return(createDateTime(this.state.result+this.state.buf));if(this.atEndOfWord())return this.returnNow(createDateTimeFloat(this.state.result+this.state.buf));throw this.error(new TomlError("Unexpected character in datetime, expected period (.), minus (-), plus (+) or Z"))}this.consume(),this.next(this.parseTimeZoneHour)}}parseTimeZoneHour(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.next(this.parseTimeZoneSep)}parseTimeZoneSep(){if(this.char!==CHAR_COLON)throw this.error(new TomlError("Unexpected character in datetime, expected colon"));this.consume(),this.next(this.parseTimeZoneMin)}parseTimeZoneMin(){if(!isDigit(this.char))throw this.error(new TomlError("Unexpected character in datetime, expected digit"));if(this.consume(),/\d\d$/.test(this.state.buf))return this.return(createDateTime(this.state.result+this.state.buf))}parseBoolean(){return this.char===CHAR_t?(this.consume(),this.next(this.parseTrue_r)):this.char===CHAR_f?(this.consume(),this.next(this.parseFalse_a)):void 0}parseTrue_r(){if(this.char===CHAR_r)return this.consume(),this.next(this.parseTrue_u);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_u(){if(this.char===CHAR_u)return this.consume(),this.next(this.parseTrue_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseTrue_e(){if(this.char===CHAR_e)return this.return(!0);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_a(){if(this.char===CHAR_a)return this.consume(),this.next(this.parseFalse_l);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_l(){if(this.char===CHAR_l)return this.consume(),this.next(this.parseFalse_s);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_s(){if(this.char===CHAR_s)return this.consume(),this.next(this.parseFalse_e);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseFalse_e(){if(this.char===CHAR_e)return this.return(!1);throw this.error(new TomlError("Invalid boolean, expected true or false"))}parseInlineList(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===e.END)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_NUM?this.call(this.parseComment):this.char===CHAR_RSQB?this.return(this.state.resultArr||InlineList()):this.callNow(this.parseValue,this.recordInlineListValue)}recordInlineListValue(e){if(this.state.resultArr){const t=this.state.resultArr[_contentType],n=tomlType(e);if(t!==n)throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${t} and ${n}`))}else this.state.resultArr=InlineList(tomlType(e));return isFloat(e)||isInteger(e)?this.state.resultArr.push(e.valueOf()):this.state.resultArr.push(e),this.goto(this.parseInlineListNext)}parseInlineListNext(){if(this.char===CHAR_SP||this.char===CTRL_I||this.char===CTRL_M||this.char===CTRL_J)return null;if(this.char===CHAR_NUM)return this.call(this.parseComment);if(this.char===CHAR_COMMA)return this.next(this.parseInlineList);if(this.char===CHAR_RSQB)return this.goto(this.parseInlineList);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}parseInlineTable(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));return this.char===CHAR_RCUB?this.return(this.state.resultTable||InlineTable()):(this.state.resultTable||(this.state.resultTable=InlineTable()),this.callNow(this.parseAssign,this.recordInlineTableValue))}recordInlineTableValue(e){let t=this.state.resultTable,n=e.key.pop();for(let n of e.key){if(hasKey(t,n)&&(!isTable(t[n])||t[n][_declared]))throw this.error(new TomlError("Can't redefine existing key"));t=t[n]=t[n]||Table()}if(hasKey(t,n))throw this.error(new TomlError("Can't redefine existing key"));return isInteger(e.value)||isFloat(e.value)?t[n]=e.value.valueOf():t[n]=e.value,this.goto(this.parseInlineTableNext)}parseInlineTableNext(){if(this.char===CHAR_SP||this.char===CTRL_I)return null;if(this.char===e.END||this.char===CHAR_NUM||this.char===CTRL_J||this.char===CTRL_M)throw this.error(new TomlError("Unterminated inline array"));if(this.char===CHAR_COMMA)return this.next(this.parseInlineTable);if(this.char===CHAR_RCUB)return this.goto(this.parseInlineTable);throw this.error(new TomlError("Invalid character, expected whitespace, comma (,) or close bracket (])"))}}}},5352:(e,t,n)=>{"use strict";e.exports=function(e,t){t||(t={});const n=t.blocksize||40960,s=new i;return new Promise(((e,t)=>{setImmediate(o,0,n,e,t)}));function o(t,n,i,a){if(t>=e.length)try{return i(s.finish())}catch(t){return a(r(t,e))}try{s.parse(e.slice(t,t+n)),setImmediate(o,t+n,n,i,a)}catch(t){a(r(t,e))}}};const i=n(2725),r=n(4354)},4354:e=>{"use strict";e.exports=function(e,t){if(null==e.pos||null==e.line)return e;let n=e.message;if(n+=` at row ${e.line+1}, col ${e.col+1}, pos ${e.pos}:\n`,t&&t.split){const i=t.split(/\n/),r=String(Math.min(i.length,e.line+3)).length;let s=" ";for(;s.length "+i[t]+"\n",n+=s+" ";for(let t=0;t{"use strict";e.exports=function(e){return e?function(e){const t=new r;return e.setEncoding("utf8"),new Promise(((n,i)=>{let r,s=!1,o=!1;function a(){if(s=!0,!r)try{n(t.finish())}catch(e){i(e)}}function l(e){o=!0,i(e)}e.once("end",a),e.once("error",l),function n(){let i;for(r=!0;null!==(i=e.read());)try{t.parse(i)}catch(e){return l(e)}if(r=!1,s)return a();o||e.once("readable",n)}()}))}(e):function(){const e=new r;return new i.Transform({objectMode:!0,transform(t,n,i){try{e.parse(t.toString(n))}catch(e){this.emit("error",e)}i()},flush(t){try{this.push(e.finish())}catch(e){this.emit("error",e)}t()}})}()};const i=n(9191),r=n(2725)},4567:(e,t,n)=>{"use strict";e.exports=function(e){n.g.Buffer&&n.g.Buffer.isBuffer(e)&&(e=e.toString("utf8"));const t=new i;try{return t.parse(e),t.finish()}catch(t){throw r(t,e)}};const i=n(2725),r=n(4354)},2884:(e,t,n)=>{"use strict";e.exports=n(4567),e.exports.async=n(5352),e.exports.stream=n(2173),e.exports.prettyError=n(4354)},5249:e=>{"use strict";function t(e){return new Error("Can only stringify objects, not "+e)}function n(e){return Object.keys(e).filter((t=>s(e[t])))}function i(e){let t=Array.isArray(e)?[]:Object.prototype.hasOwnProperty.call(e,"__proto__")?{["__proto__"]:void 0}:{};for(let n of Object.keys(e))e[n]&&"function"==typeof e[n].toJSON&&!("toISOString"in e[n])?t[n]=e[n].toJSON():t[n]=e[n];return t}function r(e,l,c){var p,d;p=n(c=i(c)),d=function(e){return Object.keys(e).filter((t=>!s(e[t])))}(c);var m=[],f=l||"";p.forEach((e=>{var t=o(c[e]);"undefined"!==t&&"null"!==t&&m.push(f+a(e)+" = "+u(c[e],!0))})),m.length>0&&m.push("");var g=e&&p.length>0?l+" ":"";return d.forEach((s=>{m.push(function(e,s,l,c){var u=o(c);if("array"===u)return function(e,n,s,l){h(l=i(l));var c=o(l[0]);if("table"!==c)throw t(c);var u=e+a(s),p="";return l.forEach((e=>{p.length>0&&(p+="\n"),p+=n+"[["+u+"]]\n",p+=r(u+".",n,e)})),p}(e,s,l,c);if("table"===u)return function(e,t,i,s){var o=e+a(i),l="";return n(s).length>0&&(l+=t+"["+o+"]\n"),l+r(o+".",t,s)}(e,s,l,c);throw t(u)}(e,g,s,c[s]))})),m.join("\n")}function s(e){switch(o(e)){case"undefined":case"null":case"integer":case"nan":case"float":case"boolean":case"string":case"datetime":return!0;case"array":return 0===e.length||"table"!==o(e[0]);case"table":return 0===Object.keys(e).length;default:return!1}}function o(e){return void 0===e?"undefined":null===e?"null":"bigint"==typeof e||Number.isInteger(e)&&!Object.is(e,-0)?"integer":"number"==typeof e?"float":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"toISOString"in e?isNaN(e)?"undefined":"datetime":Array.isArray(e)?"array":"table"}function a(e){var t=String(e);return/^[-A-Za-z0-9_]+$/.test(t)?t:l(t)}function l(e){return'"'+c(e).replace(/"/g,'\\"')+'"'}function c(e){return e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/([\u0000-\u001f\u007f])/,(e=>"\\u"+function(e,t){for(;t.length<4;)t="0"+t;return t}(0,e.codePointAt(0).toString(16))))}function u(e,t){let n=o(e);return"string"===n&&(t&&/\n/.test(e)?n="string-multiline":!/[\b\t\n\f\r']/.test(e)&&/"/.test(e)&&(n="string-literal")),p(e,n)}function p(e,n){switch(n||(n=o(e)),n){case"string-multiline":return function(e){let t=e.split(/\n/).map((e=>c(e).replace(/"(?="")/g,'\\"'))).join("\n");return'"'===t.slice(-1)&&(t+="\\\n"),'"""\n'+t+'"""'}(e);case"string":return l(e);case"string-literal":return"'"+e+"'";case"integer":return d(e);case"float":return function(e){if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Object.is(e,NaN))return"nan";if(Object.is(e,-0))return"-0.0";var t=String(e).split("."),n=t[0],i=t[1]||0;return d(n)+"."+i}(e);case"boolean":return function(e){return String(e)}(e);case"datetime":return function(e){return e.toISOString()}(e);case"array":return function(e){const t=h(e=i(e));var n="[",r=e.map((e=>p(e,t)));return r.join(", ").length>60||/\n/.test(r)?n+="\n "+r.join(",\n ")+"\n":n+=" "+r.join(", ")+(r.length>0?" ":""),n+"]"}(e.filter((e=>"null"!==o(e)&&"undefined"!==o(e)&&"nan"!==o(e))));case"table":return function(e){e=i(e);var t=[];return Object.keys(e).forEach((n=>{t.push(a(n)+" = "+u(e[n],!1))})),"{ "+t.join(", ")+(t.length>0?" ":"")+"}"}(e);default:throw t(n)}}function d(e){return String(e).replace(/\B(?=(\d{3})+(?!\d))/g,"_")}function h(e){const t=function(e){var t=o(e[0]);return e.every((e=>o(e)===t))?t:e.every((e=>{return"float"===(t=o(e))||"integer"===t;var t}))?"float":"mixed"}(e);if("mixed"===t)throw new Error("Array values can't have mixed types");return t}e.exports=function(e){if(null===e)throw t("null");if(void 0===e)throw t("undefined");if("object"!=typeof e)throw t(typeof e);if("function"==typeof e.toJSON&&(e=e.toJSON()),null==e)return null;const n=o(e);if("table"!==n)throw t(n);return r("","",e)},e.exports.value=p},2125:(e,t,n)=>{"use strict";t.parse=n(2884),n(5249)},7588:e=>{"use strict";const t=[],n=[],i=(e,i)=>{if(e===i)return 0;const r=e;e.length>i.length&&(e=i,i=r);let s=e.length,o=i.length;for(;s>0&&e.charCodeAt(~-s)===i.charCodeAt(~-o);)s--,o--;let a,l,c,u,p=0;for(;pl?u>l?l+1:u:u>c?c+1:u;return l};e.exports=i,e.exports.default=i},2797:(e,t,n)=>{"use strict";e.exports=n(3374)},3374:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,n(485).default.install();const s=n(7504);r(n(7504),t);class o extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",(e=>this.fireError(e))),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=o;class a extends s.AbstractMessageWriter{constructor(e){super(),this.context=e,this.errorCount=0,e.addEventListener("error",(e=>this.fireError(e)))}write(e){try{return this.context.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=a,t.createMessageConnection=function(e,t,n,i){return void 0===n&&(n=s.NullLogger),s.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),s.createMessageConnection(e,t,n,i)}},485:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(9872),r=n(4469),s=n(2479),o=n(9053);class a extends o.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return a.emptyBuffer}fromString(e,t){return(new TextEncoder).encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}a.emptyBuffer=new Uint8Array(0);class l{constructor(e){this.socket=e,this._onData=new s.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then((e=>{this._onData.fire(new Uint8Array(e))}))},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}onData(e){return this._onData.event(e)}}class c{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),r.Disposable.create((()=>this.socket.removeEventListener("close",e)))}onError(e){return this.socket.addEventListener("error",e),r.Disposable.create((()=>this.socket.removeEventListener("error",e)))}onEnd(e){return this.socket.addEventListener("end",e),r.Disposable.create((()=>this.socket.removeEventListener("end",e)))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}const u=new TextEncoder,p=Object.freeze({messageBuffer:Object.freeze({create:e=>new a(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw new Error(`In a Browser environments only utf-8 text encding is supported. But got encoding: ${t.charset}`);return Promise.resolve(u.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new l(e),asWritableStream:e=>new c(e)}),console,timer:Object.freeze({setTimeout:(e,t,...n)=>setTimeout(e,t,...n),clearTimeout(e){clearTimeout(e)},setImmediate:(e,...t)=>setTimeout(e,0,...t),clearImmediate(e){clearTimeout(e)}})});function d(){return p}!function(e){e.install=function(){i.default.install(p)}}(d||(d={})),t.default=d},7504:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.ProgressType=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.RAL=void 0,t.CancellationStrategy=void 0;const i=n(9263);Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return i.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return i.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return i.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return i.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return i.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return i.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return i.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return i.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return i.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return i.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return i.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return i.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return i.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return i.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return i.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return i.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return i.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return i.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return i.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return i.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return i.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return i.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return i.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return i.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return i.ParameterStructures}});const r=n(4469);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return r.Disposable}});const s=n(2479);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return s.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return s.Emitter}});const o=n(6368);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});const a=n(5132);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return a.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return a.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return a.ReadableStreamMessageReader}});const l=n(8633);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return l.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return l.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return l.WriteableStreamMessageWriter}});const c=n(3467);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return c.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return c.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return c.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return c.createMessageConnection}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return c.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return c.Trace}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return c.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return c.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return c.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return c.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return c.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return c.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return c.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return c.CancellationStrategy}});const u=n(9872);t.RAL=u.default},6368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:s.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s.Event.None}),e.is=function(t){const n=t;return n&&(n===e.None||n===e.Cancelled||r.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(o=t.CancellationToken||(t.CancellationToken={}));const a=Object.freeze((function(e,t){const n=i.default().timer.setTimeout(e.bind(t),0);return{dispose(){i.default().timer.clearTimeout(n)}}}));class l{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new s.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new l),this._token}cancel(){this._token?this._token.cancel():this._token=o.Cancelled}dispose(){this._token?this._token instanceof l&&this._token.dispose():this._token=o.None}}},3467:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.Trace=t.NullLogger=t.ProgressType=void 0;const i=n(9872),r=n(5306),s=n(9263),o=n(3820),a=n(2479),l=n(6368);var c,u,p,d,h,m,f,g,y,_,v,T,b;!function(e){e.type=new s.NotificationType("$/cancelRequest")}(c||(c={})),function(e){e.type=new s.NotificationType("$/progress")}(u||(u={})),t.ProgressType=class{constructor(){}},function(e){e.is=function(e){return r.func(e)}}(p||(p={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){if(!r.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(h=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new s.NotificationType("$/setTrace")}(m=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new s.NotificationType("$/logTrace")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(g=t.ConnectionErrors||(t.ConnectionErrors={}));class I extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,I.prototype)}}t.ConnectionError=I,function(e){e.is=function(e){const t=e;return t&&r.func(t.cancelUndispatched)}}(y=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new l.CancellationTokenSource}),e.is=function(e){const t=e;return t&&r.func(t.createCancellationTokenSource)}}(_=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation(e,t){e.sendNotification(c.type,{id:t})},cleanup(e){}}),e.is=function(e){const t=e;return t&&r.func(t.sendCancellation)&&r.func(t.cleanup)}}(v=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:_.Message,sender:v.Message}),e.is=function(e){const t=e;return t&&_.is(t.receiver)&&v.is(t.sender)}}(T=t.CancellationStrategy||(t.CancellationStrategy={})),(t.ConnectionOptions||(t.ConnectionOptions={})).is=function(e){const t=e;return t&&(T.is(t.cancellationStrategy)||y.is(t.connectionStrategy))},function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(b||(b={})),t.createMessageConnection=function(e,n,y,_){const v=void 0!==y?y:t.NullLogger;let S=0,x=0,C=0;const w="2.0";let E;const k=Object.create(null);let D;const A=Object.create(null),P=new Map;let R,F,N=new o.LinkedMap,M=Object.create(null),O=Object.create(null),L=d.Off,U=h.Text,q=b.New;const V=new a.Emitter,B=new a.Emitter,W=new a.Emitter,j=new a.Emitter,z=new a.Emitter,$=_&&_.cancellationStrategy?_.cancellationStrategy:T.Message;function H(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function G(e){}function K(){return q===b.Listening}function J(){return q===b.Closed}function Y(){return q===b.Disposed}function Q(){q!==b.New&&q!==b.Listening||(q=b.Closed,B.fire(void 0))}function Z(){R||0===N.size||(R=i.default().timer.setImmediate((()=>{R=void 0,function(){if(0===N.size)return;const e=N.shift();try{s.isRequestMessage(e)?function(e){if(Y())return;function t(t,i,r){const o={jsonrpc:w,id:e.id};t instanceof s.ResponseError?o.error=t.toJson():o.result=void 0===t?null:t,ee(o,i,r),n.write(o)}function i(t,i,r){const s={jsonrpc:w,id:e.id,error:t.toJson()};ee(s,i,r),n.write(s)}!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Received request '${e.method} - (${e.id})'.`,t)}else te("receive-request",e)}(e);const o=k[e.method];let a,l;o&&(a=o.type,l=o.handler);const c=Date.now();if(l||E){const o=String(e.id),u=$.receiver.createCancellationTokenSource(o);O[o]=u;try{let p;if(l)if(void 0===e.params){if(void 0!==a&&0!==a.numberOfParams)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines ${a.numberOfParams} params but recevied none.`),e.method,c);p=l(u.token)}else if(Array.isArray(e.params)){if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byName)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,c);p=l(...e.params,u.token)}else{if(void 0!==a&&a.parameterStructures===s.ParameterStructures.byPosition)return void i(new s.ResponseError(s.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,c);p=l(e.params,u.token)}else E&&(p=E(e.method,e.params,u.token));const d=p;p?d.then?d.then((n=>{delete O[o],t(n,e.method,c)}),(t=>{delete O[o],t instanceof s.ResponseError?i(t,e.method,c):t&&r.string(t.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)})):(delete O[o],t(p,e.method,c)):(delete O[o],function(t,i,r){void 0===t&&(t=null);const s={jsonrpc:w,id:e.id,result:t};ee(s,i,r),n.write(s)}(p,e.method,c))}catch(n){delete O[o],n instanceof s.ResponseError?t(n,e.method,c):n&&r.string(n.message)?i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,c):i(new s.ResponseError(s.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else i(new s.ResponseError(s.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):s.isNotificationMessage(e)?function(e){if(Y())return;let t,n;if(e.method===c.type.method)n=e=>{const t=e.id,n=O[String(t)];n&&n.cancel()};else{const i=A[e.method];i&&(n=i.handler,t=i.type)}if(n||D)try{!function(e){if(L!==d.Off&&F&&e.method!==f.type.method)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Received notification '${e.method}'.`,t)}else te("receive-notification",e)}(e),n?void 0===e.params?(void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but recevied none.`),n()):Array.isArray(e.params)?(void 0!==t&&(t.parameterStructures===s.ParameterStructures.byName&&v.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&v.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${e.params.length} argumennts`)),n(...e.params)):(void 0!==t&&t.parameterStructures===s.ParameterStructures.byPosition&&v.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params)):D&&D(e.method,e.params)}catch(t){t.message?v.error(`Notification handler '${e.method}' failed with message: ${t.message}`):v.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}(e):s.isResponseMessage(e)?function(e){if(!Y())if(null===e.id)e.error?v.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):v.error("Received response message without id. No further error information provided.");else{const t=String(e.id),n=M[t];if(function(e,t){if(L!==d.Off&&F)if(U===h.Text){let n;if(L===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const i=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";F.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${i}`,n)}else F.log(`Received response ${e.id} without active response promise.`,n)}else te("receive-response",e)}(e,n),n){delete M[t];try{if(e.error){const t=e.error;n.reject(new s.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?v.error(`Response handler '${n.method}' failed with message: ${e.message}`):v.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void v.error("Received empty message.");v.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(r.string(t.id)||r.number(t.id)){const e=String(t.id),n=M[e];n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{Z()}}()})))}e.onClose(Q),e.onError((function(e){V.fire([e,void 0,void 0])})),n.onClose(Q),n.onError((function(e){V.fire(e)}));const X=e=>{try{if(s.isNotificationMessage(e)&&e.method===c.type.method){const t=H(e.params.id),i=N.get(t);if(s.isRequestMessage(i)){const r=null==_?void 0:_.connectionStrategy,s=r&&r.cancelUndispatched?r.cancelUndispatched(i,G):void 0;if(s&&(void 0!==s.error||void 0!==s.result))return N.delete(t),s.id=i.id,ee(s,e.method,Date.now()),void n.write(s)}}!function(e,t){var n;s.isRequestMessage(t)?e.set(H(t.id),t):s.isResponseMessage(t)?e.set(null===(n=t.id)?"res-unknown-"+(++C).toString():"res-"+n.toString(),t):e.set("not-"+(++x).toString(),t)}(N,e)}finally{Z()}};function ee(e,t,n){if(L!==d.Off&&F)if(U===h.Text){let i;L===d.Verbose&&(e.error&&e.error.data?i=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?i=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(i="No result returned.\n\n")),F.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,i)}else te("send-response",e)}function te(e,t){if(!F||L===d.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};F.log(n)}function ne(){if(J())throw new I(g.Closed,"Connection is closed.");if(Y())throw new I(g.Disposed,"Connection is disposed.")}function ie(e){return void 0===e?null:e}function re(e){return null===e?void 0:e}function se(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function oe(e,t){switch(e){case s.ParameterStructures.auto:return se(t)?re(t):[ie(t)];case s.ParameterStructures.byName:if(!se(t))throw new Error("Recevied parameters by name but param is not an object literal.");return re(t);case s.ParameterStructures.byPosition:return[ie(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function ae(e,t){let n;const i=e.numberOfParams;switch(i){case 0:n=void 0;break;case 1:n=oe(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e{let i,o;if(ne(),r.string(e)){i=e;const n=t[0];let r=0,a=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(r=1,a=n);let l=t.length;const c=l-r;switch(c){case 0:o=void 0;break;case 1:o=oe(a,t[r]);break;default:if(a===s.ParameterStructures.byName)throw new Error(`Recevied ${c} parameters for 'by Name' notification parameter structure.`);o=t.slice(r,l).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n)}const a={jsonrpc:w,method:i,params:o};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),F.log(`Sending notification '${e.method}'.`,t)}else te("send-notification",e)}(a),n.write(a)},onNotification:(e,t)=>{let n;return ne(),r.func(e)?D=e:t&&(r.string(e)?(n=e,A[e]={type:void 0,handler:t}):(n=e.method,A[e.method]={type:e,handler:t})),{dispose:()=>{void 0!==n?delete A[n]:D=void 0}}},onProgress:(e,t,n)=>{if(P.has(t))throw new Error(`Progress handler for token ${t} already registered`);return P.set(t,n),{dispose:()=>{P.delete(t)}}},sendProgress:(e,t,n)=>{le.sendNotification(u.type,{token:t,value:n})},onUnhandledProgress:j.event,sendRequest:(e,...t)=>{let i,o,a;if(ne(),function(){if(!K())throw new Error("Call listen() first.")}(),r.string(e)){i=e;const n=t[0],r=t[t.length-1];let c=0,u=s.ParameterStructures.auto;s.ParameterStructures.is(n)&&(c=1,u=n);let p=t.length;l.CancellationToken.is(r)&&(p-=1,a=r);const d=p-c;switch(d){case 0:o=void 0;break;case 1:o=oe(u,t[c]);break;default:if(u===s.ParameterStructures.byName)throw new Error(`Recevied ${d} parameters for 'by Name' request parameter structure.`);o=t.slice(c,p).map((e=>ie(e)))}}else{const n=t;i=e.method,o=ae(e,n);const r=e.numberOfParams;a=l.CancellationToken.is(n[r])?n[r]:void 0}const c=S++;let u;return a&&(u=a.onCancellationRequested((()=>{$.sender.sendCancellation(le,c)}))),new Promise(((e,t)=>{const r={jsonrpc:w,id:c,method:i,params:o};let a={method:i,timerStart:Date.now(),resolve:t=>{e(t),$.sender.cleanup(c),null==u||u.dispose()},reject:e=>{t(e),$.sender.cleanup(c),null==u||u.dispose()}};!function(e){if(L!==d.Off&&F)if(U===h.Text){let t;L===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),F.log(`Sending request '${e.method} - (${e.id})'.`,t)}else te("send-request",e)}(r);try{n.write(r)}catch(e){a.reject(new s.ResponseError(s.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(M[String(c)]=a)}))},onRequest:(e,t)=>{ne();let n=null;return p.is(e)?(n=void 0,E=e):r.string(e)?(n=null,void 0!==t&&(n=e,k[e]={handler:t,type:void 0})):void 0!==t&&(n=e.method,k[e.method]={type:e,handler:t}),{dispose:()=>{null!==n&&(void 0!==n?delete k[n]:E=void 0)}}},trace:(e,t,n)=>{let i=!1,s=h.Text;void 0!==n&&(r.boolean(n)?i=n:(i=n.sendNotification||!1,s=n.traceFormat||h.Text)),L=e,U=s,F=L===d.Off?void 0:t,!i||J()||Y()||le.sendNotification(m.type,{value:d.toString(e)})},onError:V.event,onClose:B.event,onUnhandledNotification:W.event,onDispose:z.event,end:()=>{n.end()},dispose:()=>{if(Y())return;q=b.Disposed,z.fire(void 0);const t=new Error("Connection got disposed.");Object.keys(M).forEach((e=>{M[e].reject(t)})),M=Object.create(null),O=Object.create(null),N=new o.LinkedMap,r.func(n.dispose)&&n.dispose(),r.func(e.dispose)&&e.dispose()},listen:()=>{ne(),function(){if(K())throw new I(g.AlreadyListening,"Connection is already listening")}(),q=b.Listening,e.listen(X)},inspect:()=>{i.default().console.log("inspect")}};return le.onNotification(f.type,(e=>{L!==d.Off&&F&&F.log(e.message,L===d.Verbose?e.verbose:void 0)})),le.onNotification(u.type,(e=>{const t=P.get(e.token);t?t(e.value):j.fire(e)})),le}},4469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(t.Disposable||(t.Disposable={})).create=function(e){return{dispose:e}}},2479:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const i=n(9872);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class r{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let i=0,r=this._callbacks.length;i{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=s,s._noop=function(){}},5306:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))}},3820:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(n=t.Touch||(t.Touch={}));class i{constructor(){this[Symbol.toStringTag]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=n.None){const i=this._map.get(e);if(i)return t!==n.None&&this.touch(i,t),i.value}set(e,t,i=n.None){let r=this._map.get(e);if(r)r.value=t,i!==n.None&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case n.None:this.addItemLast(r);break;case n.First:this.addItemFirst(r);break;case n.Last:default:this.addItemLast(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}values(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}entries(){const e=this,t=this._state;let n=this._head;const i={[Symbol.iterator]:()=>i,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return i}[Symbol.iterator](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=i,t.LRUCache=class extends i{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},9053:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0,t.AbstractMessageBuffer=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,i=0;e:for(;tthis._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const i=this._chunks[0];if(i.byteLength>e){const r=i.slice(0,e);t.set(r,n),n+=e,this._chunks[0]=i.slice(e),this._totalLength-=e,e-=e}else t.set(i,n),n+=i.byteLength,this._chunks.shift(),this._totalLength-=i.byteLength,e-=i.byteLength}return t}}},5132:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const i=n(9872),r=n(5306),s=n(2479);var o;(t.MessageReader||(t.MessageReader={})).is=function(e){let t=e;return t&&r.func(t.listen)&&r.func(t.dispose)&&r.func(t.onError)&&r.func(t.onClose)&&r.func(t.onPartialMessage)};class a{constructor(){this.errorEmitter=new s.Emitter,this.closeEmitter=new s.Emitter,this.partialMessageEmitter=new s.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=a,function(e){e.fromOptions=function(e){var t;let n,r;const s=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)n=null!=e?e:"utf-8";else{if(n=null!==(t=e.charset)&&void 0!==t?t:"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,s.set(r.name,r)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)s.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=i.default().applicationJson.decoder,a.set(o.name,o)),{charset:n,contentDecoder:r,contentDecoders:s,contentTypeDecoder:o,contentTypeDecoders:a}}}(o||(o={})),t.ReadableStreamMessageReader=class extends a{constructor(e,t){super(),this.readable=e,this.options=o.fromOptions(t),this.buffer=i.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(i.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=i.default().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},8633:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const i=n(9872),r=n(5306),s=n(3360),o=n(2479);var a;(t.MessageWriter||(t.MessageWriter={})).is=function(e){let t=e;return t&&r.func(t.dispose)&&r.func(t.onClose)&&r.func(t.onError)&&r.func(t.write)};class l{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${r.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=l,function(e){e.fromOptions=function(e){var t,n;return void 0===e||"string"==typeof e?{charset:null!=e?e:"utf-8",contentTypeEncoder:i.default().applicationJson.encoder}:{charset:null!==(t=e.charset)&&void 0!==t?t:"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:null!==(n=e.contentTypeEncoder)&&void 0!==n?n:i.default().applicationJson.encoder}}}(a||(a={})),t.WriteableStreamMessageWriter=class extends l{constructor(e,t){super(),this.writable=e,this.options=a.fromOptions(t),this.errorCount=0,this.writeSemaphore=new s.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},9263:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isResponseMessage=t.isNotificationMessage=t.isRequestMessage=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const i=n(5306);var r;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd}(r=t.ErrorCodes||(t.ErrorCodes={}));class s extends Error{constructor(e,t,n){super(t),this.code=i.number(e)?e:r.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,s.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=s;class o{constructor(e){this.kind=e}static is(e){return e===o.auto||e===o.byName||e===o.byPosition}toString(){return this.kind}}t.ParameterStructures=o,o.auto=new o("auto"),o.byPosition=new o("byPosition"),o.byName=new o("byName");class a{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return o.auto}}t.AbstractMessageSignature=a,t.RequestType0=class extends a{constructor(e){super(e,0)}},t.RequestType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.RequestType2=class extends a{constructor(e){super(e,2)}},t.RequestType3=class extends a{constructor(e){super(e,3)}},t.RequestType4=class extends a{constructor(e){super(e,4)}},t.RequestType5=class extends a{constructor(e){super(e,5)}},t.RequestType6=class extends a{constructor(e){super(e,6)}},t.RequestType7=class extends a{constructor(e){super(e,7)}},t.RequestType8=class extends a{constructor(e){super(e,8)}},t.RequestType9=class extends a{constructor(e){super(e,9)}},t.NotificationType=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType0=class extends a{constructor(e){super(e,0)}},t.NotificationType1=class extends a{constructor(e,t=o.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}},t.NotificationType2=class extends a{constructor(e){super(e,2)}},t.NotificationType3=class extends a{constructor(e){super(e,3)}},t.NotificationType4=class extends a{constructor(e){super(e,4)}},t.NotificationType5=class extends a{constructor(e){super(e,5)}},t.NotificationType6=class extends a{constructor(e){super(e,6)}},t.NotificationType7=class extends a{constructor(e){super(e,7)}},t.NotificationType8=class extends a{constructor(e){super(e,8)}},t.NotificationType9=class extends a{constructor(e){super(e,9)}},t.isRequestMessage=function(e){const t=e;return t&&i.string(t.method)&&(i.string(t.id)||i.number(t.id))},t.isNotificationMessage=function(e){const t=e;return t&&i.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(i.string(t.id)||i.number(t.id)||null===t.id)}},9872:(e,t)=>{"use strict";let n;function i(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(i||(i={})),t.default=i},3360:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const i=n(9872);t.Semaphore=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&i.default().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},9290:(e,t,n)=>{"use strict";e.exports=n(2477)},2477:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const s=n(2797);r(n(2797),t),r(n(6156),t),t.createProtocolConnection=function(e,t,n,i){return s.createMessageConnection(e,t,n,i)}},6156:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(n(3374),t),r(n(5269),t),r(n(9368),t),r(n(8253),t);var s,o=n(2213);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(s=t.LSPErrorCodes||(t.LSPErrorCodes={})).lspReservedErrorRangeStart=-32899,s.ContentModified=-32801,s.RequestCancelled=-32800,s.lspReservedErrorRangeEnd=-32800},2213:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const i=n(3374);t.createProtocolConnection=function(e,t,n,r){return i.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),i.createMessageConnection(e,t,n,r)}},9368:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=void 0;const i=n(3374);t.RegistrationType=class{constructor(e){this.method=e}};class r extends i.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=r;class s extends i.RequestType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolRequestType=s;class o extends i.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=o;class a extends i.NotificationType{constructor(e){super(e,i.ParameterStructures.byName)}}t.ProtocolNotificationType=a},7350:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const i=n(9368);var r,s,o;(o=t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})).method="textDocument/prepareCallHierarchy",o.type=new i.ProtocolRequestType(o.method),(s=t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})).method="callHierarchy/incomingCalls",s.type=new i.ProtocolRequestType(s.method),(r=t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={})).method="callHierarchy/outgoingCalls",r.type=new i.ProtocolRequestType(r.method)},7994:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const i=n(9368);var r;(r=t.DocumentColorRequest||(t.DocumentColorRequest={})).method="textDocument/documentColor",r.type=new i.ProtocolRequestType(r.method),(t.ColorPresentationRequest||(t.ColorPresentationRequest={})).type=new i.ProtocolRequestType("textDocument/colorPresentation")},6139:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const i=n(9368);(t.ConfigurationRequest||(t.ConfigurationRequest={})).type=new i.ProtocolRequestType("workspace/configuration")},8746:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const i=n(9368);var r;(r=t.DeclarationRequest||(t.DeclarationRequest={})).method="textDocument/declaration",r.type=new i.ProtocolRequestType(r.method)},5580:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.FileOperationPatternKind||(t.FileOperationPatternKind={})).file="file",u.folder="folder",(c=t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})).method="workspace/willCreateFiles",c.type=new i.ProtocolRequestType(c.method),(l=t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})).method="workspace/didCreateFiles",l.type=new i.ProtocolNotificationType(l.method),(a=t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})).method="workspace/willRenameFiles",a.type=new i.ProtocolRequestType(a.method),(o=t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})).method="workspace/didRenameFiles",o.type=new i.ProtocolNotificationType(o.method),(s=t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})).method="workspace/didDeleteFiles",s.type=new i.ProtocolNotificationType(s.method),(r=t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={})).method="workspace/willDeleteFiles",r.type=new i.ProtocolRequestType(r.method)},3996:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=t.FoldingRangeKind=void 0;const i=n(9368);var r,s;(s=t.FoldingRangeKind||(t.FoldingRangeKind={})).Comment="comment",s.Imports="imports",s.Region="region",(r=t.FoldingRangeRequest||(t.FoldingRangeRequest={})).method="textDocument/foldingRange",r.type=new i.ProtocolRequestType(r.method)},487:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const i=n(9368);var r;(r=t.ImplementationRequest||(t.ImplementationRequest={})).method="textDocument/implementation",r.type=new i.ProtocolRequestType(r.method)},8253:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeError=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.DocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=void 0;const i=n(2524),r=n(9368),s=n(487);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return s.ImplementationRequest}});const o=n(4951);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return o.TypeDefinitionRequest}});const a=n(1618);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return a.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return a.DidChangeWorkspaceFoldersNotification}});const l=n(6139);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return l.ConfigurationRequest}});const c=n(7994);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return c.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return c.ColorPresentationRequest}});const u=n(3996);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return u.FoldingRangeRequest}});const p=n(8746);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return p.DeclarationRequest}});const d=n(9998);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return d.SelectionRangeRequest}});const h=n(9784);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return h.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return h.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return h.WorkDoneProgressCancelNotification}});const m=n(7350);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return m.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return m.CallHierarchyPrepareRequest}});const f=n(7614);Object.defineProperty(t,"SemanticTokenTypes",{enumerable:!0,get:function(){return f.SemanticTokenTypes}}),Object.defineProperty(t,"SemanticTokenModifiers",{enumerable:!0,get:function(){return f.SemanticTokenModifiers}}),Object.defineProperty(t,"SemanticTokens",{enumerable:!0,get:function(){return f.SemanticTokens}}),Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return f.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return f.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return f.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return f.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return f.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return f.SemanticTokensRegistrationType}});const g=n(5636);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return g.ShowDocumentRequest}});const y=n(7036);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return y.LinkedEditingRangeRequest}});const _=n(5580);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return _.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return _.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return _.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return _.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return _.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return _.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return _.WillDeleteFilesRequest}});const v=n(2779);var T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se;Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return v.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return v.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return v.MonikerRequest}}),function(e){e.is=function(e){const t=e;return i.string(t.language)||i.string(t.scheme)||i.string(t.pattern)}}(T=t.DocumentFilter||(t.DocumentFilter={})),function(e){e.is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!i.string(t)&&!T.is(t))return!1;return!0}}(b=t.DocumentSelector||(t.DocumentSelector={})),(t.RegistrationRequest||(t.RegistrationRequest={})).type=new r.ProtocolRequestType("client/registerCapability"),(t.UnregistrationRequest||(t.UnregistrationRequest={})).type=new r.ProtocolRequestType("client/unregisterCapability"),(se=t.ResourceOperationKind||(t.ResourceOperationKind={})).Create="create",se.Rename="rename",se.Delete="delete",(re=t.FailureHandlingKind||(t.FailureHandlingKind={})).Abort="abort",re.Transactional="transactional",re.TextOnlyTransactional="textOnlyTransactional",re.Undo="undo",(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})).hasId=function(e){const t=e;return t&&i.string(t.id)&&t.id.length>0},(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})).is=function(e){const t=e;return t&&(null===t.documentSelector||b.is(t.documentSelector))},(ie=t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})).is=function(e){const t=e;return i.objectLiteral(t)&&(void 0===t.workDoneProgress||i.boolean(t.workDoneProgress))},ie.hasWorkDoneProgress=function(e){const t=e;return t&&i.boolean(t.workDoneProgress)},(t.InitializeRequest||(t.InitializeRequest={})).type=new r.ProtocolRequestType("initialize"),(t.InitializeError||(t.InitializeError={})).unknownProtocolVersion=1,(t.InitializedNotification||(t.InitializedNotification={})).type=new r.ProtocolNotificationType("initialized"),(t.ShutdownRequest||(t.ShutdownRequest={})).type=new r.ProtocolRequestType0("shutdown"),(t.ExitNotification||(t.ExitNotification={})).type=new r.ProtocolNotificationType0("exit"),(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeConfiguration"),(ne=t.MessageType||(t.MessageType={})).Error=1,ne.Warning=2,ne.Info=3,ne.Log=4,(t.ShowMessageNotification||(t.ShowMessageNotification={})).type=new r.ProtocolNotificationType("window/showMessage"),(t.ShowMessageRequest||(t.ShowMessageRequest={})).type=new r.ProtocolRequestType("window/showMessageRequest"),(t.LogMessageNotification||(t.LogMessageNotification={})).type=new r.ProtocolNotificationType("window/logMessage"),(t.TelemetryEventNotification||(t.TelemetryEventNotification={})).type=new r.ProtocolNotificationType("telemetry/event"),(te=t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})).None=0,te.Full=1,te.Incremental=2,(ee=t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})).method="textDocument/didOpen",ee.type=new r.ProtocolNotificationType(ee.method),(X=t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})).isIncremental=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},X.isFull=function(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},(Z=t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})).method="textDocument/didChange",Z.type=new r.ProtocolNotificationType(Z.method),(Q=t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})).method="textDocument/didClose",Q.type=new r.ProtocolNotificationType(Q.method),(Y=t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})).method="textDocument/didSave",Y.type=new r.ProtocolNotificationType(Y.method),(J=t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})).Manual=1,J.AfterDelay=2,J.FocusOut=3,(K=t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})).method="textDocument/willSave",K.type=new r.ProtocolNotificationType(K.method),(G=t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})).method="textDocument/willSaveWaitUntil",G.type=new r.ProtocolRequestType(G.method),(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})).type=new r.ProtocolNotificationType("workspace/didChangeWatchedFiles"),(H=t.FileChangeType||(t.FileChangeType={})).Created=1,H.Changed=2,H.Deleted=3,($=t.WatchKind||(t.WatchKind={})).Create=1,$.Change=2,$.Delete=4,(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})).type=new r.ProtocolNotificationType("textDocument/publishDiagnostics"),(z=t.CompletionTriggerKind||(t.CompletionTriggerKind={})).Invoked=1,z.TriggerCharacter=2,z.TriggerForIncompleteCompletions=3,(j=t.CompletionRequest||(t.CompletionRequest={})).method="textDocument/completion",j.type=new r.ProtocolRequestType(j.method),(W=t.CompletionResolveRequest||(t.CompletionResolveRequest={})).method="completionItem/resolve",W.type=new r.ProtocolRequestType(W.method),(B=t.HoverRequest||(t.HoverRequest={})).method="textDocument/hover",B.type=new r.ProtocolRequestType(B.method),(V=t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})).Invoked=1,V.TriggerCharacter=2,V.ContentChange=3,(q=t.SignatureHelpRequest||(t.SignatureHelpRequest={})).method="textDocument/signatureHelp",q.type=new r.ProtocolRequestType(q.method),(U=t.DefinitionRequest||(t.DefinitionRequest={})).method="textDocument/definition",U.type=new r.ProtocolRequestType(U.method),(L=t.ReferencesRequest||(t.ReferencesRequest={})).method="textDocument/references",L.type=new r.ProtocolRequestType(L.method),(O=t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})).method="textDocument/documentHighlight",O.type=new r.ProtocolRequestType(O.method),(M=t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})).method="textDocument/documentSymbol",M.type=new r.ProtocolRequestType(M.method),(N=t.CodeActionRequest||(t.CodeActionRequest={})).method="textDocument/codeAction",N.type=new r.ProtocolRequestType(N.method),(F=t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})).method="codeAction/resolve",F.type=new r.ProtocolRequestType(F.method),(R=t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})).method="workspace/symbol",R.type=new r.ProtocolRequestType(R.method),(P=t.CodeLensRequest||(t.CodeLensRequest={})).method="textDocument/codeLens",P.type=new r.ProtocolRequestType(P.method),(A=t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})).method="codeLens/resolve",A.type=new r.ProtocolRequestType(A.method),(D=t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})).method="workspace/codeLens/refresh",D.type=new r.ProtocolRequestType0(D.method),(k=t.DocumentLinkRequest||(t.DocumentLinkRequest={})).method="textDocument/documentLink",k.type=new r.ProtocolRequestType(k.method),(E=t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})).method="documentLink/resolve",E.type=new r.ProtocolRequestType(E.method),(w=t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})).method="textDocument/formatting",w.type=new r.ProtocolRequestType(w.method),(C=t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})).method="textDocument/rangeFormatting",C.type=new r.ProtocolRequestType(C.method),(x=t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})).method="textDocument/onTypeFormatting",x.type=new r.ProtocolRequestType(x.method),(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})).Identifier=1,(S=t.RenameRequest||(t.RenameRequest={})).method="textDocument/rename",S.type=new r.ProtocolRequestType(S.method),(I=t.PrepareRenameRequest||(t.PrepareRenameRequest={})).method="textDocument/prepareRename",I.type=new r.ProtocolRequestType(I.method),(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})).type=new r.ProtocolRequestType("workspace/executeCommand"),(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={})).type=new r.ProtocolRequestType("workspace/applyEdit")},7036:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const i=n(9368);var r;(r=t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={})).method="textDocument/linkedEditingRange",r.type=new i.ProtocolRequestType(r.method)},2779:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const i=n(9368);var r,s,o;(o=t.UniquenessLevel||(t.UniquenessLevel={})).document="document",o.project="project",o.group="group",o.scheme="scheme",o.global="global",(s=t.MonikerKind||(t.MonikerKind={})).import="import",s.export="export",s.local="local",(r=t.MonikerRequest||(t.MonikerRequest={})).method="textDocument/moniker",r.type=new i.ProtocolRequestType(r.method)},9784:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const i=n(3374),r=n(9368);var s;(s=t.WorkDoneProgress||(t.WorkDoneProgress={})).type=new i.ProgressType,s.is=function(e){return e===s.type},(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})).type=new r.ProtocolRequestType("window/workDoneProgress/create"),(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={})).type=new r.ProtocolNotificationType("window/workDoneProgress/cancel")},9998:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const i=n(9368);var r;(r=t.SelectionRangeRequest||(t.SelectionRangeRequest={})).method="textDocument/selectionRange",r.type=new i.ProtocolRequestType(r.method)},7614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=t.SemanticTokens=t.SemanticTokenModifiers=t.SemanticTokenTypes=void 0;const i=n(9368);var r,s,o,a,l,c,u;(u=t.SemanticTokenTypes||(t.SemanticTokenTypes={})).namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",(c=t.SemanticTokenModifiers||(t.SemanticTokenModifiers={})).declaration="declaration",c.definition="definition",c.readonly="readonly",c.static="static",c.deprecated="deprecated",c.abstract="abstract",c.async="async",c.modification="modification",c.documentation="documentation",c.defaultLibrary="defaultLibrary",(t.SemanticTokens||(t.SemanticTokens={})).is=function(e){const t=e;return void 0!==t&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])},(t.TokenFormat||(t.TokenFormat={})).Relative="relative",(l=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})).method="textDocument/semanticTokens",l.type=new i.RegistrationType(l.method),(a=t.SemanticTokensRequest||(t.SemanticTokensRequest={})).method="textDocument/semanticTokens/full",a.type=new i.ProtocolRequestType(a.method),(o=t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})).method="textDocument/semanticTokens/full/delta",o.type=new i.ProtocolRequestType(o.method),(s=t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})).method="textDocument/semanticTokens/range",s.type=new i.ProtocolRequestType(s.method),(r=t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={})).method="workspace/semanticTokens/refresh",r.type=new i.ProtocolRequestType0(r.method)},5636:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const i=n(9368);var r;(r=t.ShowDocumentRequest||(t.ShowDocumentRequest={})).method="window/showDocument",r.type=new i.ProtocolRequestType(r.method)},4951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const i=n(9368);var r;(r=t.TypeDefinitionRequest||(t.TypeDefinitionRequest={})).method="textDocument/typeDefinition",r.type=new i.ProtocolRequestType(r.method)},1618:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const i=n(9368);(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})).type=new i.ProtocolRequestType0("workspace/workspaceFolders"),(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={})).type=new i.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")},2524:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},5269:(e,t,n)=>{"use strict";var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k;n.r(t),n.d(t,{integer:()=>i,uinteger:()=>r,Position:()=>s,Range:()=>o,Location:()=>a,LocationLink:()=>l,Color:()=>c,ColorInformation:()=>u,ColorPresentation:()=>p,FoldingRangeKind:()=>d,FoldingRange:()=>h,DiagnosticRelatedInformation:()=>m,DiagnosticSeverity:()=>f,DiagnosticTag:()=>g,CodeDescription:()=>y,Diagnostic:()=>_,Command:()=>v,TextEdit:()=>T,ChangeAnnotation:()=>b,ChangeAnnotationIdentifier:()=>I,AnnotatedTextEdit:()=>S,TextDocumentEdit:()=>x,CreateFile:()=>C,RenameFile:()=>w,DeleteFile:()=>E,WorkspaceEdit:()=>k,WorkspaceChange:()=>ae,TextDocumentIdentifier:()=>D,VersionedTextDocumentIdentifier:()=>A,OptionalVersionedTextDocumentIdentifier:()=>P,TextDocumentItem:()=>R,MarkupKind:()=>F,MarkupContent:()=>N,CompletionItemKind:()=>M,InsertTextFormat:()=>O,CompletionItemTag:()=>L,InsertReplaceEdit:()=>U,InsertTextMode:()=>q,CompletionItem:()=>V,CompletionList:()=>B,MarkedString:()=>W,Hover:()=>j,ParameterInformation:()=>z,SignatureInformation:()=>$,DocumentHighlightKind:()=>H,DocumentHighlight:()=>G,SymbolKind:()=>K,SymbolTag:()=>J,SymbolInformation:()=>Y,DocumentSymbol:()=>Q,CodeActionKind:()=>Z,CodeActionContext:()=>X,CodeAction:()=>ee,CodeLens:()=>te,FormattingOptions:()=>ne,DocumentLink:()=>ie,SelectionRange:()=>re,EOL:()=>ce,TextDocument:()=>le}),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647}(i||(i={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647}(r||(r={})),function(e){e.create=function(e,t){return e===Number.MAX_VALUE&&(e=r.MAX_VALUE),t===Number.MAX_VALUE&&(t=r.MAX_VALUE),{line:e,character:t}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.uinteger(t.line)&&ue.uinteger(t.character)}}(s||(s={})),function(e){e.create=function(e,t,n,i){if(ue.uinteger(e)&&ue.uinteger(t)&&ue.uinteger(n)&&ue.uinteger(i))return{start:s.create(e,t),end:s.create(n,i)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+i+"]")},e.is=function(e){var t=e;return ue.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(o||(o={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.range)&&(ue.string(t.uri)||ue.undefined(t.uri))}}(a||(a={})),function(e){e.create=function(e,t,n,i){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:i}},e.is=function(e){var t=e;return ue.defined(t)&&o.is(t.targetRange)&&ue.string(t.targetUri)&&(o.is(t.targetSelectionRange)||ue.undefined(t.targetSelectionRange))&&(o.is(t.originSelectionRange)||ue.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function(e,t,n,i){return{red:e,green:t,blue:n,alpha:i}},e.is=function(e){var t=e;return ue.numberRange(t.red,0,1)&&ue.numberRange(t.green,0,1)&&ue.numberRange(t.blue,0,1)&&ue.numberRange(t.alpha,0,1)}}(c||(c={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return o.is(t.range)&&c.is(t.color)}}(u||(u={})),function(e){e.create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function(e){var t=e;return ue.string(t.label)&&(ue.undefined(t.textEdit)||T.is(t))&&(ue.undefined(t.additionalTextEdits)||ue.typedArray(t.additionalTextEdits,T.is))}}(p||(p={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(d||(d={})),function(e){e.create=function(e,t,n,i,r){var s={startLine:e,endLine:t};return ue.defined(n)&&(s.startCharacter=n),ue.defined(i)&&(s.endCharacter=i),ue.defined(r)&&(s.kind=r),s},e.is=function(e){var t=e;return ue.uinteger(t.startLine)&&ue.uinteger(t.startLine)&&(ue.undefined(t.startCharacter)||ue.uinteger(t.startCharacter))&&(ue.undefined(t.endCharacter)||ue.uinteger(t.endCharacter))&&(ue.undefined(t.kind)||ue.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return ue.defined(t)&&a.is(t.location)&&ue.string(t.message)}}(m||(m={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(f||(f={})),function(e){e.Unnecessary=1,e.Deprecated=2}(g||(g={})),function(e){e.is=function(e){var t=e;return null!=t&&ue.string(t.href)}}(y||(y={})),function(e){e.create=function(e,t,n,i,r,s){var o={range:e,message:t};return ue.defined(n)&&(o.severity=n),ue.defined(i)&&(o.code=i),ue.defined(r)&&(o.source=r),ue.defined(s)&&(o.relatedInformation=s),o},e.is=function(e){var t,n=e;return ue.defined(n)&&o.is(n.range)&&ue.string(n.message)&&(ue.number(n.severity)||ue.undefined(n.severity))&&(ue.integer(n.code)||ue.string(n.code)||ue.undefined(n.code))&&(ue.undefined(n.codeDescription)||ue.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(ue.string(n.source)||ue.undefined(n.source))&&(ue.undefined(n.relatedInformation)||ue.typedArray(n.relatedInformation,m.is))}}(_||(_={})),function(e){e.create=function(e,t){for(var n=[],i=2;i0&&(r.arguments=n),r},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.title)&&ue.string(t.command)}}(v||(v={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return ue.objectLiteral(t)&&ue.string(t.newText)&&o.is(t.range)}}(T||(T={})),function(e){e.create=function(e,t,n){var i={label:e};return void 0!==t&&(i.needsConfirmation=t),void 0!==n&&(i.description=n),i},e.is=function(e){var t=e;return void 0!==t&&ue.objectLiteral(t)&&ue.string(t.label)&&(ue.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(ue.string(t.description)||void 0===t.description)}}(b||(b={})),function(e){e.is=function(e){return"string"==typeof e}}(I||(I={})),function(e){e.replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function(e,t){return{range:e,newText:"",annotationId:t}},e.is=function(e){var t=e;return T.is(t)&&(b.is(t.annotationId)||I.is(t.annotationId))}}(S||(S={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return ue.defined(t)&&P.is(t.textDocument)&&Array.isArray(t.edits)}}(x||(x={})),function(e){e.create=function(e,t,n){var i={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"create"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(C||(C={})),function(e){e.create=function(e,t,n,i){var r={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(r.options=n),void 0!==i&&(r.annotationId=i),r},e.is=function(e){var t=e;return t&&"rename"===t.kind&&ue.string(t.oldUri)&&ue.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||ue.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||ue.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(w||(w={})),function(e){e.create=function(e,t,n){var i={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(i.options=t),void 0!==n&&(i.annotationId=n),i},e.is=function(e){var t=e;return t&&"delete"===t.kind&&ue.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||ue.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||ue.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||I.is(t.annotationId))}}(E||(E={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return ue.string(e.kind)?C.is(e)||w.is(e)||E.is(e):x.is(e)})))}}(k||(k={}));var D,A,P,R,F,N,M,O,L,U,q,V,B,W,j,z,$,H,G,K,J,Y,Q,Z,X,ee,te,ne,ie,re,se=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var i,r;if(void 0===n?i=T.insert(e,t):I.is(n)?(r=n,i=S.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.insert(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.replace=function(e,t,n){var i,r;if(void 0===n?i=T.replace(e,t):I.is(n)?(r=n,i=S.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(n),i=S.replace(e,t,r)),this.edits.push(i),void 0!==r)return r},e.prototype.delete=function(e,t){var n,i;if(void 0===t?n=T.del(e):I.is(t)?(i=t,n=S.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(t),n=S.del(e,i)),this.edits.push(n),void 0!==i)return i},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),oe=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(I.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ae=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new oe(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(x.is(e)){var n=new se(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var i=new se(e.changes[n]);t._textEditChanges[n]=i}))):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(i=this._textEditChanges[t.uri])){var n={textDocument:t,edits:r=[]};this._workspaceEdit.documentChanges.push(n),i=new se(r,this._changeAnnotations),this._textEditChanges[t.uri]=i}return i}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var i;if(!(i=this._textEditChanges[e])){var r=[];this._workspaceEdit.changes[e]=r,i=new se(r),this._textEditChanges[e]=i}return i},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new oe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=C.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=C.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,i){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,s,o;if(b.is(n)||I.is(n)?r=n:i=n,void 0===r?s=w.create(e,t,i):(o=I.is(r)?r:this._changeAnnotations.manage(r),s=w.create(e,t,i,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,r,s;if(b.is(t)||I.is(t)?i=t:n=t,void 0===i?r=E.create(e,n):(s=I.is(i)?i:this._changeAnnotations.manage(i),r=E.create(e,n,s)),this._workspaceEdit.documentChanges.push(r),void 0!==s)return s},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)}}(D||(D={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.integer(t.version)}}(A||(A={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&(null===t.version||ue.integer(t.version))}}(P||(P={})),function(e){e.create=function(e,t,n,i){return{uri:e,languageId:t,version:n,text:i}},e.is=function(e){var t=e;return ue.defined(t)&&ue.string(t.uri)&&ue.string(t.languageId)&&ue.integer(t.version)&&ue.string(t.text)}}(R||(R={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(F||(F={})),function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(F||(F={})),function(e){e.is=function(e){var t=e;return ue.objectLiteral(e)&&F.is(t.kind)&&ue.string(t.value)}}(N||(N={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(M||(M={})),function(e){e.PlainText=1,e.Snippet=2}(O||(O={})),function(e){e.Deprecated=1}(L||(L={})),function(e){e.create=function(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function(e){var t=e;return t&&ue.string(t.newText)&&o.is(t.insert)&&o.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(q||(q={})),function(e){e.create=function(e){return{label:e}}}(V||(V={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(B||(B={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return ue.string(t)||ue.objectLiteral(t)&&ue.string(t.language)&&ue.string(t.value)}}(W||(W={})),function(e){e.is=function(e){var t=e;return!!t&&ue.objectLiteral(t)&&(N.is(t.contents)||W.is(t.contents)||ue.typedArray(t.contents,W.is))&&(void 0===e.range||o.is(e.range))}}(j||(j={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(z||(z={})),function(e){e.create=function(e,t){for(var n=[],i=2;i=0;o--){var a=r[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");i=i.substring(0,l)+a.newText+i.substring(c,i.length),s=l}return i}}(le||(le={}));var ue,pe=function(){function e(e,t,n,i){this._uri=e,this._languageId=t,this._version=n,this._content=i,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,i=0;i0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,i=t.length;if(0===i)return s.create(0,e);for(;ne?i=r:n=r+1}var o=n-1;return s.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],i=e.line+1{},get shutdownReceived(){return o},set shutdownReceived(e){o=e},exit:e=>{}};t.createConnection=function(e,t,n,i){let r,o,l,c;return void 0!==e&&"features"===e.__brand&&(r=e,e=t,t=n,n=i),s.ConnectionStrategy.is(e)||s.ConnectionOptions.is(e)?c=e:(o=e,l=t,c=n),s.createConnection((e=>s.createProtocolConnection(o,l,e,c)),a,r)}},8132:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.SemanticTokensBuilder=void 0;const s=n(6063);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return s.SemanticTokensBuilder}}),r(n(2477),t),r(n(1486),t),(t.ProposedFeatures||(t.ProposedFeatures={})).all={__brand:"features"}},7522:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const i=n(2477);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>{this.connection.onRequest(i.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))},onIncomingCalls:e=>{const t=i.CallHierarchyIncomingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=i.CallHierarchyOutgoingCallsRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2965:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const i=n(2477),r=n(9079);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?r.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(i.ConfigurationRequest.type,t).then((t=>Array.isArray(e)?t:t[0]))}}},2027:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const i=n(2477);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){this.connection.onNotification(i.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){this.connection.onNotification(i.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){this.connection.onNotification(i.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(i.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(i.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(i.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},7891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const i=n(2477);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){this.connection.onRequest(i.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},6046:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const i=n(2477);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=i.MonikerRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},7256:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const i=n(2477),r=n(5075);class s{constructor(e,t){this._connection=e,this._token=t,s.Instances.set(this._token,this)}begin(e,t,n,r){let s={kind:"begin",title:e,percentage:t,message:n,cancellable:r};this._connection.sendProgress(i.WorkDoneProgress.type,this._token,s)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(i.WorkDoneProgress.type,this._token,n)}done(){s.Instances.delete(this._token),this._connection.sendProgress(i.WorkDoneProgress.type,this._token,{kind:"end"})}}s.Instances=new Map;class o extends s{constructor(e,t){super(e,t),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class a{constructor(){}begin(){}report(){}done(){}}class l extends a{constructor(){super(),this._source=new i.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}var c;t.attachWorkDone=function(e,t){if(void 0===t||void 0===t.workDoneToken)return new a;const n=t.workDoneToken;return delete t.workDoneToken,new s(e,n)},t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){var t;!0===(null===(t=null==e?void 0:e.window)||void 0===t?void 0:t.workDoneProgress)&&(this._progressSupported=!0,this.connection.onNotification(i.WorkDoneProgressCancelNotification.type,(e=>{let t=s.Instances.get(e.token);(t instanceof o||t instanceof l)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new a:new s(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=r.generateUuid();return this.connection.sendRequest(i.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new o(this.connection,e)))}return Promise.resolve(new l)}},function(e){e.type=new i.ProgressType}(c||(c={}));class u{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(c.type,this._token,e)}}t.attachPartialResult=function(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new u(e,n)}},6063:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensFeature=void 0;const i=n(2477);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{on:e=>{const t=i.SemanticTokensRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=i.SemanticTokensDeltaRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=i.SemanticTokensRangeRequest.type;this.connection.onRequest(t,((n,i)=>e(n,i,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}},t.SemanticTokensBuilder=class{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,i,r){let s=e,o=t;this._dataLen>0&&(s-=this._prevLine,0===s&&(o-=this._prevChar)),this._data[this._dataLen++]=s,this._data[this._dataLen++]=o,this._data[this._dataLen++]=n,this._data[this._dataLen++]=i,this._data[this._dataLen++]=r,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){if(void 0!==this._prevData){const e=this._prevData.length,t=this._data.length;let n=0;for(;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=t.TextDocuments=void 0;const i=n(2477),r=n(9079),s=n(5075),o=n(7256),a=n(2965),l=n(1252),c=n(7522),u=n(6063),p=n(736),d=n(2027),h=n(7891),m=n(6046);function f(e){if(null!==e)return e}t.TextDocuments=class{constructor(e){this._documents=Object.create(null),this._configuration=e,this._onDidChangeContent=new i.Emitter,this._onDidOpen=new i.Emitter,this._onDidClose=new i.Emitter,this._onDidSave=new i.Emitter,this._onWillSave=new i.Emitter}get onDidChangeContent(){return this._onDidChangeContent.event}get onDidOpen(){return this._onDidOpen.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._documents[e]}all(){return Object.keys(this._documents).map((e=>this._documents[e]))}keys(){return Object.keys(this._documents)}listen(e){e.__textDocumentSync=i.TextDocumentSyncKind.Full,e.onDidOpenTextDocument((e=>{let t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._documents[t.uri]=n;let i=Object.freeze({document:n});this._onDidOpen.fire(i),this._onDidChangeContent.fire(i)})),e.onDidChangeTextDocument((e=>{let t=e.textDocument,n=e.contentChanges;if(0===n.length)return;let i=this._documents[t.uri];const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);i=this._configuration.update(i,n,r),this._documents[t.uri]=i,this._onDidChangeContent.fire(Object.freeze({document:i}))})),e.onDidCloseTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&(delete this._documents[e.textDocument.uri],this._onDidClose.fire(Object.freeze({document:t})))})),e.onWillSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))})),e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._documents[e.textDocument.uri];return n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]})),e.onDidSaveTextDocument((e=>{let t=this._documents[e.textDocument.uri];t&&this._onDidSave.fire(Object.freeze({document:t}))}))}},t.ErrorMessageTracker=class{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class g{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(i.MessageType.Error,e)}warn(e){this.send(i.MessageType.Warning,e)}info(e){this.send(i.MessageType.Info,e)}log(e){this.send(i.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(i.LogMessageNotification.type,{type:e,message:t})}}const y=p.ShowDocumentFeature(o.ProgressFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:i.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showWarningMessage(e,...t){let n={type:i.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}showInformationMessage(e,...t){let n={type:i.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(i.ShowMessageRequest.type,n).then(f)}}));(t.BulkRegistration||(t.BulkRegistration={})).create=function(){return new _};class _{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=r.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const i=s.generateUuid();this._registrations.push({id:i,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}(t.BulkUnregistration||(t.BulkUnregistration={})).create=function(){return new v(void 0,[])};class v{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(i.UnregistrationRequest.type,t).then(void 0,(e=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=r.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let s={unregisterations:[n]};return this._connection.sendRequest(i.UnregistrationRequest.type,s).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class T{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof _?this.registerMany(e):e instanceof v?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const o=r.string(t)?t:t.method,a=s.generateUuid();let l={registrations:[{id:a,method:o,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(i.RegistrationRequest.type,l).then((t=>(e.add({id:a,method:o}),e)),(e=>(this.connection.console.info(`Registering request handler for ${o} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=r.string(e)?e:e.method,o=s.generateUuid();let a={registrations:[{id:o,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(i.RegistrationRequest.type,a).then((e=>i.Disposable.create((()=>{this.unregisterSingle(o,n)}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(i.UnregistrationRequest.type,n).then(void 0,(t=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(i.RegistrationRequest.type,t).then((()=>new v(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const b=d.FileOperationsFeature(l.WorkspaceFoldersFeature(a.ConfigurationFeature(class{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=(n=e)&&n.edit?e:{edit:e};var n;return this.connection.sendRequest(i.ApplyWorkspaceEditRequest.type,t)}})));class I{constructor(){this._trace=i.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==i.Trace.Off&&this.connection.sendNotification(i.LogTraceNotification.type,{message:e,verbose:this._trace===i.Trace.Verbose?t:void 0})}}class S{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(i.TelemetryEventNotification.type,e)}}class x{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return o.attachWorkDone(this.connection,e)}attachPartialResultProgress(e,t){return o.attachPartialResult(this.connection,t)}}t._LanguagesImpl=x;const C=m.MonikerFeature(h.LinkedEditingRangeFeature(u.SemanticTokensFeature(c.CallHierarchyFeature(x))));function w(e,t){return function(n){return t(e(n))}}function E(e,t){return function(n){return t(e(n))}}function k(e,t){return function(n){return t(e(n))}}function D(e,t){return function(n){return t(e(n))}}function A(e,t){return function(n){return t(e(n))}}function P(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=w,t.combineTelemetryFeatures=E,t.combineTracerFeatures=k,t.combineClientFeatures=D,t.combineWindowFeatures=A,t.combineWorkspaceFeatures=P,t.combineLanguagesFeatures=function(e,t){return function(n){return t(e(n))}},t.combineFeatures=function(e,t){function n(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:n(e.console,t.console,w),tracer:n(e.tracer,t.tracer,k),telemetry:n(e.telemetry,t.telemetry,E),client:n(e.client,t.client,D),window:n(e.window,t.window,A),workspace:n(e.workspace,t.workspace,P)}},t.createConnection=function(e,t,n){const s=n&&n.console?new(n.console(g)):new g,a=e(s);s.rawAttach(a);const l=n&&n.tracer?new(n.tracer(I)):new I,c=n&&n.telemetry?new(n.telemetry(S)):new S,u=n&&n.client?new(n.client(T)):new T,p=n&&n.window?new(n.window(y)):new y,d=n&&n.workspace?new(n.workspace(b)):new b,h=n&&n.languages?new(n.languages(C)):new C,m=[s,l,c,u,p,d,h];function f(e){return e instanceof Promise?e:r.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}let _,v,x,w={listen:()=>a.listen(),sendRequest:(e,...t)=>a.sendRequest(r.string(e)?e:e.method,...t),onRequest:(e,t)=>a.onRequest(e,t),sendNotification:(e,t)=>{const n=r.string(e)?e:e.method;1===arguments.length?a.sendNotification(n):a.sendNotification(n,t)},onNotification:(e,t)=>a.onNotification(e,t),onProgress:a.onProgress,sendProgress:a.sendProgress,onInitialize:e=>v=e,onInitialized:e=>a.onNotification(i.InitializedNotification.type,e),onShutdown:e=>_=e,onExit:e=>x=e,get console(){return s},get telemetry(){return c},get tracer(){return l},get client(){return u},get window(){return p},get workspace(){return d},get languages(){return h},onDidChangeConfiguration:e=>a.onNotification(i.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>a.onNotification(i.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>a.onNotification(i.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>a.onNotification(i.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>a.onNotification(i.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>a.onNotification(i.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>a.onRequest(i.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>a.onNotification(i.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>a.sendNotification(i.PublishDiagnosticsNotification.type,e),onHover:e=>a.onRequest(i.HoverRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onCompletion:e=>a.onRequest(i.CompletionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCompletionResolve:e=>a.onRequest(i.CompletionResolveRequest.type,e),onSignatureHelp:e=>a.onRequest(i.SignatureHelpRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDeclaration:e=>a.onRequest(i.DeclarationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDefinition:e=>a.onRequest(i.DefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onTypeDefinition:e=>a.onRequest(i.TypeDefinitionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onImplementation:e=>a.onRequest(i.ImplementationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onReferences:e=>a.onRequest(i.ReferencesRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentHighlight:e=>a.onRequest(i.DocumentHighlightRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentSymbol:e=>a.onRequest(i.DocumentSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onWorkspaceSymbol:e=>a.onRequest(i.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeAction:e=>a.onRequest(i.CodeActionRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeActionResolve:e=>a.onRequest(i.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>a.onRequest(i.CodeLensRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onCodeLensResolve:e=>a.onRequest(i.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>a.onRequest(i.DocumentFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentRangeFormatting:e=>a.onRequest(i.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onDocumentOnTypeFormatting:e=>a.onRequest(i.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>a.onRequest(i.RenameRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),onPrepareRename:e=>a.onRequest(i.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>a.onRequest(i.DocumentLinkRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onDocumentLinkResolve:e=>a.onRequest(i.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>a.onRequest(i.DocumentColorRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onColorPresentation:e=>a.onRequest(i.ColorPresentationRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onFoldingRanges:e=>a.onRequest(i.FoldingRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onSelectionRanges:e=>a.onRequest(i.SelectionRangeRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),o.attachPartialResult(a,t)))),onExecuteCommand:e=>a.onRequest(i.ExecuteCommandRequest.type,((t,n)=>e(t,n,o.attachWorkDone(a,t),void 0))),dispose:()=>a.dispose()};for(let e of m)e.attach(w);return a.onRequest(i.InitializeRequest.type,(e=>{t.initialize(e),r.string(e.trace)&&(l.trace=i.Trace.fromString(e.trace));for(let t of m)t.initialize(e.capabilities);if(v)return f(v(e,(new i.CancellationTokenSource).token,o.attachWorkDone(a,e),void 0)).then((e=>{if(e instanceof i.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None:r.number(n.textDocumentSync)||r.number(n.textDocumentSync.change)||(n.textDocumentSync.change=r.number(w.__textDocumentSync)?w.__textDocumentSync:i.TextDocumentSyncKind.None);for(let e of m)e.fillServerCapabilities(n);return t}));{let e={capabilities:{textDocumentSync:i.TextDocumentSyncKind.None}};for(let t of m)t.fillServerCapabilities(e.capabilities);return e}})),a.onRequest(i.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,_?_((new i.CancellationTokenSource).token):void 0))),a.onNotification(i.ExitNotification.type,(()=>{try{x&&x()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),a.onNotification(i.SetTraceNotification.type,(e=>{l.trace=i.Trace.fromString(e.value)})),w}},736:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const i=n(2477);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(i.ShowDocumentRequest.type,e)}}},9079:(e,t)=>{"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every((e=>n(e)))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},5075:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class n{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class i extends n{constructor(){super([i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),"-","4",i._randomHex(),i._randomHex(),i._randomHex(),"-",i._oneOf(i._timeHighBits),i._randomHex(),i._randomHex(),i._randomHex(),"-",i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex(),i._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return i._oneOf(i._chars)}}function r(){return new i}i._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],i._timeHighBits=["8","9","a","b"],t.empty=new n("00000000-0000-0000-0000-000000000000"),t.v4=r;const s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return s.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return r().asHex()}},1252:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const i=n(2477);t.WorkspaceFoldersFeature=e=>class extends e{initialize(e){let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new i.Emitter,this.connection.onNotification(i.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}getWorkspaceFolders(){return this.connection.sendRequest(i.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._unregistration||(this._unregistration=this.connection.client.register(i.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},6395:e=>{"use strict";e.exports=JSON.parse('{"Diagnostic":{"annotatedParamCountMismatch":"Parameter annotation count mismatch: expected {expected} but received {received}","annotatedTypeArgMissing":"Expected one type argument and one or more annotations for \\"Annotated\\"","annotationFormatString":"Type annotations cannot use format string literals (f-strings)","annotationNotSupported":"Type annotation not supported for this type of expression","annotationSpansStrings":"Type annotations cannot span multiple string literals","annotationStringEscape":"Type annotations cannot contain escape characters","argAssignment":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","argAssignmentFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter of type \\"{paramType}\\" in function \\"{functionName}\\"","argAssignmentParam":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\"","argAssignmentParamFunction":"Argument of type \\"{argType}\\" cannot be assigned to parameter \\"{paramName}\\" of type \\"{paramType}\\" in function \\"{functionName}\\"","argMissingForParam":"Argument missing for parameter {name}","argMissingForParams":"Arguments missing for parameters {names}","argMorePositionalExpectedCount":"Expected {expected} more positional arguments","argMorePositionalExpectedOne":"Expected 1 more positional argument","argPositional":"Expected positional argument","argPositionalExpectedCount":"Expected {expected} positional arguments","argPositionalExpectedOne":"Expected 1 positional argument","argTypePartiallyUnknown":"Argument type is partially unknown","argTypeUnknown":"Argument type is unknown","assertAlwaysTrue":"Assert expression always evaluates to true","assignmentExprContext":"Assignment expression must be within module, function or lambda","assignmentExprComprehension":"Assignment expression target \\"{name}\\" cannot use same name as comprehension for target","assignmentInProtocol":"Instance or class variables within a Protocol class must be explicitly declared within the class body","assignmentExprInSubscript":"Assignment expressions within a subscript are supported only in Python 3.10 and newer","assignmentTargetExpr":"Expression cannot be assignment target","asyncNotInAsyncFunction":"Use of \\"async\\" not allowed outside of async function","awaitIllegal":"Use of \\"await\\" requires Python 3.5 or newer","awaitNotInAsync":"\\"await\\" allowed only within async function","backticksIllegal":"Expressions surrounded by backticks are not supported in Python 3.x; use repr instead","baseClassCircular":"Class cannot derive from itself","baseClassFinal":"Base class \\"{type}\\" is marked final and cannot be subclassed","baseClassInvalid":"Argument to class must be a base class","baseClassMethodTypeIncompatible":"Base classes for class \\"{classType}\\" define method \\"{name}\\" in incompatible way","baseClassUnknown":"Base class type is unknown, obscuring type of derived class","bindTypeMismatch":"Could not bind method \\"{methodName}\\" because \\"{type}\\" is not assignable to parameter \\"{paramName}\\"","booleanIsLowerCase":"\\"{name}\\" is not defined, did you mean \\"{booleanName}\\"?","breakOutsideLoop":"\\"break\\" can be used only within a loop","callableExtraArgs":"Expected only two type arguments to \\"Callable\\"","callableFirstArg":"Expected parameter type list or \\"...\\"","callableSecondArg":"Expected return type as second type argument for \\"Callable\\"","casePatternIsIrrefutable":"Irrefutable pattern is allowed only for the last case statement","classAlreadySpecialized":"Type \\"{type}\\" is already specialized","classDecoratorTypeUnknown":"Untyped class decorator obscures type of class; ignoring decorator","classDefinitionCycle":"Class definition for \\"{name}\\" depends on itself","classGetItemClsParam":"__class_getitem__ override should take a \\"cls\\" parameter","classMethodClsParam":"Class methods should take a \\"cls\\" parameter","classNotRuntimeSubscriptable":"Subscript for class \\"{name}\\" will generate runtime exception; enclose type annotation in quotes","classPatternBuiltInArgCount":"Class pattern accepts at most 1 positional sub-pattern","classPatternBuiltInArgPositional":"Class pattern accepts only positional sub-pattern","classPatternTypeAlias":"\\"{type}\\" cannot be used in a class pattern because it is a specialized type alias","classVarNotAllowed":"\\"ClassVar\\" is not allowed in this context","classVarFirstArgMissing":"Expected a type argument after \\"ClassVar\\"","classVarOverridesInstanceVar":"Class variable \\"{name}\\" overrides instance variable of same name in class \\"{className}\\"","classVarTooManyArgs":"Expected only one type argument after \\"ClassVar\\"","classVarWithTypeVar":"\\"ClassVar\\" type cannot include type variables","clsSelfParamTypeMismatch":"Type of parameter \\"{name}\\" must be a supertype of its class \\"{classType}\\"","comparisonAlwaysFalse":"Condition will always evaluate to False since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comparisonAlwaysTrue":"Condition will always evaluate to True since the types \\"{leftType}\\" and \\"{rightType}\\" have no overlap","comprehensionInDict":"Comprehension cannot be used with other dictionary entries","comprehensionInSet":"Comprehension cannot be used with other set entries","concatenateParamSpecMissing":"Last type argument for \\"Concatenate\\" must be a ParamSpec","concatenateTypeArgsMissing":"\\"Concatenate\\" requires at least two type arguments","constantRedefinition":"\\"{name}\\" is constant (because it is uppercase) and cannot be redefined","constructorParametersMismatch":"Mismatch between signature of __new__ and __init__ in class \\"{classType}\\"","continueInFinally":"\\"continue\\" cannot be used within a finally clause","continueOutsideLoop":"\\"continue\\" can be used only within a loop","constructorNoArgs":"Expected no arguments to \\"{type}\\" constructor","dataClassBaseClassNotFrozen":"A frozen class cannot inherit from a class that is not frozen","dataClassFieldWithDefault":"Fields without default values cannot appear after fields with default values","dataClassPostInitParamCount":"Dataclass __post_init__ incorrect parameter count; number of InitVar fields is {expected}","dataClassPostInitType":"Dataclass __post_init__ method parameter type mismatch for field \\"{fieldName}\\"","dataClassSlotsOverwrite":"__slots__ is already defined in class","dataClassTransformExpectedBoolLiteral":"Expected expression that statically evaluates to True or False","dataClassTransformFieldDescriptor":"Expected tuple of classes or functions but received type \\"{type}\\"","dataClassTransformPositionalParam":"All arguments to \\"dataclass_transform\\" must be keyword arguments","dataClassTransformUnknownArgument":"Argument \\"{name}\\" is not supported by dataclass_transform","declaredReturnTypePartiallyUnknown":"Declared return type, \\"{returnType}\\", is partially unknown","declaredReturnTypeUnknown":"Declared return type is unknown","defaultValueContainsCall":"Function calls and mutable objects not allowed within parameter default value expression","defaultValueNotAllowed":"Parameter with \\"*\\" or \\"**\\" cannot have default value","defaultValueNotEllipsis":"Default values in stub files should be specified as \\"...\\"","deprecatedType":"This type is deprecated as of Python {version}; use \\"{replacement}\\" instead","delTargetExpr":"Expression cannot be deleted","dictExpandIllegalInComprehension":"Dictionary expansion not allowed in comprehension","dictInAnnotation":"Dictionary expression not allowed in type annotation","dictKeyValuePairs":"Dictionary entries must contain key/value pairs","dictUnpackIsNotMapping":"Expected mapping for dictionary unpack operator","dunderAllSymbolNotPresent":"\\"{name}\\" is specified in __all__ but is not present in module","duplicateArgsParam":"Only one \\"*\\" parameter allowed","duplicateBaseClass":"Duplicate base class not allowed","duplicateCatchAll":"Only one catch-all except clause allowed","duplicateEnumMember":"Enum member \\"{name}\\" is already declared","duplicateImport":"\\"{importName}\\" is imported more than once","duplicateKwargsParam":"Only one \\"**\\" parameter allowed","duplicateKeywordOnly":"Only one \\"*\\" separator allowed","duplicateParam":"Duplicate parameter \\"{name}\\"","duplicateCapturePatternTarget":"Capture target \\"{name}\\" cannot appear more than once within the same pattern","duplicateStarPattern":"Only one \\"*\\" pattern allowed in a pattern sequence","duplicateStarStarPattern":"Only one \\"**\\" entry allowed","duplicatePositionOnly":"Only one \\"/\\" parameter allowed","duplicateUnpack":"Only one unpack operation allowed in list","ellipsisContext":"\\"...\\" not allowed in this context","ellipsisSecondArg":"\\"...\\" allowed only as the second of two arguments","enumClassOverride":"Enum class \\"{name}\\" is final and cannot be subclassed","exceptionGroupIncompatible":"Exception group syntax (\\"except*\\") requires Python 3.11 or newer","exceptionTypeIncorrect":"\\"{type}\\" does not derive from BaseException","exceptionTypeNotClass":"\\"{type}\\" is not valid exception class","exceptionTypeNotInstantiable":"Constructor for exception type \\"{type}\\" requires one or more arguments","expectedAfterDecorator":"Expected function or class declaration after decorator","expectedArrow":"Expected \\"->\\" followed by return type annotation","expectedAsAfterException":"Expected \\"as\\" after exception type","expectedAssignRightHandExpr":"Expected expression to the right of \\"=\\"","expectedBinaryRightHandExpr":"Expected expression to the right of operator","expectedBoolLiteral":"Expected True or False","expectedCase":"Expected \\"case\\" statement","expectedClassName":"Expected class name","expectedCloseBrace":"\\"{\\" was not closed","expectedCloseBracket":"\\"[\\" was not closed","expectedCloseParen":"\\"(\\" was not closed","expectedColon":"Expected \\":\\"","expectedComplexNumberLiteral":"Expected complex number literal for pattern matching","expectedDecoratorExpr":"Expression form not supported for decorator prior to Python 3.9","expectedDecoratorName":"Expected decorator name","expectedDecoratorNewline":"Expected new line at end of decorator","expectedDelExpr":"Expected expression after \\"del\\"","expectedElse":"Expected \\"else\\"","expectedEqualityOperator":"Expected equality operator, did you mean \\"==\\"?","expectedExceptionClass":"Invalid exception class or object","expectedExceptionObj":"Expected exception object, exception class or None","expectedExpr":"Expected expression","expectedIdentifier":"Expected identifier","expectedImport":"Expected \\"import\\"","expectedImportAlias":"Expected symbol after \\"as\\"","expectedImportSymbols":"Expected one or more symbol names after import","expectedIndentedBlock":"Expected indented block","expectedInExpr":"Expected expression after \\"in\\"","expectedIn":"Expected \\"in\\"","expectedFunctionAfterAsync":"Expected function definition after \\"async\\"","expectedFunctionName":"Expected function name after \\"def\\"","expectedMemberName":"Expected member name after \\".\\"","expectedModuleName":"Expected module name","expectedNameAfterAs":"Expected symbol name after \\"as\\"","expectedNamedParameter":"Keyword parameter must follow \\"*\\"","expectedNewline":"Expected newline","expectedNewlineOrSemicolon":"Statements must be separated by newlines or semicolons","expectedOpenParen":"Expected \\"(\\"","expectedParamName":"Expected parameter name","expectedPatternExpr":"Expected pattern expression","expectedPatternSubjectExpr":"Expected pattern subject expression","expectedPatternValue":"Expected pattern value expression of the form \\"a.b\\"","expectedReturnExpr":"Expected expression after \\"return\\"","expectedSliceIndex":"Expected index or slice expression","expectedTypeNotString":"Expected type but received a string literal","expectedYieldExpr":"Expected expression in yield statement","finalClassIsAbstract":"Class \\"{type}\\" is marked final and must implement all abstract methods","finalContext":"\\"Final\\" not allowed in this context","finalMethodOverride":"Method \\"{name}\\" cannot override final method defined in class \\"{className}\\"","finalReassigned":"\\"{name}\\" is declared as Final and cannot be reassigned","finalRedeclaration":"\\"{name}\\" was previously declared as Final","finalRedeclarationBySubclass":"\\"{name}\\" cannot be redeclared because parent class \\"{className}\\" declares it as Final","finalTooManyArgs":"Expected a single type argument after \\"Final\\"","finalUnassigned":"\\"{name}\\" is declared Final, but value is not assigned","formatStringBrace":"Single close brace not allowed within f-string literal; use double close brace","formatStringBytes":"Format string literals (f-strings) cannot be binary","formatStringEscape":"Escape sequence (backslash) not allowed in expression portion of f-string","formatStringInPattern":"Format string not allowed in pattern","formatStringUnicode":"Format string literals (f-strings) cannot be unicode","formatStringIllegal":"Format string literals (f-strings) require Python 3.6 or newer","formatStringUnterminated":"Unterminated expression in f-string; missing close brace","functionDecoratorTypeUnknown":"Untyped function decorator obscures type of function; ignoring decorator","generatorAsyncReturnType":"Return type of async generator function must be \\"AsyncGenerator\\" or \\"AsyncIterable\\"","generatorNotParenthesized":"Generator expressions must be parenthesized if not sole argument","generatorSyncReturnType":"Return type of generator function must be \\"Generator\\" or \\"Iterable\\"","genericClassAssigned":"Generic class type cannot be assigned","genericClassDeleted":"Generic class type cannot be deleted","genericNotAllowed":"\\"Generic\\" is not valid in this context","genericTypeAliasBoundTypeVar":"Generic type alias within class cannot use bound type variables {names}","genericTypeArgMissing":"\\"Generic\\" requires at least one type argument","genericTypeArgTypeVar":"Type argument for \\"Generic\\" must be a type variable","genericTypeArgUnique":"Type arguments for \\"Generic\\" must be unique","globalReassignment":"\\"{name}\\" is assigned before global declaration","globalRedefinition":"\\"{name}\\" was already declared global","implicitStringConcat":"Implicit string concatenation not allowed","importCycleDetected":"Cycle detected in import chain","importDepthExceeded":"Import chain depth exceeded {depth}","importResolveFailure":"Import \\"{importName}\\" could not be resolved","importSourceResolveFailure":"Import \\"{importName}\\" could not be resolved from source","importSymbolUnknown":"\\"{name}\\" is unknown import symbol in module \\"{moduleName}\\"","incompatibleMethodOverride":"Method \\"{name}\\" overrides class \\"{className}\\" in an incompatible manner","inconsistentIndent":"Unindent amount does not match previous indent","initMustReturnNone":"Return type of \\"__init__\\" must be None","inconsistentTabs":"Inconsistent use of tabs and spaces in indentation","initSubclassClsParam":"__init_subclass__ override should take a \\"cls\\" parameter","instanceMethodSelfParam":"Instance methods should take a \\"self\\" parameter","instanceVarOverridesClassVar":"Instance variable \\"{name}\\" overrides class variable of same name in class \\"{className}\\"","instantiateAbstract":"Cannot instantiate abstract class \\"{type}\\"","instantiateProtocol":"Cannot instantiate protocol class \\"{type}\\"","internalBindError":"An internal error occurred while binding file \\"{file}\\": {message}","internalParseError":"An internal error occurred while parsing file \\"{file}\\": {message}","internalTypeCheckingError":"An internal error occurred while type checking file \\"{file}\\": {message}","invalidIdentifierChar":"Invalid character in identifier","invalidStubStatement":"Statement is meaningless within a type stub file","invalidTokenChars":"Invalid character \\"{text}\\" in token","isInstanceInvalidType":"Second argument to \\"isinstance\\" must be a class or tuple of classes","isSubclassInvalidType":"Second argument to \\"issubclass\\" must be a class or tuple of classes","keyValueInSet":"Key/value pairs are not allowed within a set","keywordArgInTypeArgument":"Keyword arguments cannot be used in type argument lists","keywordOnlyAfterArgs":"Keyword-only argument separator not allowed after \\"*\\" parameter","keywordSubscriptIllegal":"Keyword arguments within subscripts are not supported","lambdaReturnTypeUnknown":"Return type of lambda is unknown","lambdaReturnTypePartiallyUnknown":"Return type of lambda, \\"{returnType}\\", is partially unknown","listAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target list","listInAnnotation":"List expression not allowed in type annotation","literalUnsupportedType":"Type arguments for \\"Literal\\" must be None, a literal value (int, bool, str, or bytes), or an enum value","literalEmptyArgs":"Expected one or more type arguments after \\"Literal\\"","literalNotCallable":"Literal type cannot be instantiated","matchIncompatible":"Match statements require Python 3.10 or newer","matchIsNotExhaustive":"Cases within match statement do not exhaustively handle all values","maxParseDepthExceeded":"Maximum parse depth exceeded; break expression into smaller sub-expressions","memberAccess":"Cannot access member \\"{name}\\" for type \\"{type}\\"","memberDelete":"Cannot delete member \\"{name}\\" for type \\"{type}\\"","memberSet":"Cannot assign member \\"{name}\\" for type \\"{type}\\"","metaclassConflict":"The metaclass of a derived class must be a subclass of the metaclasses of all its base classes","metaclassDuplicate":"Only one metaclass can be provided","metaclassIsGeneric":"Metaclass cannot be generic","methodNotDefined":"\\"{name}\\" method not defined","methodNotDefinedOnType":"\\"{name}\\" method not defined on type \\"{type}\\"","methodOrdering":"Cannot create consistent method ordering","methodOverridden":"\\"{name}\\" overrides method of same name in class \\"{className}\\" with incompatible type \\"{type}\\"","methodReturnsNonObject":"\\"{name}\\" method does not return an object","missingProtocolMembers":"Class derives from one or more protocol classes but does not implement all required members","missingSuperCall":"Method \\"{methodName}\\" does not call the method of the same name in parent class","moduleAsType":"Module cannot be used as a type","moduleNotCallable":"Module is not callable","moduleUnknownMember":"\\"{name}\\" is not a known member of module \\"{module}\\"","namedExceptAfterCatchAll":"A named except clause cannot appear after catch-all except clause","namedParamAfterParamSpecArgs":"Keyword parameter \\"{name}\\" cannot appear in signature after ParamSpec args parameter","namedTupleEmptyName":"Names within a named tuple cannot be empty","namedTupleMultipleInheritance":"Multiple inheritance with NamedTuple is not supported","namedTupleFirstArg":"Expected named tuple class name as first argument","namedTupleNameType":"Expected two-entry tuple specifying entry name and type","namedTupleNameUnique":"Names within a named tuple must be unique","namedTupleNoTypes":"\\"namedtuple\\" provides no types for tuple entries; use \\"NamedTuple\\" instead","namedTupleSecondArg":"Expected named tuple entry list as second argument","newClsParam":"__new__ override should take a \\"cls\\" parameter","newTypeLiteral":"NewType cannot be used with Literal type","newTypeNotAClass":"Expected class as second argument to NewType","newTypeProtocolClass":"NewType cannot be used with protocol class","nonDefaultAfterDefault":"Non-default argument follows default argument","noneNotCallable":"Object of type \\"None\\" cannot be called","noneNotIterable":"Object of type \\"None\\" cannot be used as iterable value","noneOperator":"Operator \\"{operator}\\" not supported for \\"None\\"","noneNotSubscriptable":"Object of type \\"None\\" is not subscriptable","noneNotUsableWith":"Object of type \\"None\\" cannot be used with \\"with\\"","noneUnknownMember":"\\"{name}\\" is not a known member of \\"None\\"","nonLocalNoBinding":"No binding for nonlocal \\"{name}\\" found","nonLocalReassignment":"\\"{name}\\" is assigned before nonlocal declaration","nonLocalRedefinition":"\\"{name}\\" was already declared nonlocal","nonLocalInModule":"Nonlocal declaration not allowed at module level","noOverload":"No overloads for \\"{name}\\" match the provided arguments","noReturnContainsReturn":"Function with declared return type \\"NoReturn\\" cannot include a return statement","noReturnContainsYield":"Function with declared return type \\"NoReturn\\" cannot include a yield statement","noReturnReturnsNone":"Function with declared type of \\"NoReturn\\" cannot return \\"None\\"","notRequiredArgCount":"Expected a single type argument after \\"NotRequired\\"","notRequiredNotInTypedDict":"\\"NotRequired\\" is not allowed in this context","objectNotCallable":"Object of type \\"{type}\\" is not callable","obscuredClassDeclaration":"Class declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredFunctionDeclaration":"Function declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredMethodDeclaration":"Method declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredParameterDeclaration":"Parameter declaration \\"{name}\\" is obscured by a declaration of the same name","obscuredVariableDeclaration":"Declaration \\"{name}\\" is obscured by a declaration of the same name","operatorLessOrGreaterDeprecated":"Operator \\"<>\\" is not supported in Python 3; use \\"!=\\" instead","optionalExtraArgs":"Expected one type argument after \\"Optional\\"","orPatternIrrefutable":"Irrefutable pattern allowed only as the last subpattern in an \\"or\\" pattern","orPatternMissingName":"All subpatterns within an \\"or\\" pattern must target the same names","overlappingOverload":"Overload {obscured} for \\"{name}\\" will never be used because its parameters overlap overload {obscuredBy}","overloadAbstractMismatch":"Overloaded methods must all be abstract or not","overloadImplementationMismatch":"Overloaded function implementation is not consistent with signature of overload {index}","overloadReturnTypeMismatch":"Overload {prevIndex} for \\"{name}\\" overlaps overload {newIndex} and returns an incompatible type","overloadWithImplementation":"\\"{name}\\" is marked as overload, but it includes an implementation","overloadWithoutImplementation":"\\"{name}\\" is marked as overload, but no implementation is provided","paramAfterKwargsParam":"Parameter cannot follow \\"**\\" parameter","paramAlreadyAssigned":"Parameter \\"{name}\\" is already assigned","paramAnnotationMissing":"Type annotation is missing for parameter \\"{name}\\"","paramNameMissing":"No parameter named \\"{name}\\"","paramSpecArgsKwargsUsage":"\\"args\\" and \\"kwargs\\" members of ParamSpec must both appear within a function signature","paramSpecArgsUsage":"\\"args\\" member of ParamSpec is valid only when used with *args parameter","paramSpecAssignedName":"ParamSpec must be assigned to a variable named \\"{name}\\"","paramSpecContext":"ParamSpec not allowed in this context","paramSpecFirstArg":"Expected name of ParamSpec as first argument","paramSpecKwargsUsage":"\\"kwargs\\" member of ParamSpec is valid only when used with **kwargs parameter","paramSpecNotBound":"Param spec \\"{type}\\" has no bound value","paramSpecNotUsedByOuterScope":"ParamSpec \\"{name}\\" has no meaning in this context","paramSpecUnknownArg":"ParamSpec does not support more than one argument","paramSpecUnknownMember":"\\"{name}\\" is not a known member of ParamSpec","paramSpecUnknownParam":"\\"{name}\\" is unknown parameter to ParamSpec","paramAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to parameter of type \\"{paramType}\\"","paramTypeCovariant":"Covariant type variable cannot be used in parameter type","paramTypeUnknown":"Type of parameter \\"{paramName}\\" is unknown","paramTypePartiallyUnknown":"Type of parameter \\"{paramName}\\" is partially unknown","parenthesizedContextManagerIllegal":"Parentheses within \\"with\\" statement requires Python 3.9 or newer","positionArgAfterNamedArg":"Positional argument cannot appear after keyword arguments","privateImportFromPyTypedModule":"\\"{name}\\" is not exported from module \\"{module}\\"","positionOnlyAfterArgs":"Position-only argument separator not allowed after \\"*\\" parameter","positionOnlyAfterKeywordOnly":"\\"/\\" parameter must appear before \\"*\\" parameter","positionOnlyIncompatible":"Position-only argument separator requires Python 3.8 or newer","positionOnlyFirstParam":"Position-only argument separator not allowed as first parameter","privateUsedOutsideOfClass":"\\"{name}\\" is private and used outside of the class in which it is declared","privateUsedOutsideOfModule":"\\"{name}\\" is private and used outside of the module in which it is declared","propertyOverridden":"\\"{name}\\" incorrectly overrides property of same name in class \\"{className}\\"","propertyStaticMethod":"Static methods not allowed for property getter, setter or deleter","protectedUsedOutsideOfClass":"\\"{name}\\" is protected and used outside of the class in which it is declared","protocolBaseClass":"Protocol class \\"{classType}\\" cannot derive from non-protocol class \\"{baseType}\\"","protocolIllegal":"Use of \\"Protocol\\" requires Python 3.7 or newer","protocolMemberNotClassVar":"Protocol class \\"{className}\\" does not define \\"{memberName}\\" as a ClassVar","protocolNotAllowedInTypeArgument":"\\"Protocol\\" cannot be used as a type argument","protocolVarianceContravariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be contravariant","protocolVarianceCovariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be covariant","protocolVarianceInvariant":"Type variable \\"{variable}\\" used in generic protocol \\"{class}\\" should be invariant","protocolUsedInCall":"Protocol class cannot be used in \\"{name}\\" call","relativeImportNotAllowed":"Relative imports cannot be used with \\"import .a\\" form; use \\"from . import a\\" instead","recursiveDefinition":"Type of \\"{name}\\" could not be determined because it refers to itself","requiredArgCount":"Expected a single type argument after \\"Required\\"","requiredNotInTypedDict":"\\"Required\\" is not allowed in this context","returnOutsideFunction":"\\"return\\" can be used only within a function","returnMissing":"Function with declared type of \\"{returnType}\\" must return value","returnTypeContravariant":"Contravariant type variable cannot be used in return type","returnTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to return type \\"{returnType}\\"","returnTypeUnknown":"Return type is unknown","returnTypePartiallyUnknown":"Return type, \\"{returnType}\\", is partially unknown","revealLocalsArgs":"Expected no arguments for \\"reveal_locals\\" call","revealLocalsNone":"No locals in this scope","revealTypeArgs":"Expected a single positional argument for \\"reveal_type\\" call","revealTypeExpectedTextArg":"The \\"expected_text\\" argument for function \\"reveal_type\\" must be a str literal value","revealTypeExpectedTextMismatch":"Type text mismatch; expected \\"{expected}\\" but received \\"{received}\\"","revealTypeExpectedTypeMismatch":"Type mismatch; expected \\"{expected}\\" but received \\"{received}\\"","selfTypeContext":"\\"Self\\" is not valid in this context","selfTypeWithTypedSelfOrCls":"\\"Self\\" cannot be used in a function with a `self` or `cls` parameter that has a type annotation other than \\"Self\\"","setterGetterTypeMismatch":"Property setter value type is not assignable to the getter return type","singleOverload":"\\"{name}\\" is marked as overload, but additional overloads are missing","slotsAttributeError":"\\"{name}\\" is not specified in __slots__","slotsClassVarConflict":"\\"{name}\\" conflicts with instance variable declared in __slots__","starPatternInAsPattern":"Star pattern cannot be used with \\"as\\" target","starPatternInOrPattern":"Star pattern cannot be ORed within other patterns","starStarWildcardNotAllowed":"** cannot be used with wildcard \\"_\\"","staticClsSelfParam":"Static methods should not take a \\"self\\" or \\"cls\\" parameter","strictTypeGuardReturnType":"Return type of StrictTypeGuard (\\"{returnType}\\") is not assignable to value parameter type (\\"{type}\\")","stringNonAsciiBytes":"Non-ASCII character not allowed in bytes string literal","stringNotSubscriptable":"String expression cannot be subscripted in type annotation; enclose entire annotation in quotes","stringUnsupportedEscape":"Unsupported escape sequence in string literal","stringUnterminated":"String literal is unterminated","stubFileMissing":"Stub file not found for \\"{importName}\\"","stubUsesGetAttr":"Type stub file is incomplete; \\"__getattr__\\" obscures type errors for module","sublistParamsIncompatible":"Sublist parameters are not supported in Python 3.x","superCallArgCount":"Expected no more than two arguments to \\"super\\" call","superCallFirstArg":"Expected class type as first argument to \\"super\\" call but received \\"{type}\\"","superCallSecondArg":"Second argument to \\"super\\" call must be object or class that derives from \\"{type}\\"","superCallZeroArgForm":"Zero-argument form of \\"super\\" call is valid only within a class","symbolIsUnbound":"\\"{name}\\" is unbound","symbolIsUndefined":"\\"{name}\\" is not defined","symbolIsPossiblyUnbound":"\\"{name}\\" is possibly unbound","symbolOverridden":"\\"{name}\\" overrides symbol of same name in class \\"{className}\\"","totalOrderingMissingMethod":"Class must define one of \\"__lt__\\", \\"__le__\\", \\"__gt__\\", or \\"__ge__\\" to use total_ordering","trailingCommaInFromImport":"Trailing comma not allowed without surrounding parentheses","tryWithoutExcept":"Try statement must have at least one except or finally clause","tupleAssignmentMismatch":"Expression with type \\"{type}\\" cannot be assigned to target tuple","tupleInAnnotation":"Tuple expression not allowed in type annotation","tupleIndexOutOfRange":"Index {index} is out of range for type {type}","typeAliasIsRecursiveDirect":"Type alias \\"{name}\\" cannot use itself in its definition","typeAliasIsRecursiveIndirect":"Type alias \\"{name}\\" cannot refer to itself indirectly in its definition","typeAliasNotInModuleOrClass":"A TypeAlias can be defined only within a module or class scope","typeAliasRedeclared":"\\"{name}\\" is declared as a TypeAlias and can be assigned only once","typeArgListExpected":"Expected ParamSpec, ellipsis, or list of types","typeArgListNotAllowed":"List expression not allowed for this type argument","typeAnnotationCall":"Illegal type annotation: call expression not allowed","typeAnnotationVariable":"Illegal type annotation: variable not allowed unless it is a type alias","typeArgsExpectingNone":"Expected no type arguments for class \\"{name}\\"","typeArgsMismatchOne":"Expected one type argument but received {received}","typeArgsMissingForAlias":"Expected type arguments for generic type alias \\"{name}\\"","typeArgsMissingForClass":"Expected type arguments for generic class \\"{name}\\"","typeArgsTooFew":"Too few type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeArgsTooMany":"Too many type arguments provided for \\"{name}\\"; expected {expected} but received {received}","typeAssignmentMismatch":"Expression of type \\"{sourceType}\\" cannot be assigned to declared type \\"{destType}\\"","typeCallNotAllowed":"type() call should not be used in type annotation","typedDictAccess":"Could not access item in TypedDict","typedDictBadVar":"TypedDict classes can contain only type annotations","typedDictBaseClass":"All base classes for \\"TypedDict\\" classes must also be \\"TypedDict\\" classes","typedDictDelete":"Could not delete item in TypedDict","typedDictEmptyName":"Names within a TypedDict cannot be empty","typedDictEntryName":"Expected string literal for dictionary entry name","typedDictEntryUnique":"Names within a dictionary must be unique","typedDictExtraArgs":"Extra TypedDict arguments not supported","typedDictFieldRedefinition":"Type of TypedDict field \\"{name}\\" cannot be redefined","typedDictFirstArg":"Expected TypedDict class name as first argument","typedDictSecondArgDict":"Expected dict or keyword parameter as second parameter","typedDictSecondArgDictEntry":"Expected simple dictionary entry","typedDictSet":"Could not assign item in TypedDict","typedDictTotalParam":"Expected \\"total\\" parameter to have a value of True or False","typeExpectedClass":"Expected class type but received \\"{type}\\"","typeGuardArgCount":"Expected a single type argument after \\"TypeGuard\\"","typeNotAwaitable":"\\"{type}\\" is not awaitable","typeNotCallable":"\\"{expression}\\" has type \\"{type}\\" and is not callable","typeNotIntantiable":"\\"{type}\\" cannot be instantiated","typeNotIterable":"\\"{type}\\" is not iterable","typeNotSpecializable":"Could not specialize type \\"{type}\\"","typeNotSubscriptable":"Object of type \\"{type}\\" is not subscriptable","typeNotUsableWith":"Object of type \\"{type}\\" cannot be used with \\"with\\" because it does not implement {method}","typeNotSupportBinaryOperator":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\"","typeNotSupportBinaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for types \\"{leftType}\\" and \\"{rightType}\\" when expected type is \\"{expectedType}\\"","typeNotSupportUnaryOperator":"Operator \\"{operator}\\" not supported for type \\"{type}\\"","typeNotSupportUnaryOperatorBidirectional":"Operator \\"{operator}\\" not supported for type \\"{type}\\" when expected type is \\"{expectedType}\\"","typePartiallyUnknown":"Type of \\"{name}\\" is partially unknown","typeUnknown":"Type of \\"{name}\\" is unknown","typeVarAssignedName":"TypeVar must be assigned to a variable named \\"{name}\\"","typeVarAssignmentMismatch":"Type \\"{type}\\" cannot be assigned to type variable \\"{name}\\"","typeVarBoundAndConstrained":"TypeVar cannot be both bound and constrained","typeVarFirstArg":"Expected name of TypeVar as first argument","typeVarGeneric":"TypeVar bound type cannot be generic","typeVarNoMember":"TypeVar \\"{type}\\" has no member \\"{name}\\"","typeVarNotSubscriptable":"TypeVar \\"{type}\\" is not subscriptable","typeVarNotUsedByOuterScope":"Type variable \\"{name}\\" has no meaning in this context","typeVarSingleConstraint":"TypeVar cannot have only a single constraint","typeVarsNotInGeneric":"Generic[] must include all type variables","typeVarTupleContext":"TypeVarTuple not allowed in this context","typeVarTupleMustBeUnpacked":"Unpack operator is required for TypeVarTuple value","typeVarUnknownParam":"\\"{name}\\" is unknown parameter to TypeVar","typeVarUsedByOuterScope":"TypeVar \\"{name}\\" is already in use by an outer scope","typeVarUsedOnlyOnce":"TypeVar \\"{name}\\" appears only once in generic function signature","typeVarVariance":"TypeVar cannot be both covariant and contravariant","unaccessedClass":"Class \\"{name}\\" is not accessed","unaccessedFunction":"Function \\"{name}\\" is not accessed","unaccessedImport":"Import \\"{name}\\" is not accessed","unaccessedSymbol":"\\"{name}\\" is not accessed","unaccessedVariable":"Variable \\"{name}\\" is not accessed","unexpectedAsyncToken":"Expected \\"def\\", \\"with\\" or \\"for\\" to follow \\"async\\"","unexpectedExprToken":"Unexpected token at end of expression","unexpectedIndent":"Unexpected indentation","unexpectedUnindent":"Unindent not expected","unionSyntaxIllegal":"Alternative syntax for unions requires Python 3.10 or newer","unionTypeArgCount":"Union requires two or more type arguments","uninitializedInstanceVariable":"Instance variable \\"{name}\\" is not initialized in the class body or __init__ method","unnecessaryCast":"Unnecessary \\"cast\\" call; type is already \\"{type}\\"","unnecessaryIsInstanceAlways":"Unnecessary isinstance call; \\"{testType}\\" is always an instance of \\"{classType}\\"","unnecessaryIsSubclassAlways":"Unnecessary issubclass call; \\"{testType}\\" is always a subclass of \\"{classType}\\"","unnecessaryTypeIgnore":"Unnecessary \'# type ignore\' comment","unpackArgCount":"Expected a single type argument after \\"Unpack\\"","unpackedArgInTypeArgument":"Unpacked arguments cannot be used in type argument lists","unpackedArgWithVariadicParam":"Unpacked argument cannot be used for TupleTypeVar parameter","unpackedDictArgumentNotMapping":"Argument expression after ** must be a mapping with a \\"str\\" key type","unpackedSubscriptIllegal":"Unpack operator in subscript requires Python 3.11 or newer","unpackedTypedDictArgument":"Unable to match unpacked TypedDict argument to parameters","unpackedTypeVarTupleExpected":"Expected unpacked TypeVarTuple; use Unpack[{name1}] or *{name2}","unpackExpectedTypedDict":"Expected TypedDict type argument for Unpack","unpackExpectedTypeVarTuple":"Expected TypeVarTuple or Tuple as type argument for Unpack","unpackIllegalInComprehension":"Unpack operation not allowed in comprehension","unpackInAnnotation":"Unpack operator not allowed in type annotation","unpackInDict":"Unpack operation not allowed in dictionaries","unpackInSet":"Unpack operator not allowed within a set","unpackNotAllowed":"Unpack not allowed in this context","unpackOperatorNotAllowed":"Unpack operation not allowed in this context","unpackTuplesIllegal":"Unpack operation not allowed in tuples prior to Python 3.8","unreachableCode":"Code is unreachable","unreachableExcept":"Except clause is unreachable because exception is already handled","unsupportedDunderAllOperation":"Operation on \\"__all__\\" is not supported, so exported symbol list may be incorrect","unusedCallResult":"Result of call expression is of type \\"{type}\\" and is not used; assign to variable \\"_\\" if this is intentional","unusedCoroutine":"Result of async function call is not used; use \\"await\\" or assign result to variable","varAnnotationIllegal":"Type annotations for variables requires Python 3.6 or newer; use type comment for compatibility with previous versions","variadicTypeArgsTooMany":"Type argument list can have at most one unpacked TypeVarTuple or Tuple","variadicTypeParamTooManyAlias":"Type alias can have at most one TypeVarTuple type parameter but received multiple ({names})","variadicTypeParamTooManyClass":"Generic class can have at most one TypeVarTuple type parameter but received multiple ({names})","walrusIllegal":"Operator \\":=\\" requires Python 3.8 or newer","walrusNotAllowed":"Operator \\":=\\" not allowed in this context","wildcardInFunction":"Wildcard import not allowed within a class or function","wildcardLibraryImport":"Wildcard import from a library not allowed","yieldFromIllegal":"Use of \\"yield from\\" requires Python 3.3 or newer","yieldFromOutsideAsync":"\\"yield from\\" not allowed in an async function","yieldOutsideFunction":"\\"yield\\" not allowed outside of a function or lambda","yieldTypeMismatch":"Expression of type \\"{exprType}\\" cannot be assigned to yield type \\"{yieldType}\\"","yieldWithinListCompr":"\\"yield\\" not allowed inside a list comprehension","zeroCaseStatementsFound":"Match statement must include at least one case statement","zeroLengthTupleNotAllowed":"Zero-length tuple not allowed in this context"},"DiagnosticAddendum":{"argParam":"Argument corresponds to parameter \\"{paramName}\\"","argParamFunction":"Argument corresponds to parameter \\"{paramName}\\" in function \\"{functionName}\\"","argsParamMissing":"Parameter \\"*{paramName}\\" has no corresponding parameter","argsPositionOnly":"Position-only parameter mismatch; expected {expected} but received {received}","argumentType":"Argument type is \\"{type}\\"","argumentTypes":"Argument types: ({types})","assignToNone":"Type cannot be assigned to type \\"None\\"","asyncHelp":"Did you mean \\"async with\\"?","baseClassProvidesType":"Base class \\"{baseClass}\\" provides type \\"{type}\\"","dataClassFieldLocation":"Field declaration","dataClassFrozen":"\\"{name}\\" is frozen","finalMethod":"Final method","keyNotRequired":"\\"{name}\\" is not a required key in \\"{type}\\", so access may result in runtime exception","keyRequiredDeleted":"\\"{name}\\" is a required key and cannot be deleted","keyUndefined":"\\"{name}\\" is not a defined key in \\"{type}\\"","functionParamDefaultMissing":"Parameter \\"{name}\\" is missing default argument","functionParamName":"Parameter name mismatch: \\"{destName}\\" versus \\"{srcName}\\"","functionReturnTypeMismatch":"Function return type \\"{sourceType}\\" is incompatible with type \\"{destType}\\"","functionTooFewParams":"Function accepts too few positional parameters; expected {expected} but received {received}","functionTooManyParams":"Function accepts too many positional parameters; expected {expected} but received {received}","incompatibleGetter":"Property getter method is incompatible","incompatibleSetter":"Property setter method is incompatible","initMethodLocation":"The __init__ method is defined in class \\"{type}\\"","incompatibleDeleter":"Property deleter method is incompatible","initMethodSignature":"Signature of __init__ is \\"{type}\\"","kwargsParamMissing":"Parameter \\"**{paramName}\\" has no corresponding parameter","listAssignmentMismatch":"Type \\"{type}\\" is incompatible with target list","literalAssignmentMismatch":"\\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","matchIsNotExhaustiveType":"Unhandled type: \\"{type}\\"","matchIsNotExhaustiveHint":"If exhaustive handling is not intended, add \\"case _: pass\\"","memberSetClassVar":"Member \\"{name}\\" cannot be assigned through a class instance because it is a ClassVar","memberAssignment":"Expression of type \\"{type}\\" cannot be assigned to member \\"{name}\\" of class \\"{classType}\\"","memberIsAbstract":"\\"{type}.{name}\\" is abstract","memberIsAbstractMore":"and {count} more...","memberIsFinalInProtocol":"\\"{name}\\" is marked Final in protocol","memberIsInitVar":"Member \\"{name}\\" is an init-only field","memberIsNotFinalInProtocol":"\\"{name}\\" is not marked Final in protocol","memberTypeMismatch":"\\"{name}\\" is an incompatible type","memberUnknown":"Member \\"{name}\\" is unknown","missingProtocolMember":"Member \\"{name}\\" is declared in protocol class \\"{classType}\\"","missingGetter":"Property getter method is missing","missingSetter":"Property setter method is missing","missingDeleter":"Property deleter method is missing","namedParamMissingInDest":"Keyword parameter \\"{name}\\" is missing in destination","namedParamMissingInSource":"Keyword parameter \\"{name}\\" is missing in source","namedParamTypeMismatch":"Keyword parameter \\"{name}\\" of type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","newMethodLocation":"The __new__ method is defined in class \\"{type}\\"","newMethodSignature":"Signature of __new__ is \\"{type}\\"","noOverloadAssignable":"No overloaded function matches type \\"{type}\\"","orPatternMissingName":"Missing names: {name}","overloadMethod":"Overload method is defined here","overloadNotAssignable":"One or more overloads of \\"{name}\\" is not assignable","overloadWithImplementation":"The body of a function overload should be \\"...\\"","overriddenMethod":"Overridden method","overriddenSymbol":"Overridden symbol","overrideParamCount":"Parameter count mismatch; base method has {baseCount}, but override has {overrideCount}","overrideParamName":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is named \\"{overrideName}\\"","overrideParamNamePositionOnly":"Parameter {index} name mismatch: base parameter is named \\"{baseName}\\", override parameter is position-only\\"","overrideParamType":"Parameter {index} type mismatch: base parameter is type \\"{baseType}\\", override parameter is type \\"{overrideType}\\"","overrideReturnType":"Return type mismatch: base method returns type \\"{baseType}\\", override returns type \\"{overrideType}\\"","overrideType":"Base class defines type as \\"{type}\\"","paramAssignment":"Parameter {index}: type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","paramSpecOverload":"ParamSpec cannot be used with overloaded function","paramType":"Parameter type is \\"{paramType}\\"","privateImportFromPyTypedSource":"Import from \\"{module}\\" instead","propertyAccessFromProtocolClass":"A property defined within a protocol class cannot be accessed as a class variable","propertyMethodIncompatible":"Property method \\"{name}\\" is incompatible","propertyMethodMissing":"Property method \\"{name}\\" is missing in override","propertyMissingDeleter":"Property \\"{name}\\" has no defined deleter","propertyMissingSetter":"Property \\"{name}\\" has no defined setter","protocolIncompatible":"\\"{sourceType}\\" is incompatible with protocol \\"{destType}\\"","protocolMemberClassVar":"\\"{name}\\" is not a class variable","protocolMemberMissing":"\\"{name}\\" is not present","protocolSourceIsNotConcrete":"\\"{sourceType}\\" is not a concrete class type and cannot be assigned to type \\"{destType}\\"","readOnlyAttribute":"Attribute \\"{name}\\" is read-only","seeDeclaration":"See declaration","seeClassDeclaration":"See class declaration","seeFunctionDeclaration":"See function declaration","seeMethodDeclaration":"See method declaration","seeParameterDeclaration":"See parameter declaration","seeVariableDeclaration":"See variable declaration","tupleEntryTypeMismatch":"Tuple entry {entry} is incorrect type","tupleAssignmentMismatch":"Type \\"{type}\\" is incompatible with target tuple","tupleSizeMismatch":"Element size mismatch; expected {expected} but received {received}","tupleSizeMismatchIndeterminate":"Tuple size mismatch; expected {expected} but received indeterminate number","typeAssignmentMismatch":"Type \\"{sourceType}\\" cannot be assigned to type \\"{destType}\\"","typeBound":"Type \\"{sourceType}\\" is incompatible with bound type \\"{destType}\\" for type variable \\"{name}\\"","typeConstrainedTypeVar":"Type \\"{type}\\" is incompatible with constrained type variable \\"{name}\\"","typedDictFieldMissing":"\\"{name}\\" is missing from \\"{type}\\"","typedDictFieldNotRequired":"\\"{name}\\" is not required in \\"{type}\\"","typedDictFieldRequired":"\\"{name}\\" is required in \\"{type}\\"","typedDictFieldTypeMismatch":"Type \\"{type}\\" is not assignable to field \\"{name}\\"","typedDictFieldRedefinition":"Type in parent class is \\"{parentType}\\" and type in child class is \\"{childType}\\"","typedDictFieldUndefined":"\\"{name}\\" is an undefined field in type \\"{type}\\"","typedDictFinalMismatch":"\\"{sourceType}\\" is incompatible with \\"{destType}\\" because of a @final mismatch","typeIncompatible":"\\"{sourceType}\\" is incompatible with \\"{destType}\\"","typeNotCallable":"Type \\"{type}\\" is not callable","typeNotClass":"\\"{type}\\" is not a class","typeParamSpec":"Type \\"{type}\\" is incompatible with ParamSpec \\"{name}\\"","typeNotStringLiteral":"\\"{type}\\" is not a string literal","typeOfSymbol":"Type of \\"{name}\\" is \\"{type}\\"","typeUnsupported":"Type \\"{type}\\" is unsupported","typeVarIsContravariant":"TypeVar \\"{name}\\" is contravariant","typeVarIsCovariant":"TypeVar \\"{name}\\" is covariant","typeVarIsInvariant":"TypeVar \\"{name}\\" is invariant","typeVarNotAllowed":"TypeVar or generic type with type arguments not allowed","typeVarsMissing":"Missing type variables: {names}","typeVarTupleRequiresKnownLength":"TypeVarTuple cannot be bound to a tuple of unknown length","unreachableExcept":"\\"{exceptionType}\\" is a subclass of \\"{parentType}\\"","useDictInstead":"Use Dict[T1, T2] to indicate a dictionary type","useListInstead":"Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type","useTupleInstead":"Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type","useTypeInstead":"Use Type[T] instead"},"CodeAction":{"addOptionalToAnnotation":"Add \\"Optional\\" to Type Annotation","createTypeStub":"Create Type Stub","createTypeStubFor":"Create Type Stub For \\"{moduleName}\\"","executingCommand":"Executing command","filesToAnalyzeOne":"1 file to analyze","filesToAnalyzeCount":"{count} files to analyze","findingReferences":"Finding references","organizeImports":"Organize Imports"},"Refactoring":{"moveFile":"Do you want to update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileLabel":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?","moveFileDescription":"Update all import references for \\"{oldModuleName}\\" to \\"{newModuleName}\\"?"}}')},9191:()=>{},2016:()=>{},6341:()=>{},198:()=>{}},__webpack_module_cache__={},leafPrototypes,getProto;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,__webpack_require__.d(n,i),n},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,n)=>(__webpack_require__.f[n](e,t),t)),[])),__webpack_require__.u=e=>"pyright-locale-"+e+"-"+{101:"c121083e2a7a54d431db",131:"ab4e388ba76ce41a9bbe",162:"52858c93d4cbe348333a",244:"93121a06520a592814db",372:"2f2f20ca0313ae5dd1d6",416:"213af665ac61b39bb90a",753:"025cc0f8d4b408b3f912",846:"49df54db2b702b64a1c6"}[e]+".worker.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={885:1};__webpack_require__.f.i=(t,n)=>{e[t]||importScripts(__webpack_require__.p+__webpack_require__.u(t))};var t=self.webpackChunkbrowser_pyright=self.webpackChunkbrowser_pyright||[],n=t.push.bind(t);t.push=t=>{var[i,r,s]=t;for(var o in r)__webpack_require__.o(r,o)&&(__webpack_require__.m[o]=r[o]);for(s&&s(__webpack_require__);i.length;)e[i.pop()]=1;n(t)}})();var __webpack_exports__={};(()=>{"use strict";var e=__webpack_require__(3984);function t(e){return e}function n(e,t){return e===t}function i(e,t){return e===t?0:void 0===e?-1:void 0===t?1:et;n--)e[n]=e[n-1];e[t]=n}return e}function p(e,t){return!!e&&(t?e.some(t):e.length>0)}function d(e,t,n,i,r){return function(e,t,n,i,r){if(!p(e))return-1;let s=r||0,o=e.length-1;for(;s<=o;){const r=s+(o-s>>1);switch(i(n(e[r]),t)){case-1:s=r+1;break;case 0:return r;case 1:o=r-1}}return~s}(e,n(t),n,i,r)}function h(e,t,n){const i=e.get(t);if(void 0!==i)return i;const r=n();return e.set(t,r),r}function m(e,t){for(let n=0;nt(e))).reduce(((t,n,i)=>(t.set(n,(t.get(n)||[]).concat(e[i])),t)),new Map)}Object.prototype.hasOwnProperty;const g="typeshed-fallback",y="lib",_="Lib",v="lib64",T="site-packages",b="-stubs";var I,S=__webpack_require__(6470);I=(()=>{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,i="",r=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),s=a,o=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=a,o=0;continue}t&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+e.slice(s+1,a):i=e.slice(s+1,a),r=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return i}var i={resolve:function(){for(var e,i="",r=!1,s=arguments.length-1;s>=-1&&!r;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e="/"),o=e),t(o),0!==o.length&&(i=o+"/"+i,r=47===o.charCodeAt(0))}return i=n(i,!r),r?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(t(e),0===e.length)return".";var i=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!i)).length||i||(e="."),e.length>0&&r&&(e+="/"),i?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":i.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=i.resolve(e))===(n=i.resolve(n)))return"";for(var r=1;rc){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else o>c&&(47===e.charCodeAt(r+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(r+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var h="";for(p=r+u+1;p<=s;++p)p!==s&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),i=47===n,r=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){r=o;break}}else s=!1;return-1===r?i?"/":".":i&&1===r?"//":e.slice(0,r)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var i,r=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(i=e.length-1;i>=0;--i){var c=e.charCodeAt(i);if(47===c){if(!o){r=i+1;break}}else-1===l&&(o=!1,l=i+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=i):(a=-1,s=l))}return r===s?s=l:-1===s&&(s=e.length),e.slice(r,s)}for(i=e.length-1;i>=0;--i)if(47===e.charCodeAt(i)){if(!o){r=i+1;break}}else-1===s&&(o=!1,s=i+1);return-1===s?"":e.slice(r,s)},extname:function(e){t(e);for(var n=-1,i=0,r=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===r&&(s=!1,r=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){i=a+1;break}}return-1===n||-1===r||0===o||1===o&&n===r-1&&n===i+1?"":e.slice(n,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+"/"+i:i}(0,e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var i,r=e.charCodeAt(0),s=47===r;s?(n.root="/",i=1):i=0;for(var o=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=i;--u)if(47!==(r=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===r?-1===o?o=u:1!==p&&(p=1):-1!==o&&(p=-1);else if(!c){a=u+1;break}return-1===o||-1===l||0===p||1===p&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};i.posix=i,e.exports=i},447:(e,t,n)=>{var i;if(n.r(t),n.d(t,{URI:()=>f,Utils:()=>w}),"object"==typeof{env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})})i="win32"==={env:{},execArgv:[],cwd:()=>"/",memoryUsage:()=>({heapUsed:0,rss:1})}.platform;else if("object"==typeof navigator){var r=navigator.userAgent;i=r.indexOf("Windows")>=0}var s,o,a=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=/^\w[\w\d+.-]*$/,c=/^\//,u=/^\/\//;function p(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(e.authority,'", path: "').concat(e.path,'", query: "').concat(e.query,'", fragment: "').concat(e.fragment,'"}'));if(e.scheme&&!l.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!c.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}var d="",h="/",m=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,n,i,r,s){void 0===s&&(s=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,n||d),this.query=i||d,this.fragment=r||d,p(this,s))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return b(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,i=e.path,r=e.query,s=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===n?n=this.authority:null===n&&(n=d),void 0===i?i=this.path:null===i&&(i=d),void 0===r?r=this.query:null===r&&(r=d),void 0===s?s=this.fragment:null===s&&(s=d),t===this.scheme&&n===this.authority&&i===this.path&&r===this.query&&s===this.fragment?this:new y(t,n,i,r,s)},e.parse=function(e,t){void 0===t&&(t=!1);var n=m.exec(e);return n?new y(n[2]||d,C(n[4]||d),C(n[5]||d),C(n[7]||d),C(n[9]||d),t):new y(d,d,d,d,d)},e.file=function(e){var t=d;if(i&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){var n=e.indexOf(h,2);-1===n?(t=e.substring(2),e=h):(t=e.substring(2,n),e=e.substring(n)||h)}return new y("file",t,e,d,d)},e.from=function(e){var t=new y(e.scheme,e.authority,e.path,e.query,e.fragment);return p(t,!0),t},e.prototype.toString=function(e){return void 0===e&&(e=!1),I(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new y(t);return n._formatted=t.external,n._fsPath=t._sep===g?t.fsPath:null,n}return t},e}(),g=i?1:void 0,y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return a(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?I(this,!0):(this._formatted||(this._formatted=I(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=g),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(f),_=((o={})[58]="%3A",o[47]="%2F",o[63]="%3F",o[35]="%23",o[91]="%5B",o[93]="%5D",o[64]="%40",o[33]="%21",o[36]="%24",o[38]="%26",o[39]="%27",o[40]="%28",o[41]="%29",o[42]="%2A",o[43]="%2B",o[44]="%2C",o[59]="%3B",o[61]="%3D",o[32]="%20",o);function v(e,t){for(var n=void 0,i=-1,r=0;r=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),void 0!==n&&(n+=e.charAt(r));else{void 0===n&&(n=e.substr(0,r));var o=_[s];void 0!==o?(-1!==i&&(n+=encodeURIComponent(e.substring(i,r)),i=-1),n+=o):-1===i&&(i=r)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function T(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//".concat(e.authority).concat(e.path):47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(n=n.replace(/\//g,"\\")),n}function I(e,t){var n=t?T:v,i="",r=e.scheme,s=e.authority,o=e.path,a=e.query,l=e.fragment;if(r&&(i+=r,i+=":"),(s||"file"===r)&&(i+=h,i+=h),s){var c=s.indexOf("@");if(-1!==c){var u=s.substr(0,c);s=s.substr(c+1),-1===(c=u.indexOf(":"))?i+=n(u,!1):(i+=n(u.substr(0,c),!1),i+=":",i+=n(u.substr(c+1),!1)),i+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?i+=n(s,!1):(i+=n(s.substr(0,c),!1),i+=s.substr(c))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2))(p=o.charCodeAt(1))>=65&&p<=90&&(o="/".concat(String.fromCharCode(p+32),":").concat(o.substr(3)));else if(o.length>=2&&58===o.charCodeAt(1)){var p;(p=o.charCodeAt(0))>=65&&p<=90&&(o="".concat(String.fromCharCode(p+32),":").concat(o.substr(2)))}i+=n(o,!0)}return a&&(i+="?",i+=n(a,!1)),l&&(i+="#",i+=t?l:v(l,!1)),i}function S(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+S(e.substr(3)):e}}var x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(x)?e.replace(x,(function(e){return S(e)})):e}var w,E=n(470),k=function(e,t,n){if(n||2===arguments.length)for(var i,r=0,s=t.length;r{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(447)})();const{URI:x,Utils:C}=I;function w(e,t,n,i){e||(n&&(t+="\r\nVerbose Debug Information: "+("string"==typeof n?n:n())),E(t?"False expression: "+t:"False expression.",i||w))}function E(e,t){const n=new Error(e?`Debug Failure. ${e}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(n,t||E),n}function k(e,t="Illegal value:",n){E(`${t} ${JSON.stringify(e)}`,n||k)}function D(e){if(e)return JSON.stringify(e).length>2?e:{name:e.name&&r(e.name)?e.name:"noname",message:e.message&&r(e.message)?e.message:"nomessage",stack:e.stack&&r(e.stack)?e.stack:void 0}}let A;try{A=__webpack_require__(2016),(null==A?void 0:A.randomBytes)||(A=void 0)}catch{}function P(e){if(A)return A.randomBytes(e).toString("hex");if(crypto){return t=crypto.getRandomValues(new Uint8Array(e)),[...t].map((e=>e.toString(16).padStart(2,"0"))).join("")}var t;E("crypto library not found")}var R=__webpack_require__(7588),F=__webpack_require__.n(R);function N(e,t){const n=e.toLocaleLowerCase(),i=t.toLocaleLowerCase(),r=n.length,s=i.length;let o=0,a=0;for(;o0&&!r[r.length-1]&&r.pop(),K([i,...r])}function K(e){if(!p(e))return[];const t=[e[0]];for(let n=1;n1){if(".."!==t[t.length-1]){t.pop();continue}}else if(t[0])continue;t.push(i)}}return t}function J(e){return 0===e.length?"":X((e[0]&&le(e[0]))+e.slice(1).join(S.sep))}function Y(e,t){if(!e.startsWith(le(t)))return;const n=G(e);let i=".";for(let e=G(t).length;e=0?i.substring(r):""}function se(e,n,i){return w(H(e)>0==H(n)>0,"Paths must either both be absolute or both be relative"),function(e,t,n,i){const r=G(e),s=G(t);let o;for(o=0;oe.namet.name?1:0)),r=[],s=[];for(const e of i)if("."!==e.name&&".."!==e.name)if(e.isFile())r.push(e.name);else if(e.isDirectory())s.push(e.name);else if(e.isSymbolicLink()){const i=ye(t,te(n,e.name));(null==i?void 0:i.isFile())?r.push(e.name):(null==i?void 0:i.isDirectory())&&s.push(e.name)}return{files:r,directories:s}}function be(e,t){let n=function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n),r=Ie(),s=`(${r}[^${r}.][^${r}]*)*?`,o=new RegExp(`[^\\w\\s${r}]`,"g");i.length>0&&(i[0]=ue(i[0]));let a="",l=!0;for(let e of i)"**"===e?a+=s:(l||(e=r+e),a+=e.replace(o,(e=>"*"===e?`[^${r}]*`:"?"===e?`[^${r}]`:"\\"+e)),l=!1);return a}(e,t);n=`^(${n})($|${Ie()})`;const i=new RegExp(n);return{wildcardRoot:function(e,t){let n=me(te(e,t));n.endsWith(".py")||n.endsWith(".pyi")||(n=le(n));const i=G(n);if(i.length>0&&(i[0]=ue(i[0])),1===i.length&&!i[0])return S.sep;let r="",s=!0;for(let e of i){if("**"===e)break;if(e.match(/[*?]/))break;s||(e=S.sep+e),r+=e,s=!1}return r}(e,t),regExp:i}}function Ie(){return"/"===S.sep?"/":"\\\\"}function Se(e){const t=H(e);return t>0&&t===e.length}function xe(e,t,n){if(e===t)return 0;if(void 0===e)return-1;if(void 0===t)return 1;const r=e.substring(0,H(e)),s=t.substring(0,H(t)),o=O(r,s);if(0!==o)return o;const a=Ie(),l=new RegExp(`(^|${a}).{0,2}($|${a})`),c=e.substring(r.length),u=t.substring(s.length);if(!l.test(c)&&!l.test(u))return n(c,u);const p=G(e),d=G(t),h=Math.min(p.length,d.length);for(let e=1;e=t.length&&46===e.charCodeAt(e.length-t.length)){const i=e.slice(e.length-t.length);if(n(i,t))return i}}function we(e,t){return e.getMappedFilePath(function(e){let t=me(x.parse(e).path);return t.match(/^\\[a-zA-Z]:\\/)&&(t=t.substr(1)),t}(t))}function Ee(e,t){return e.getUri(e.getOriginalFilePath(t))}function ke(e,t){return function(e){return void 0!==W||(W=function(e){let t;try{let n,i;do{n=`${P(21)}-a`,t=S.join(e.tmpdir(),n),i=S.join(e.tmpdir(),n.toUpperCase())}while(e.existsSync(t)||e.existsSync(i));return e.writeFileSync(t,"","utf8"),!e.existsSync(i)}catch(e){return!1}finally{t&&e.unlinkSync(t)}}(e)),W}(e)?t:t.toLowerCase()}var De;!function(e){e[e.V3_0=768]="V3_0",e[e.V3_1=769]="V3_1",e[e.V3_2=770]="V3_2",e[e.V3_3=771]="V3_3",e[e.V3_4=772]="V3_4",e[e.V3_5=773]="V3_5",e[e.V3_6=774]="V3_6",e[e.V3_7=775]="V3_7",e[e.V3_8=776]="V3_8",e[e.V3_9=777]="V3_9",e[e.V3_10=778]="V3_10",e[e.V3_11=779]="V3_11"}(De||(De={}));const Ae=De.V3_10;function Pe(e){return`${e>>8&255}.${255&e}`}function Re(e){const t=e.split(".");if(!(t.length<2))return function(e,t){if(isNaN(e)||isNaN(t))return;if(e>255||t>255)return;const n=256*e+t;if(void 0!==De[n]&&n>>8==3)return n}(parseInt(t[0],10),parseInt(t[1],10))}var Fe;!function(e){e[e.NotIdentifierChar=0]="NotIdentifierChar",e[e.StartIdentifierChar=1]="StartIdentifierChar",e[e.IdentifierChar=2]="IdentifierChar",e[e.SurrogateChar=3]="SurrogateChar"}(Fe||(Fe={}));const Ne=256,Me=new Array(Ne),Oe={},Le={};let Ue=!1;function qe(e,t){if(e=48&&e<=57||95===e}function We(e){return Be(e)||e>=97&&e<=102||e>=65&&e<=70||95===e}function je(e){return e>=48&&e<=55||95===e}function ze(e){return 48===e||49===e||95===e}function $e(e,t){if(Oe[e]!==Fe.SurrogateChar)return Fe.NotIdentifierChar;const n=Le[e];return n?n[t]:Fe.NotIdentifierChar}const He=[[95,6277,6278,8472,8494,12443,12444],[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,8579,[11264,11310],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,[65313,65338],[66560,66599],[66736,66771],[68736,68786],[71840,71871],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217]],[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,687],881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[5112,5117],[7296,7304],[7424,7467],[7531,7543],[7545,7578],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,8580,[11312,11358],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11387],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,2581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,[42865,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,43002,[43824,43866],[43872,43877],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[68800,68850],[71872,71903],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[125218,125251]],[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],[170,186,443,[448,451],660,[1488,1514],[1520,1522],[1568,1599],[1601,1610],[1646,1647],[1649,1747],1749,[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2048,2069],[2112,2136],[2144,2154],[2208,2228],[2230,2237],[2308,2361],2365,2384,[2392,2401],[2418,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,3294,[3296,3297],[3313,3314],[3333,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3653],[3713,3714],3716,[3719,3720],3722,3725,[3732,3735],[3737,3743],[3745,3747],3749,3751,[3754,3755],[3757,3760],[3762,3763],3773,[3776,3780],[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4304,4346],[4349,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5900],[5902,5905],[5920,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6108,[6176,6210],[6212,6263],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],[6917,6963],[6981,6987],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7287],[7401,7404],[7406,7409],[7413,7414],[8501,8504],[11568,11623],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],12294,12348,[12353,12438],12447,[12449,12538],12543,[12549,12590],[12593,12686],[12704,12730],[12784,12799],[13312,19893],[19968,40938],[40960,40980],[40982,42124],[42192,42231],[42240,42507],[42512,42527],[42538,42539],42606,[42656,42725],42895,42999,[43003,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,43261,[43274,43301],[43312,43334],[43360,43388],[43396,43442],[43488,43492],[43495,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43631],[43633,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43740],[43744,43754],43762,[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43968,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65382,65391],[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66640,66717],[66816,66855],[66864,66915],[67072,67382],[67392,67413],[67424,67431],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68147],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[69635,69687],[69763,69807],[69840,69864],[69891,69926],[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],[71424,71449],71935,72192,[72203,72242],72250,72272,[72284,72323],[72326,72329],[72384,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73728,74649],[74880,75075],[77824,78894],[82944,83526],[92160,92728],[92736,92766],[92880,92909],[92928,92975],[93027,93047],[93053,93071],[93952,94020],94032,[94208,100332],[100352,101106],[110592,110878],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[124928,125124],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173782],[173824,177972],[177984,178205],[178208,183969],[183984,191456],[194560,195101]],[[688,705],[710,721],[736,740],748,750,884,890,1369,1600,[1765,1766],[2036,2037],2042,2074,2084,2088,2417,3654,3782,4348,6103,6211,6823,[7288,7293],[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[11388,11389],11631,11823,12293,[12337,12341],12347,[12445,12446],[12540,12542],40981,[42232,42237],42508,42623,[42652,42653],[42775,42783],42864,42888,[43e3,43001],43471,43494,43632,43741,[43763,43764],[43868,43871],65392,[65438,65439],[92992,92995],[94099,94111],[94176,94177]],[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]]],Ge=[{55297:[[56320,56359],[56496,56531]],55299:[[56448,56498]],55302:[[56480,56511]],55323:[[56896,56927]],55349:[[56320,56345],[56372,56397],[56424,56449],56476,[56478,56479],56482,[56485,56486],[56489,56492],[56494,56501],[56528,56553],[56580,56581],[56583,56586],[56589,56596],[56598,56604],[56632,56633],[56635,56638],[56640,56644],56646,[56650,56656],[56684,56709],[56736,56761],[56788,56813],[56840,56865],[56892,56917],[56944,56969],[57e3,57024],[57058,57082],[57116,57140],[57174,57198],[57232,57256],[57290,57290]],55354:[[56576,56609]]},{55297:[[56360,56399],[56536,56571]],55299:[[56512,56562]],55302:[[56512,56543]],55323:[[56928,56959]],55349:[[56346,56371],[56398,56404],[56406,56423],[56450,56475],[56502,56505],56507,[56509,56515],[56517,56527],[56554,56579],[56606,56631],[56658,56683],[56710,56735],[56762,56787],[56814,56839],[56866,56891],[56918,56943],[56970,56997],[57026,57050],[57052,57057],[57084,57108],[57110,57115],[57142,57166],[57168,57173],[57200,57224],[57226,57231],[57258,57282],[57284,57289],[57291,57291]],55354:[[56610,56643]]},{55296:[[56320,56331],[56333,56358],[56360,56378],[56380,56381],[56383,56397],[56400,56413],[56448,56570],[56960,56988],[56992,57040],[57088,57119],[57133,57152],[57154,57161],[57168,57205],[57216,57245],[57248,57283],[57288,57295]],55297:[[56400,56477],[56576,56615],[56624,56675],[56832,57142],[57152,57173],[57184,57191]],55298:[[56320,56325],[56328,56328],[56330,56373],[56375,56376],[56380,56380],[56383,56405],[56416,56438],[56448,56478],[56544,56562],[56564,56565],[56576,56597],[56608,56633],[56704,56759],[56766,56767],[56832,56832],[56848,56851],[56853,56855],[56857,56885],[56928,56956],[56960,56988],[57024,57031],[57033,57060],[57088,57141],[57152,57173],[57184,57202],[57216,57233]],55299:[[56320,56392],[56576,56611],[56960,57001],[57008,57009],[57088,57116],57127,[57136,57157],[57264,57284],[57312,57334]],55300:[[56323,56375],[56451,56495],[56528,56552],[56579,56614],56644,56647,[56656,56690],56694,[56707,56754],[56769,56772],56794,56796,[56832,56849],[56851,56875],[56960,56966],56968,[56970,56973],[56975,56989],[56991,57e3],[57008,57054],[57093,57100],[57103,57104],[57107,57128],[57130,57136],[57138,57139],[57141,57145],57149,57168,[57181,57185]],55301:[[56320,56372],[56391,56394],[56415,56417],[56448,56495],[56516,56517],56519,[56704,56750],[56792,56795],[56832,56879],56900,[56960,57002],57016,[57088,57114]],55302:[[56320,56363],[56575,56582],56585,[56588,56595],[56597,56598],[56600,56623],56639,56641,[56736,56743],[56746,56784],56801,56803,56832,[56843,56882],56890,56912,[56924,56969],56989,[57024,57080]],55303:[[56320,56328],[56330,56366],56384,56434,[56576,56582],[56584,56585],[56587,56624],56646,[56672,56677],[56679,56680],[56682,56713],56728,[57056,57074],57264],55304:[[56320,57241]],55305:[[56448,56643]],55308:[[56320,57343]],55309:[[56320,56366]],55313:[[56320,56902]],55322:[[56320,56888],[56896,56926],[57040,57069],[57088,57135],[57187,57207],[57213,57231]],55323:[[57088,57162],57168],55324:[56320],55329:[57335],55330:[[56320,57343]],55331:[[56320,56533],[56576,56576],[56584,56584]],55340:[[56320,56606],[56656,56658],[56676,56679],[56688,57083]],55343:[[56320,56426],[56432,56444],[56448,56456],[56464,56473]],55352:[[56576,56620],56654,[57024,57067]],55354:[[56320,56516]],55355:[[56832,56835],[56837,56863],[56865,56866],56868,56871,[56873,56882],[56884,56887],56889,56891,56898,56903,56905,56907,[56909,56911],[56913,56914],56916,56919,56921,56923,56925,56927,[56929,56930],56932,[56935,56938],[56940,56946],[56948,56951],[56953,56956],56958,[56960,56969],[56971,56987],[56993,56995],[56997,57001],[57003,57019]],55360:[56320],55401:[57053,57088],55405:[57140,57152],55406:[56349,56352],55411:[56993,57008],55418:[57312],55422:[[56320,56861]],55424:[56320],55428:[57162]},{55322:[[57152,57155]],55323:[[57235,57247],[57312,57313],57315],55352:[[56631,56637]],55354:[56651]},{55296:[[56640,56692],57153,57162,[57297,57301]],55305:[[56320,56430]]}],Ke=[[183,903,4969,4970,4971,4972,4973,4974,4975,4976,4977,6618],[[768,879],[1155,1159],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2260,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,2902,[2914,2915],2946,3008,3021,3072,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3769],[3771,3772],[3784,3789],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6845],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7673],[7675,7679],[8400,8412],8417,[8421,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],42607,[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],[43204,43205],[43232,43249],[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],43452,43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],69633,[69688,69702],[69759,69761],[69811,69814],[69817,69818],[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70090,70092],[70191,70193],70196,[70198,70199],70206,70367,[70371,70378],[70400,70401],70460,70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[72193,72198],[72201,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[92912,92916],[92976,92982],[94095,94098],[113821,113822],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[125136,125142],[125252,125258],[917760,917999]],[2307,2363,[2366,2368],[2377,2380],[2382,2383],[2434,2435],[2494,2496],[2503,2504],[2507,2508],2519,2563,[2622,2624],2691,[2750,2752],2761,[2763,2764],[2818,2819],2878,2880,[2887,2888],[2891,2892],2903,[3006,3007],[3009,3010],[3014,3016],[3018,3020],3031,[3073,3075],[3137,3140],[3202,3203],3262,[3264,3268],[3271,3272],[3274,3275],[3285,3286],[3330,3331],[3390,3392],[3398,3400],[3402,3404],3415,[3458,3459],[3535,3537],[3544,3551],[3570,3571],[3902,3903],3967,[4139,4140],4145,4152,[4155,4156],[4182,4183],[4194,4196],[4199,4205],[4227,4228],[4231,4236],4239,[4250,4252],6070,[6078,6085],[6087,6088],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6681,6682],6741,6743,6753,[6755,6756],[6765,6770],6916,6965,6971,[6973,6977],[6979,6980],7042,7073,[7078,7079],7082,7143,[7146,7148],7150,[7154,7155],[7204,7211],[7220,7221],7393,[7410,7411],7415,[12334,12335],[43043,43044],43047,[43136,43137],[43188,43203],[43346,43347],43395,[43444,43445],[43450,43451],[43453,43456],[43567,43568],[43571,43572],43597,43643,43645,43755,[43758,43759],43765,[44003,44004],[44006,44007],[44009,44010],44012,69632,69634,69762,[69808,69810],[69815,69816],69932,70018,[70067,70069],[70079,70080],[70188,70190],[70194,70195],70197,[70368,70370],[70402,70403],[70462,70463],[70465,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70709,70711],[70720,70721],70725,[70832,70834],70841,[70843,70846],70849,[71087,71089],[71096,71099],71102,[71216,71218],[71227,71228],71230,71340,[71342,71343],71350,[71456,71457],71462,[72199,72200],72249,[72279,72280],72343,72751,72766,72873,72881,72884,[94033,94078],[119141,119142],[119149,119154]],[[48,57],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72784,72793],[73040,73049],[92768,92777],[93008,93017],[120782,120831],[125264,125273]],[95,[8255,8256],8276,[65075,65076],[65101,65103],65343]],Je=[{55296:[56829,57056,[57206,57210]],55298:[[56833,56835],[56837,56838],[56844,56847],[56888,56890],56895,[57061,57062]],55299:[[56612,56615],[57003,57004],[57158,57168]],55300:[56321,[56376,56390],[56447,56449],[56499,56502],[56505,56506],[56576,56578],[56615,56619],[56621,56628],56691,[56704,56705],[56758,56766],[56777,56780],56783,[56879,56881],56884,[56886,56887],56894,57055,[57059,57066],[57088,57089],[57147,57148],57152,[57190,57196],[57200,57204]],55301:[[56376,56383],[56386,56388],56390,56414,[56499,56504],56506,[56511,56512],[56514,56515],[56754,56757],[56764,56765],[56767,56768],[56796,56797],[56883,56890],56893,[56895,56896],57003,57005,[57008,57013],57015,[57117,57119],[57122,57125],[57127,57131]],55302:[[56367,56375],[56377,56378],[56635,56636],56638,56643,[56788,56791],[56794,56795],56800,[56833,56842],[56883,56888],[56891,56894],56903,[56913,56918],[56921,56923],[56970,56982],[56984,56985]],55303:[[56368,56374],[56376,56381],56383,[56466,56487],[56490,56496],[56498,56499],[56501,56502],[56625,56630],56634,[56636,56637],[56639,56645],56647,[56720,56721],56725,56727,[57075,57076]],55322:[[57072,57076],[57136,57142]],55323:[57167,[57231,57234],57316],55343:[[56477,56478]],55348:[[56679,56681],[56699,56706],[56709,56715],[56746,56749],[56898,56900]],55350:[[56832,56886],[56891,56940],56949,56964,[56987,56991],[56993,57007]],55352:[[56320,56326],[56328,56344],[56347,56353],[56355,56356],[56358,56362],[56624,56630],[57068,57071]],55354:[[56528,56534],[56644,56650]],56128:[[56576,56815]]},{55300:[56320,56322,56450,[56496,56498],[56503,56504],56620,[56645,56646],56706,[56755,56757],[56767,56768],56782,[56876,56878],[56882,56883],56885,[57056,57058],[57090,57091],[57150,57151],[57153,57156],[57159,57160],[57163,57165],57175,[57186,57187]],55301:[[56373,56375],[56384,56385],56389,[56496,56498],56505,[56507,56510],56513,[56751,56753],[56760,56763],56766,[56880,56882],[56891,56892],56894,57004,[57006,57007],57014,[57120,57121],57126],55302:[[56364,56366],56376,[56624,56629],[56631,56632],56637,56640,56642,[56785,56787],[56796,56799],56804,56889,[56919,56920],56983],55303:[56367,56382,56489,56497,56500,[56714,56718],[56723,56724],56726,[57077,57078]],55323:[[57169,57223],[57328,57329]],55348:[[56677,56678],[56685,56690]]},{55297:[[56480,56489]],55299:[[56624,56633]],55300:[[56422,56431],[56560,56569],[56630,56639],[56784,56793],[57072,57081]],55301:[[56400,56409],[56528,56537],[56912,56921],[57024,57033],[57136,57145]],55302:[[56544,56553],56656],55303:[[56400,56409],[56656,56665],[56736,56745]],55322:[[56928,56937],[57168,57177]],55349:[[57294,57343]],55352:[[56640,56649],[57072,57081]],55354:[[56656,56665]],55358:[[57328,57337]]}];function Ye(e,t,n,i,r){for(let s=0;s=Ne)break}}function Qe(e,t){for(const n in e)Le[n]||(Le[n]={},Oe[n]=Fe.SurrogateChar),Ye(e[n],t,!1,Le[n],Le[n])}function Ze(e){if(Me.fill(Fe.NotIdentifierChar),Ke.forEach((t=>{Ye(t,Fe.IdentifierChar,e,Me,Oe)})),He.forEach((t=>{Ye(t,Fe.StartIdentifierChar,e,Me,Oe)})),!e){for(const e of Je)Qe(e,Fe.IdentifierChar);for(const e of Ge)Qe(e,Fe.StartIdentifierChar)}}function Xe(e,t){if(!e.existsSync(t)||!fe(e,t))return;let n=!1;const i=te(t,"py.typed");if(!e.existsSync(t)||!ge(e,i))return;const r=e.statSync(i);if(r.size>0&&r.size<65536){const t=e.readFileSync(i,"utf8");(t.match(/partial\n/)||t.match(/partial\r\n/))&&(n=!0)}return{pyTypedPath:i,isPartiallyTyped:n}}function et(e){const t=e.map((e=>e.toLowerCase()));return e=>{if(!e||e.indexOf("__pycache__")>=0)return!0;const n=e.toLowerCase();return t.every((e=>n.indexOf(e)<0))}}Ze(!0);const tt={close(){}},nt={createFileWatcher:(e,t)=>tt,onFileChange(e,t){}};class it{constructor(e,t){this.name=e,this._file=t}isFile(){return this._file}isDirectory(){return!this._file}isBlockDevice(){return!1}isCharacterDevice(){return!1}isSymbolicLink(){return!1}isFIFO(){return!1}isSocket(){return!1}}class rt extends class{constructor(e){this._realFS=e,this._entryMap=new Map,this._reverseEntryMap=new Map,this._folderMap=new Map}existsSync(e){return!this._isMovedEntry(e)&&this._realFS.existsSync(this._getOriginalPath(e))}mkdirSync(e,t){throw new Error("Operation is not allowed.")}chdir(e){throw new Error("Operation is not allowed.")}readdirEntriesSync(e){const t=le(e),n=[],i=this._folderMap.get(t);return i&&!this._realFS.existsSync(e)||n.push(...this._realFS.readdirEntriesSync(e).filter((t=>!this._isMovedEntry(te(e,t.name))))),i?n.concat(i.map((e=>new it(e.name,e.isFile)))):n}readdirSync(e){return this.readdirEntriesSync(e).map((e=>e.name))}readFileSync(e,t){return this._realFS.readFileSync(this._getOriginalPath(e),t)}writeFileSync(e,t,n){throw new Error("Operation is not allowed.")}statSync(e){return this._realFS.statSync(this._getOriginalPath(e))}unlinkSync(e){throw new Error("Operation is not allowed.")}realpathSync(e){return this._entryMap.has(e)?e:this._realFS.realpathSync(e)}getModulePath(){return this._realFS.getModulePath()}createFileSystemWatcher(e,t){return this._realFS.createFileSystemWatcher(e,t)}createReadStream(e){return this._realFS.createReadStream(this._getOriginalPath(e))}createWriteStream(e){throw new Error("Operation is not allowed.")}copyFileSync(e,t){throw new Error("Operation is not allowed.")}readFile(e){return this._realFS.readFile(this._getOriginalPath(e))}readFileText(e,t){return this._realFS.readFileText(this._getOriginalPath(e),t)}tmpdir(){return this._realFS.tmpdir()}tmpfile(e){return this._realFS.tmpfile(e)}realCasePath(e){return this._realFS.realCasePath(e)}getUri(e){return this._realFS.getUri(e)}isMappedFilePath(e){return this._entryMap.has(e)||this._realFS.isMappedFilePath(e)}getOriginalFilePath(e){return this._realFS.getOriginalFilePath(this._getOriginalPath(e))}getMappedFilePath(e){var t;const n=this._realFS.getMappedFilePath(e);return null!==(t=this._reverseEntryMap.get(n))&&void 0!==t?t:n}isInZipOrEgg(e){return this._realFS.isInZipOrEgg(e)}_recordMovedEntry(e,t,n=!0,i=!0){this._entryMap.set(e,t),n&&this._reverseEntryMap.set(t,e);const r=le($(e)),s=h(this._folderMap,r,(()=>[])),o=de(e);s.some((e=>e.name===o))||s.push({name:o,isFile:i})}_getOriginalPath(e){var t;return null!==(t=this._entryMap.get(e))&&void 0!==t?t:e}_isMovedEntry(e){return this._reverseEntryMap.has(e)}_clear(){this._entryMap.clear(),this._reverseEntryMap.clear(),this._folderMap.clear()}}{constructor(e){super(e),this._rootSearched=new Set,this._partialStubPackagePaths=new Set,this._conflictMap=new Map,this._customUriMap=new Map}mkdirSync(e,t){this._realFS.mkdirSync(e,t)}chdir(e){this._realFS.chdir(e)}writeFileSync(e,t,n){this._realFS.writeFileSync(this._getOriginalPath(e),t,n)}unlinkSync(e){this._realFS.unlinkSync(this._getOriginalPath(e))}createWriteStream(e){return this._realFS.createWriteStream(this._getOriginalPath(e))}copyFileSync(e,t){this._realFS.copyFileSync(this._getOriginalPath(e),this._getOriginalPath(t))}getUri(e){const t=this._customUriMap.get(this.getMappedFilePath(e));return t?t.uri:this._realFS.getUri(e)}hasUriMapEntry(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e)}addUriMap(e,t){const n=this._customUriMap.get(t);return n?n.uri===e&&(n.closed=!1,!0):(this._customUriMap.set(t,{uri:e,closed:!1,hasPendingRequest:!1}),!0)}removeUriMap(e,t){const n=this._customUriMap.get(t);return!(!n||n.uri!==e||(n.hasPendingRequest?(n.closed=!0,0):(this._customUriMap.delete(t),0)))}pendingRequest(e,t){const n=this._customUriMap.get(e);n&&(t||!n.closed?n.hasPendingRequest=t:this._customUriMap.delete(e))}isPartialStubPackagesScanned(e){var t;return this.isPathScanned(null!==(t=e.root)&&void 0!==t?t:"")}isPathScanned(e){return this._rootSearched.has(e)}processPartialStubPackages(e,t){var n;for(const i of e)if(this._rootSearched.add(i),this._realFS.existsSync(i)&&fe(this._realFS,i))for(const e of this._realFS.readdirEntriesSync(i)){const r=te(i,e.name);if(!(e.isSymbolicLink()?null===(n=ye(this._realFS,r))||void 0===n?void 0:n.isDirectory():e.isDirectory())||!e.name.endsWith(b))continue;const s=Xe(this._realFS,r);if(!s||!s.isPartiallyTyped)continue;let o;this._partialStubPackagePaths.add(r);const a=e.name.substr(0,e.name.length-b.length);for(const e of t){const t=te(e,a);try{const e=ye(this._realFS,t);if(!(null==e?void 0:e.isDirectory()))continue;const n=Xe(this._realFS,t);if(n&&!n.isPartiallyTyped)continue;o=null!=o?o:this._getRelativePathPartialStubs(r);for(const e of o){const n=te(r,e),i=te(t,e);if(this.existsSync(i)){const t=ie(i,"py"),r=ie(te(this.tmpdir(),"conflictFiles",a,e),"py");this._conflictMap.has(i)||this.existsSync(t)||this.existsSync(r)||(this._recordMovedEntry(r,n,!1),this._conflictMap.set(i,r))}else this._recordMovedEntry(i,n)}}catch{}}}}clearPartialStubs(){super._clear(),this._rootSearched.clear(),this._partialStubPackagePaths.clear(),this._conflictMap.clear()}getConflictedFile(e){return this._conflictMap.get(e)}_getRelativePathPartialStubs(e){const t=[],n=le(e).length,i=e=>{for(const r of this._realFS.readdirEntriesSync(e)){const s=te(e,r.name);let o=r.isDirectory(),a=r.isFile();if(r.isSymbolicLink()){const e=ye(this._realFS,s);e&&(o=e.isDirectory(),a=e.isFile())}if(o&&i(s),a&&r.name.endsWith(".pyi")){const e=s.substring(n);e&&t.push(e)}}};return i(e),t}_isMovedEntry(e){return this._partialStubPackagePaths.has(e)||super._isMovedEntry(e)}}var st=__webpack_require__(3374),ot=__webpack_require__(8934);let at;class lt extends ot.ResponseError{constructor(){super(ot.LSPErrorCodes.RequestCancelled,"request cancelled")}static is(e){return e.code===ot.LSPErrorCodes.RequestCancelled}}function ct(e){if(!o()&&e.isCancellationRequested)throw new lt}function ut(...e){const t=new st.CancellationTokenSource,n=[];for(const i of e)n.push(i.onCancellationRequested((e=>{t.cancel()})));return n.push(t.token.onCancellationRequested((e=>{n.forEach((e=>e.dispose()))}))),t}class pt{createCancellationTokenSource(){return new st.CancellationTokenSource}}var dt,ht,mt,ft;function gt(e,t){return e.linet.line?1:e.charactert.character?1:0}function yt(e,t){return!(gt(t.start,e.end)>0||gt(e.start,t.end)>0)}function _t(e,t){return ht.is(t)?gt(e.start,t)<=0&>(e.end,t)>=0:_t(e,t.start)&&_t(e,t.end)}function vt(e,t){return 0===gt(e,t)}function Tt(e,t){return vt(e.start,t.start)&&vt(e.end,t.end)}function bt(e,t){t&&(Array.isArray(t)?t.forEach((t=>{bt(e,t)})):(gt(t.start,e.start)<0&&(e.start=t.start),gt(t.end,e.end)>0&&(e.end=t.end)))}function It(e,t){if(0===t.end)return{line:0,character:0};let n=0;e>=t.end&&(e=t.end-1,n=1);const i=t.getItemContaining(e);w(i>=0&&i<=t.length);const r=t.getItemAt(i);return w(void 0!==r),{line:i,character:e-r.start+n}}function St(e,t,n){return{start:It(e,n),end:It(t,n)}}function xt(e,t){if(!(e.line>=t.count))return t.getItemAt(e.line).start+e.character}function Ct(e,t){const n=xt(e.start,t);if(void 0===n)return;const i=xt(e.end,t);return void 0!==i?dt.fromBounds(n,i):void 0}function wt(e,t){return St(e.start,dt.getEnd(e),t)}!function(e){function t(e,t){if(e<0)throw new Error("start must be non-negative");if(t<0)throw new Error("length must be non-negative");return{start:e,length:t}}function n(e){return e.start+e.length}function i(e,t){return t>=e.start&&t<=n(e)}function r(e,t){t&&(Array.isArray(t)?t.forEach((t=>{r(e,t)})):(t.startn(e)&&(e.length+=n(t)-n(e))))}e.create=t,e.fromBounds=function(e,n){if(e<0)throw new Error("start must be non-negative");if(e>n)throw new Error("end must be greater than or equal to start");return t(e,n-e)},e.getEnd=n,e.contains=function(e,t){return t>=e.start&&t=e.start&&n(t)<=n(e)},e.overlaps=i,e.overlapsRange=function(e,t){return i(e,t.start)||i(t,e.start)},e.extend=r,e.combine=function(e){if(0===e.length)return;const t=e[0];for(let n=1;n2&&e.startsWith("__")&&!e.endsWith("__")}function Jt(e){return e.length>1&&e.startsWith("_")&&!e.startsWith("__")}function Yt(e){return Kt(e)||Jt(e)}function Qt(e){return e.length>4&&e.startsWith("__")&&e.endsWith("__")}function Zt(e){return!!e.match($t)&&!e.match(Ht)}function Xt(e){return!!e.match(Gt)}function en(e){return e.importResult?0===e.importResult.importType?0:1===e.importResult.importType||e.importResult.isLocalTypingsFile?1:e.importResult.isRelative?3:2:2}function tn(e,t=!1){const n={orderedImports:[],mapByFilePath:new Map};let i=!1,r=!1;return e.statements.forEach((e=>{47===e.nodeType?e.statements.forEach((e=>{20===e.nodeType?(r=!0,function(e,t,n){e.list.forEach((i=>{const r=Rt(i.module);let s;r&&r.isImportFound&&(s=r.resolvedPaths[r.resolvedPaths.length-1]);const o={node:e,subnode:i,importResult:r,resolvedPath:s,moduleName:ln(i.module),followsNonImportStatement:n};t.orderedImports.push(o),s&&(t.mapByFilePath.has(s)||t.mapByFilePath.set(s,o))}))}(e,n,i),i=!1):22===e.nodeType?(r=!0,function(e,t,n,i){var r;const s=Rt(e.module);let o;if(s&&s.isImportFound&&(o=s.resolvedPaths[s.resolvedPaths.length-1]),i&&s){t.implicitImports=null!==(r=t.implicitImports)&&void 0!==r?r:new Map;for(const n of s.implicitImports){const i=e.imports.find((e=>e.name.value===n.name));i&&t.implicitImports.set(n.path,i)}}const a={node:e,importResult:s,resolvedPath:o,moduleName:ln(e.module),followsNonImportStatement:n};if(t.orderedImports.push(a),o){const e=t.mapByFilePath.get(o);(!e||20===e.node.nodeType||e.moduleName.length>a.moduleName.length)&&t.mapByFilePath.set(o,a)}}(e,n,i,t),i=!1):i=r})):i=r})),n}function nn(e){return Zt(e)?0:Xt(e)?1:2}function rn(e,t,n){const i=[];if(!t.node||22!==t.node.nodeType||t.node.isWildcardImport)return i;const r=t.node;if(0===(e=(Array.isArray(e)?e:[e]).filter((e=>!!e.name&&!r.imports.some((t=>t.name.value===e.name&&t.alias===e.alias))))).length)return i;for(const r of e)i.push(on(r.name,r.alias,t.node,n));const s=f(i,(e=>mt.print(e.range))),o=[];for(const e of s.values())1===e.length?o.push(e[0]):o.push({range:e[0].range,replacementText:e.sort(((e,t)=>sn(e.importName,t.importName))).map((e=>e.replacementText)).join("")});return o}function sn(e,t){const n=nn(e)-nn(t);return 0!==n?n:L(e.replace(/_/g,"="),t.replace(/_/g,"="))}function on(e,t,n,i){let r;for(const t of n.imports){if(sn(t.name.value,e)>0)break;r=t}let s=!1,o="";if(n.imports.length>0){const e=It(n.start,i.tokenizerOutput.lines),t=It(n.imports[0].start,i.tokenizerOutput.lines),r=n.imports.length>1?It(n.imports[1].start,i.tokenizerOutput.lines):void 0;if(t.line>e.line&&(void 0===r||r.line>t.line)){const e=i.tokenizerOutput.lines.getItemAt(t.line);o=i.text.substr(e.start,t.character),/^\s*$/.test(o)&&(s=!0)}}const a=It(r?dt.getEnd(r):n.imports.length>0?n.imports[0].start:n.start+n.length,i.tokenizerOutput.lines),l=t?`${e} as ${t}`:`${e}`;let c;if(s){const e=i.tokenizerOutput.predominantEndOfLineSequence;c=r?`,${e}${o}${l}`:`${l},${e}${o}`}else c=r?`, ${l}`:`${l}, `;return{range:{start:a,end:a},importName:e,replacementText:c}}function an(e,t,i,r,s,o){return function(e,t){if(t.length<2)return t.map((e=>r(e)));const n=[...f(t,(e=>`${e.importGroup} ${mt.print(e.range)}`))].sort(((e,t)=>L(e[0],t[0]))).map((e=>e[1])),i=[];for(const t of n)1===t.length?i.push(r(t[0])):i.push({range:t[0].range,replacementText:t[0].preChange+t.map((e=>e.importStatement)).sort(((e,t)=>s(e,t))).join(e.tokenizerOutput.predominantEndOfLineSequence)+t[0].postChange});return i;function r(e){return{range:e.range,replacementText:e.preChange+e.importStatement+e.postChange}}function s(e,t){const n=e.startsWith("import");return n===t.startsWith("import")?ee.name?"from":"import")),c=l.get("import");c&&p(c,(e=>`import ${e.join(", ")}`));const u=l.get("from");return u&&p(u,(e=>`from ${i} import ${e.join(", ")}`)),a;function p(e,l){const c=e.map((e=>function(e,t){const n=e.name?e.name:t;return{sortText:n,text:e.alias?`${n} as ${e.alias}`:n}}(e,i))).sort(((e,t)=>sn(e.sortText,t.sortText))).reduce(((e,t)=>function(e,t,i=n){return function(e,t,i=n){if(e)for(const n of e)if(i(n,t))return!0;return!1}(e,t,i)||e.push(t),e}(e,t.text)),[]);a.push(function(e,t,n,i,r,s){let o,a="",l="";const c=xt(s,r.tokenizerOutput.lines);if(t.orderedImports.length>0&&c>t.orderedImports[0].node.start){let e=!0,s=t.orderedImports[0],c=0;for(const o of t.orderedImports){const l=o.importResult?en(o):c;if(in)break;if(o.followsNonImportStatement){i>c&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a);break}o===t.orderedImports[t.orderedImports.length-1]&&i>l&&(a=r.tokenizerOutput.predominantEndOfLineSequence+a),e=!e&&ie.value)).join("."),t}function cn(e){let t=2;return e.isLocalTypingsFile||1===e.importType?t=1:0===e.importType&&(t=0),t}function un(e,t,n,i=!1,r){let s,o=t;(r=void 0!==r?r:ge(e,t))&&(o=$(t));let a=n;if(r){a=$(n);const e=he(de(n));"__init__"!==e?s=e:i&&(s=de(a),a=$(a))}const l=se(o,a,(t=>e.realCasePath(t)));let c=".";for(let e=1;ele(ke(e,me(t))))).filter((e=>e!==n)).filter((e=>e.startsWith(n))),!this._libPathCache.some((e=>t.startsWith(e))))}checked(e,t,n){h(this._importChecked,t,(()=>new Map)).set(e,n)}add(e){h(this._cachedResults,e.importName,(()=>new Map)).set(e.path,e.importResult)}reset(){this._importChecked.clear(),this._cachedResults.clear(),this._libPathCache=void 0}}const hn="stdlib",mn="stubs";function fn(e,t,n,i,r,s){if(i.push("Finding python search paths"),void 0!==t.venvPath&&t.venv){const n=t.venv,r=te(t.venvPath,n),s=[],o=[];if([y,v,_].forEach((t=>{const n=function(e,t,n){if(!e.existsSync(t))return void n.push(`Did not find '${t}'`);n.push(`Found path '${t}'; looking for site-packages`);const i=te(t,T);if(e.existsSync(i))return n.push(`Found path '${i}'`),i;n.push(`Did not find '${i}', so looking for python subdirectory`);const r=ve(e,t);for(let i=0;i{yn(e,t).forEach((e=>{_n(s,e)}))})),s.length>0)return i.push("Found the following 'site-packages' dirs"),s.forEach((e=>{i.push(` ${e}`)})),s;i.push("Did not find any 'site-packages' dirs. Falling back on python interpreter.")}const o=n.getPythonSearchPaths(t.pythonPath,i);return r&&s?o.paths.filter((e=>!ne(s,e,!0)||ne(o.prefix,e,!0))):o.paths}function gn(e){return"python"===(e=e.trim())||"python3"===e}function yn(e,t){const n=[];return e.readdirEntriesSync(t).filter((e=>(e.isFile()||e.isSymbolicLink())&&e.name.endsWith(".pth"))).sort(((e,t)=>i(e.name,t.name))).forEach((i=>{const r=te(t,i.name),s=ye(e,r);(null==s?void 0:s.isFile())&&s.size>0&&s.size<65536&&e.readFileSync(r,"utf8").split(/\r?\n/).forEach((i=>{const r=i.trim();if(r.length>0&&!r.startsWith("#")&&!r.match(/^import\s/)){const i=te(t,r);e.existsSync(i)&&fe(e,i)&&n.push(i)}}))})),n}function _n(e,t){return!e.some((e=>e===t))&&(e.push(t),!0)}function vn(e){return{leadingDots:0,nameParts:e.split("."),importedSymbols:[]}}const Tn=[".pyd",".so",".dylib"],bn=[".py",".pyi",...Tn];class In{constructor(e,t,n){this.fileSystem=e,this._configOptions=t,this.host=n,this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this._cachedEntriesForPath=new Map,this.cachedParentImportResults=new dn((()=>this.getPythonSearchPaths([])))}invalidateCache(){this._cachedImportResults=new Map,this._cachedModuleNameResults=new Map,this.cachedParentImportResults.reset(),this._invalidateFileSystemCache(),this.fileSystem instanceof rt&&this.fileSystem.clearPartialStubs()}resolveImport(e,t,n){return this._resolveImport(e,t,n)}_resolveImport(e,t,n){const i=this.formatImportName(n),r=this._resolveImportStrict(i,e,t,n,[]);if(r.isImportFound||n.leadingDots>0)return r;const s=le($(e=ke(this.fileSystem,me(e)))),o=this.cachedParentImportResults.getImportResult(s,i,r);if(o)return this.filterImplicitImports(o,n.importedSymbols);const a=this.getParentImportResolutionRoot(e,t.root);if(!this.cachedParentImportResults.checkValidPath(this.fileSystem,e,a))return r;const l={importPath:void 0};let c=s;for(;this._shouldWalkUp(c,a,t);){const e=this.resolveAbsoluteImport(c,t,n,i,[],void 0,void 0,!1,!0);if(this.cachedParentImportResults.checked(c,i,l),e.isImportFound)return l.importPath=c,this.cachedParentImportResults.add({importResult:e,path:c,importName:i}),this.filterImplicitImports(e,n.importedSymbols);let r;if([r,c]=this._tryWalkUp(c),!r)break}return this.cachedParentImportResults.checked(c,i,l),r}_resolveImportStrict(e,t,n,i,r){const s={importName:e,isRelative:!1,isImportFound:!1,isPartlyResolved:!1,isNamespacePackage:!1,isStubPackage:!1,importFailureInfo:r,resolvedPaths:[],importType:2,isStubFile:!1,isNativeLib:!1,implicitImports:[],filteredImplicitImports:[],nonStubImportResult:void 0};if(this.ensurePartialStubPackages(n),i.leadingDots>0){const s=this._resolveRelativeImport(t,n,i,e,r);if(s)return s.isRelative=!0,s}else{const r=this._lookUpResultsInCache(n,e,i.importedSymbols);if(r&&(!r.isImportFound||!r.isNamespacePackage||this._isNamespacePackageResolved(i,r.implicitImports)))return r;const o=this._resolveBestAbsoluteImport(t,n,i,!0);if(o)return o.isStubFile&&(o.nonStubImportResult=this._resolveBestAbsoluteImport(t,n,i,!1)||s),this.addResultsToCache(n,e,o,i.importedSymbols)}return this.addResultsToCache(n,e,s,void 0)}getCompletionSuggestions(e,t,n){const i=this._getCompletionSuggestionsStrict(e,t,n);if(n.leadingDots>0)return i;const r=this.getParentImportResolutionRoot(e,t.root);let s=le($(ke(this.fileSystem,me(e))));for(;this._shouldWalkUp(s,r,t);){let r;if(this._getCompletionSuggestionsAbsolute(e,t,s,n,i,!1),[r,s]=this._tryWalkUp(s),!r)break}return i}_getCompletionSuggestionsStrict(e,t,n){const i=[],r=new Set;if(n.leadingDots>0)this._getCompletionSuggestionsRelative(e,t,n,r);else{n.nameParts.length>0&&this._getCompletionSuggestionsTypeshedPath(e,t,n,!0,r),t.root&&this._getCompletionSuggestionsAbsolute(e,t,t.root,n,r);for(const i of t.extraPaths)this._getCompletionSuggestionsAbsolute(e,t,i,n,r);this._configOptions.stubPath&&this._getCompletionSuggestionsAbsolute(e,t,this._configOptions.stubPath,n,r),this._getCompletionSuggestionsTypeshedPath(e,t,n,!1,r);const s=this.getPythonSearchPaths(i);for(const i of s)this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}return r}getSourceFilesFromStub(e,t,n){const i=[];if(this._cachedImportResults.forEach((t=>{t.forEach((t=>{if(t.isStubFile&&t.isImportFound&&t.nonStubImportResult&&t.resolvedPaths[t.resolvedPaths.length-1]===e&&t.nonStubImportResult.isImportFound){const e=t.nonStubImportResult.resolvedPaths[t.nonStubImportResult.resolvedPaths.length-1];(e.endsWith(".py")||e.endsWith(".pyi"))&&i.push(e)}}))})),0===i.length){const t=ie(e,".py");this.dirExistsCached(t)&&i.push(t)}if(0===i.length){const n=this.getImportRoots(t),r=[];for(const t of n)if(ne(t,e,!0)){const n=se(t,e,!0);if(n.length>1){n[1].endsWith(b)&&(n[1]=n[1].substr(0,n[1].length-b.length));const e=J(n);e&&r.push(e)}}for(const e of r)for(const t of n){let n=ie(ee(t,e),".py");if(this.fileExistsCached(n))i.push(n);else{const e=he(n);e.endsWith("__init__")?(n=e.substr(0,e.length-9)+".py",this.fileExistsCached(n)&&i.push(n)):(n=te(e,"__init__.py"),this.fileExistsCached(n)&&i.push(n))}}}return i}getModuleNameForImport(e,t){const n=h(this._cachedModuleNameResults,t.root,(()=>new Map));return h(n,e,(()=>this._getModuleNameForImport(e,t)))}_getModuleNameForImport(e,t){let n,i=0,r=!1;const s=[],o=this._getStdlibTypeshedPath(t,s);if(o&&(n=this.getModuleNameFromPath(o,e),n)){const e={leadingDots:0,nameParts:n.split("."),importedSymbols:void 0};if(this._isStdlibTypeshedStubValidForVersion(e,t,[]))return{moduleName:n,importType:i,isLocalTypingsFile:r}}t.root&&(n=this.getModuleNameFromPath(t.root,e),i=2);for(const r of t.extraPaths){const t=this.getModuleNameFromPath(r,e);(!n||t&&t.length0&&i.push(...o),i}readdirEntriesCached(e){const t=this._cachedEntriesForPath.get(e);if(t)return t;let n;try{n=this.fileSystem.readdirEntriesSync(e)}catch{n=[]}return this._cachedEntriesForPath.set(e,n),n}fileExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isFile())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isFile())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&ge(this.fileSystem,t))return!0}return!1}dirExistsCached(e){var t,n;const i=this._splitPath(e);if(!i[0]||!i[1])return!!this.fileSystem.existsSync(e)&&null!==(n=null===(t=ye(this.fileSystem,e))||void 0===t?void 0:t.isDirectory())&&void 0!==n&&n;const r=this.readdirEntriesCached(i[0]).find((e=>e.name===i[1]));if(null==r?void 0:r.isDirectory())return!0;if(null==r?void 0:r.isSymbolicLink()){const t=_e(this.fileSystem,e);if(t&&this.fileSystem.existsSync(t)&&fe(this.fileSystem,t))return!0}return!1}ensurePartialStubPackages(e){if(!(this.fileSystem instanceof rt))return!1;if(this.fileSystem.isPartialStubPackagesScanned(e))return!1;const t=this.fileSystem,n=[],i=[];return r(this._configOptions.stubPath),r(e.root),e.extraPaths.forEach((e=>r(e))),r(this.getTypeshedPathEx(e,n)),this.getPythonSearchPaths(n).forEach((e=>r(e))),this.fileSystem.processPartialStubPackages(i,this.getImportRoots(e)),this._invalidateFileSystemCache(),!0;function r(e){e&&!t.isPathScanned(e)&&i.push(e)}}addResultsToCache(e,t,n,i){return h(this._cachedImportResults,e.root,(()=>new Map)).set(t,n),this.filterImplicitImports(n,i)}resolveAbsoluteImport(e,t,n,i,r,s=!1,o=!1,a=!1,l=!0,c=!1){if(l&&a){const o=this._resolveAbsoluteImport(e,t,n,i,r,s,!1,!0,!0,!0);if(o.packageDirectory&&(!o.isNamespacePackage||o.isImportFound))return o}return this._resolveAbsoluteImport(e,t,n,i,r,s,o,!1,l,c)}_invalidateFileSystemCache(){this._cachedEntriesForPath.clear()}_splitPath(e){const t=G(e);return t.length<=1?[e,""]:[J(t.slice(0,-1)),t[t.length-1]]}_resolveAbsoluteImport(e,t,n,i,r,s,o,a,l,c){a?r.push(`Attempting to resolve stub package using root path '${e}'`):r.push(`Attempting to resolve using root path '${e}'`);const u=[];let p,d,h,m=e,f=!1,g=!1,y=!1,_=!1,v=[];if(0===n.nameParts.length){const e="__init__",t=te(m,e+".py"),n=te(m,e+".pyi");l&&this.fileExistsCached(n)?(r.push(`Resolved import with file '${n}'`),u.push(n),y=!0):this.fileExistsCached(t)?(r.push(`Resolved import with file '${t}'`),u.push(t)):(r.push(`Partially resolved import with directory '${m}'`),u.push(""),f=!0),v=this._findImplicitImports(i,m,[t,n])}else for(let e=0;ethis._isNativeModuleFileName(S,e)));if(e){const s=te(I,e);_=this._resolveNativeModuleStub(s,t,i,n,r,u)}}!_&&T?(r.push(`Partially resolved import with directory '${m}'`),u.push(""),h&&(v=this._findImplicitImports(i,m,[x,C]),f=!0)):_&&r.push(`Did not find file '${C}' or '${x}'`)}break}const T=u.length>0&&u.length0:u.length>=n.nameParts.length,{importName:i,isRelative:!1,isNamespacePackage:f,isStubPackage:g,isImportFound:h,isPartlyResolved:T,importFailureInfo:r,importType:2,resolvedPaths:u,searchPath:e,isStubFile:y,isNativeLib:_,implicitImports:v,pyTypedInfo:d,filteredImplicitImports:v,packageDirectory:p}}getTypeshedPathEx(e,t){}resolveImportEx(e,t,n,i,r=[],s=!0){}resolveNativeImportEx(e,t,n=[]){}getNativeModuleName(e){const t=pe(e,!1).toLowerCase();if(this._isNativeModuleFileExtension(t))return he(he(e))}_lookUpResultsInCache(e,t,n){const i=this._cachedImportResults.get(e.root);if(!i)return;const r=i.get(t);return r?this.filterImplicitImports(r,n):void 0}_isNamespacePackageResolved(e,t){if(e.importedSymbols){if(!e.importedSymbols.some((e=>t.some((t=>t.name===e)))))return!1}else if(0===t.length)return!1;return!0}getModuleNameFromPath(e,t,n=!1){e=le(e);let i=he(t);if(this._isNativeModuleFileExtension(pe(t))&&(i=he(i)),!i.startsWith(e))return;i.endsWith("__init__")&&(i=i.substr(0,i.length-9));const r=G(i.substr(e.length));if(r.shift(),n){if(0===r.length)return;r.shift()}return 0===r.length||(r[0].endsWith(b)&&(r[0]=r[0].substr(0,r[0].length-b.length)),r.some((e=>!this._isIdentifier(e))))?void 0:r.join(".")}_resolveBestAbsoluteImport(e,t,n,i){const r=this.formatImportName(n),s=[];if(i&&this._configOptions.stubPath){s.push(`Looking in stubPath '${this._configOptions.stubPath}'`);const e=this.resolveAbsoluteImport(this._configOptions.stubPath,t,n,r,s,void 0,!1,!0,i,!1);if(e.isImportFound)return e.importType=2,e.isLocalTypingsFile=!0,e}let o,a;t.root&&(s.push(`Looking in root directory of execution environment '${t.root}'`),a=this.resolveAbsoluteImport(t.root,t,n,r,s,void 0,!0,!0,i,!1),o=a);for(const e of t.extraPaths)s.push(`Looking in extraPath '${e}'`),a=this.resolveAbsoluteImport(e,t,n,r,s,void 0,!0,!0,i,!1),o=this._pickBestImport(o,a,n);const l=this.getPythonSearchPaths(s);if(l.length>0)for(const e of l){s.push(`Looking in python search path '${e}'`);const a=this.resolveAbsoluteImport(e,t,n,r,s,!1,!0,!0,i,!0);if(a){if(a.importType=1,a.isImportFound&&a.isStubFile)return a;o=this._pickBestImport(o,a,n)}}else s.push("No python interpreter search path");if(t.root!==this._getTypeshedRoot(t,s)&&(null==o?void 0:o.pyTypedInfo)&&!o.isPartlyResolved)return o;const c=this.resolveImportEx(e,t,n,r,s,i);if(c)return c;if(i&&n.nameParts.length>0){s.push("Looking for typeshed stdlib path");const e=this._findTypeshedPath(t,n,r,!0,s);if(e)return e.isTypeshedFile=!0,e;s.push("Looking for typeshed third-party path");const i=this._findTypeshedPath(t,n,r,!1,s);i&&(i.isTypeshedFile=!0,o=this._pickBestImport(o,i,n))}return o}_pickBestImport(e,t,n){if(!e)return t;if(!t)return e;if(t.isImportFound){if(!e.isImportFound)return t;if(e.isNamespacePackage&&!t.isNamespacePackage)return t;if(2===e.importType&&!e.isNamespacePackage)return e;if(e.isNamespacePackage&&t.isNamespacePackage&&n.importedSymbols&&!this._isNamespacePackageResolved(n,e.implicitImports)&&this._isNamespacePackageResolved(n,t.implicitImports))return t;if(e.pyTypedInfo&&!t.pyTypedInfo)return e;if(!e.pyTypedInfo&&t.pyTypedInfo)return t;if(e.isStubFile&&!t.isStubFile)return e;if(!e.isStubFile&&t.isStubFile)return t;if(e.resolvedPaths.length>t.resolvedPaths.length)return t}else if(t.isPartlyResolved&&e.isNamespacePackage&&!t.isNamespacePackage)return t;return e}_isIdentifier(e){for(let t=0;tthis.fileSystem.realCasePath(e)));this._cachedPythonSearchPaths=[...new Set(t)]}return this._cachedPythonSearchPaths}_findTypeshedPath(e,t,n,i,r){let s;if(r.push(`Looking for typeshed ${i?hn:mn} path`),i){const n=this._getStdlibTypeshedPath(e,r,t);n&&(s=[n])}else s=this._getThirdPartyTypeshedPackagePaths(t,e,r);if(s)for(const o of s)if(this.dirExistsCached(o)){const s=this.resolveAbsoluteImport(o,e,t,n,r);if(s.isImportFound)return s.importType=i?0:1,s}r.push("Typeshed path not found")}_buildTypeshedThirdPartyPackageMap(e){this._cachedTypeshedThirdPartyPackagePaths=new Map,e&&this.readdirEntriesCached(e).forEach((t=>{if(t.isDirectory()){const n=te(e,t.name);this.readdirEntriesCached(n).forEach((e=>{if("@python2"!==e.name)if(e.isDirectory()){const t=this._cachedTypeshedThirdPartyPackagePaths.get(e.name);t?t.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(e.name,[n])}else if(e.isFile()&&e.name.endsWith(".pyi")){const t=he(e.name),i=this._cachedTypeshedThirdPartyPackagePaths.get(t);i?i.push(n):this._cachedTypeshedThirdPartyPackagePaths.set(t,[n])}}))}})),this._cachedTypeshedThirdPartyPackageRoots=[...new Set(...this._cachedTypeshedThirdPartyPackagePaths.values())].sort()}_getCompletionSuggestionsTypeshedPath(e,t,n,i,r){const s=[];let o;if(i){const e=this._getStdlibTypeshedPath(t,s,n);e&&(o=[e])}else{o=this._getThirdPartyTypeshedPackagePaths(n,t,s,!1);const e=this.getTypeshedPathEx(t,s);e&&(o=null!=o?o:[],o.push(e))}o&&o.forEach((i=>{this.dirExistsCached(i)&&this._getCompletionSuggestionsAbsolute(e,t,i,n,r)}))}_getStdlibTypeshedPath(e,t,n){const i=this._getTypeshedSubdirectory(!0,e,t);if(!i||!n||this._isStdlibTypeshedStubValidForVersion(n,e,t))return i}_getThirdPartyTypeshedPath(e,t){return this._getTypeshedSubdirectory(!1,e,t)}_isStdlibTypeshedStubValidForVersion(e,t,n){this._cachedTypeshedStdLibModuleVersions||(this._cachedTypeshedStdLibModuleVersions=this._readTypeshedStdLibVersions(t,n));for(let n=1;n<=e.nameParts.length;n++){const i=e.nameParts.slice(0,n),r=this._cachedTypeshedStdLibModuleVersions.get(i.join("."));if(r){if(t.pythonVersionr.max)return!1}}return!0}_readTypeshedStdLibVersions(e,t){const n=new Map,i=this._getTypeshedSubdirectory(!0,e,t);if(i){const e=te(i,"VERSIONS");try{const i=this.fileSystem.statSync(e);i.size>0&&i.size<262144?this.fileSystem.readFileSync(e,"utf8").split(/\r?\n/).forEach((e=>{const t=e.split("#")[0].split(":");if(2!==t.length)return;const i=t[1].split("-");if(i.length>2)return;const r=t[0].trim();if(!r)return;let s=i[0].trim();s.endsWith("+")&&(s=s.substr(0,s.length-1));let o,a=Re(s);a||(a=De.V3_0),i.length>1&&(o=Re(i[1].trim())),n.set(r,{min:a,max:o})})):t.push("Typeshed stdlib VERSIONS file is unexpectedly large")}catch(e){t.push(`Could not read typeshed stdlib VERSIONS file: '${JSON.stringify(e)}'`)}}return n}_getThirdPartyTypeshedPackagePaths(e,t,n,i=!0){const r=this._getThirdPartyTypeshedPath(t,n);this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(r);const s=e.nameParts.length>0?e.nameParts[0]:"";return i?this._cachedTypeshedThirdPartyPackagePaths.get(s):s?function(e){const t=[];for(const i of e)i&&(n=i,(Array.isArray?Array.isArray(n):n instanceof Array)?c(t,i):t.push(i));var n;return t}(function(e,t){const n=[];return e.forEach(((e,t)=>{(e=>e.startsWith(s))(t)&&n.push(e)})),n}(this._cachedTypeshedThirdPartyPackagePaths)):[]}_getThirdPartyTypeshedPackageRoots(e,t){const n=this._getThirdPartyTypeshedPath(e,t);return this._cachedTypeshedThirdPartyPackagePaths||this._buildTypeshedThirdPartyPackageMap(n),this._cachedTypeshedThirdPartyPackageRoots}_getTypeshedRoot(e,t){if(void 0!==this._cachedTypeshedRoot)return this._cachedTypeshedRoot;let n="";if(this._configOptions.typeshedPath){const e=this._configOptions.typeshedPath;this.dirExistsCached(e)&&(n=e)}else{const e=this.getPythonSearchPaths(t);for(const t of e){const e=te(t,"typeshed");if(this.dirExistsCached(e)){n=e;break}}}return n||(n=function(e){let t=e.getModulePath();if(!t)return;t=$(le(me(t)));const n=te(t,g);if(e.existsSync(n))return n;const i=te($(t),g);return e.existsSync(i)?i:void 0}(this.fileSystem)||""),this._cachedTypeshedRoot=n,n}_getTypeshedSubdirectory(e,t,n){if(e){if(void 0!==this._cachedTypeshedStdLibPath)return this._cachedTypeshedStdLibPath}else if(void 0!==this._cachedTypeshedThirdPartyPath)return this._cachedTypeshedThirdPartyPath;let i=this._getTypeshedRoot(t,n);if(i=function(e,t){return te(e,t?hn:mn)}(i,e),this.dirExistsCached(i))return e?this._cachedTypeshedStdLibPath=i:this._cachedTypeshedThirdPartyPath=i,i}_resolveRelativeImport(e,t,n,i,r){r.push("Attempting to resolve relative import");const s=pn($(e),n.leadingDots);if(!s)return void r.push(`Invalid relative path '${i}'`);const o=this.resolveAbsoluteImport(s,t,n,i,r,!1,!0);return this.filterImplicitImports(o,n.importedSymbols)}_getCompletionSuggestionsRelative(e,t,n,i){const r=pn($(e),n.leadingDots);r&&this._getCompletionSuggestionsAbsolute(e,t,r,n,i)}_getFilesInDirectory(e){const t=this.readdirEntriesCached(e),n=t.filter((e=>e.isFile())).map((e=>e.name));return t.forEach((t=>{var i;const r=te(e,t.name);t.isSymbolicLink()&&(null===(i=ye(this.fileSystem,r))||void 0===i?void 0:i.isFile())&&n.push(t.name)})),n}_getCompletionSuggestionsAbsolute(e,t,n,i,r,s=!0){let o=n;const a=i.nameParts.map((e=>e));i.hasTrailingDot&&a.push("");const l=i.leadingDots,c=a.slice(0,-1);if(0===a.length)this._addFilteredSuggestionsAbsolute(e,t,o,"",r,l,c,s);else for(let n=0;n{const l=pe(n,!1).toLowerCase(),c=he(n,!0);if(bn.some((e=>e===l))){if("__init__"===c)return;if(i&&!N(i,c))return;if(!this._isUniqueValidSuggestion(c,r)||!this._isResolvableSuggestion(c,s,o,e,t,a))return;r.add(c)}})),l.directories.forEach((n=>{i&&!n.startsWith(i)||this._isUniqueValidSuggestion(n,r)&&this._isResolvableSuggestion(n,s,o,e,t,a)&&r.add(n)}))}_isResolvableSuggestion(e,t,n,i,r,s){const o={leadingDots:t,nameParts:[...n,e],importedSymbols:[]};if(s){const e=this.formatImportName(o),t=[];return this._resolveImportStrict(e,i,r,o,t).isImportFound}return this._resolveImport(i,r,o).isImportFound}_isUniqueValidSuggestion(e,t){return!(t.has(e)||/[.-]/.test(e)||Qt(e)&&"__future__"!==e)}filterImplicitImports(e,t){if(void 0===t){const t=Object.assign({},e);return t.filteredImplicitImports=[],t}if(0===t.length)return e;if(0===e.implicitImports.length)return e;const n=e.implicitImports.filter((e=>t.some((t=>t===e.name))));if(n.length===e.implicitImports.length)return e;const i=Object.assign({},e);return i.filteredImplicitImports=n,i}_findImplicitImports(e,t,n){const i=new Map,r=Te(this.readdirEntriesCached(t),this.fileSystem,t);for(const s of r.files){const r=pe(s);let o,a=!1;if(".py"===r||".pyi"===r)o=he(s);else{if(!this._isNativeModuleFileExtension(r)||this.fileExistsCached(`${s}.py`)||this.fileExistsCached(`${s}.pyi`))continue;o=s.substr(0,s.indexOf(".")),a=!0}const l=te(t,s);if(!n.find((e=>e===l))){const n={isStubFile:s.endsWith(".pyi"),isNativeLib:a,name:o,path:l},r=i.get(n.name);if(!r||!r.isStubFile){if(a){const i=te(t,s),r=this.resolveNativeImportEx(i,`${e}.${o}`,[]);r&&(n.path=r,n.isNativeLib=!1)}i.set(n.name,n)}}}for(const e of r.directories){const r=te(t,e,"__init__.py"),s=r+"i";let o=!1,a="";if(this.fileExistsCached(s)?(o=!0,a=s):this.fileExistsCached(r)&&(a=r),a&&!n.find((e=>e===a))){const t={isStubFile:o,isNativeLib:!1,name:e,path:a};i.set(t.name,t)}}return[...i.values()]}formatImportName(e){return".".repeat(e.leadingDots)+e.nameParts.join(".")}_resolveNativeModuleStub(e,t,n,i,r,s){let o=n;if(i.leadingDots>0){const n=this.getModuleNameForImport(e,t);o=n.moduleName.length>0?n.moduleName:o}const a=this.resolveNativeImportEx(e,o,r);return a?(r.push(`Resolved native import ${n} with stub '${a}'`),s.push(a),!1):(r.push(`Resolved import with file '${e}'`),s.push(e),!0)}_isNativeModuleFileName(e,t){const n=pe(t,!1).toLowerCase(),i=he(t,!0);return this._isNativeModuleFileExtension(n)&&q(e,i)}_isNativeModuleFileExtension(e){return Tn.some((t=>t===e))}_tryWalkUp(e){return Se(e)?[!1,""]:[!0,le(ke(this.fileSystem,me(te(e,".."))))]}_shouldWalkUp(e,t,n){return e.length>t.length||e===t&&!n.root}getParentImportResolutionRoot(e,t){return le(t?ke(this.fileSystem,me(t)):$(e))}}const Sn=new(__webpack_require__(2477).ProtocolRequestType)("pyright/apidocs");let xn;function Cn(e){xn=e}function wn(){if(!xn)throw new Error("Host must be initialized");return xn}function En(){return wn().createMessageChannel()}function kn(){return wn().parentPort()}function Dn(){return wn().threadId()}function An(e,t){if(Array.isArray(e))return e.map(t);if(n=e,"[object Object]"===Object.prototype.toString.call(n)){const n=Object.create(null);return Object.entries(e).forEach((([e,i])=>{n[e]=t(i)})),n}var n;return t(e)}class Pn{constructor(){this._startTime=Date.now()}getDurationInMilliseconds(){return Date.now()-this._startTime}getDurationInSeconds(){return this.getDurationInMilliseconds()/1e3}}class Rn{constructor(){this.totalTime=0,this.callCount=0,this.isTiming=!1}timeOperation(e){if(this.callCount++,this.isTiming)return e();{this.isTiming=!0;const t=new Pn,n=e();return this.totalTime+=t.getDurationInMilliseconds(),this.isTiming=!1,n}}subtractFromTime(e){if(this.isTiming){this.isTiming=!1;const t=new Pn;e(),this.totalTime-=t.getDurationInMilliseconds(),this.isTiming=!0}else e()}printTime(){const e=this.totalTime/1e3;return(Math.round(100*e)/100).toString()+"sec"}}const Fn=new class{constructor(){this.totalDuration=new Pn,this.findFilesTime=new Rn,this.readFileTime=new Rn,this.tokenizeFileTime=new Rn,this.parseFileTime=new Rn,this.resolveImportsTime=new Rn,this.cycleDetectionTime=new Rn,this.bindTime=new Rn,this.typeCheckerTime=new Rn,this.typeEvaluationTime=new Rn}printSummary(e){e.info(`Completed in ${this.totalDuration.getDurationInSeconds()}sec`)}printDetails(e){e.info(""),e.info("Timing stats"),e.info("Find Source Files: "+this.findFilesTime.printTime()),e.info("Read Source Files: "+this.readFileTime.printTime()),e.info("Tokenize: "+this.tokenizeFileTime.printTime()),e.info("Parse: "+this.parseFileTime.printTime()),e.info("Resolve Imports: "+this.resolveImportsTime.printTime()),e.info("Bind: "+this.bindTime.printTime()),e.info("Check: "+this.typeCheckerTime.printTime()),e.info("Detect Cycles: "+this.cycleDetectionTime.printTime())}getTotalDuration(){return this.totalDuration.getDurationInSeconds()}},Nn=e=>{};function Mn(e,t,n,i,r,s){let o=!1;i=null!=i?i:Nn;try{ct(s);const r=new Pn;o=e.analyze(t,s);const a=e.getFilesToAnalyzeCount(),l=e.getDiagnostics(n),c=l.length,u=r.getDurationInSeconds();(c>0||!o)&&i({diagnostics:l,filesInProgram:e.getFileCount(),filesRequiringAnalysis:a,checkingOnlyOpenFiles:e.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:u})}catch(e){if(lt.is(e))return!1;const t=((a=e).stack?a.stack.toString():void 0)||("string"==typeof a.message?a.message:void 0)||JSON.stringify(a);r.error("Error performing analysis: "+t),i({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!0,configParseErrorOccurred:!1,elapsedTime:0,error:D(e)})}var a;return o}var On,Ln=__webpack_require__(5269);!function(e){e.Error="error",e.Warn="warn",e.Info="info",e.Log="log"}(On||(On={}));class Un{log(e){console.info(e)}info(e){console.info(e)}warn(e){console.warn(e)}error(e){console.error(e)}}class qn{constructor(e,t=""){this._console=e,this._name=t,this._levelMap=new Map([[On.Error,0],[On.Warn,1],[On.Info,2],[On.Log,3]]),this._maxLevel=2}get level(){switch(this._maxLevel){case 0:return On.Error;case 1:return On.Warn;case 2:return On.Info}return On.Log}set level(e){let t=this._levelMap.get(e);void 0===t&&(t=this._levelMap.get(On.Info)),this._maxLevel=t}error(e){this._log(On.Error,`${this._prefix}${e}`)}warn(e){this._log(On.Warn,`${this._prefix}${e}`)}info(e){this._log(On.Info,`${this._prefix}${e}`)}log(e){this._log(On.Log,`${this._prefix}${e}`)}get _prefix(){return this._name?`(${this._name}) `:""}_log(e,t){this._getNumericalLevel(e)>this._maxLevel||Vn(this._console,e,t)}_getNumericalLevel(e){const t=this._levelMap.get(e);return w(void 0!==t,"Logger: unknown log level."),void 0!==t?t:2}}function Vn(e,t,n){switch(t){case On.Log:e.log(n);break;case On.Info:e.info(n);break;case On.Warn:e.warn(n);break;case On.Error:e.error(n);break;default:E(`${t} is not expected`)}}class Bn{constructor(e,t){this._console=e,this._prefix=t,this._dummyState=new Wn,this._indentation="",this._previousTitles=[]}log(e,t,n=-1,i=!1){if(void 0===this._console)return t(this._dummyState);const r=this._console.level;if(void 0===r||r!==On.Log&&r!==On.Info)return t(this._dummyState);const s=this._indentation;this._previousTitles.push(`${s}${e} ...`),this._indentation+=" ";const o=new Wn;try{return t(o)}finally{const t=o.duration;if(this._indentation=s,this._previousTitles.length>0&&(o.isSuppressed()||t<=n))this._previousTitles.pop();else{this._printPreviousTitles();let n=`[${this._prefix}] ${this._indentation}${e}${o.get()} (${t}ms)`;i&&o.fileReadTotal+o.tokenizeTotal+o.parsingTotal+o.resolveImportsTotal+o.bindingTotal>0&&(n+=` [f:${o.fileReadTotal}, t:${o.tokenizeTotal}, p:${o.parsingTotal}, i:${o.resolveImportsTotal}, b:${o.bindingTotal}]`),this._console.log(n),t>=2e3&&this._console.info(`[${this._prefix}] Long operation: ${e} (${t}ms)`)}}}_printPreviousTitles(){if(this._previousTitles.pop(),!(this._previousTitles.length<=0)){for(const e of this._previousTitles)this._console.log(`[${this._prefix}] ${e}`);this._previousTitles.length=0}}}class Wn{constructor(){this._start=new Pn,this._startFile=Fn.readFileTime.totalTime,this._startToken=Fn.tokenizeFileTime.totalTime,this._startParse=Fn.parseFileTime.totalTime,this._startImport=Fn.resolveImportsTime.totalTime,this._startBind=Fn.bindTime.totalTime}get duration(){return this._start.getDurationInMilliseconds()}get fileReadTotal(){return Fn.readFileTime.totalTime-this._startFile}get tokenizeTotal(){return Fn.tokenizeFileTime.totalTime-this._startToken}get parsingTotal(){return Fn.parseFileTime.totalTime-this._startParse}get resolveImportsTotal(){return Fn.resolveImportsTime.totalTime-this._startImport}get bindingTotal(){return Fn.bindTime.totalTime-this._startBind}add(e){e&&(this._addendum=e)}get(){return this._addendum?` [${this._addendum}]`:""}suppress(){this._suppress=!0}isSuppressed(){return!!this._suppress}}function jn(e){return 3===e.type}function zn(e){return 4===e.type}function $n(e){return 2===e.type}function Hn(e){return 1===e.type}function Gn(e){return 6===e.type}let Kn=1;function Jn(e,t){t.startdt.getEnd(e)&&(e.length=dt.getEnd(t)-e.start)}var Yn,Qn,Zn,Xn,ei,ti,ni,ii,ri,si,oi,ai,li,ci,ui,pi,di,hi,mi,fi,gi,yi,_i,vi,Ti,bi,Ii,Si,xi,Ci,wi,Ei,ki,Di,Ai,Pi,Ri,Fi,Ni,Mi,Oi,Li,Ui,qi,Vi,Bi,Wi,ji,zi,$i,Hi,Gi,Ki,Ji,Yi,Qi,Zi,Xi,er,tr,nr,ir,rr,sr,or,ar,lr,cr,ur,pr,dr,hr,mr,fr,gr;function yr(e){switch(e.nodeType){case 0:case 55:case 7:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 24:case 46:case 60:case 61:case 35:case 30:case 38:case 11:case 18:case 40:case 49:case 27:case 48:case 15:case 16:case 31:case 45:return!0;default:return!1}}!function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:36,id:Kn++,statements:[]}}}(Yn||(Yn={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:50,id:Kn++,statements:[]}}}(Qn||(Qn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:19,id:Kn++,testExpression:t,ifSuite:n,elseSuite:i};return t.parent=r,n.parent=r,Jn(r,t),Jn(r,n),i&&(Jn(r,i),i.parent=r),r}}(Zn||(Zn={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:57,id:Kn++,testExpression:t,whileSuite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(Xn||(Xn={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:26,id:Kn++,targetExpression:t,iterableExpression:n,forSuite:i};return t.parent=r,n.parent=r,i.parent=r,Jn(r,i),r}}(ei||(ei={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:33,id:Kn++,targetExpression:t,iterableExpression:n};return t.parent=i,n.parent=i,Jn(i,t),Jn(i,n),i}}(ti||(ti={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:34,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(ni||(ni={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:53,id:Kn++,trySuite:t,exceptClauses:[]};return t.parent=n,Jn(n,t),n}}(ii||(ii={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:25,id:Kn++,exceptSuite:t,isExceptGroup:n};return t.parent=i,Jn(i,t),i}}(ri||(ri={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:28,id:Kn++,decorators:[],name:t,parameters:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i}}(si||(si={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:41,id:Kn++,category:t}}}(oi||(oi={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:10,id:Kn++,decorators:[],name:t,arguments:[],suite:n};return t.parent=i,n.parent=i,Jn(i,n),i},e.createDummyForDecorators=function(e){const t={start:e[0].start,length:0,nodeType:10,id:Kn++,decorators:e,name:{start:e[0].start,length:0,id:0,nodeType:38,token:{type:7,start:0,length:0,comments:[],value:""},value:""},arguments:[],suite:{start:e[0].start,length:0,id:0,nodeType:50,statements:[]}};return e.forEach((e=>{e.parent=t,Jn(t,e)})),t.name.parent=t,t.suite.parent=t,t}}(ai||(ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:58,id:Kn++,withItems:[],suite:t};return t.parent=n,Jn(n,t),n}}(li||(li={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:59,id:Kn++,expression:e};return e.parent=t,t}}(ci||(ci={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:13,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(ui||(ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:47,id:Kn++,statements:[]}}}(pi||(pi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:0,id:Kn++,category:t,child:n,decorators:i};return n&&(n.parent=r,Jn(r,n)),i&&(i.forEach((e=>{e.parent=r})),i.length>0&&Jn(r,i[0])),r}}(di||(di={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:55,id:Kn++,operator:n,operatorToken:e,expression:t};return t.parent=r,r.maxChildDepth=1+(null!==(i=t.maxChildDepth)&&void 0!==i?i:0),Jn(r,t),r}}(hi||(hi={})),function(e){e.create=function(e,t,n,i){var r,s;const o={start:e.start,length:e.length,nodeType:7,id:Kn++,leftExpression:e,operatorToken:n,operator:i,rightExpression:t};return e.parent=o,t.parent=o,o.maxChildDepth=1+Math.max(null!==(r=e.maxChildDepth)&&void 0!==r?r:0,null!==(s=t.maxChildDepth)&&void 0!==s?s:0),Jn(o,t),o}}(mi||(mi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:4,id:Kn++,name:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(fi||(fi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:3,id:Kn++,leftExpression:e,rightExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(gi||(gi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:54,id:Kn++,valueExpression:e,typeAnnotation:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(yi||(yi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:62,id:Kn++,isParamListEllipsis:t,paramTypeAnnotations:n,returnTypeAnnotation:i};return n.forEach((e=>{e.parent=r})),i.parent=r,Jn(r,i),r}}(_i||(_i={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:5,id:Kn++,leftExpression:e,operator:n,rightExpression:t,destExpression:i};return e.parent=r,t.parent=r,i.parent=r,Jn(r,t),r}}(vi||(vi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:6,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ti||(Ti={})),function(e){e.create=function(e,t,n){const i={start:e.start,length:e.length,nodeType:51,id:Kn++,ifExpression:e,testExpression:t,elseExpression:n};return e.parent=i,t.parent=i,n.parent=i,Jn(i,n),i}}(bi||(bi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:56,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Ii||(Ii={})),function(e){e.create=function(e,t){return{start:e.start,length:e.length,nodeType:52,id:Kn++,expressions:[],enclosedInParens:t}}}(Si||(Si={})),function(e){e.create=function(e,t,n){var i;const r={start:e.start,length:e.length,nodeType:9,id:Kn++,leftExpression:e,arguments:t,trailingComma:n};return e.parent=r,r.maxChildDepth=1+(null!==(i=e.maxChildDepth)&&void 0!==i?i:0),t.length>0&&(t.forEach((e=>{e.parent=r})),Jn(r,t[t.length-1])),r}}(xi||(xi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:32,id:Kn++,expression:e,forIfNodes:[]};return e.parent=t,t}}(Ci||(Ci={})),function(e){e.create=function(e,t,n,i){var r;const s={start:e.start,length:e.length,nodeType:24,id:Kn++,baseExpression:e,items:t,trailingComma:n};return e.parent=s,t.forEach((e=>{e.parent=s})),Jn(s,i),s.maxChildDepth=1+(null!==(r=e.maxChildDepth)&&void 0!==r?r:0),s}}(wi||(wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:46,id:Kn++}}}(Ei||(Ei={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:60,id:Kn++,expression:t};return t&&(t.parent=n,Jn(n,t)),n}}(ki||(ki={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:61,id:Kn++,expression:t};return t.parent=n,Jn(n,t),n}}(Di||(Di={})),function(e){e.create=function(e,t){var n;const i={start:e.start,length:e.length,nodeType:35,id:Kn++,leftExpression:e,memberName:t};return e.parent=i,t.parent=i,Jn(i,t),i.maxChildDepth=1+(null!==(n=e.maxChildDepth)&&void 0!==n?n:0),i}}(Ai||(Ai={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:30,id:Kn++,parameters:[],expression:t};return t.parent=n,Jn(n,t),n}}(Pi||(Pi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:38,id:Kn++,token:e,value:e.value}}}(Ri||(Ri={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:11,id:Kn++,constType:e.keywordType}}}(Fi||(Fi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:18,id:Kn++}}}(Ni||(Ni={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:40,id:Kn++,value:e.value,isInteger:e.isInteger,isImaginary:e.isImaginary}}}(Mi||(Mi={})),function(e){e.create=function(e,t,n){return{start:e.start,length:e.length,nodeType:49,id:Kn++,token:e,value:t,hasUnescapeErrors:n}}}(Oi||(Oi={})),function(e){e.create=function(e,t,n,i){const r={start:e.start,length:e.length,nodeType:27,id:Kn++,token:e,value:t,hasUnescapeErrors:n,expressions:i};return i.forEach((e=>{e.parent=r})),r}}(Li||(Li={})),function(e){e.create=function(e){const t={start:e[0].start,length:e[0].length,nodeType:48,id:Kn++,strings:e};return e.length>0&&(e.forEach((e=>{e.parent=t})),Jn(t,e[e.length-1])),t}}(Ui||(Ui={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:15,id:Kn++,entries:[]}}}(qi||(qi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:17,id:Kn++,keyExpression:e,valueExpression:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(Vi||(Vi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:16,id:Kn++,expandExpression:e};return e.parent=t,t}}(Bi||(Bi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:45,id:Kn++,entries:[]}}}(Wi||(Wi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:31,id:Kn++,entries:[]}}}(ji||(ji={})),function(e){e.create=function(e,t,n){const i={start:e?e.start:t.start,length:e?e.length:t.length,nodeType:1,id:Kn++,valueExpression:t,argumentCategory:n};return t.parent=i,Jn(i,t),i}}(zi||(zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:14,id:Kn++,expressions:[]}}}($i||($i={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:42,id:Kn++}}}(Hi||(Hi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:20,id:Kn++,list:[]}}}(Gi||(Gi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:37,id:Kn++,leadingDots:0,nameParts:[]}}}(Ki||(Ki={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:21,id:Kn++,module:e};return e.parent=t,t}}(Ji||(Ji={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:22,id:Kn++,module:t,imports:[],isWildcardImport:!1,usesParens:!1};return t.parent=n,Jn(n,t),n}}(Yi||(Yi={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:23,id:Kn++,name:e};return e.parent=t,t}}(Qi||(Qi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:29,id:Kn++,nameList:[]}}}(Zi||(Zi={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:39,id:Kn++,nameList:[]}}}(Xi||(Xi={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:2,id:Kn++,testExpression:t};return t.parent=n,Jn(n,t),n}}(er||(er={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:8,id:Kn++}}}(tr||(tr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:12,id:Kn++}}}(nr||(nr={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:44,id:Kn++}}}(ir||(ir={})),function(e){e.create=function(e){return{start:e.start,length:e.length,nodeType:43,id:Kn++}}}(rr||(rr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:63,id:Kn++,subjectExpression:t,cases:[]};return t.parent=n,Jn(n,t),n}}(sr||(sr={})),function(e){e.create=function(e,t,n,i,r){const s={start:e.start,length:e.length,nodeType:64,id:Kn++,pattern:t,isIrrefutable:n,guardExpression:i,suite:r};return Jn(s,r),t.parent=s,r.parent=s,i&&(i.parent=s),s}}(or||(or={})),function(e){e.create=function(e,t){const n=t.findIndex((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar)),i={start:e.start,length:e.length,nodeType:65,id:Kn++,entries:t,starEntryIndex:n>=0?n:void 0};return t.length>0&&Jn(i,t[t.length-1]),t.forEach((e=>{e.parent=i})),i}}(ar||(ar={})),function(e){e.create=function(e,t){const n={start:e[0].start,length:e[0].length,nodeType:66,id:Kn++,orPatterns:e,target:t};return e.length>1&&Jn(n,e[e.length-1]),e.forEach((e=>{e.parent=n})),t&&(Jn(n,t),t.parent=n),n}}(lr||(lr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:67,id:Kn++,expression:e};return e.parent=t,t}}(cr||(cr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:68,id:Kn++,className:e,arguments:t};return e.parent=n,t.forEach((e=>{e.parent=n})),t.length>0&&Jn(n,t[t.length-1]),n}}(ur||(ur={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:74,id:Kn++,pattern:e,name:t};return e.parent=n,t&&(Jn(n,t),t.parent=n),n}}(pr||(pr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:69,id:Kn++,target:e,isStar:void 0!==t,isWildcard:"_"===e.value};return e.parent=n,t&&Jn(n,t),n}}(dr||(dr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:70,id:Kn++,entries:t};return t.length>0&&Jn(n,t[t.length-1]),t.forEach((e=>{e.parent=n})),n}}(hr||(hr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:71,id:Kn++,keyPattern:e,valuePattern:t};return e.parent=n,t.parent=n,Jn(n,t),n}}(mr||(mr={})),function(e){e.create=function(e,t){const n={start:e.start,length:e.length,nodeType:72,id:Kn++,target:t};return t.parent=n,Jn(n,t),n}}(fr||(fr={})),function(e){e.create=function(e){const t={start:e.start,length:e.length,nodeType:73,id:Kn++,expression:e};return e.parent=t,t}}(gr||(gr={}));class _r{walk(e){const t=this.visitNode(e);t.length>0&&this.walkMultiple(t)}walkMultiple(e){e.forEach((e=>{e&&this.walk(e)}))}visitNode(e){var t;switch(e.nodeType){case 0:if(this.visitError(e))return[e.child,...null!==(t=e.decorators)&&void 0!==t?t:[]];break;case 1:if(this.visitArgument(e))return[e.name,e.valueExpression];break;case 2:if(this.visitAssert(e))return[e.testExpression,e.exceptionExpression];break;case 3:if(this.visitAssignment(e))return[e.leftExpression,e.rightExpression,e.typeAnnotationComment];break;case 4:if(this.visitAssignmentExpression(e))return[e.name,e.rightExpression];break;case 5:if(this.visitAugmentedAssignment(e))return[e.leftExpression,e.rightExpression];break;case 6:if(this.visitAwait(e))return[e.expression];break;case 7:if(this.visitBinaryOperation(e))return[e.leftExpression,e.rightExpression];break;case 8:if(this.visitBreak(e))return[];break;case 9:if(this.visitCall(e))return[e.leftExpression,...e.arguments];break;case 10:if(this.visitClass(e))return[...e.decorators,e.name,...e.arguments,e.suite];break;case 11:if(this.visitConstant(e))return[];break;case 12:if(this.visitContinue(e))return[];break;case 13:if(this.visitDecorator(e))return[e.expression];break;case 14:if(this.visitDel(e))return e.expressions;break;case 15:if(this.visitDictionary(e))return e.entries;break;case 16:if(this.visitDictionaryExpandEntry(e))return[e.expandExpression];break;case 17:if(this.visitDictionaryKeyEntry(e))return[e.keyExpression,e.valueExpression];break;case 18:if(this.visitEllipsis(e))return[];break;case 19:if(this.visitIf(e))return[e.testExpression,e.ifSuite,e.elseSuite];break;case 20:if(this.visitImport(e))return e.list;break;case 21:if(this.visitImportAs(e))return[e.module,e.alias];break;case 22:if(this.visitImportFrom(e))return[e.module,...e.imports];break;case 23:if(this.visitImportFromAs(e))return[e.name,e.alias];break;case 24:if(this.visitIndex(e))return[e.baseExpression,...e.items];break;case 25:if(this.visitExcept(e))return[e.typeExpression,e.name,e.exceptSuite];break;case 26:if(this.visitFor(e))return[e.targetExpression,e.iterableExpression,e.forSuite,e.elseSuite];break;case 27:if(this.visitFormatString(e))return e.expressions;break;case 28:if(this.visitFunction(e))return[...e.decorators,e.name,...e.parameters,e.returnTypeAnnotation,e.functionAnnotationComment,e.suite];break;case 29:if(this.visitGlobal(e))return e.nameList;break;case 30:if(this.visitLambda(e))return[...e.parameters,e.expression];break;case 31:if(this.visitList(e))return e.entries;break;case 32:if(this.visitListComprehension(e))return[e.expression,...e.forIfNodes];break;case 33:if(this.visitListComprehensionFor(e))return[e.targetExpression,e.iterableExpression];break;case 34:if(this.visitListComprehensionIf(e))return[e.testExpression];break;case 35:if(this.visitMemberAccess(e))return[e.leftExpression,e.memberName];break;case 36:if(this.visitModule(e))return[...e.statements];break;case 37:if(this.visitModuleName(e))return e.nameParts;break;case 38:if(this.visitName(e))return[];break;case 39:if(this.visitNonlocal(e))return e.nameList;break;case 40:if(this.visitNumber(e))return[];break;case 41:if(this.visitParameter(e))return[e.name,e.typeAnnotation,e.typeAnnotationComment,e.defaultValue];break;case 42:if(this.visitPass(e))return[];break;case 43:if(this.visitRaise(e))return[e.typeExpression,e.valueExpression,e.tracebackExpression];break;case 44:if(this.visitReturn(e))return[e.returnExpression];break;case 45:if(this.visitSet(e))return e.entries;break;case 46:if(this.visitSlice(e))return[e.startValue,e.endValue,e.stepValue];break;case 47:if(this.visitStatementList(e))return e.statements;break;case 48:if(this.visitStringList(e))return[e.typeAnnotation,...e.strings];break;case 49:if(this.visitString(e))return[];break;case 50:if(this.visitSuite(e))return[...e.statements];break;case 51:if(this.visitTernary(e))return[e.ifExpression,e.testExpression,e.elseExpression];break;case 52:if(this.visitTuple(e))return e.expressions;break;case 53:if(this.visitTry(e))return[e.trySuite,...e.exceptClauses,e.elseSuite,e.finallySuite];break;case 54:if(this.visitTypeAnnotation(e))return[e.valueExpression,e.typeAnnotation];break;case 55:if(this.visitUnaryOperation(e))return[e.expression];break;case 56:if(this.visitUnpack(e))return[e.expression];break;case 57:if(this.visitWhile(e))return[e.testExpression,e.whileSuite,e.elseSuite];break;case 58:if(this.visitWith(e))return[...e.withItems,e.suite];break;case 59:if(this.visitWithItem(e))return[e.expression,e.target];break;case 60:if(this.visitYield(e))return[e.expression];break;case 61:if(this.visitYieldFrom(e))return[e.expression];break;case 62:if(this.visitFunctionAnnotation(e))return[...e.paramTypeAnnotations,e.returnTypeAnnotation];break;case 63:if(this.visitMatch(e))return[e.subjectExpression,...e.cases];break;case 64:if(this.visitCase(e))return[e.pattern,e.guardExpression,e.suite];break;case 65:if(this.visitPatternSequence(e))return[...e.entries];break;case 66:if(this.visitPatternAs(e))return[...e.orPatterns,e.target];break;case 67:if(this.visitPatternLiteral(e))return[e.expression];break;case 68:if(this.visitPatternClass(e))return[e.className,...e.arguments];break;case 69:if(this.visitPatternCapture(e))return[e.target];break;case 70:if(this.visitPatternMapping(e))return[...e.entries];break;case 71:if(this.visitPatternMappingKeyEntry(e))return[e.keyPattern,e.valuePattern];break;case 72:if(this.visitPatternMappingExpandEntry(e))return[e.target];break;case 73:if(this.visitPatternValue(e))return[e.expression];break;case 74:if(this.visitPatternClassArgument(e))return[e.name,e.pattern];break;default:E("Unexpected node type")}return[]}visitArgument(e){return!0}visitAssert(e){return!0}visitAssignment(e){return!0}visitAssignmentExpression(e){return!0}visitAugmentedAssignment(e){return!0}visitAwait(e){return!0}visitBinaryOperation(e){return!0}visitBreak(e){return!0}visitCall(e){return!0}visitCase(e){return!0}visitClass(e){return!0}visitTernary(e){return!0}visitContinue(e){return!0}visitConstant(e){return!0}visitDecorator(e){return!0}visitDel(e){return!0}visitDictionary(e){return!0}visitDictionaryKeyEntry(e){return!0}visitDictionaryExpandEntry(e){return!0}visitError(e){return!0}visitEllipsis(e){return!0}visitIf(e){return!0}visitImport(e){return!0}visitImportAs(e){return!0}visitImportFrom(e){return!0}visitImportFromAs(e){return!0}visitIndex(e){return!0}visitExcept(e){return!0}visitFor(e){return!0}visitFormatString(e){return!0}visitFunction(e){return!0}visitFunctionAnnotation(e){return!0}visitGlobal(e){return!0}visitLambda(e){return!0}visitList(e){return!0}visitListComprehension(e){return!0}visitListComprehensionFor(e){return!0}visitListComprehensionIf(e){return!0}visitMatch(e){return!0}visitMemberAccess(e){return!0}visitModule(e){return!0}visitModuleName(e){return!0}visitName(e){return!0}visitNonlocal(e){return!0}visitNumber(e){return!0}visitParameter(e){return!0}visitPass(e){return!0}visitPatternCapture(e){return!0}visitPatternClass(e){return!0}visitPatternClassArgument(e){return!0}visitPatternAs(e){return!0}visitPatternLiteral(e){return!0}visitPatternMappingExpandEntry(e){return!0}visitPatternSequence(e){return!0}visitPatternValue(e){return!0}visitPatternMappingKeyEntry(e){return!0}visitPatternMapping(e){return!0}visitRaise(e){return!0}visitReturn(e){return!0}visitSet(e){return!0}visitSlice(e){return!0}visitStatementList(e){return!0}visitString(e){return!0}visitStringList(e){return!0}visitSuite(e){return!0}visitTuple(e){return!0}visitTry(e){return!0}visitTypeAnnotation(e){return!0}visitUnaryOperation(e){return!0}visitUnpack(e){return!0}visitWhile(e){return!0}visitWith(e){return!0}visitWithItem(e){return!0}visitYield(e){return!0}visitYieldFrom(e){return!0}}function vr(e){let t=0,n=e;for(;n;)t++,n=n.parent;return t}function Tr(e,t){if(tdt.getEnd(e))return;const n=(new _r).visitNode(e);for(const e of n)if(e){const n=Tr(e,t);if(n)return n}return e}function br(e,t,n){const i=[n];let r=e;for(;r;)r=Er(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}function Ir(e){return e.start}function Sr(e,t){let n="";return 1===e.argumentCategory?n="*":2===e.argumentCategory&&(n="**"),e.name&&(n+=e.name.value+"="),n+=xr(e.valueExpression,t),n}function xr(e,t=0){switch(e.nodeType){case 38:return e.value;case 35:return xr(e.leftExpression,t)+"."+e.memberName.value;case 9:return xr(e.leftExpression,t)+"("+e.arguments.map((e=>Sr(e,t))).join(", ")+")";case 24:return xr(e.baseExpression,t)+"["+e.items.map((e=>Sr(e,t))).join(", ")+"]"+(e.trailingComma?",":"");case 55:return Cr(e.operator)+xr(e.expression,t);case 7:{const n=xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);return e.parenthesized?`(${n})`:n}case 40:{let t=e.value.toString();return t.endsWith("n")&&(t=t.substring(0,t.length-1)),e.isImaginary&&(t+="j"),t}case 48:return 1&t&&e.typeAnnotation?xr(e.typeAnnotation,t):e.strings.map((e=>xr(e,t))).join(" ");case 49:{let t="";return 8&e.token.flags&&(t+="r"),16&e.token.flags&&(t+="u"),32&e.token.flags&&(t+="b"),64&e.token.flags&&(t+="f"),4&e.token.flags?1&e.token.flags?t+=`'''${e.token.escapedValue}'''`:t+=`"""${e.token.escapedValue}"""`:1&e.token.flags?t+=`'${e.token.escapedValue}'`:t+=`"${e.token.escapedValue}"`,t}case 3:return xr(e.leftExpression,t)+" = "+xr(e.rightExpression,t);case 4:return xr(e.name,t)+" := "+xr(e.rightExpression,t);case 54:return xr(e.valueExpression,t)+": "+xr(e.typeAnnotation,t);case 5:return xr(e.leftExpression,t)+" "+Cr(e.operator)+" "+xr(e.rightExpression,t);case 6:return"await "+xr(e.expression,t);case 51:return xr(e.ifExpression,t)+" if "+xr(e.testExpression,t)+" else "+xr(e.elseExpression,t);case 31:return`[${e.entries.map((e=>xr(e,t))).join(", ")}]`;case 56:return"*"+xr(e.expression,t);case 52:{const n=e.expressions.map((e=>xr(e,t)));return 1===n.length?`(${n[0]}, )`:`(${n.join(", ")})`}case 60:return e.expression?"yield "+xr(e.expression,t):"yield";case 61:return"yield from "+xr(e.expression,t);case 18:return"...";case 32:{let n="";return yr(e.expression)?n=xr(e.expression,t):17===e.expression.nodeType&&(n=`${xr(e.expression.keyExpression,t)}: ${xr(e.expression.valueExpression,t)}`),n=n+" "+e.forIfNodes.map((e=>33===e.nodeType?(e.isAsync?"async ":"")+"for "+xr(e.targetExpression,t)+` in ${xr(e.iterableExpression,t)}`:`if ${xr(e.testExpression,t)}`)).join(" "),e.isParenthesized?`(${n}})`:n}case 46:{let n="";return e.startValue&&(n+=xr(e.startValue,t)),e.endValue&&(n+=": "+xr(e.endValue,t)),e.stepValue&&(n+=": "+xr(e.stepValue,t)),n}case 30:return"lambda "+e.parameters.map((e=>{let n="";return 1===e.category?n+="*":2===e.category&&(n+="**"),e.name&&(n+=e.name.value),e.defaultValue&&(n+=" = "+xr(e.defaultValue,t)),n})).join(", ")+": "+xr(e.expression,t);case 11:if(33===e.constType)return"True";if(15===e.constType)return"False";if(9===e.constType)return"__debug__";if(26===e.constType)return"None";break;case 15:{const n=`${e.entries.map((e=>17===e.nodeType?`${xr(e.keyExpression,t)}: ${xr(e.valueExpression,t)}`:xr(e,t)))}`;return n?`{ ${n} }`:"{}"}case 16:return`**${xr(e.expandExpression,t)}`;case 45:return e.entries.map((e=>xr(e,t))).join(", ")}return""}function Cr(e){const t={0:"+",1:"+=",2:"=",3:"&",4:"&=",5:"~",6:"|",7:"|=",8:"^",9:"^=",10:"/",11:"/=",12:"==",13:"//",14:"//=",15:">",16:">=",17:"<<",18:"<<=",19:"<>",20:"<",21:"<=",22:"@",23:"@=",24:"%",25:"%=",26:"*",27:"*=",28:"!=",29:"**",30:"**=",31:">>",32:">>=",33:"-",34:"-=",36:"and",37:"or",38:"not",39:"is",40:"is not",41:"in",42:"not in"};return t[e]?t[e]:"unknown"}function wr(e){let t=e.parent;for(;t;){if(50===t.nodeType)return t;t=t.parent}}function Er(e,t=!1){let n=e.parent;for(;n;){if(10===n.nodeType)return n;if(36===n.nodeType)return;if(28===n.nodeType&&t)return;n=n.parent}}function kr(e){let t,n=e.parent;for(;n;){if(28===n.nodeType&&!n.decorators.some((e=>e===t)))return n;if(10===n.nodeType)return;t=n,n=n.parent}}function Dr(e){let t=e.parent;for(;t;){if(28===t.nodeType)return t;if(10===t.nodeType)return t;t=t.parent}}function Ar(e){let t,n,i=e,r=!1;for(;i;){switch(41===i.nodeType&&t===i.name&&(r=!0),i.nodeType){case 28:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if(t===i.suite&&void 0!==Ft(i))return i;break;case 30:if(i.parameters.some((e=>e===t))){if(r&&void 0!==Ft(i))return i}else if((!t||t===i.expression)&&void 0!==Ft(i))return i;break;case 10:if(t===i.suite&&void 0!==Ft(i))return i;break;case 32:if(void 0!==Ft(i)&&(t!==i.forIfNodes[0]||33!==i.forIfNodes[0].nodeType||i.forIfNodes[0].iterableExpression!==n))return i;break;case 36:if(void 0!==Ft(i))return i}n=t,t=i,i=i.parent}E("Did not find evaluation scope")}function Pr(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 28:if((n===i.suite||t)&&!i.decorators.some((e=>e===n)))return i;break;case 10:if(n===i.suite&&!i.decorators.some((e=>e===n)))return i}n=i,i=i.parent}}function Rr(e){let t=Ar(e);for(;10===t.nodeType||32===t.nodeType;)t=Ar(t.parent);return t}function Fr(e){if(38===e.nodeType)return!0;if(35===e.nodeType){if(38!==e.leftExpression.nodeType)return!1;if(!Er(e))return!1;const t=kr(e);return!!t&&"__init__"===t.name.value}return!1}function Nr(e){return!!Er(e,!0)}function Mr(e,t){let n=e;for(;n;){if(n===t)return!0;n=n.parent}return!1}function Or(e){let t=!1;for(const n of e.statements){if(47!==n.nodeType)return!1;for(const e of n.statements)if(18===e.nodeType)t=!0;else if(48!==e.nodeType)return!1}return t}function Lr(e,t){if(38===e.nodeType)return 38===t.nodeType?e.value===t.value:4===t.nodeType&&e.value===t.name.value;if(35===e.nodeType&&35===t.nodeType)return Lr(e.leftExpression,t.leftExpression)&&e.memberName.value===t.memberName.value;if(24===e.nodeType&&24===t.nodeType){if(!Lr(e.baseExpression,t.baseExpression))return!1;if(1!==t.items.length||t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return!1;if(40===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;return!(40!==i.nodeType||i.isImaginary||!i.isInteger)&&n.value===i.value}if(48===e.items[0].valueExpression.nodeType){const n=e.items[0].valueExpression,i=t.items[0].valueExpression;if(1===n.strings.length&&49===n.strings[0].nodeType&&48===i.nodeType&&1===i.strings.length&&49===i.strings[0].nodeType)return n.strings[0].value===i.strings[0].value}return!1}return!1}function Ur(e,t){return 35===e.nodeType?Lr(e.leftExpression,t)||Ur(e.leftExpression,t):24===e.nodeType&&(Lr(e.baseExpression,t)||Ur(e.baseExpression,t))}function qr(e){if(0===e.length)return;if(47!==e[0].nodeType)return;if(!Vr(e[0]))return;const t=e[0].statements[0].strings;return 1===t.length?t[0].value:t.map((e=>e.value)).join("")}function Vr(e){if(0===e.statements.length||48!==e.statements[0].nodeType)return!1;const t=e.statements[0].strings;return 0!==t.length&&!t.some((e=>0!=(64&e.token.flags)))}class Br extends _r{constructor(e){super(),this._callback=e}visitName(e){return this._callback(e,this._subscriptIndex,this._baseExpression),!0}visitIndex(e){this.walk(e.baseExpression);const t=this._subscriptIndex,n=this._baseExpression;return this._baseExpression=e.baseExpression,e.items.forEach(((e,t)=>{this._subscriptIndex=t,this.walk(e)})),this._subscriptIndex=t,this._baseExpression=n,!1}}class Wr extends _r{constructor(e){super(),this._callback=e}visitCall(e){return this._callback(e),!0}}function jr(e){let t=e;for(;t;){if(41===t.nodeType)return t;t=t.parent}}function zr(e,t,n){let i,r=e;for(;void 0!==r;){if(9===r.nodeType&&u(r)){i=r;break}r=r.parent}if(!i||!i.arguments)return;const s=dt.getEnd(i);if(t>s)return;const o=function(e,t){const n=e.getItemAtPosition(t);if(!(n<0))return e.getItemAt(n)}(n,s-1);if(t===s&&14===(null==o?void 0:o.type))return;let a=!1,l=-1,c=!1;return i.arguments.forEach(((e,i)=>{if(a)return;let r=e.start;const s=n.getItemAtPosition(r);s>=0&&(r=dt.getEnd(n.getItemAt(s-1)));let o=dt.getEnd(e);const u=n.getItemAtPosition(o);if(u>=0)for(let e=u;e=r,a=!0)})),a||(l=i.arguments.length+1),{callNode:i,activeIndex:l,activeOrFake:c};function u(e,i){let r=!0;const s=e.leftExpression.length>0?dt.getEnd(e.leftExpression)-1:e.leftExpression.start,o=n.getItemAtPosition(s);if(o>=0&&o+10&&t===n.module.nameParts[0];case 23:return t===n.alias||!n.alias&&t===n.name;case 35:if(t!==n.memberName)return!1;break;case 25:return t===n.name;case 58:return n.withItems.some((e=>e===t));case 33:return t===n.targetExpression;case 54:if(t===n.typeAnnotation)return!1;break;case 28:case 10:case 36:return!1}t=n,n=n.parent}return!1}function Hr(e){let t=e;for(;t&&36!==t.nodeType;)t=t.parent;return t}function Gr(e){const t=Hr(e);return t?Vt(t):void 0}function Kr(e){var t,n;return 21===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Jr(e){var t;return 21===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Yr(e){var t,n;return 22===(null===(n=null===(t=es(e,37))||void 0===t?void 0:t.parent)||void 0===n?void 0:n.nodeType)}function Qr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e}function Zr(e){var t;return 23===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.alias===e}function Xr(e){var t;if(37!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType))return!1;const n=e.parent;return 0!==n.nameParts.length&&n.nameParts[n.nameParts.length-1]===e}function es(e,t){return function(e,n){for(const n of function*(e){for(;void 0!==e;)yield e,e=e.parent}(e))if(n.nodeType===t)return n}(e)}function ts(e){var t;return 35!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||e.parent.leftExpression===e?e:e.parent}function ns(e){switch(e.type){case 0:case 4:case 5:case 3:return!0;case 2:{if(e.node.typeAnnotation||e.node.typeAnnotationComment)return!0;const t=e.node.parent;if(28===(null==t?void 0:t.nodeType)&&t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const n=t.functionAnnotationComment.paramTypeAnnotations;return!(t.parameters.length>n.length&&e.node===t.parameters[0])}return!1}case 1:return!!e.typeAnnotationNode;case 6:return!1}}function is(e,t,n=!1){if(e.type!==t.type)return!1;if(e.path!==t.path)return!1;if(e.range.start.line!==t.range.start.line||e.range.start.character!==t.range.start.character)return!1;if(6===e.type&&6===t.type){if(e.symbolName!==t.symbolName||e.usesLocalName!==t.usesLocalName)return!1;if(n)return!0;if(e.firstNamePart!==t.firstNamePart)return!1}return!0}function rs(e){return 1===e.type&&!!e.isFinal}function ss(e){return 1===e.type&&!!e.typeAliasAnnotation}function os(e){var t;if(1!==e.type||!e.typeAliasName||e.typeAnnotationNode)return!1;if(3!==(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType))return!1;switch(e.node.parent.rightExpression.nodeType){case 0:case 55:case 4:case 54:case 6:case 51:case 56:case 52:case 9:case 32:case 46:case 60:case 61:case 30:case 40:case 15:case 31:case 45:return!1}return!0}function as(e){var t;switch(e.type){case 6:return e.symbolName;case 4:case 3:return e.node.name.value;case 2:return null===(t=e.node.name)||void 0===t?void 0:t.value;case 1:return 38===e.node.nodeType?e.node.value:void 0;case 0:case 5:return}throw new Error("Shouldn't reach here")}function ls(e){return e.map((e=>{if(6!==e.type)return e;const t={...e};return t.usesLocalName=!1,t}))}function cs(e){return{type:6,node:void 0,path:e,loadSymbolsFromPath:!1,range:{start:{line:0,character:0},end:{line:0,character:0}},implicitImports:new Map,usesLocalName:!1,moduleName:"",isInExceptSuite:!1}}function us(e){const t=e.replace(/\r/g,"").replace(/\t/g," ").split("\n");let n=Number.MAX_VALUE;t.forEach(((e,i)=>{if(t.length<=1||i>0){const t=e.trimLeft();t&&(n=Math.min(n,e.length-t.length))}})),n>=Number.MAX_VALUE&&(n=0);const i=[];for(t.forEach(((e,t)=>{0===t?i.push(e.trim()):i.push(e.substr(n).trimRight())}));i.length>0&&0===i[0].length;)i.shift();for(;i.length>0&&0===i[i.length-1].length;)i.pop();return i}function ps(e,t){if(!e||!t)return;const n=us(e);for(const e of n){const n=e.trim();let i=n.indexOf("@param "+t);if(i>=0)return n.substr(i+7);if(i=n.indexOf(":param "+t),i>=0)return n.substr(i+7);if(i=n.indexOf(t+": "),i>=0)return n.substr(i);if(i=n.indexOf(t+" ("),i>=0)return n.substr(i)}}function ds(e){return new Vs(e).convert()}function hs(e){const t=us(e),n=[];for(const e of t){const t=n.length>0?n[n.length-1]:void 0;Ws(e)&&Ws(t)||n.push(e)}return n.join("\n").trimEnd()}const ms=/\S|$/,fs=/\S/,gs=/^\s*~~~+$/,ys=/^\s*\+\+\++$/,_s=/^\s*===+\s+===+$/,vs=/^\s*---+\s+---+$/,Ts=/^(\s*)-\s/,bs=/^(\s*)\*\s/,Is=/^(\s*)\d+\.\s/,Ss=/^(\s+\* )(.*)$/,xs=/^\s*\.\. /,Cs=/^\s*\.\.\s+(\w+)::\s*(.*)$/,ws=/ *>>> /,Es=/^\s*:(param|arg|type|return|rtype|raise|except|var|ivar|cvar|copyright|license)/,ks=/^[.\s\t]+(@\w+)/,Ds=/^(\.\s{3})|^(\.)/,As=[{exp:/^\s*=+(\s+=+)+$/,replacement:"="},{exp:/^\s*-+(\s+-+)+$/,replacement:"-"},{exp:/^\s*~+(\s+-+)+$/,replacement:"~"},{exp:/^\s*\++(\s+\++)+$/,replacement:"+"}],Ps=/\s/g,Rs=/``/g,Fs=/~/g,Ns=/\+/g,Ms=/[_*~[\]]/g,Os=/(\[.*\]\(.*\))/g,Ls=[{exp://g,replacement:">"}],Us=/^\s*::$/,qs=[{exp:/\s+::$/g,replacement:""},{exp:/(\S)\s*::$/g,replacement:"$1:"},{exp:/:[\w_\-+:.]+:`/g,replacement:"`"},{exp:/`:[\w_\-+:.]+:/g,replacement:"`"}];class Vs{constructor(e){this._builder="",this._skipAppendEmptyLine=!0,this._insideInlineCode=!1,this._appendDirectiveBlock=!1,this._stateStack=[],this._lineNum=0,this._blockIndent=0,this._state=this._parseText,this._lines=us(e)}convert(){for(this._lines.some((e=>ks.exec(e)))&&(this._lines=this._lines.map((e=>e.replace(Ds,""))));void 0!==this._currentLineOrUndefined();){const e=this._state,t=this._lineNum;if(this._state(),this._state===e&&this._lineNum===t)break}return this._state===this._parseBacktickBlock||this._state===this._parseDocTest||this._state===this._parseLiteralBlock?this._trimOutputAndAppendLine("```"):this._insideInlineCode&&this._trimOutputAndAppendLine("`",!0),this._builder.trim()}_eatLine(){this._lineNum++}_currentLineOrUndefined(){return this._lineNum!Ws(e)))||"")}_currentLineIsOutsideBlock(){return this._currentIndent()n)||Ws(t)||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(t)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n>i&&!Ws(t)&&!this._builder.endsWith("\\\n")&&!this._builder.endsWith("\n\n")&&(this._builder=this._builder.slice(0,-1)+"\\\n"),0===n||this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")?this._convertIndent(e):e.trimStart()}_convertIndent(e){return e.replace(/^([ \t]+)(.+)$/g,((e,t,n)=>" ".repeat(t.length)+n))}_escapeHtml(e){return Ls.forEach((t=>{e=e.replace(t.exp,t.replacement)})),e}_appendTextLine(e){const t=(e=this._preprocessTextLine(e)).split("`");for(let e=0;e0&&(this._insideInlineCode=!this._insideInlineCode,this._append("`")),this._insideInlineCode)this._append(n);else{if(n=this._escapeHtml(n),0===e){if(1===t.length){for(const e of As)if(e.exp.test(n)){n=n.replace(Ps,e.replacement);break}if(gs.test(n)){this._append(n.replace(Fs,"-"));continue}if(ys.test(n)){this._append(n.replace(Ns,"-"));continue}}const e=Ss.exec(n);null!==e&&3===e.length&&(this._append(e[1]),n=e[2])}n.split(Os).forEach((e=>{Os.test(e)?this._append(e):this._append(e.replace(Ms,((e,t,n)=>"\\"===n.charAt(t-1)?e:"\\"+e)))}))}}this._builder+="\n"}_preprocessTextLine(e){return Us.test(e)?"":(qs.forEach((t=>e=e.replace(t.exp,t.replacement))),e=e.replace(Rs,"`"))}_parseEmpty(){if(Ws(this._currentLineOrUndefined()))return this._appendLine(),void this._eatLine();this._state=this._parseText}_beginMinIndentCodeBlock(e){this._appendLine("```"),this._pushAndSetState(e),this._blockIndent=this._currentIndent()}_beginBacktickBlock(){return!!this._currentLine().startsWith("```")&&(this._appendLine(this._currentLine()),this._pushAndSetState(this._parseBacktickBlock),this._eatLine(),!0)}_parseBacktickBlock(){this._currentLine().startsWith("```")?(this._appendLine("```"),this._appendLine(),this._popState()):this._appendLine(this._currentLine()),this._eatLine()}_beginDocTest(){return!!ws.test(this._currentLine())&&(this._beginMinIndentCodeBlock(this._parseDocTest),this._appendLine(this._currentLineWithinBlock()),this._eatLine(),!0)}_parseDocTest(){if(this._currentLineIsOutsideBlock()||Ws(this._currentLine()))return this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState();this._appendLine(this._currentLineWithinBlock()),this._eatLine()}_beginLiteralBlock(){const e=this._lineAt(this._lineNum-1);if(void 0===e)return!1;if(!Ws(e))return!1;let t=this._lineNum-2;for(;t>=0;t--){const e=this._lineAt(t);if(!Ws(e)){if(e.endsWith("::"))break;return!1}}return!(t<0||(0===this._currentIndent()?(this._appendLine("```"),this._pushAndSetState(this._parseLiteralBlockSingleLine),0):(this._beginMinIndentCodeBlock(this._parseLiteralBlock),0)))}_parseLiteralBlock(){return Ws(this._currentLineOrUndefined())?(this._appendLine(),void this._eatLine()):this._currentLineIsOutsideBlock()?(this._trimOutputAndAppendLine("```"),this._appendLine(),void this._popState()):(this._appendLine(this._currentLineWithinBlock()),void this._eatLine())}_parseLiteralBlockSingleLine(){this._appendLine(this._currentLine()),this._appendLine("```"),this._appendLine(),this._popState(),this._eatLine()}_beginDirective(){return!!xs.test(this._currentLine())&&(this._pushAndSetState(this._parseDirective),this._blockIndent=this._nextBlockIndent(),this._appendDirectiveBlock=!1,!0)}_beginFieldList(){var e,t;if(this._insideInlineCode)return!1;let n=this._currentLine();if(n.startsWith("@"))return this._appendLine(),this._appendTextLine(n),this._eatLine(),!0;const i=!(null==n?void 0:n.endsWith(":"))&&!(null==n?void 0:n.endsWith("::"))&&(null!==(t=null===(e=n.match(/:/g))||void 0===e?void 0:e.length)&&void 0!==t?t:0)%2==1,r=Es.test(n);if(i||r){const e=this._lineAt(this._lineNum-1);return this._builder.endsWith("\\\n")||this._builder.endsWith("\n\n")||js(e)||(this._builder=this._builder.slice(0,-1)+"\\\n"),n=this._convertIndent(n),this._appendTextLine(n),this._eatLine(),!0}return!1}_beginTableBlock(){if(this._insideInlineCode)return!1;const e=this._currentLine();return!!_s.test(e)&&(this._tableState={header:e.trimStart(),inHeader:!0},this._eatLine(),this._pushAndSetState(this._parseTableBlock),!0)}_parseTableBlock(){if(Ws(this._currentLineOrUndefined())||!this._tableState)return this._tableState=void 0,void this._popState();let e=this._currentLine();if(_s.test(e))return this._eatLine(),this._appendLine("\n
\n"),this._popState(),void(this._tableState=void 0);{let t="|";const n=this._tableState.header.split(" "),i=[];if(this._tableState.inHeader){do{let t=0;for(let r=0;r${o} `),t+=s}this._eatLine(),e=this._currentLine()}while(!Ws(this._currentLineOrUndefined())&&!vs.test(e)&&!_s.test(e));this._tableState.inHeader=!1,i.forEach((e=>{t+=`${e}|`})),this._appendLine(t);const r=e.trimStart().replace(/=/g,"-").replace(" ","|");this._appendLine(`|${r}|`),this._eatLine()}else{let i=0;n.forEach((n=>{const r=n.length+1,s=e.slice(i,i+r);t+=`${s}|`,i+=r})),this._appendLine(t),this._eatLine()}}}_beginList(){if(this._insideInlineCode)return!1;let e=this._currentLine();const t=Ts.exec(e);if(2===(null==t?void 0:t.length))return t[1].length>=4&&(e=" ".repeat(t[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const n=bs.exec(e);if(2===(null==n?void 0:n.length))return 0===n[1].length?e=e=" "+e:n[1].length>=4&&(e=" ".repeat(n[1].length/2)+e.trimLeft()),this._appendTextLine(e),this._eatLine(),this._state!==this._parseList&&this._pushAndSetState(this._parseList),!0;const i=Is.exec(e);return 2===(null==i?void 0:i.length)&&(this._appendTextLine(e),this._eatLine(),!0)}_parseList(){if(Ws(this._currentLineOrUndefined())||this._currentLineIsOutsideBlock())this._popState();else if(!this._beginList()){const e=this._currentLine().trimStart();this._appendTextLine(e),this._eatLine()}}_parseDirective(){const e=Cs.exec(this._currentLine());if(null!==e&&3===e.length){const t=e[1],n=e[2];"class"===t&&(this._appendDirectiveBlock=!0,this._appendLine(),this._appendLine("```"),this._appendLine(n),this._appendLine("```"),this._appendLine())}0===this._blockIndent?this._popState():this._state=this._parseDirectiveBlock,this._eatLine()}_parseDirectiveBlock(){Ws(this._currentLineOrUndefined())||!this._currentLineIsOutsideBlock()?(this._appendDirectiveBlock&&this._appendTextLine(this._currentLine().trimLeft()),this._eatLine()):this._popState()}_appendLine(e){Ws(e)?this._skipAppendEmptyLine||(this._builder+="\n",this._skipAppendEmptyLine=!0):(this._builder+=e+"\n",this._skipAppendEmptyLine=!1)}_append(e){this._builder+=e,this._skipAppendEmptyLine=!1}_trimOutputAndAppendLine(e,t=!1){this._builder=this._builder.trimRight(),this._skipAppendEmptyLine=!1,t||this._appendLine(),this._appendLine(e)}}function Bs(e){return e.search(ms)}function Ws(e){return void 0===e||!fs.test(e)}function js(e){var t,n;return void 0!==e&&(null!==(n=null===(t=e.match(/^\s*[#`~=-]{3,}/))||void 0===t?void 0:t.length)&&void 0!==n?n:0)>0}function zs(e){return Ft(Ar(e))}const $s="*";class Hs{constructor(e,t,n){this.className=e,this.itemName=t,this.itemType=n}}const Gs=14;var Ks,Js,Ys,Qs,Zs,Xs,eo,to,no,io,ro,so,oo;function ao(e){return 4===e.category}function lo(e){return 3===e.category&&Ks.isInstance(e)}function co(e){return 3===e.category&&Ks.isInstantiable(e)}function uo(e){return 2===e.category}function po(e){return 1===e.category}function ho(e){return 2===e.category||1===e.category||!!fo(e)&&void 0===e.subtypes.find((e=>!ho(e)))}function mo(e){return 0===e.category}function fo(e){return 9===e.category}function go(e){return!!mo(e)||!!fo(e)&&void 0!==e.subtypes.find((e=>go(e)))}function yo(e){return 7===e.category}function _o(e){return 7===e.category&&Ks.isInstantiable(e)}function vo(e){return 7===e.category&&Ks.isInstance(e)}function To(e){return 8===e.category}function bo(e){return 10===e.category}function Io(e){return 10===e.category&&e.details.isVariadic}function So(e){return fo(e)&&1===e.subtypes.length&&(e=e.subtypes[0]),10===e.category&&e.details.isVariadic&&!!e.isVariadicUnpacked}function xo(e){return!(!yo(e)||!e.isUnpacked)}function Co(e){return So(e)||xo(e)}function wo(e){return 10===e.category&&e.details.isParamSpec}function Eo(e){return 5===e.category}function ko(e){return 6===e.category}function Do(e){return e.typeAliasInfo?e.typeAliasInfo:bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType&&e.details.boundType.typeAliasInfo?e.details.boundType.typeAliasInfo:void 0}function Ao(e,t,n=!1,i=!1,r=0){var s,o;if(e===t)return!0;if(e.category!==t.category)return!1;if(!i&&e.flags!==t.flags)return!1;if(r>Gs)return!0;switch(r++,e.category){case 7:{const i=t;if(!Zs.isSameGenericClass(e,i,r))return!1;if(!ro.isSame(e.condition,t.condition))return!1;if(!n||!Zs.isPseudoGenericClass(e))if(e.tupleTypeArguments&&i.tupleTypeArguments){const t=e.tupleTypeArguments||[],s=i.tupleTypeArguments||[];if(t.length!==s.length)return!1;for(let e=0;e0===e.category&&!e.name)),l=o.findIndex((e=>0===e.category&&!e.name));for(let t=0;t=a;if(p!==(void 0!==l&&t>=l))return!1;if(p&&c.name!==u.name)return!1;if(!Ao(Xs.getEffectiveParameterType(e,t),Xs.getEffectiveParameterType(i,t),n,!1,r))return!1}let c=e.details.declaredReturnType;e.specializedTypes&&e.specializedTypes.returnType&&(c=e.specializedTypes.returnType),!c&&e.inferredReturnType&&(c=e.inferredReturnType);let u=i.details.declaredReturnType;return i.specializedTypes&&i.specializedTypes.returnType&&(u=i.specializedTypes.returnType),!u&&i.inferredReturnType&&(u=i.inferredReturnType),!!(!c&&!u||c&&u&&Ao(c,u,n,!1,r))}case 6:{const s=t;if(e.overloads.length!==s.overloads.length)return!1;for(let t=0;t!so.containsType(n,e,r)))}case 10:{const i=t;if(e.scopeId!==i.scopeId)return!1;if(e.details.recursiveTypeParameters&&i.details.recursiveTypeParameters){const i=(null===(s=null==e?void 0:e.typeAliasInfo)||void 0===s?void 0:s.typeArguments)||[],a=(null===(o=null==t?void 0:t.typeAliasInfo)||void 0===o?void 0:o.typeArguments)||[],l=Math.max(i.length,a.length);for(let e=0;epo(e)))}function Ro(e){return fo(e)?No(e,(e=>mo(e))):mo(e)?Ys.create():e}function Fo(e){return No(e,(e=>lo(e)))}function No(e,t){if(fo(e)){const n=e.subtypes.filter((e=>!t(e)));if(n.lengtht(e))):t(e)?e:void 0}function Oo(e,t){let n=!1;if(0===(e=e.filter((e=>(4===e.category&&e.isNoReturn&&(n=!0),4!==e.category)))).length)return n?no.createNoReturn():no.createNever();let i=!0;for(let t=1;tvo(e)&&void 0!==e.literalValue||_o(e)&&void 0!==e.literalValue?1:vo(t)&&void 0!==t.literalValue||_o(t)&&void 0!==t.literalValue?-1:vo(e)&&e.isEmptyContainer?1:vo(t)&&t.isEmptyContainer?-1:0)),0===r.length)return Ys.create();const o=so.create();s.length>0&&(o.typeAliasSources=new Set,s.forEach((e=>{o.typeAliasSources.add(e)})));let a=!1;return r.forEach(((e,n)=>{0===n?so.addType(o,e):void 0===t||o.subtypes.lengtht===e.details.name))||n.some((t=>t===e.aliasName))}return!0}function i(t,n,i=0){if(i>Gs)return!0;if(i++,t.details===n.details)return!0;const r=t.details,s=n.details;if(r===s)return!0;if(r.fullName!==s.fullName||r.flags!==s.flags||r.typeSourceId!==s.typeSourceId||r.baseClasses.length!==s.baseClasses.length||r.typeParameters.length!==s.typeParameters.length)return!1;if(e.isBuiltIn(t,"NamedTuple")&&e.isBuiltIn(n,"NamedTuple"))return!0;if(e.isBuiltIn(t,"tuple")&&e.isBuiltIn(n,"tuple"))return!0;for(let e=0;eao(e)&&!e.isNoReturn?Ys.create():e)):void 0,o.isTypeArgumentExplicit=n,i&&(o.includeSubclasses=!0),o.tupleTypeArguments=r?r.map((e=>ao(e.type)?{type:Ys.create(),isUnbounded:e.isUnbounded}:e)):void 0,void 0!==s&&(o.isEmptyContainer=s),o},e.cloneWithLiteral=function(e,t){const n=Ks.cloneType(e);return n.literalValue=t,n},e.cloneForTypingAlias=function(e,t){const n=Ks.cloneType(e);return n.aliasName=t,n},e.cloneForNarrowedTypedDictEntries=function(e,t){const n=Ks.cloneType(e);return n.typedDictNarrowedEntries=t,n},e.cloneWithNewTypeParameters=function(e,t){const n=Ks.cloneType(e);return n.details={...n.details},n.details.typeParameters=t,n},e.cloneForTypeGuard=function(e,t,n){const i=Ks.cloneType(e);return i.typeGuardType=t,i.isStrictTypeGuard=n,i},e.cloneForSymbolTableUpdate=function(e){const n=Ks.cloneType(e);return n.details={...n.details},n.details.fields=new Map(n.details.fields),n.details.mro=[...n.details.mro],n.details.mro[0]=t(n),n},e.cloneForUnpacked=function(e,t=!0){const n=Ks.cloneType(e);return n.isUnpacked=t,n},e.isLiteralValueSame=function(e,t){return void 0===e.literalValue?void 0===t.literalValue:void 0!==t.literalValue&&(e.literalValue instanceof Hs?t.literalValue instanceof Hs&&e.literalValue.itemName===t.literalValue.itemName:e.literalValue===t.literalValue)},e.isUnspecialized=function(e){return e.details.typeParameters.length>0&&void 0===e.typeArguments},e.isSpecialBuiltIn=function(e,t){return!!(2&e.details.flags||e.aliasName)&&(void 0===t||e.details.name===t)},e.isBuiltIn=n,e.supportsAbstractMethods=function(e){return!!(512&e.details.flags)},e.isDataClass=function(e){return!!(4&e.details.flags)},e.isSkipSynthesizedDataClassInit=function(e){return!!(16&e.details.flags)},e.isSkipSynthesizedDataClassEq=function(e){return!!(32&e.details.flags)},e.isFrozenDataClass=function(e){return!!(8&e.details.flags)},e.isSynthesizedDataclassOrder=function(e){return!!(64&e.details.flags)},e.isDataClassKeywordOnlyParams=function(e){return!!(2097152&e.details.flags)},e.isGeneratedDataClassSlots=function(e){return!!(33554432&e.details.flags)},e.isSynthesizeDataClassUnsafeHash=function(e){return!!(67108864&e.details.flags)},e.isTypedDictClass=function(e){return!!(128&e.details.flags)},e.isCanOmitDictValues=function(e){return!!(256&e.details.flags)},e.isEnumClass=function(e){return!!(1048576&e.details.flags)},e.isPropertyClass=function(e){return!!(2048&e.details.flags)},e.isClassProperty=function(e){return!!(4194304&e.details.flags)},e.isFinal=function(e){return!!(4096&e.details.flags)},e.isProtocolClass=function(e){return!!(8192&e.details.flags)},e.isDefinedInStub=function(e){return!!(8388608&e.details.flags)},e.isPseudoGenericClass=function(e){return!!(16384&e.details.flags)},e.getDataClassEntries=function(e){return e.details.dataClassEntries||[]},e.isRuntimeCheckable=function(e){return!!(32768&e.details.flags)},e.isTypingExtensionClass=function(e){return!!(65536&e.details.flags)},e.isPartiallyConstructed=function(e){return!!(131072&e.details.flags)},e.hasCustomClassGetItem=function(e){return!!(262144&e.details.flags)},e.isTupleClass=function(e){return!!(524288&e.details.flags)},e.isReadOnlyInstanceVariables=function(e){return!!(16777216&e.details.flags)},e.getTypeParameters=function(e){return e.details.typeParameters},e.hasUnknownBaseClass=function(e){return e.details.mro.some((e=>ho(e)))},e.isSameGenericClass=i,e.isDerivedFrom=function e(t,r,s){if(i(t,r))return s&&s.push(t),!0;if(n(t)&&n(r,"object"))return s&&s.push(r),!0;for(const n of t.details.baseClasses)if(_o(n)){if(e(n,r,s))return s&&s.push(t),!0}else if(ho(n))return s&&s.push(Ys.create()),!0;return!1}}(Zs||(Zs={})),function(e){function t(e,t,n,i,r,s){return{category:5,details:{name:e,fullName:t,moduleName:n,flags:i,parameters:[],docString:s},flags:r}}function n(e,t){return w(t0&&0===e.details.parameters[0].category?(e.details.parameters.length>0&&!e.details.parameters[0].isTypeInferred&&(o.strippedFirstParamType=n(e,0)),o.details.parameters=e.details.parameters.slice(1)):i=!1,o.details.flags&=-4,o.details.flags|=4),void 0!==e.typeAliasInfo&&(o.typeAliasInfo=e.typeAliasInfo),e.specializedTypes&&(o.specializedTypes={parameterTypes:i?e.specializedTypes.parameterTypes.slice(1):e.specializedTypes.parameterTypes,returnType:e.specializedTypes.returnType}),o.inferredReturnType=e.inferredReturnType,o.boundTypeVarScopeId=s,o},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForSpecialization=function(e,n,i){const r=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return r.details=e.details,w(n.parameterTypes.length===e.details.parameters.length),r.specializedTypes=n,i&&(r.inferredReturnType=i),r},e.cloneForParamSpec=function(n,i){const r=t(n.details.name,n.details.fullName,n.details.moduleName,n.details.flags,n.flags,n.details.docString);return r.specializedTypes=n.specializedTypes,r.details={...n.details},delete r.details.paramSpec,i&&(r.details.parameters=[...n.details.parameters,...i.parameters.map((e=>({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})))],r.details.docString||(r.details.docString=i.docString),r.details.flags=98311&i.flags|64,e.isParamSpecValue(n)&&(r.details.flags|=65536),r.specializedTypes&&i.parameters.forEach((e=>{r.specializedTypes.parameterTypes.push(e.type)})),r.details.paramSpec=i.paramSpec),r},e.cloneWithNewFlags=function(e,t){const n=Ks.cloneType(e);return n.details={...e.details},n.details.flags=t,n},e.cloneForParamSpecApplication=function(e,t){const n=Ks.cloneType(e);if(n.details={...e.details},n.details.parameters=n.details.parameters.slice(0,n.details.parameters.length-2),t.parameters.some((e=>0===e.category&&!e.name))&&n.details.parameters.length>0){const e=n.details.parameters[n.details.parameters.length-1];0!==e.category||e.name||n.details.parameters.pop()}return t.parameters.forEach((e=>{n.details.parameters.push({category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),n.details.paramSpec=t.paramSpec,n.details.docString||(n.details.docString=t.docString),n},e.cloneRemoveParamSpecVariadics=function(e,n){const i=t(e.details.name,e.details.fullName,e.details.moduleName,e.details.flags,e.flags,e.details.docString);return i.details={...e.details},i.details.parameters=i.details.parameters.slice(0,i.details.parameters.length-2),e.specializedTypes&&(i.specializedTypes={...e.specializedTypes},i.specializedTypes.parameterTypes=i.specializedTypes.parameterTypes.slice(0,i.specializedTypes.parameterTypes.length-2)),i.details.paramSpec||(i.details.paramSpec=n),i},e.addDefaultParameters=function(t,n=!1){e.addParameter(t,{category:1,name:"args",type:n?Ys.create():io.create(),hasDeclaredType:!n}),e.addParameter(t,{category:2,name:"kwargs",type:n?Ys.create():io.create(),hasDeclaredType:!n})},e.hasDefaultParameters=function(t){let n=!1,i=!1;for(let r=0;rt.typeVarName?1:e.constraintIndext.constraintIndex?1:0}e.combine=function(e,n){if(!e)return n;if(!n)return e;const i=[...e];return n.forEach((e=>{i.some((n=>0===t(e,n)))||i.push(e)})),i.sort(t)},e.isSame=function(e,t){return e?!(!t||e.length!==t.length)&&void 0===e.find(((e,n)=>e.typeVarName!==t[n].typeVarName||e.constraintIndex!==t[n].constraintIndex)):!t},e.isCompatible=function(e,t){if(!e||!t)return!0;for(const n of e){let e=!1;const i=t.find((t=>n.typeVarName===t.typeVarName&&(e=!0,n.constraintIndex===t.constraintIndex)));if(e&&!i)return!1}return!0}}(ro||(ro={})),function(e){e.create=function(){return{category:9,subtypes:[],flags:3}},e.addType=function(e,t){vo(t)&&Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0===t.condition?(void 0===e.literalStrMap&&(e.literalStrMap=new Map),e.literalStrMap.set(t.literalValue,t)):vo(t)&&Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0===t.condition&&(void 0===e.literalIntMap&&(e.literalIntMap=new Map),e.literalIntMap.set(t.literalValue,t)),e.flags&=t.flags,e.subtypes.push(t)},e.containsType=function(e,t,n=0){if(vo(t)&&void 0===t.condition){if(Zs.isBuiltIn(t,"str")&&void 0!==t.literalValue&&void 0!==e.literalStrMap)return e.literalStrMap.has(t.literalValue);if(Zs.isBuiltIn(t,"int")&&void 0!==t.literalValue&&void 0!==e.literalIntMap)return e.literalIntMap.has(t.literalValue)}return void 0!==e.subtypes.find((e=>Ao(e,t,void 0,void 0,n)))},e.addTypeAliasSource=function(e,t){if(9===t.category){const n=t.typeAliasInfo?[t]:t.typeAliasSources;n&&(e.typeAliasSources||(e.typeAliasSources=new Set),n.forEach((t=>{e.typeAliasSources.add(t)})))}}}(so||(so={})),function(e){function t(e,t){return`${e}.${t}`}function n(e,t,n){return{category:10,details:{name:e,constraints:[],variance:0,isParamSpec:t,isVariadic:!1,isSynthesized:!1},flags:n}}e.createInstance=function(e){return n(e,!1,2)},e.createInstantiable=function(e,t=!1){return n(e,t,1)},e.cloneAsInstance=function(e){w(Ks.isInstantiable(e));const t=Ks.cloneType(e);return t.flags&=~9,t.flags|=2,t},e.cloneAsInstantiable=function(e){w(Ks.isInstance(e));const t=Ks.cloneType(e);return t.flags&=-11,t.flags|=1,t},e.cloneForScopeId=function(e,n,i,r){const s=Ks.cloneType(e);return s.nameWithScope=t(e.details.name,n),s.scopeId=n,s.scopeName=i,s.scopeType=r,s},e.cloneForUnpacked=function(e,t=!1){w(e.details.isVariadic);const n=Ks.cloneType(e);return n.isVariadicUnpacked=!0,n.isVariadicInUnion=t,n},e.cloneForPacked=function(e){w(e.details.isVariadic);const t=Ks.cloneType(e);return t.isVariadicUnpacked=!1,t.isVariadicInUnion=!1,t},e.cloneAsInvariant=function(e){if(e.details.isParamSpec||e.details.isVariadic)return e;if(0===e.details.variance&&void 0===e.details.boundType&&0===e.details.constraints.length)return e;const t=Ks.cloneType(e);return t.details={...t.details},t.details.variance=0,t.details.boundType=void 0,t.details.constraints=[],t},e.cloneForParamSpecAccess=function(e,t){const n=Ks.cloneType(e);return n.paramSpecAccess=t,n},e.cloneAsSpecializedSelf=function(e,t){w(e.details.isSynthesizedSelf);const n=Ks.cloneType(e);return n.details={...n.details},n.details.boundType=t,n},e.makeNameWithScope=t,e.addConstraint=function(e,t){e.details.constraints.push(t)},e.getNameWithScope=function(e){return e.nameWithScope||e.details.name},e.getReadableName=function(e){return e.scopeName?`${e.details.name}@${e.scopeName}`:e.details.name}}(oo||(oo={}));let Uo=1;class qo{constructor(e=4){this.id=Uo++,this._flags=e}static createWithType(e,t){const n=new qo(e);return n._synthesizedType=t,n}isInitiallyUnbound(){return!!(1&this._flags)}setIsExternallyHidden(){this._flags|=2}isExternallyHidden(){return!!(2&this._flags)}setIsIgnoredForProtocolMatch(){this._flags|=64}isIgnoredForProtocolMatch(){return!!(64&this._flags)}setIsClassMember(){this._flags|=4}isClassMember(){return!!(4&this._flags)}setIsInstanceMember(){this._flags|=8}isInstanceMember(){return!!(8&this._flags)}setIsClassVar(){this._flags|=128}isClassVar(){return!!(128&this._flags)}setIsInitVar(){this._flags|=1024}isInitVar(){return!!(1024&this._flags)}setIsInDunderAll(){this._flags|=256}isInDunderAll(){return!!(256&this._flags)}setIsPrivateMember(){this._flags|=32}isPrivateMember(){return!!(32&this._flags)}setPrivatePyTypedImport(){this._flags|=512}isPrivatePyTypedImport(){return!!(512&this._flags)}addDeclaration(e){if(this._declarations){const t=this._declarations.findIndex((t=>is(t,e)));if(t<0)this._declarations.push(e),this._declarations.forEach((e=>{1===e.type&&e.typeAliasName&&delete e.typeAliasName}));else{const n=this._declarations[t];ns(e)?(this._declarations[t]=e,1===n.type&&1===e.type&&!e.inferredTypeSource&&n.inferredTypeSource&&(e.inferredTypeSource=n.inferredTypeSource)):1===e.type&&1===n.type&&(e.isFinal&&(n.isFinal=!0),e.typeAliasAnnotation&&(n.typeAliasAnnotation=e.typeAliasAnnotation,n.typeAliasName=e.typeAliasName),!n.inferredTypeSource&&e.inferredTypeSource&&(n.inferredTypeSource=e.inferredTypeSource))}}else this._declarations=[e]}hasDeclarations(){return!!this._declarations&&this._declarations.length>0}getDeclarations(){return this._declarations?this._declarations:[]}hasTypedDeclarations(){return!!this._synthesizedType||this.getDeclarations().some((e=>ns(e)))}getTypedDeclarations(){return this.getDeclarations().filter((e=>ns(e)))}getSynthesizedType(){return this._synthesizedType}}function Vo(e){const t=e.getTypedDeclarations();if(t.length>0)return t[t.length-1]}function Bo(e){const t=e.getTypedDeclarations();return t.length>0&&1===t[t.length-1].type}function Wo(e){return e.getDeclarations().some((e=>rs(e)))}class jo{constructor(e){this._isLocked=!1,Array.isArray(e)?this._solveForScopes=e:this._solveForScopes=void 0!==e?[e]:void 0,this._typeVarMap=new Map,this._paramSpecMap=new Map}clone(){const e=new jo;return this._solveForScopes&&(e._solveForScopes=[...this._solveForScopes]),this._typeVarMap.forEach((t=>{e.setTypeVarType(t.typeVar,t.narrowBound,t.wideBound,t.retainLiteral)})),this._paramSpecMap.forEach((t=>{e.setParamSpec(t.paramSpec,t.type)})),this._variadicTypeVarMap&&this._variadicTypeVarMap.forEach((t=>{e.setVariadicTypeVar(t.typeVar,t.types)})),e._isLocked=this._isLocked,e}copyFromClone(e){this._typeVarMap=e._typeVarMap,this._paramSpecMap=e._paramSpecMap,this._variadicTypeVarMap=e._variadicTypeVarMap,this._isLocked=e._isLocked}getSolveForScopes(){return this._solveForScopes}hasSolveForScope(e){return void 0!==e&&void 0!==this._solveForScopes&&this._solveForScopes.some((t=>t===e||t===$s))}setSolveForScopes(e){this._solveForScopes=e}addSolveForScope(e){void 0===e||this.hasSolveForScope(e)||(this._solveForScopes||(this._solveForScopes=[]),this._solveForScopes.push(e))}isEmpty(){return 0===this._typeVarMap.size&&0===this._paramSpecMap.size}getScore(){let e=0;return this._typeVarMap.forEach((t=>{e+=1;const n=this.getTypeVarType(t.typeVar);e+=1-this._getComplexityScoreForType(n)})),e+=this._paramSpecMap.size,e}hasTypeVar(e){return this._typeVarMap.has(this._getKey(e))}getTypeVarType(e,t=!1){const n=this._typeVarMap.get(this._getKey(e));if(n)return n.narrowBound?n.narrowBound:t?void 0:n.wideBound}setTypeVarType(e,t,n,i){w(!this._isLocked);const r=this._getKey(e);this._typeVarMap.set(r,{typeVar:e,narrowBound:t,wideBound:n,retainLiteral:i})}getVariadicTypeVar(e){var t,n;return null===(n=null===(t=this._variadicTypeVarMap)||void 0===t?void 0:t.get(this._getKey(e)))||void 0===n?void 0:n.types}setVariadicTypeVar(e,t){w(!this._isLocked);const n=this._getKey(e);this._variadicTypeVarMap||(this._variadicTypeVarMap=new Map),this._variadicTypeVarMap.set(n,{typeVar:e,types:t})}getTypeVar(e){const t=this._getKey(e);return this._typeVarMap.get(t)}getTypeVars(){const e=[];return this._typeVarMap.forEach((t=>{e.push(t)})),e}hasParamSpec(e){return this._paramSpecMap.has(this._getKey(e))}getParamSpec(e){var t;return null===(t=this._paramSpecMap.get(this._getKey(e)))||void 0===t?void 0:t.type}setParamSpec(e,t){w(!this._isLocked),this._paramSpecMap.set(this._getKey(e),{paramSpec:e,type:t})}typeVarCount(){return this._typeVarMap.size}getWideTypeBound(e){const t=this._typeVarMap.get(this._getKey(e));if(t)return t.wideBound}getRetainLiterals(e){const t=this._typeVarMap.get(this._getKey(e));return!!(null==t?void 0:t.retainLiteral)}lock(){w(!this._isLocked),this._isLocked=!0}unlock(){this._isLocked=!1}isLocked(){return this._isLocked}_getKey(e){return oo.getNameWithScope(e)}_getComplexityScoreForType(e,t=0){if(t>Gs)return 1;switch(t++,e.category){case 1:case 2:case 3:case 5:case 6:case 10:return.5;case 0:case 4:return 1;case 9:{let n=0;return e.subtypes.length<16&&Jo(e,(e=>{const i=this._getComplexityScoreForType(e,t);n=Math.max(n,i)})),.75+n/4}case 7:return this._getComplexityScoreForClass(e,t)}return 0}_getComplexityScoreForClass(e,t){let n=0,i=0;return e.tupleTypeArguments?e.tupleTypeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e.type,t),i++})):e.typeArguments?e.typeArguments.forEach((e=>{n+=this._getComplexityScoreForType(e,t),i++})):e.details.typeParameters&&e.details.typeParameters.forEach((e=>{n+=this._getComplexityScoreForType(io.create(),t),i++})),.5+.25*(i>0?n/i:0)}}var zo,$o;function Ho(e){const t={firstPositionOrKeywordIndex:0,positionParamCount:0,positionOnlyParamCount:0,params:[],hasUnpackedVariadicTypeVar:!1};let n=e.details.parameters.findIndex((e=>0===e.category&&!e.name));if(n<0)for(let t=0;t=0&&(t.firstPositionOrKeywordIndex=n);for(let i=0;i{if(r.name){let a;a=1===r.category?zo.PositionOnly:i?zo.KeywordOnly:n>=0&&s{1===e.category?e.name&&xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach(((n,i)=>{const s=Io(n.type)||n.isUnbounded?1:0;1===s&&(t.argsIndex=t.params.length),Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0),r({category:s,name:`${e.name}[${i.toString()}]`,type:n.type,hasDeclaredType:!0},i,n.type)})):(e.name&&void 0===t.argsIndex&&(t.argsIndex=t.params.length,Io(e.type)&&(t.hasUnpackedVariadicTypeVar=!0)),!i&&(n<0||s>=n)&&(t.firstKeywordOnlyIndex=t.params.length,e.name&&t.firstKeywordOnlyIndex++,i=!0),r(e,s)):2===e.category?(i=!0,vo(e.type)&&xo(e.type)&&e.type.details.typedDictEntries?(void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),e.type.details.typedDictEntries.forEach(((e,t)=>{r({category:0,name:t,type:e.valueType,hasDeclaredType:!0,hasDefault:!e.isRequired},s,e.valueType)}))):e.name&&(void 0===t.kwargsIndex&&(t.kwargsIndex=t.params.length),void 0===t.firstKeywordOnlyIndex&&(t.firstKeywordOnlyIndex=t.params.length),r(e,s))):0===e.category&&(e.name&&!i&&t.positionParamCount++,r(e,s))})),t}function Go(e){return!!fo(e)&&void 0!==Mo(e,(e=>lo(e)))}function Ko(e,t){if(fo(e)){const n=[];let i=!1;if(e.subtypes.forEach((r=>{const s=t(r);s?s!==r?(n.push(Zo(s,Xo(e))),i=!0):n.push(r):i=!0})),!i)return e;const r=Oo(n);return 9===r.category&&so.addTypeAliasSource(r,e),r}return t(e)||no.createNever()}function Jo(e,t){fo(e)?e.subtypes.forEach(((e,n)=>{t(e,n)})):t(e,0)}function Yo(e,t){if(e.length<2)return!0;for(let n=1;nQo(e))):e}function Zo(e,t){if(!t)return e;switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:return e;case 3:case 5:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 6:return eo.create(e.overloads.map((e=>Zo(e,t))));case 7:return Ks.cloneForCondition(e,ro.combine(e.condition,t));case 9:return Oo(e.subtypes.map((e=>Zo(e,t))))}}function Xo(e){switch(e.category){case 0:case 1:case 2:case 4:case 8:case 10:case 6:case 9:return;case 3:case 7:case 5:return e.condition}}function ea(e){return!!bo(e)&&!!e.details.recursiveTypeAliasName&&!e.details.boundType}function ta(e){var t;if(e&&bo(e)&&e.details.recursiveTypeAliasName&&e.details.boundType){const n=Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType;return(null===(t=e.typeAliasInfo)||void 0===t?void 0:t.typeArguments)&&e.details.recursiveTypeParameters?fa(n,Ea(e.details.recursiveTypeParameters,e.typeAliasInfo.typeArguments,na(e))):n}return e}function na(e){return yo(e)||Eo(e)?e.details.typeVarScopeId:bo(e)?e.scopeId:void 0}function ia(e){let t;if(_o(e)?t=e:vo(e)&&(t=Zs.cloneAsInstantiable(e)),!t)return;const n=t.details.mro.find((e=>_o(e)&&pa(e)));return n&&_o(n)?Zs.isSameGenericClass(t,n)?t:fa(n,wa(t)):void 0}function ra(e){return Ks.isInstance(e)&&void 0!==e.literalValue}function sa(e){return vo(e)?void 0!==e.literalValue:!!fo(e)&&!Mo(e,(e=>!vo(e)||void 0===e.literalValue))}function oa(e,t=!1,n=0){var i;if(n>Gs)return!1;if(n++,vo(e)&&ra(e))return!0;if(t&&yo(e)){const r=(null===(i=e.tupleTypeArguments)||void 0===i?void 0:i.map((e=>e.type)))||e.typeArguments;if(r)return r.some((e=>oa(e,t,n)))}if(fo(e))return e.subtypes.some((e=>oa(e,t,n)));if(ko(e))return e.overloads.some((e=>oa(e,t,n)));if(Eo(e)){const i=Xs.getSpecializedReturnType(e);if(i&&oa(i,t,n))return!0;for(let i=0;i{const i=aa(e);i?t||(t=i):n=!0})),n?void 0:t}}function la(e){return fo(e)?e.subtypes.length:1}function ca(e){return uo(e)&&e.isEllipsis}function ua(e){return vo(e)&&Zs.isPropertyClass(e)}function pa(e){return Zs.isBuiltIn(e,"tuple")}function da(e){return e.tupleTypeArguments&&e.tupleTypeArguments.some((e=>e.isUnbounded))}function ha(e,t,n){if(Zs.isUnspecialized(t))return e;const i=wa(t,void 0);return n&&ma(i,t,n),fa(e,i)}function ma(e,t,n){const i=Aa(t,!1);e.setTypeVarType(i,Fa(n))}function fa(e,t,n=!1,i=!1,r=!1){return!t.isEmpty()||n||r?new Qa(t,n,i,r).apply(e):e}function ga(e){const t=new Map;return Zs.isProtocolClass(e)&&ya(e,t),t}function ya(e,t,n=0){n>Gs||(e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ya(e,t,n+1)})),e.details.fields.forEach(((n,i)=>{n.isIgnoredForProtocolMatch()||t.set(i,{symbol:n,classType:e,isInstanceMember:n.isInstanceMember(),isClassVar:n.isClassVar(),isTypeDeclared:n.hasTypedDeclarations(),skippedUndeclaredType:!1})})))}function _a(e,t,n=0){if(vo(e))return va(e,t,n)}function va(e,t,n=0){var i;return null===(i=Ta(e,t,n).next())||void 0===i?void 0:i.value}function*Ta(e,t,n=0){const i=0!=(16&n);let r=!1;if(yo(e)){let s=0;1&n&&(s|=1),2&n&&(s|=2),4&n&&(s|=4),32&n&&(s|=8);const o=ba(e,s);for(const[e,s]of o){if(!_o(e)){if(!i){const e={symbol:qo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}continue}if(!_o(s))continue;const o=s.details.fields;if(0==(8&n)){const e=o.get(t);if(e&&e.isInstanceMember()){const t=e.hasTypedDeclarations();if(!i||t){const n={symbol:e,isInstanceMember:!0,isClassVar:e.isClassVar(),classType:s,isTypeDeclared:t,skippedUndeclaredType:r};yield n}else r=!0}}const a=o.get(t);if(a&&a.isClassMember()){const e=a.hasTypedDeclarations();if(!i||e){let t=!1;if(Zs.isDataClass(s)||Zs.isTypedDictClass(s)){const e=a.getDeclarations();e.length>0&&1===e[0].type&&(t=!0)}const n={symbol:a,isInstanceMember:t,isClassVar:a.isClassVar(),classType:s,isTypeDeclared:e,skippedUndeclaredType:r};yield n}else r=!0}}}else if(ho(e)){const e={symbol:qo.createWithType(0,Ys.create()),isInstanceMember:!1,isClassVar:!0,classType:Ys.create(),isTypeDeclared:!1,skippedUndeclaredType:!1};yield e}}function*ba(e,t=0){if(yo(e)){let n=0!=(1&t);for(const i of e.details.mro){if(n){n=!1;continue}const r=ha(i,e);if(4&t&&_o(r)&&Zs.isBuiltIn(r,"object"))break;if(8&t&&_o(r)&&Zs.isBuiltIn(r,"type"))break;if(yield[i,r],0!=(2&t))break}}}function Ia(e,t){for(const n of t)e.find((e=>Ao(Fa(e),Fa(n))))||e.push(n)}function Sa(e,t=0){var n,i;if(t>Gs)return[];if(t++,null===(n=e.typeAliasInfo)||void 0===n?void 0:n.typeArguments){const n=[];return null===(i=e.typeAliasInfo)||void 0===i||i.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n}if(bo(e))return e.details.recursiveTypeAliasName||wo(e)&&e.paramSpecAccess?[]:[Ks.isInstantiable(e)?oo.cloneAsInstance(e):e];if(yo(e))return(e=>{const n=[];return e.typeArguments&&e.typeArguments.forEach((e=>{Ia(n,Sa(e,t))})),n})(e);if(fo(e)){const n=[];return Jo(e,(e=>{Ia(n,Sa(e,t))})),n}if(Eo(e)){const n=[];for(let i=0;i{t.setTypeVarType(e,Ys.create())})),fa(e,t)}function Ca(e,t,n,i=0){if(!(i>Gs||(i++,n.isLocked())))switch(e.category){case 9:Jo(e,(e=>{Ca(e,t,n,i)}));break;case 7:e.typeArguments&&e.typeArguments.forEach((e=>{Ca(e,t,n,i)})),e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{Ca(e.type,t,n,i)}));break;case 5:e.specializedTypes?(e.specializedTypes.parameterTypes.forEach((e=>{Ca(e,t,n,i)})),e.specializedTypes.returnType&&Ca(e.specializedTypes.returnType,t,n,i)):(e.details.parameters.forEach((e=>{Ca(e.type,t,n,i)})),e.details.declaredReturnType&&Ca(e.details.declaredReturnType,t,n,i));break;case 6:e.overloads.forEach((e=>{Ca(e,t,n,i)}));break;case 10:n.hasTypeVar(e)||n.setTypeVarType(e,t)}}function wa(e,t=!0){const n=Zs.getTypeParameters(e);let i=e.typeArguments;i||t||(i=n);const r=Ea(n,i,na(e));return Zs.isTupleClass(e)&&e.tupleTypeArguments&&n.length>=1&&r.setVariadicTypeVar(n[0],e.tupleTypeArguments),r}function Ea(e,t,n){const i=new jo(n);return e.forEach(((e,n)=>{let r;if(t)if(wo(e)){if(n{t.push({category:e.category,name:e.name,hasDefault:!!e.hasDefault,isNameSynthesized:e.isNameSynthesized,type:Xs.getEffectiveParameterType(n,i)})})),i.setParamSpec(e,{parameters:t,typeVarScopeId:r.details.typeVarScopeId,flags:r.details.flags,docString:r.details.docString,paramSpec:r.details.paramSpec})}else wo(r)&&i.setParamSpec(e,{flags:0,parameters:[],typeVarScopeId:void 0,docString:void 0,paramSpec:r})}else r=n>=t.length?io.create():t[n],i.setTypeVarType(e,r,r,!0)})),i}function ka(e,t){if(0===Zs.getTypeParameters(t).length)return t;const n=fa(t,wa(e));return w(_o(n)),n}function Da(e,t,n){if(Zs.isSameGenericClass(e,t))return!0;for(const i of e.details.baseClasses)if(_o(i)){if(Da(i,t,n))return!0}else if(!n&&ho(i))return!0;return!1}function Aa(e,t){var n;const i=oo.createInstance("__type_of_self__"),r=null!==(n=na(e))&&void 0!==n?n:"";i.details.isSynthesized=!0,i.details.isSynthesizedSelf=!0,i.nameWithScope=oo.makeNameWithScope(i.details.name,r),i.scopeId=r;const s=Zs.cloneForSpecialization(e,Zs.getTypeParameters(e),!1,!0);return i.details.boundType=Zs.cloneAsInstance(s),t?oo.cloneAsInstantiable(i):i}function Pa(e){const t=Xs.getSpecializedReturnType(e);if(t){const e=za(t);if(e)return e.length>=3?e[2]:Ys.create()}}function Ra(e){return!!Ks.isInstantiable(e)||!(!vo(e)||!Zs.isBuiltIn(e,"type"))||!!fo(e)&&e.subtypes.every((e=>Ra(e)))}function Fa(e){let t=Ko(e,(e=>{switch(e.category){case 7:return Zs.isBuiltIn(e,"Type")?!e.typeArguments||e.typeArguments.length<1?Ys.create():Na(e.typeArguments[0]):Zs.cloneAsInstance(e);case 3:return to.createInstance();case 5:if(Ks.isInstantiable(e))return Xs.cloneAsInstance(e);break;case 10:if(Ks.isInstantiable(e))return oo.cloneAsInstance(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Na(e){let t=Ko(e,(e=>{switch(e.category){case 7:if(Ks.isInstance(e))return Zs.cloneAsInstantiable(e);break;case 3:return to.createType();case 5:if(Ks.isInstance(e))return Xs.cloneAsInstantiable(e);break;case 10:if(Ks.isInstance(e))return oo.cloneAsInstantiable(e)}return e}));return e.typeAliasInfo&&e!==t&&(t=Ks.cloneForTypeAlias(t,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,e.typeAliasInfo.typeArguments)),t}function Ma(e,t,n){for(let i=0;i{if((i.isClassMember()||n&&i.isInstanceMember())&&!(e&&Bo(i)||i.isInitVar())){const e=t.get(r);e?!e.hasTypedDeclarations()&&i.hasTypedDeclarations()&&t.set(r,i):t.set(r,i)}}))}}if(!n){const n=e.details.effectiveMetaclass;if(n&&_o(n))for(const e of n.details.mro){if(!_o(e))break;e.details.fields.forEach(((e,n)=>{const i=t.get(n);i?!i.hasTypedDeclarations()&&e.hasTypedDeclarations()&&t.set(n,e):t.set(n,e)}))}}}function Oa(e){let t=!1;return Jo(e,(e=>{po(e)&&(t=!0)})),t}function La(e,t=!1,n=0){var i,r;if(n>Gs)return!1;if(n++,po(e))return!0;if((null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments)&&e.typeAliasInfo.typeArguments.some((e=>La(e,t,n))))return!0;if(fo(e))return void 0!==Mo(e,(e=>La(e,t,n)));if(yo(e)){if(Ks.isInstance(e)&&(t=!1),!t&&!Zs.isPseudoGenericClass(e)){const i=(null===(r=e.tupleTypeArguments)||void 0===r?void 0:r.map((e=>e.type)))||e.typeArguments;if(i)for(const e of i)if(La(e,t,n))return!0}return!1}if(ko(e))return e.overloads.some((e=>La(e,!1,n)));if(Eo(e)){for(let t=0;tZs.cloneForSpecialization(e,[t],!0)))):e}function qa(e,t){if(!t||!_o(t)||da(t))return;let n,i=!0;return Jo(e,(e=>{if(vo(e)){let t;yo(e)&&pa(e)&&!da(e)&&(t=e),t||(t=e.details.mro.find((e=>yo(e)&&pa(e)&&!da(e)))),t&&yo(t)&&t.tupleTypeArguments?n?n.length===t.tupleTypeArguments.length?t.tupleTypeArguments.forEach(((e,t)=>{n[t].push(e.type)})):i=!1:n=t.tupleTypeArguments.map((e=>[e.type])):i=!1}else i=!1})),i&&n?Fa(Va(t,n.map((e=>({type:Oo(e),isUnbounded:!1}))))):void 0}function Va(e,t,n=!0,i=!0,r=!1){let s=Oo(t.map((e=>e.type)));i&&(s=Qo(s)),ao(s)&&(s=io.create());const o=Zs.cloneForSpecialization(e,[s],n,void 0,t);return r&&(o.isUnpacked=!0),o}function Ba(e){if(Eo(e))return Wa(e);const t=[];let n=!1;for(const i of e.overloads){const e=Wa(i);t.push(e),e!==i&&(n=!0)}return n?eo.create(t):e}function Wa(e){const t=e.details.parameters.length;if(t<2)return e;const n=e.details.parameters[t-2],i=e.details.parameters[t-1];return 1===n.category&&2===i.category&&wo(n.type)&&wo(i.type)&&Ao(n.type,i.type)?Xs.cloneRemoveParamSpecVariadics(e,n.type):e}function ja(e){return vo(e)&&pa(e)&&e.tupleTypeArguments&&e.isUnpacked?Oo(e.tupleTypeArguments.map((e=>e.type))):e}function za(e){var t;if(vo(e)){if(Zs.isBuiltIn(e,["Generator","AsyncGenerator"]))return e.typeArguments;if(Zs.isBuiltIn(e,"AwaitableGenerator"))return null===(t=e.typeArguments)||void 0===t?void 0:t.slice(1)}}function $a(e,t=!1,n=!1,i=0){var r;if(i>Gs)return!1;switch(i++,e.category){case 7:return(!Zs.isPseudoGenericClass(e)||!t)&&(e.typeArguments?void 0!==e.typeArguments.find((e=>$a(e,t,n,i))):Zs.getTypeParameters(e).length>0);case 5:{if(e.details.paramSpec)return!0;for(let r=0;r$a(e,t,n,i)));case 9:return void 0!==Mo(e,(e=>$a(e,t,n,i)));case 10:if(!e.details.recursiveTypeAliasName)return!e.details.isSynthesizedSelf||!n;if(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.typeArguments)return e.typeAliasInfo.typeArguments.some((e=>$a(e,t,n,i)))}return!1}function Ha(e){let t=!0;const n=e.details.baseClasses.filter(((t,n)=>{if(_o(t)&&Zs.isBuiltIn(t,"Generic")){if(Zs.isProtocolClass(e))return!1;if(e.details.baseClasses.some(((e,t)=>t>n&&_o(e)&&e.typeArguments&&e.isTypeArgumentExplicit)))return!1}return!0})),i=[];n.forEach(((e,t)=>{if(_o(e)){const t=wa(e,!1);i.push(e.details.mro.map((e=>fa(e,t))))}else i.push([e])})),i.push(n.map((t=>fa(t,wa(e,!1)))));const r=wa(e,!1);e.details.mro.push(fa(e,r));const s=(e,t)=>t.some((t=>t.findIndex((t=>_o(t)&&Zs.isSameGenericClass(t,e)))>0)),o=(e,t)=>{for(let n=0;n!_o(t)||!Zs.isSameGenericClass(t,e)))};for(;;){let n,r=!1;for(let t=0;t0){if(void 0===n&&(n=a),!_o(a[0])){r=!0,e.details.mro.push(a[0]),a.shift();break}if(!s(a[0],i)){r=!0,e.details.mro.push(a[0]),o(a[0],i);break}}}if(!n)break;r||(t=!1,_o(n[0])?(e.details.mro.push(n[0]),o(n[0],i)):(e.details.mro.push(n[0]),n.shift()))}return t}function Ga(e){const t=[];return Ka(e,t),t}function Ka(e,t,n=0){if(n>Gs)return;n++;const i=e=>{e&&!t.some((t=>t===e))&&t.push(e)};switch(e.category){case 7:case 5:i(e.details.moduleName);break;case 6:e.overloads.forEach((e=>{Ka(e,t,n)}));break;case 9:Jo(e,(e=>{Ka(e,t,n)}));break;case 8:i(e.moduleName)}}function Ja(e){let t=e.parameters.length>0;if(1===e.parameters.length){const n=e.parameters[0];0!==n.category||n.name||(t=!1)}if(t||!e.paramSpec){const t=Xs.createInstance("","","",65536);return e.parameters.forEach((e=>{Xs.addParameter(t,{category:e.category,name:e.name,hasDefault:e.hasDefault,isNameSynthesized:e.isNameSynthesized,hasDeclaredType:!0,type:e.type})})),t.details.paramSpec=e.paramSpec,t.details.docString=e.docString,t}return e.paramSpec}!function(e){e[e.PositionOnly=0]="PositionOnly",e[e.PositionOrKeyword=1]="PositionOrKeyword",e[e.KeywordOnly=2]="KeywordOnly"}(zo||(zo={}));class Ya{constructor(){this._isTransformingTypeArg=!1}apply(e,t=new Set,n=0){var i;if(n>Gs)return e;if(n++,!$a(e))return e;if(ho(e))return e;if(lo(e))return e;if(bo(e)){if(e.details.recursiveTypeAliasName){if(!(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.typeArguments))return e;let r=!1;const s=e.typeAliasInfo.typeArguments.map((e=>{const i=this.apply(e,t,n);return i!==e&&(r=!0),i}));return r?Ks.cloneForTypeAlias(e,e.typeAliasInfo.name,e.typeAliasInfo.fullName,e.typeAliasInfo.typeVarScopeId,e.typeAliasInfo.typeParameters,s):e}let r=e;const s=oo.getNameWithScope(e);return t.has(s)||(r=this.transformTypeVar(e),this._isTransformingTypeArg||(t.add(s),r=this.apply(r,t,n),t.delete(s)),Io(e)&&e.isVariadicInUnion&&(r=ja(r))),r}if(fo(e)){const i=Ko(e,(e=>{let i=this.apply(e,t,n);if(Io(e)&&!Io(i)){const e=[];Jo(i,(t=>{e.push(ja(t))})),i=Oo(e)}return i}));return this.transformUnion&&fo(i)?this.transformUnion(i):i}if(yo(e))return this._transformTypeVarsInClassType(e,t,n);if(Eo(e))return this._transformTypeVarsInFunctionType(e,t,n);if(ko(e)){let i=!1;const r=[];return e.overloads.forEach((e=>{const s=this._transformTypeVarsInFunctionType(e,t,n);r.push(s),s!==e&&(i=!0)})),i?eo.create(r):e}return e}transformTypeVar(e){return e}transformVariadicTypeVar(e){}transformParamSpec(e){}transformUnion(e){return e}_transformTypeVarsInClassType(e,t,n){if(0===Zs.getTypeParameters(e).length&&!Zs.isSpecialBuiltIn(e))return e;let i,r=[],s=!1;const o=Zs.getTypeParameters(e),a=e=>{const t=this.transformParamSpec(e);return t?(s=!0,Ja(t)):e},l=this._isTransformingTypeArg;return this._isTransformingTypeArg=!0,e.typeArguments?r=e.typeArguments.map((e=>{if(bo(e)&&e.details.isParamSpec)return a(e);let i=this.apply(e,t,n);return i!==e&&(s=!0,bo(e)&&Io(e)&&e.isVariadicInUnion&&(i=ja(i))),i})):o.forEach((e=>{let i=e;if(e.details.isParamSpec)i=a(e),i!==e&&(s=!0);else{const r=oo.getNameWithScope(e);t.has(r)||(i=this.transformTypeVar(e),i!==e&&(this._isTransformingTypeArg||(t.add(r),i=this.apply(i,t,n),t.delete(r)),s=!0))}r.push(i)})),Zs.isTupleClass(e)&&(e.tupleTypeArguments?(i=[],e.tupleTypeArguments.forEach((e=>{const r=this.apply(e.type,t,n);r!==e.type&&(s=!0),Io(e.type)&&vo(r)&&pa(r)&&r.tupleTypeArguments?i.push(...r.tupleTypeArguments):i.push({type:r,isUnbounded:e.isUnbounded})}))):o.length>0&&(i=this.transformVariadicTypeVar(o[0]),i&&(s=!0))),this._isTransformingTypeArg=l,s?Zs.cloneForSpecialization(e,r,!0,void 0,i):e}_transformTypeVarsInFunctionType(e,t,n){let i=e;if(i.details.paramSpec){const e=this.transformParamSpec(i.details.paramSpec);e&&(i=Xs.cloneForParamSpec(i,e))}const r=Xs.getSpecializedReturnType(i),s=r?this.apply(r,t,n):void 0;let o=r!==s;const a={parameterTypes:[],returnType:s};if(i.details.parameters.length>=2){const e=i.details.parameters[i.details.parameters.length-2],t=i.details.parameters[i.details.parameters.length-1],n=Xs.getEffectiveParameterType(i,i.details.parameters.length-2),r=Xs.getEffectiveParameterType(i,i.details.parameters.length-1);if(1===e.category&&2===t.category&&wo(n)&&wo(r)&&Ao(n,r)){const e=this.transformParamSpec(n);e&&(i=Xs.cloneForParamSpecApplication(i,e))}}let l,c,u;for(let e=0;e{if(t===l){let e=!1;c.forEach((t=>{Xs.addParameter(p,{category:t.isUnbounded?1:0,name:`__p${p.details.parameters.length}`,isNameSynthesized:!0,type:t.type,hasDeclaredType:!0}),t.isUnbounded&&(e=!0)})),e?h=!0:d=!0}else{const n={...i.details.parameters[t]};1!==n.category||n.name?2===n.category&&(d=!1):d=!1,0===n.category&&n.name&&d&&(Xs.addParameter(p,{category:1,type:Ys.create()}),d=!1),n.type=e,n.name&&n.isNameSynthesized&&(n.name=`__p${p.details.parameters.length}`),0===n.category&&!n.name&&h||Xs.addParameter(p,n)}})),p.details.declaredReturnType=a.returnType,p}}class Qa extends Ya{constructor(e,t=!1,n=!1,i=!1){super(),this._typeVarMap=e,this._unknownIfNotFound=t,this._useNarrowBoundOnly=n,this._eliminateUnsolvedInUnions=i}transformTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId)){let t=this._typeVarMap.getTypeVarType(e,this._useNarrowBoundOnly);if(!t&&this._useNarrowBoundOnly){const n=this._typeVarMap.getTypeVarType(e);n&&oa(n,!0)&&(t=n)}if(t)return Ks.isInstantiable(e)&&(t=Na(t)),t;if(this._unknownIfNotFound)return Ys.create()}return e}transformUnion(e){if(this._eliminateUnsolvedInUnions){const t=Ko(e,(e=>{if(!bo(e)||void 0===e.scopeId||!this._typeVarMap.hasSolveForScope(e.scopeId))return e}));return ao(t)?e:t}return e}transformVariadicTypeVar(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getVariadicTypeVar(e)}transformParamSpec(e){if(e.scopeId&&this._typeVarMap.hasSolveForScope(e.scopeId))return this._typeVarMap.getParamSpec(e)}}class Za extends Ya{constructor(e,t){super(),this._typeVarMap=e,this._liveTypeVarScopes=t,this.dummyScopeId="__expected_type_scope_id",this.dummyTypeVarPrefix="__expected_type_",this._typeVarMap.addSolveForScope(this.dummyScopeId)}_isTypeVarLive(e){return this._liveTypeVarScopes.some((t=>e.scopeId===t))}_createDummyTypeVar(e){if(e.details.isSynthesized&&e.details.name.startsWith(this.dummyTypeVarPrefix))return e;const t=Ks.isInstance(e);let n=oo.createInstance(`__expected_type_${Za.synthesizedTypeVarIndexForExpectedType}`);return n.details.isSynthesized=!0,n.scopeId=this.dummyScopeId,n.nameWithScope=oo.makeNameWithScope(n.details.name,this.dummyScopeId),t||(n=Na(n)),n.details.boundType=e.details.boundType,n.details.constraints=e.details.constraints,n.details.variance=e.details.variance,Za.synthesizedTypeVarIndexForExpectedType++,n}transformTypeVar(e){return this._isTypeVarLive(e)?e:this._createDummyTypeVar(e)}}Za.synthesizedTypeVarIndexForExpectedType=1;class Xa{constructor(e,t,n,i,r,s,o){this._importResolver=e,this._execEnv=t,this._evaluator=n,this._fileBinder=i,this._boundSourceGetter=r,this._mapCompiled=s,this._preferStubs=o}findModules(e){return this._getBoundSourceFilesFromStubFile(e).map((e=>{var t;return null===(t=e.getParseResults())||void 0===t?void 0:t.parseTree})).filter(a)}findDeclarations(e){return zn(e)?this._findClassOrTypeAliasDeclarations(e):jn(e)?this._findFunctionOrTypeAliasDeclarations(e):Hn(e)?this._findVariableDeclarations(e):$n(e)?this._findParameterDeclarations(e):5===e.type?this._findSpecialBuiltInClassDeclarations(e):[]}findClassDeclarations(e){return this._findClassOrTypeAliasDeclarations(e).filter((e=>zn(e))).map((e=>e))}findClassDeclarationsByType(e,t){const n=[];return this._addClassTypeDeclarations(e,t,n,new Set),n.filter((e=>zn(e))).map((e=>e))}findFunctionDeclarations(e){return this._findFunctionOrTypeAliasDeclarations(e).filter((e=>jn(e))).map((e=>e))}_findSpecialBuiltInClassDeclarations(e,t=new Set){if(38===e.node.valueExpression.nodeType){const n=e.node.valueExpression.value;return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}return[]}_findClassOrTypeAliasDeclarations(e,t=new Set){const n=this._getFullClassName(e.node);return this._getBoundSourceFilesFromStubFile(e.path).flatMap((e=>this._findClassDeclarationsByName(e,n,t)))}_findFunctionOrTypeAliasDeclarations(e,t=new Set){const n=e.node.name.value,i=this._getBoundSourceFilesFromStubFile(e.path);if(e.isMethod){const r=Er(e.node);if(void 0===r)return[];const s=this._getFullClassName(r);return i.flatMap((e=>this._findMethodDeclarationsByName(e,s,n,t)))}return i.flatMap((e=>this._findFunctionDeclarationsByName(e,n,t)))}_findVariableDeclarations(e,t=new Set){if(38!==e.node.nodeType)return[];const n=e.node.value,i=this._getBoundSourceFilesFromStubFile(e.path),r=Er(e.node);if(r){const e=this._getFullClassName(r);return i.flatMap((i=>this._findFieldDeclarationsByName(i,e,n,t)))}return i.flatMap((e=>this._findVariableDeclarationsByName(e,n,t)))}_findParameterDeclarations(e){const t=[];if(!e.node.name)return t;const n=kr(e.node);if(!n)return t;const i=this._evaluator.getDeclarationsForNameNode(n.name);if(!i)return t;const r=new Set;for(const n of i)for(const i of this._findFunctionOrTypeAliasDeclarations(n,r))t.push(...this._lookUpSymbolDeclarations(i.node,e.node.name.value).filter((e=>$n(e))).map((e=>e)));return t}_findMemberDeclarationsByName(e,t,n,i,r){const s=[],o=this._findClassDeclarationsByName(e,t,r);for(const e of o.filter((e=>zn(e))).map((e=>e))){const t=this._evaluator.getTypeOfClass(e.node);if(!t)continue;const o=va(t.classType,n);if(o)for(const e of o.symbol.getDeclarations())i(e,r,s)}return s}_findFieldDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/v/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{if(Hn(e))if(this._isStubThatShouldBeMappedToImplementation(e.path))for(const i of this._findVariableDeclarations(e,t))Hn(i)&&n.push(i);else n.push(e)}),i),i.delete(s)),r}_findMethodDeclarationsByName(e,t,n,i){let r=[];const s=`@${e.getFilePath()}/c/${t}/f/${n}`;return i.has(s)||(i.add(s),r=this._findMemberDeclarationsByName(e,t,n,((e,t,n)=>{jn(e)&&(this._isStubThatShouldBeMappedToImplementation(e.path)?n.push(...this._findFunctionOrTypeAliasDeclarations(e,t)):n.push(e))}),i),i.delete(s)),r}_findVariableDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/v/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addVariableDeclarations(e,r,n);return n.delete(s),r}_findFunctionDeclarationsByName(e,t,n){var i;const r=[],s=`@${e.getFilePath()}/f/${t}`;if(n.has(s))return r;n.add(s);const o=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(!o)return r;const a=this._lookUpSymbolDeclarations(o,t);if(0===a.length)this._addDeclarationsFollowingWildcardImports(o,t,r,n);else for(const e of a)this._addClassOrFunctionDeclarations(e,r,n);return n.delete(s),r}_findClassDeclarationsByName(e,t,n){var i;let r=[];const s=null===(i=e.getParseResults())||void 0===i?void 0:i.parseTree;if(s){let i=t.split(".");i.length>0&&(r=this._findClassDeclarations(e,i[0],s,n),i=i.slice(1));for(const t of i)r=r.flatMap((i=>this._findClassDeclarations(e,t,i.node,n)))}return r}_findClassDeclarations(e,t,n,i){const r=[],s=`@${e.getFilePath()}[${n.start}]${t}`;if(i.has(s))return r;i.add(s);const o=this._lookUpSymbolDeclarations(n,t);if(0===o.length&&36===n.nodeType)this._addDeclarationsFollowingWildcardImports(n,t,r,i);else for(const e of o)this._addClassOrFunctionDeclarations(e,r,i);return i.delete(s),r}_addVariableDeclarations(e,t,n){if(Hn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findVariableDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&(Hn(i)?this._addVariableDeclarations(i,t,n):(zn(i)||jn(i))&&this._addClassOrFunctionDeclarations(i,t,n))}}_addClassOrFunctionDeclarations(e,t,n){var i;if(zn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findClassOrTypeAliasDeclarations(e,n)):t.push(e);else if(jn(e))this._isStubThatShouldBeMappedToImplementation(e.path)?t.push(...this._findFunctionOrTypeAliasDeclarations(e,n)):t.push(e);else if(Gn(e)){const i=this._evaluator.resolveAliasDeclaration(e,!0);i&&!Gn(i)&&this._addClassOrFunctionDeclarations(i,t,n)}else if(Hn(e)){this._addVariableDeclarations(e,t,n);const r=null!==(i=e.typeAliasName)&&void 0!==i?i:e.node,s=this._evaluator.getType(r);if(!s)return;if(Eo(s)&&s.details.declaration)this._addClassOrFunctionDeclarations(s.details.declaration,t,n);else if(ko(s))for(const e of s.overloads.map((e=>e.details.declaration)).filter(a))this._addClassOrFunctionDeclarations(e,t,n);else _o(s)&&this._addClassTypeDeclarations(e.path,s,t,n)}}_addClassTypeDeclarations(e,t,n,i){const r=t.details.filePath,s=this._getSourceFiles(r),o=t.details.fullName.substring(t.details.moduleName.length+1);for(const e of s)n.push(...this._findClassDeclarationsByName(e,o,i))}_getSourceFiles(e){const t=[];if(this._isStubThatShouldBeMappedToImplementation(e))t.push(...this._getBoundSourceFilesFromStubFile(e));else{const n=this._boundSourceGetter(e);n&&t.push(n)}return t}_addDeclarationsFollowingWildcardImports(e,t,n,i){var r,s;const o=null===(r=Ft(e))||void 0===r?void 0:r.symbolTable;if(o)for(const e of o.values())for(const r of e.getDeclarations()){if(!Gn(r)||!r.path||22!==r.node.nodeType||!r.node.isWildcardImport)continue;const e=`@${r.path}/l/${t}`;if(i.has(e))continue;i.add(e);const o=this._getSourceFiles(r.path);for(const e of o){const r=null===(s=e.getParseResults())||void 0===s?void 0:s.parseTree;if(!r)continue;const o=this._lookUpSymbolDeclarations(r,t);if(0===o.length)this._addDeclarationsFollowingWildcardImports(r,t,n,i);else for(const e of o){const t=this._evaluator.resolveAliasDeclaration(e,!0);t&&(jn(t)||zn(t)?this._addClassOrFunctionDeclarations(t,n,i):Hn(t)&&this._addVariableDeclarations(t,n,i))}}}}_lookUpSymbolDeclarations(e,t){if(void 0===e)return[];const n=Ft(e),i=null==n?void 0:n.lookUpSymbol(t),r=null==i?void 0:i.getDeclarations();return null!=r?r:[]}_getFullClassName(e){const t=[];let n=e;for(;void 0!==n;)t.push(n.name.value),n=Er(n);return t.reverse().join(".")}_getBoundSourceFilesFromStubFile(e){return this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).map((t=>this._fileBinder(e,t))).filter(a)}_isStubThatShouldBeMappedToImplementation(e){return!this._preferStubs&&(!!el(e)&&this._importResolver.getSourceFilesFromStub(e,this._execEnv,this._mapCompiled).every((t=>t!==e)))}}function el(e){return".pyi"===re(e,[".pyi"],!1)}function tl(e){switch(e){case"error":return 0;case"warning":return 1;case"information":return 2;default:throw new Error(`${e} is not expected`)}}class nl{constructor(e,t,n){this.category=e,this.message=t,this.range=n,this._relatedInfo=[]}addAction(e){void 0===this._actions?this._actions=[e]:this._actions.push(e)}getActions(){return this._actions}setRule(e){this._rule=e}getRule(){return this._rule}addRelatedInfo(e,t,n){this._relatedInfo.push({filePath:t,message:e,range:n})}getRelatedInfo(){return this._relatedInfo}}class il{constructor(){this._messages=[],this._childAddenda=[]}addMessage(e){this._messages.push(e)}createAddendum(){const e=new il;return this.addAddendum(e),e}getString(e=5,t=8){let n=this._getLinesRecursive(e,t);n.length>t&&(n=n.slice(0,t),n.push(" ..."));const i=n.join("\n");return i.length>0?"\n"+i:""}isEmpty(){return 0===this._getMessageCount()}addAddendum(e){this._childAddenda.push(e)}getChildren(){return this._childAddenda}getMessages(){return this._messages}_getMessageCount(e=0){if(e>64)return 0;let t=this._messages.length;for(const n of this._childAddenda)t+=n._getMessageCount(e+1);return t}_getLinesRecursive(e,t,n=0){if(e<=0||n>64)return[];let i=[];for(const r of this._childAddenda){const s=this._messages.length>0?e-1:e;if(i.push(...r._getLinesRecursive(s,t,n+1)),i.length>=t){i=i.slice(0,t);break}}const r=this._messages.length>0?"  ":"";return this._messages.concat(i).map((e=>r+e))}}!function(e){e.strictListInference="strictListInference",e.strictSetInference="strictSetInference",e.strictDictionaryInference="strictDictionaryInference",e.strictParameterNoneValue="strictParameterNoneValue",e.enableTypeIgnoreComments="enableTypeIgnoreComments",e.reportGeneralTypeIssues="reportGeneralTypeIssues",e.reportPropertyTypeMismatch="reportPropertyTypeMismatch",e.reportFunctionMemberAccess="reportFunctionMemberAccess",e.reportMissingImports="reportMissingImports",e.reportMissingModuleSource="reportMissingModuleSource",e.reportMissingTypeStubs="reportMissingTypeStubs",e.reportImportCycles="reportImportCycles",e.reportUnusedImport="reportUnusedImport",e.reportUnusedClass="reportUnusedClass",e.reportUnusedFunction="reportUnusedFunction",e.reportUnusedVariable="reportUnusedVariable",e.reportDuplicateImport="reportDuplicateImport",e.reportWildcardImportFromLibrary="reportWildcardImportFromLibrary",e.reportOptionalSubscript="reportOptionalSubscript",e.reportOptionalMemberAccess="reportOptionalMemberAccess",e.reportOptionalCall="reportOptionalCall",e.reportOptionalIterable="reportOptionalIterable",e.reportOptionalContextManager="reportOptionalContextManager",e.reportOptionalOperand="reportOptionalOperand",e.reportTypedDictNotRequiredAccess="reportTypedDictNotRequiredAccess",e.reportUntypedFunctionDecorator="reportUntypedFunctionDecorator",e.reportUntypedClassDecorator="reportUntypedClassDecorator",e.reportUntypedBaseClass="reportUntypedBaseClass",e.reportUntypedNamedTuple="reportUntypedNamedTuple",e.reportPrivateUsage="reportPrivateUsage",e.reportPrivateImportUsage="reportPrivateImportUsage",e.reportConstantRedefinition="reportConstantRedefinition",e.reportIncompatibleMethodOverride="reportIncompatibleMethodOverride",e.reportIncompatibleVariableOverride="reportIncompatibleVariableOverride",e.reportInconsistentConstructor="reportInconsistentConstructor",e.reportOverlappingOverload="reportOverlappingOverload",e.reportMissingSuperCall="reportMissingSuperCall",e.reportUninitializedInstanceVariable="reportUninitializedInstanceVariable",e.reportInvalidStringEscapeSequence="reportInvalidStringEscapeSequence",e.reportUnknownParameterType="reportUnknownParameterType",e.reportUnknownArgumentType="reportUnknownArgumentType",e.reportUnknownLambdaType="reportUnknownLambdaType",e.reportUnknownVariableType="reportUnknownVariableType",e.reportUnknownMemberType="reportUnknownMemberType",e.reportMissingParameterType="reportMissingParameterType",e.reportMissingTypeArgument="reportMissingTypeArgument",e.reportInvalidTypeVarUse="reportInvalidTypeVarUse",e.reportCallInDefaultInitializer="reportCallInDefaultInitializer",e.reportUnnecessaryIsInstance="reportUnnecessaryIsInstance",e.reportUnnecessaryCast="reportUnnecessaryCast",e.reportUnnecessaryComparison="reportUnnecessaryComparison",e.reportAssertAlwaysTrue="reportAssertAlwaysTrue",e.reportSelfClsParameterName="reportSelfClsParameterName",e.reportImplicitStringConcatenation="reportImplicitStringConcatenation",e.reportUndefinedVariable="reportUndefinedVariable",e.reportUnboundVariable="reportUnboundVariable",e.reportInvalidStubStatement="reportInvalidStubStatement",e.reportIncompleteStub="reportIncompleteStub",e.reportUnsupportedDunderAll="reportUnsupportedDunderAll",e.reportUnusedCallResult="reportUnusedCallResult",e.reportUnusedCoroutine="reportUnusedCoroutine",e.reportUnnecessaryTypeIgnoreComment="reportUnnecessaryTypeIgnoreComment",e.reportMatchNotExhaustive="reportMatchNotExhaustive"}($o||($o={}));class rl{constructor(e){this._formatString=e}format(e){let t=this._formatString;return Object.keys(e).forEach((n=>{t=t.replace(`{${n}}`,e[n].toString())})),t}getFormatString(){return this._formatString}}let sl="default";function ol(){return"simplified"===sl}function al(e){return ol()?"":e.getString()}let ll;const cl=__webpack_require__(6395);function ul(e){void 0===ll&&(ll={});const t=e.split("."),n=pl(ll,t)||pl(cl,t);if(n)return n;E(`Missing localized string for key "${e}"`)}function pl(e,t){let n=e;for(const e of t){if(!n[e])return;n=n[e]}return n}async function dl({locale:e,style:t}={}){t&&(sl=t);const n=e?e.toLowerCase():function(){try{if(null===navigator||void 0===navigator?void 0:navigator.language)return navigator.language.toLowerCase()}catch{}const e=process.env,t=e.VSCODE_NLS_CONFIG;if(t)try{return JSON.parse(t).locale}catch{}const n=e.LC_ALL||e.LC_MESSAGES||e.LANG||e.LANGUAGE;if(n){const e=n.split(".");if(e.length>0&&e[0])return e[0]}return"en-us"}();ll=await async function(e){let t=await hl(e);if(void 0!==t)return t;const n=e.split("-");return n.length>0&&n[0]&&(t=await hl(n[0]),void 0!==t)?t:{}}(n)}async function hl(e){switch(e){case"fr":return(await __webpack_require__.e(846).then(__webpack_require__.t.bind(__webpack_require__,4846,19))).default;case"es-es":return(await __webpack_require__.e(162).then(__webpack_require__.t.bind(__webpack_require__,4162,19))).default;case"ja":return(await __webpack_require__.e(244).then(__webpack_require__.t.bind(__webpack_require__,244,19))).default;case"ko":return(await __webpack_require__.e(372).then(__webpack_require__.t.bind(__webpack_require__,1372,19))).default;case"nl":return(await __webpack_require__.e(101).then(__webpack_require__.t.bind(__webpack_require__,5101,19))).default;case"zh-cn":return(await __webpack_require__.e(131).then(__webpack_require__.t.bind(__webpack_require__,8131,19))).default;case"zh-tw":return(await __webpack_require__.e(753).then(__webpack_require__.t.bind(__webpack_require__,9753,19))).default;default:return(await __webpack_require__.e(416).then(__webpack_require__.t.bind(__webpack_require__,8416,19))).default}}var ml;function fl(e,t,n){w(Zs.isTypedDictClass(n));const i=Xs.createInstance("__new__","","",65);Xs.addParameter(i,{category:0,name:"cls",type:n,hasDeclaredType:!0}),Xs.addDefaultParameters(i),i.details.declaredReturnType=Zs.cloneAsInstance(n);const r=Xs.createInstance("__init__","","",64);Xs.addParameter(r,{category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0}),r.details.declaredReturnType=to.createInstance(),Xs.addParameter(r,{category:1,type:io.create(),hasDeclaredType:!0});const s=gl(e,n);s.forEach(((e,t)=>{Xs.addParameter(r,{category:0,name:t,hasDefault:!e.isRequired,type:e.valueType,hasDeclaredType:!0})}));const o=n.details.fields;o.set("__init__",qo.createWithType(4,r)),o.set("__new__",qo.createWithType(4,i));const a=e.getBuiltInType(t,"str");if(_o(a)){const i={category:0,name:"self",type:Zs.cloneAsInstance(n),hasDeclaredType:!0},r=e=>{let t=oo.createInstance(`__${e.details.name}_default`);return t.details.isSynthesized=!0,t=oo.cloneForScopeId(t,e.details.typeVarScopeId,n.details.name,1),t},l=(n,s,o,a=!1)=>{const l=Xs.createInstance("get","","",320);if(Xs.addParameter(l,i),l.details.typeVarScopeId=e.getScopeIdForNode(t),Xs.addParameter(l,{category:0,name:"k",type:n,hasDeclaredType:!0}),o){const e=r(l);Xs.addParameter(l,{category:0,name:"default",type:a?s:e,hasDeclaredType:!0}),l.details.declaredReturnType=a?s:Oo([s,e])}else l.details.declaredReturnType=Oo([s,to.createInstance()]);return l},c=(n,s)=>{const o={category:0,name:"k",type:n,hasDeclaredType:!0},a=Xs.createInstance("pop","","",320);Xs.addParameter(a,i),Xs.addParameter(a,o),a.details.declaredReturnType=s;const l=Xs.createInstance("pop","","",320);Xs.addParameter(l,i),Xs.addParameter(l,o),l.details.typeVarScopeId=e.getScopeIdForNode(t);const c=r(l);return Xs.addParameter(l,{category:0,name:"default",hasDeclaredType:!0,type:c,hasDefault:!0}),l.details.declaredReturnType=Oo([s,c]),[a,l]},u=(e,t)=>{const n=Xs.createInstance("setdefault","","",320);return Xs.addParameter(n,i),Xs.addParameter(n,{category:0,name:"k",hasDeclaredType:!0,type:e}),Xs.addParameter(n,{category:0,name:"default",hasDeclaredType:!0,type:t}),n.details.declaredReturnType=t,n},p=e=>{const t=Xs.createInstance("delitem","","",320);return Xs.addParameter(t,i),Xs.addParameter(t,{category:0,name:"k",hasDeclaredType:!0,type:e}),t.details.declaredReturnType=to.createInstance(),t},d=[],h=[],m=[];s.forEach(((e,t)=>{const n=Zs.cloneAsInstance(Zs.cloneWithLiteral(a,t));d.push(l(n,e.valueType,!1)),d.push(l(n,e.valueType,!0,!0)),d.push(l(n,e.valueType,!0,!1)),h.push(...c(n,e.valueType)),m.push(u(n,e.valueType))}));const f=Zs.cloneAsInstance(a);d.push(l(f,io.create(),!1)),d.push(l(f,io.create(),!0)),o.set("get",qo.createWithType(4,eo.create(d))),h.length>0&&o.set("pop",qo.createWithType(4,eo.create(h))),m.length>0&&o.set("setdefault",qo.createWithType(4,eo.create(m))),o.set("__delitem__",qo.createWithType(4,p(f)))}}function gl(e,t,n=!1){if(!t.details.typedDictEntries){const n=new Map;yl(e,t,n),t.details.typedDictEntries=n}const i=new Map;return t.details.typedDictEntries.forEach(((e,t)=>{i.set(t,{...e})})),n&&t.typedDictNarrowedEntries&&t.typedDictNarrowedEntries.forEach(((e,t)=>{i.set(t,{...e})})),i}function yl(e,t,n,i=0){w(Zs.isTypedDictClass(t)),i>Gs||(i++,t.details.baseClasses.forEach((t=>{_o(t)&&Zs.isTypedDictClass(t)&&yl(e,t,n,i)})),t.details.fields.forEach(((i,r)=>{if(!i.isIgnoredForProtocolMatch()){const s=Vo(i);if(s&&1===s.type){const o=e.getEffectiveTypeOfSymbol(i);let a=!Zs.isCanOmitDictValues(t);!function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isRequired))}(i)?function(e){return e.getDeclarations().some((e=>1===e.type&&!!e.isNotRequired))}(i)&&(a=!1):a=!0;const l=n.get(r);if(l&&!Ao(l.valueType,o)){const t=new il;t.addMessage(ml.DiagnosticAddendum.typedDictFieldRedefinition().format({parentType:e.printType(l.valueType),childType:e.printType(o)})),e.addDiagnostic(Vt(s.node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typedDictFieldRedefinition().format({name:r})+t.getString(),s.node)}n.set(r,{valueType:o,isRequired:a,isProvided:!1})}}})))}function _l(e,t,n,i,r=0){let s=!0;const o=gl(e,t),a=gl(e,n,!0);return o.forEach(((o,l)=>{const c=a.get(l);c?(o.isRequired&&!c.isRequired?(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:l,type:e.printType(t)})),s=!1):!o.isRequired&&c.isRequired&&(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldNotRequired().format({name:l,type:e.printType(t)})),s=!1),e.canAssignType(o.valueType,c.valueType,void 0,void 0,void 0,r)||(i&&i.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:l})),s=!1)):(i&&i.addMessage(ml.DiagnosticAddendum.typedDictFieldMissing().format({name:l,type:e.printType(n)})),s=!1)})),s}function vl(e,t,n,i){if(1!==t.items.length)return e.addError(ml.Diagnostic.typeArgsMismatchOne().format({received:t.items.length}),t),{node:t,type:Ys.create()};if(t.trailingComma||t.items[0].name||0!==t.items[0].argumentCategory)return;const r=gl(e,n,"get"===i.method),s=e.getTypeOfExpression(t.items[0].valueExpression),o=s.type;let a=new il,l=!0;const c=Ko(o,(s=>{if(ho(s))return s;if(vo(s)&&Zs.isBuiltIn(s,"str")){if(void 0===s.literalValue)return Ys.create();const o=s.literalValue,c=r.get(o);return c?(c.isRequired||c.isProvided||"get"!==i.method||function(e,t=!1){let n,i=e;for(;i;){switch(i.nodeType){case 53:return i.trySuite===n;case 58:if(t&&i.suite===n)return!0;break;case 28:case 36:case 10:return!1}n=i,i=i.parent}return!1}(t,!0)||a.addMessage(ml.DiagnosticAddendum.keyNotRequired().format({name:o,type:e.printType(n)})),"set"===i.method?e.canAssignType(c.valueType,i.setType||io.create(),a)||(l=!1):"del"===i.method&&c.isRequired&&(a.addMessage(ml.DiagnosticAddendum.keyRequiredDeleted().format({name:o})),l=!1),c.valueType):(a.addMessage(ml.DiagnosticAddendum.keyUndefined().format({name:o,type:e.printType(n)})),l=!1,Ys.create())}return a.addMessage(ml.DiagnosticAddendum.typeNotStringLiteral().format({type:e.printType(s)})),l=!1,Ys.create()}));if(i.setExpectedTypeDiag&&(a=i.setExpectedTypeDiag),!a.isEmpty()){let n;n="set"===i.method?ml.Diagnostic.typedDictSet():"del"===i.method?ml.Diagnostic.typedDictDelete():ml.Diagnostic.typedDictAccess();const r=Vt(t);e.addDiagnostic(l?r.diagnosticRuleSet.reportTypedDictNotRequiredAccess:r.diagnosticRuleSet.reportGeneralTypeIssues,l?$o.reportTypedDictNotRequiredAccess:$o.reportGeneralTypeIssues,n+a.getString(),t)}return{node:t,type:c,isIncomplete:!!s.isIncomplete}}function Tl(e,t){if(6===e.category){if(0===e.overloads.length)return!1;e=e.overloads[0]}return"builtins"===e.details.moduleName&&!!t&&!!e.boundToType&&!Zs.isSameGenericClass(t,e.boundToType)}function bl(e,t,n){const i=Er(e.node.name,!1),r=i?n.getTypeOfClass(i):void 0;if(r)return function(e,t,n,i){if(!e||!jn(e))return;const r=n.getTypeForDeclaration(e);if(!r||!ua(r))return;const s=28===e.node.nodeType?e.node.name.value:void 0;if(!s)return;const o=ba(i,0);for(const[e]of o){if(!_o(e))continue;const i=e.details.fields.get(s),r=null==i?void 0:i.getDeclarations();if(r)for(const e of r)if(jn(e)){const i=n.getTypeForDeclaration(e);if(i&&ua(i)){const n=El(e,t);if(n)return n}}}}(e,t,n,r.classType)}function Il(e,t,n){let i=e.docString;return!i&&t&&el(t.path)&&(i=function(e){for(const t of e)if(t.statements){const e=qr(t.statements);if(e)return e}}(n.findModules(t.path))),i}function Sl(e,t,n){let i=e.details.docString;if(!i&&t&&zn(t)&&(i=kl([t]),!i&&t&&el(t.path)&&4===t.type)&&(i=kl(n.findClassDeclarations(t))),!i&&t){const r=n.findClassDeclarationsByType(t.path,e);r&&(i=kl(r.filter((e=>zn(e))).map((e=>e))))}return i}function xl(e){var t,n,i;return qr(null!==(i=null===(n=null===(t=e.node)||void 0===t?void 0:t.suite)||void 0===n?void 0:n.statements)&&void 0!==i?i:[])}function Cl(e,t){if(e)return void 0!==e.docString?e.docString:function(e,t){const n=[];if(!el(e.path))return n;for(const i of t.findDeclarations(e))if(Hn(i)&&i.docString)n.push(i.docString);else if(zn(i)||jn(i)){const e=xl(i);e&&n.push(e)}return n}(e,t).find((e=>e))}function wl(e,t,n){if(!ko(e))return;const i=[];if(e.overloads.some((e=>e.details.docString)))e.overloads.forEach((e=>{e.details.docString&&i.push(e.details.docString)}));else if(t&&el(t.path)&&jn(t)){const e=kl(n.findFunctionDeclarations(t));e&&i.push(e)}return i}function El(e,t){let n=kl([e]);return!n&&el(e.path)&&(n=kl(t.findFunctionDeclarations(e))),n}function kl(e){for(const t of e){const e=xl(t);if(e)return e}}!function(e){let t,n,i,r;!function(e){e.annotatedParamCountMismatch=()=>new rl(ul("Diagnostic.annotatedParamCountMismatch")),e.annotatedTypeArgMissing=()=>ul("Diagnostic.annotatedTypeArgMissing"),e.annotationFormatString=()=>ul("Diagnostic.annotationFormatString"),e.annotationNotSupported=()=>ul("Diagnostic.annotationNotSupported"),e.annotationSpansStrings=()=>ul("Diagnostic.annotationSpansStrings"),e.annotationStringEscape=()=>ul("Diagnostic.annotationStringEscape"),e.argAssignment=()=>new rl(ul("Diagnostic.argAssignment")),e.argAssignmentFunction=()=>new rl(ul("Diagnostic.argAssignmentFunction")),e.argAssignmentParam=()=>new rl(ul("Diagnostic.argAssignmentParam")),e.argAssignmentParamFunction=()=>new rl(ul("Diagnostic.argAssignmentParamFunction")),e.argMissingForParam=()=>new rl(ul("Diagnostic.argMissingForParam")),e.argMissingForParams=()=>new rl(ul("Diagnostic.argMissingForParams")),e.argMorePositionalExpectedCount=()=>new rl(ul("Diagnostic.argMorePositionalExpectedCount")),e.argMorePositionalExpectedOne=()=>ul("Diagnostic.argMorePositionalExpectedOne"),e.argPositional=()=>ul("Diagnostic.argPositional"),e.argPositionalExpectedCount=()=>new rl(ul("Diagnostic.argPositionalExpectedCount")),e.argPositionalExpectedOne=()=>ul("Diagnostic.argPositionalExpectedOne"),e.argTypePartiallyUnknown=()=>ul("Diagnostic.argTypePartiallyUnknown"),e.argTypeUnknown=()=>ul("Diagnostic.argTypeUnknown"),e.assertAlwaysTrue=()=>ul("Diagnostic.assertAlwaysTrue"),e.assignmentExprContext=()=>ul("Diagnostic.assignmentExprContext"),e.assignmentExprComprehension=()=>new rl(ul("Diagnostic.assignmentExprComprehension")),e.assignmentExprInSubscript=()=>ul("Diagnostic.assignmentExprInSubscript"),e.assignmentInProtocol=()=>ul("Diagnostic.assignmentInProtocol"),e.assignmentTargetExpr=()=>ul("Diagnostic.assignmentTargetExpr"),e.asyncNotInAsyncFunction=()=>ul("Diagnostic.asyncNotInAsyncFunction"),e.awaitIllegal=()=>ul("Diagnostic.awaitIllegal"),e.awaitNotInAsync=()=>ul("Diagnostic.awaitNotInAsync"),e.backticksIllegal=()=>ul("Diagnostic.backticksIllegal"),e.baseClassCircular=()=>ul("Diagnostic.baseClassCircular"),e.baseClassInvalid=()=>ul("Diagnostic.baseClassInvalid"),e.baseClassFinal=()=>new rl(ul("Diagnostic.baseClassFinal")),e.baseClassMethodTypeIncompatible=()=>new rl(ul("Diagnostic.baseClassMethodTypeIncompatible")),e.baseClassUnknown=()=>ul("Diagnostic.baseClassUnknown"),e.bindTypeMismatch=()=>new rl(ul("Diagnostic.bindTypeMismatch")),e.booleanIsLowerCase=()=>new rl(ul("Diagnostic.booleanIsLowerCase")),e.breakOutsideLoop=()=>ul("Diagnostic.breakOutsideLoop"),e.callableExtraArgs=()=>ul("Diagnostic.callableExtraArgs"),e.callableFirstArg=()=>ul("Diagnostic.callableFirstArg"),e.callableSecondArg=()=>ul("Diagnostic.callableSecondArg"),e.casePatternIsIrrefutable=()=>ul("Diagnostic.casePatternIsIrrefutable"),e.classAlreadySpecialized=()=>new rl(ul("Diagnostic.classAlreadySpecialized")),e.classDecoratorTypeUnknown=()=>ul("Diagnostic.classDecoratorTypeUnknown"),e.classDefinitionCycle=()=>new rl(ul("Diagnostic.classDefinitionCycle")),e.classGetItemClsParam=()=>ul("Diagnostic.classGetItemClsParam"),e.classMethodClsParam=()=>ul("Diagnostic.classMethodClsParam"),e.classNotRuntimeSubscriptable=()=>new rl(ul("Diagnostic.classNotRuntimeSubscriptable")),e.classPatternBuiltInArgCount=()=>ul("Diagnostic.classPatternBuiltInArgCount"),e.classPatternBuiltInArgPositional=()=>ul("Diagnostic.classPatternBuiltInArgPositional"),e.classPatternTypeAlias=()=>new rl(ul("Diagnostic.classPatternTypeAlias")),e.classVarNotAllowed=()=>ul("Diagnostic.classVarNotAllowed"),e.classVarFirstArgMissing=()=>ul("Diagnostic.classVarFirstArgMissing"),e.classVarOverridesInstanceVar=()=>new rl(ul("Diagnostic.classVarOverridesInstanceVar")),e.classVarTooManyArgs=()=>ul("Diagnostic.classVarTooManyArgs"),e.classVarWithTypeVar=()=>ul("Diagnostic.classVarWithTypeVar"),e.clsSelfParamTypeMismatch=()=>new rl(ul("Diagnostic.clsSelfParamTypeMismatch")),e.comparisonAlwaysFalse=()=>new rl(ul("Diagnostic.comparisonAlwaysFalse")),e.comparisonAlwaysTrue=()=>new rl(ul("Diagnostic.comparisonAlwaysTrue")),e.comprehensionInDict=()=>ul("Diagnostic.comprehensionInDict"),e.comprehensionInSet=()=>ul("Diagnostic.comprehensionInSet"),e.concatenateParamSpecMissing=()=>ul("Diagnostic.concatenateParamSpecMissing"),e.concatenateTypeArgsMissing=()=>ul("Diagnostic.concatenateTypeArgsMissing"),e.constantRedefinition=()=>new rl(ul("Diagnostic.constantRedefinition")),e.constructorNoArgs=()=>new rl(ul("Diagnostic.constructorNoArgs")),e.constructorParametersMismatch=()=>new rl(ul("Diagnostic.constructorParametersMismatch")),e.continueInFinally=()=>ul("Diagnostic.continueInFinally"),e.continueOutsideLoop=()=>ul("Diagnostic.continueOutsideLoop"),e.dataClassBaseClassNotFrozen=()=>ul("Diagnostic.dataClassBaseClassNotFrozen"),e.dataClassFieldWithDefault=()=>ul("Diagnostic.dataClassFieldWithDefault"),e.dataClassPostInitParamCount=()=>new rl(ul("Diagnostic.dataClassPostInitParamCount")),e.dataClassPostInitType=()=>new rl(ul("Diagnostic.dataClassPostInitType")),e.dataClassSlotsOverwrite=()=>ul("Diagnostic.dataClassSlotsOverwrite"),e.dataClassTransformExpectedBoolLiteral=()=>ul("Diagnostic.dataClassTransformExpectedBoolLiteral"),e.dataClassTransformFieldDescriptor=()=>new rl(ul("Diagnostic.dataClassTransformFieldDescriptor")),e.dataClassTransformPositionalParam=()=>ul("Diagnostic.dataClassTransformPositionalParam"),e.dataClassTransformUnknownArgument=()=>new rl(ul("Diagnostic.dataClassTransformUnknownArgument")),e.declaredReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.declaredReturnTypePartiallyUnknown")),e.declaredReturnTypeUnknown=()=>ul("Diagnostic.declaredReturnTypeUnknown"),e.defaultValueContainsCall=()=>ul("Diagnostic.defaultValueContainsCall"),e.defaultValueNotAllowed=()=>ul("Diagnostic.defaultValueNotAllowed"),e.defaultValueNotEllipsis=()=>ul("Diagnostic.defaultValueNotEllipsis"),e.deprecatedType=()=>new rl(ul("Diagnostic.deprecatedType")),e.dictExpandIllegalInComprehension=()=>ul("Diagnostic.dictExpandIllegalInComprehension"),e.dictInAnnotation=()=>ul("Diagnostic.dictInAnnotation"),e.dictKeyValuePairs=()=>ul("Diagnostic.dictKeyValuePairs"),e.dictUnpackIsNotMapping=()=>ul("Diagnostic.dictUnpackIsNotMapping"),e.delTargetExpr=()=>ul("Diagnostic.delTargetExpr"),e.dunderAllSymbolNotPresent=()=>new rl(ul("Diagnostic.dunderAllSymbolNotPresent")),e.duplicateArgsParam=()=>ul("Diagnostic.duplicateArgsParam"),e.duplicateBaseClass=()=>ul("Diagnostic.duplicateBaseClass"),e.duplicateCatchAll=()=>ul("Diagnostic.duplicateCatchAll"),e.duplicateEnumMember=()=>new rl(ul("Diagnostic.duplicateEnumMember")),e.duplicateImport=()=>new rl(ul("Diagnostic.duplicateImport")),e.duplicateKwargsParam=()=>ul("Diagnostic.duplicateKwargsParam"),e.duplicateKeywordOnly=()=>ul("Diagnostic.duplicateKeywordOnly"),e.duplicateParam=()=>new rl(ul("Diagnostic.duplicateParam")),e.duplicateCapturePatternTarget=()=>new rl(ul("Diagnostic.duplicateCapturePatternTarget")),e.duplicateStarPattern=()=>ul("Diagnostic.duplicateStarPattern"),e.duplicateStarStarPattern=()=>ul("Diagnostic.duplicateStarStarPattern"),e.duplicatePositionOnly=()=>ul("Diagnostic.duplicatePositionOnly"),e.duplicateUnpack=()=>ul("Diagnostic.duplicateUnpack"),e.ellipsisContext=()=>ul("Diagnostic.ellipsisContext"),e.ellipsisSecondArg=()=>ul("Diagnostic.ellipsisSecondArg"),e.enumClassOverride=()=>new rl(ul("Diagnostic.enumClassOverride")),e.exceptionGroupIncompatible=()=>ul("Diagnostic.exceptionGroupIncompatible"),e.exceptionTypeIncorrect=()=>new rl(ul("Diagnostic.exceptionTypeIncorrect")),e.exceptionTypeNotClass=()=>new rl(ul("Diagnostic.exceptionTypeNotClass")),e.exceptionTypeNotInstantiable=()=>new rl(ul("Diagnostic.exceptionTypeNotInstantiable")),e.expectedAfterDecorator=()=>ul("Diagnostic.expectedAfterDecorator"),e.expectedArrow=()=>ul("Diagnostic.expectedArrow"),e.expectedAsAfterException=()=>ul("Diagnostic.expectedAsAfterException"),e.expectedAssignRightHandExpr=()=>ul("Diagnostic.expectedAssignRightHandExpr"),e.expectedBinaryRightHandExpr=()=>ul("Diagnostic.expectedBinaryRightHandExpr"),e.expectedBoolLiteral=()=>ul("Diagnostic.expectedBoolLiteral"),e.expectedCase=()=>ul("Diagnostic.expectedCase"),e.expectedClassName=()=>ul("Diagnostic.expectedClassName"),e.expectedCloseBrace=()=>ul("Diagnostic.expectedCloseBrace"),e.expectedCloseBracket=()=>ul("Diagnostic.expectedCloseBracket"),e.expectedCloseParen=()=>ul("Diagnostic.expectedCloseParen"),e.expectedColon=()=>ul("Diagnostic.expectedColon"),e.expectedComplexNumberLiteral=()=>ul("Diagnostic.expectedComplexNumberLiteral"),e.expectedDecoratorExpr=()=>ul("Diagnostic.expectedDecoratorExpr"),e.expectedDecoratorName=()=>ul("Diagnostic.expectedDecoratorName"),e.expectedDecoratorNewline=()=>ul("Diagnostic.expectedDecoratorNewline"),e.expectedDelExpr=()=>ul("Diagnostic.expectedDelExpr"),e.expectedElse=()=>ul("Diagnostic.expectedElse"),e.expectedEqualityOperator=()=>ul("Diagnostic.expectedEqualityOperator"),e.expectedExceptionClass=()=>ul("Diagnostic.expectedExceptionClass"),e.expectedExceptionObj=()=>ul("Diagnostic.expectedExceptionObj"),e.expectedExpr=()=>ul("Diagnostic.expectedExpr"),e.expectedImport=()=>ul("Diagnostic.expectedImport"),e.expectedImportAlias=()=>ul("Diagnostic.expectedImportAlias"),e.expectedImportSymbols=()=>ul("Diagnostic.expectedImportSymbols"),e.expectedIdentifier=()=>ul("Diagnostic.expectedIdentifier"),e.expectedIndentedBlock=()=>ul("Diagnostic.expectedIndentedBlock"),e.expectedIn=()=>ul("Diagnostic.expectedIn"),e.expectedInExpr=()=>ul("Diagnostic.expectedInExpr"),e.expectedFunctionAfterAsync=()=>ul("Diagnostic.expectedFunctionAfterAsync"),e.expectedFunctionName=()=>ul("Diagnostic.expectedFunctionName"),e.expectedMemberName=()=>ul("Diagnostic.expectedMemberName"),e.expectedModuleName=()=>ul("Diagnostic.expectedModuleName"),e.expectedNameAfterAs=()=>ul("Diagnostic.expectedNameAfterAs"),e.expectedNamedParameter=()=>ul("Diagnostic.expectedNamedParameter"),e.expectedNewline=()=>ul("Diagnostic.expectedNewline"),e.expectedNewlineOrSemicolon=()=>ul("Diagnostic.expectedNewlineOrSemicolon"),e.expectedOpenParen=()=>ul("Diagnostic.expectedOpenParen"),e.expectedParamName=()=>ul("Diagnostic.expectedParamName"),e.expectedPatternExpr=()=>ul("Diagnostic.expectedPatternExpr"),e.expectedPatternSubjectExpr=()=>ul("Diagnostic.expectedPatternSubjectExpr"),e.expectedPatternValue=()=>ul("Diagnostic.expectedPatternValue"),e.expectedReturnExpr=()=>ul("Diagnostic.expectedReturnExpr"),e.expectedSliceIndex=()=>ul("Diagnostic.expectedSliceIndex"),e.expectedTypeNotString=()=>ul("Diagnostic.expectedTypeNotString"),e.expectedYieldExpr=()=>ul("Diagnostic.expectedYieldExpr"),e.finalClassIsAbstract=()=>new rl(ul("Diagnostic.finalClassIsAbstract")),e.finalContext=()=>ul("Diagnostic.finalContext"),e.finalMethodOverride=()=>new rl(ul("Diagnostic.finalMethodOverride")),e.finalReassigned=()=>new rl(ul("Diagnostic.finalReassigned")),e.finalRedeclaration=()=>new rl(ul("Diagnostic.finalRedeclaration")),e.finalRedeclarationBySubclass=()=>new rl(ul("Diagnostic.finalRedeclarationBySubclass")),e.finalTooManyArgs=()=>ul("Diagnostic.finalTooManyArgs"),e.finalUnassigned=()=>new rl(ul("Diagnostic.finalUnassigned")),e.formatStringBrace=()=>ul("Diagnostic.formatStringBrace"),e.formatStringBytes=()=>ul("Diagnostic.formatStringBytes"),e.formatStringEscape=()=>ul("Diagnostic.formatStringEscape"),e.formatStringInPattern=()=>ul("Diagnostic.formatStringInPattern"),e.formatStringIllegal=()=>ul("Diagnostic.formatStringIllegal"),e.formatStringUnicode=()=>ul("Diagnostic.formatStringUnicode"),e.formatStringUnterminated=()=>ul("Diagnostic.formatStringUnterminated"),e.functionDecoratorTypeUnknown=()=>ul("Diagnostic.functionDecoratorTypeUnknown"),e.generatorAsyncReturnType=()=>ul("Diagnostic.generatorAsyncReturnType"),e.generatorNotParenthesized=()=>ul("Diagnostic.generatorNotParenthesized"),e.generatorSyncReturnType=()=>ul("Diagnostic.generatorSyncReturnType"),e.genericClassAssigned=()=>ul("Diagnostic.genericClassAssigned"),e.genericClassDeleted=()=>ul("Diagnostic.genericClassDeleted"),e.genericNotAllowed=()=>ul("Diagnostic.genericNotAllowed"),e.genericTypeAliasBoundTypeVar=()=>new rl(ul("Diagnostic.genericTypeAliasBoundTypeVar")),e.genericTypeArgMissing=()=>ul("Diagnostic.genericTypeArgMissing"),e.genericTypeArgTypeVar=()=>ul("Diagnostic.genericTypeArgTypeVar"),e.genericTypeArgUnique=()=>ul("Diagnostic.genericTypeArgUnique"),e.globalReassignment=()=>new rl(ul("Diagnostic.globalReassignment")),e.globalRedefinition=()=>new rl(ul("Diagnostic.globalRedefinition")),e.implicitStringConcat=()=>ul("Diagnostic.implicitStringConcat"),e.importCycleDetected=()=>ul("Diagnostic.importCycleDetected"),e.importDepthExceeded=()=>new rl(ul("Diagnostic.importDepthExceeded")),e.importResolveFailure=()=>new rl(ul("Diagnostic.importResolveFailure")),e.importSourceResolveFailure=()=>new rl(ul("Diagnostic.importSourceResolveFailure")),e.importSymbolUnknown=()=>new rl(ul("Diagnostic.importSymbolUnknown")),e.incompatibleMethodOverride=()=>new rl(ul("Diagnostic.incompatibleMethodOverride")),e.inconsistentIndent=()=>ul("Diagnostic.inconsistentIndent"),e.inconsistentTabs=()=>ul("Diagnostic.inconsistentTabs"),e.initMustReturnNone=()=>ul("Diagnostic.initMustReturnNone"),e.initSubclassClsParam=()=>ul("Diagnostic.initSubclassClsParam"),e.instanceMethodSelfParam=()=>ul("Diagnostic.instanceMethodSelfParam"),e.instanceVarOverridesClassVar=()=>new rl(ul("Diagnostic.instanceVarOverridesClassVar")),e.instantiateAbstract=()=>new rl(ul("Diagnostic.instantiateAbstract")),e.instantiateProtocol=()=>new rl(ul("Diagnostic.instantiateProtocol")),e.internalBindError=()=>new rl(ul("Diagnostic.internalBindError")),e.internalParseError=()=>new rl(ul("Diagnostic.internalParseError")),e.internalTypeCheckingError=()=>new rl(ul("Diagnostic.internalTypeCheckingError")),e.invalidIdentifierChar=()=>ul("Diagnostic.invalidIdentifierChar"),e.invalidStubStatement=()=>ul("Diagnostic.invalidStubStatement"),e.invalidTokenChars=()=>new rl(ul("Diagnostic.invalidTokenChars")),e.isInstanceInvalidType=()=>new rl(ul("Diagnostic.isInstanceInvalidType")),e.isSubclassInvalidType=()=>new rl(ul("Diagnostic.isSubclassInvalidType")),e.keyValueInSet=()=>ul("Diagnostic.keyValueInSet"),e.keywordArgInTypeArgument=()=>ul("Diagnostic.keywordArgInTypeArgument"),e.keywordOnlyAfterArgs=()=>ul("Diagnostic.keywordOnlyAfterArgs"),e.keywordSubscriptIllegal=()=>ul("Diagnostic.keywordSubscriptIllegal"),e.lambdaReturnTypeUnknown=()=>ul("Diagnostic.lambdaReturnTypeUnknown"),e.lambdaReturnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.lambdaReturnTypePartiallyUnknown")),e.listAssignmentMismatch=()=>new rl(ul("Diagnostic.listAssignmentMismatch")),e.listInAnnotation=()=>ul("Diagnostic.listInAnnotation"),e.literalUnsupportedType=()=>ul("Diagnostic.literalUnsupportedType"),e.literalEmptyArgs=()=>ul("Diagnostic.literalEmptyArgs"),e.literalNotCallable=()=>ul("Diagnostic.literalNotCallable"),e.matchIncompatible=()=>ul("Diagnostic.matchIncompatible"),e.matchIsNotExhaustive=()=>ul("Diagnostic.matchIsNotExhaustive"),e.maxParseDepthExceeded=()=>ul("Diagnostic.maxParseDepthExceeded"),e.memberAccess=()=>new rl(ul("Diagnostic.memberAccess")),e.memberDelete=()=>new rl(ul("Diagnostic.memberDelete")),e.memberSet=()=>new rl(ul("Diagnostic.memberSet")),e.metaclassConflict=()=>ul("Diagnostic.metaclassConflict"),e.metaclassDuplicate=()=>ul("Diagnostic.metaclassDuplicate"),e.metaclassIsGeneric=()=>ul("Diagnostic.metaclassIsGeneric"),e.methodNotDefined=()=>new rl(ul("Diagnostic.methodNotDefined")),e.methodNotDefinedOnType=()=>new rl(ul("Diagnostic.methodNotDefinedOnType")),e.methodOrdering=()=>ul("Diagnostic.methodOrdering"),e.methodOverridden=()=>new rl(ul("Diagnostic.methodOverridden")),e.methodReturnsNonObject=()=>new rl(ul("Diagnostic.methodReturnsNonObject")),e.missingProtocolMembers=()=>ul("Diagnostic.missingProtocolMembers"),e.missingSuperCall=()=>new rl(ul("Diagnostic.missingSuperCall")),e.moduleAsType=()=>ul("Diagnostic.moduleAsType"),e.moduleNotCallable=()=>ul("Diagnostic.moduleNotCallable"),e.moduleUnknownMember=()=>new rl(ul("Diagnostic.moduleUnknownMember")),e.namedExceptAfterCatchAll=()=>ul("Diagnostic.namedExceptAfterCatchAll"),e.namedParamAfterParamSpecArgs=()=>new rl(ul("Diagnostic.namedParamAfterParamSpecArgs")),e.namedTupleEmptyName=()=>ul("Diagnostic.namedTupleEmptyName"),e.namedTupleFirstArg=()=>ul("Diagnostic.namedTupleFirstArg"),e.namedTupleMultipleInheritance=()=>ul("Diagnostic.namedTupleMultipleInheritance"),e.namedTupleNameType=()=>ul("Diagnostic.namedTupleNameType"),e.namedTupleNameUnique=()=>ul("Diagnostic.namedTupleNameUnique"),e.namedTupleNoTypes=()=>ul("Diagnostic.namedTupleNoTypes"),e.namedTupleSecondArg=()=>ul("Diagnostic.namedTupleSecondArg"),e.newClsParam=()=>ul("Diagnostic.newClsParam"),e.newTypeLiteral=()=>ul("Diagnostic.newTypeLiteral"),e.newTypeNotAClass=()=>ul("Diagnostic.newTypeNotAClass"),e.newTypeProtocolClass=()=>ul("Diagnostic.newTypeProtocolClass"),e.nonDefaultAfterDefault=()=>ul("Diagnostic.nonDefaultAfterDefault"),e.noneNotCallable=()=>ul("Diagnostic.noneNotCallable"),e.noneNotIterable=()=>ul("Diagnostic.noneNotIterable"),e.noneNotSubscriptable=()=>ul("Diagnostic.noneNotSubscriptable"),e.noneNotUsableWith=()=>ul("Diagnostic.noneNotUsableWith"),e.noneOperator=()=>new rl(ul("Diagnostic.noneOperator")),e.noneUnknownMember=()=>new rl(ul("Diagnostic.noneUnknownMember")),e.nonLocalNoBinding=()=>new rl(ul("Diagnostic.nonLocalNoBinding")),e.nonLocalReassignment=()=>new rl(ul("Diagnostic.nonLocalReassignment")),e.nonLocalRedefinition=()=>new rl(ul("Diagnostic.nonLocalRedefinition")),e.nonLocalInModule=()=>ul("Diagnostic.nonLocalInModule"),e.noOverload=()=>new rl(ul("Diagnostic.noOverload")),e.noReturnContainsReturn=()=>ul("Diagnostic.noReturnContainsReturn"),e.noReturnContainsYield=()=>ul("Diagnostic.noReturnContainsYield"),e.noReturnReturnsNone=()=>ul("Diagnostic.noReturnReturnsNone"),e.notRequiredArgCount=()=>ul("Diagnostic.notRequiredArgCount"),e.notRequiredNotInTypedDict=()=>ul("Diagnostic.notRequiredNotInTypedDict"),e.objectNotCallable=()=>new rl(ul("Diagnostic.objectNotCallable")),e.obscuredClassDeclaration=()=>new rl(ul("Diagnostic.obscuredClassDeclaration")),e.obscuredFunctionDeclaration=()=>new rl(ul("Diagnostic.obscuredFunctionDeclaration")),e.obscuredMethodDeclaration=()=>new rl(ul("Diagnostic.obscuredMethodDeclaration")),e.obscuredParameterDeclaration=()=>new rl(ul("Diagnostic.obscuredParameterDeclaration")),e.obscuredVariableDeclaration=()=>new rl(ul("Diagnostic.obscuredVariableDeclaration")),e.operatorLessOrGreaterDeprecated=()=>ul("Diagnostic.operatorLessOrGreaterDeprecated"),e.optionalExtraArgs=()=>ul("Diagnostic.optionalExtraArgs"),e.orPatternIrrefutable=()=>ul("Diagnostic.orPatternIrrefutable"),e.orPatternMissingName=()=>ul("Diagnostic.orPatternMissingName"),e.overlappingOverload=()=>new rl(ul("Diagnostic.overlappingOverload")),e.overloadAbstractMismatch=()=>new rl(ul("Diagnostic.overloadAbstractMismatch")),e.overloadImplementationMismatch=()=>new rl(ul("Diagnostic.overloadImplementationMismatch")),e.overloadReturnTypeMismatch=()=>new rl(ul("Diagnostic.overloadReturnTypeMismatch")),e.overloadWithImplementation=()=>new rl(ul("Diagnostic.overloadWithImplementation")),e.overloadWithoutImplementation=()=>new rl(ul("Diagnostic.overloadWithoutImplementation")),e.paramAfterKwargsParam=()=>ul("Diagnostic.paramAfterKwargsParam"),e.paramAlreadyAssigned=()=>new rl(ul("Diagnostic.paramAlreadyAssigned")),e.paramAnnotationMissing=()=>new rl(ul("Diagnostic.paramAnnotationMissing")),e.paramNameMissing=()=>new rl(ul("Diagnostic.paramNameMissing")),e.paramSpecArgsKwargsUsage=()=>ul("Diagnostic.paramSpecArgsKwargsUsage"),e.paramSpecArgsUsage=()=>ul("Diagnostic.paramSpecArgsUsage"),e.paramSpecAssignedName=()=>new rl(ul("Diagnostic.paramSpecAssignedName")),e.paramSpecContext=()=>ul("Diagnostic.paramSpecContext"),e.paramSpecFirstArg=()=>ul("Diagnostic.paramSpecFirstArg"),e.paramSpecKwargsUsage=()=>ul("Diagnostic.paramSpecKwargsUsage"),e.paramSpecNotBound=()=>new rl(ul("Diagnostic.paramSpecNotBound")),e.paramSpecNotUsedByOuterScope=()=>new rl(ul("Diagnostic.paramSpecNotUsedByOuterScope")),e.paramSpecUnknownArg=()=>ul("Diagnostic.paramSpecUnknownArg"),e.paramSpecUnknownMember=()=>new rl(ul("Diagnostic.paramSpecUnknownMember")),e.paramSpecUnknownParam=()=>new rl(ul("Diagnostic.paramSpecUnknownParam")),e.paramTypeCovariant=()=>ul("Diagnostic.paramTypeCovariant"),e.paramTypeUnknown=()=>new rl(ul("Diagnostic.paramTypeUnknown")),e.paramAssignmentMismatch=()=>new rl(ul("Diagnostic.paramAssignmentMismatch")),e.paramTypePartiallyUnknown=()=>new rl(ul("Diagnostic.paramTypePartiallyUnknown")),e.parenthesizedContextManagerIllegal=()=>ul("Diagnostic.parenthesizedContextManagerIllegal"),e.positionArgAfterNamedArg=()=>ul("Diagnostic.positionArgAfterNamedArg"),e.privateImportFromPyTypedModule=()=>new rl(ul("Diagnostic.privateImportFromPyTypedModule")),e.positionOnlyAfterArgs=()=>ul("Diagnostic.positionOnlyAfterArgs"),e.positionOnlyAfterKeywordOnly=()=>ul("Diagnostic.positionOnlyAfterKeywordOnly"),e.positionOnlyIncompatible=()=>ul("Diagnostic.positionOnlyIncompatible"),e.positionOnlyFirstParam=()=>ul("Diagnostic.positionOnlyFirstParam"),e.privateUsedOutsideOfClass=()=>new rl(ul("Diagnostic.privateUsedOutsideOfClass")),e.privateUsedOutsideOfModule=()=>new rl(ul("Diagnostic.privateUsedOutsideOfModule")),e.propertyOverridden=()=>new rl(ul("Diagnostic.propertyOverridden")),e.propertyStaticMethod=()=>ul("Diagnostic.propertyStaticMethod"),e.protectedUsedOutsideOfClass=()=>new rl(ul("Diagnostic.protectedUsedOutsideOfClass")),e.protocolBaseClass=()=>new rl(ul("Diagnostic.protocolBaseClass")),e.protocolIllegal=()=>ul("Diagnostic.protocolIllegal"),e.protocolMemberNotClassVar=()=>new rl(ul("Diagnostic.protocolMemberNotClassVar")),e.protocolNotAllowedInTypeArgument=()=>ul("Diagnostic.protocolNotAllowedInTypeArgument"),e.protocolUsedInCall=()=>new rl(ul("Diagnostic.protocolUsedInCall")),e.protocolVarianceContravariant=()=>new rl(ul("Diagnostic.protocolVarianceContravariant")),e.protocolVarianceCovariant=()=>new rl(ul("Diagnostic.protocolVarianceCovariant")),e.protocolVarianceInvariant=()=>new rl(ul("Diagnostic.protocolVarianceInvariant")),e.recursiveDefinition=()=>new rl(ul("Diagnostic.recursiveDefinition")),e.relativeImportNotAllowed=()=>ul("Diagnostic.relativeImportNotAllowed"),e.requiredArgCount=()=>ul("Diagnostic.requiredArgCount"),e.requiredNotInTypedDict=()=>ul("Diagnostic.requiredNotInTypedDict"),e.returnMissing=()=>new rl(ul("Diagnostic.returnMissing")),e.returnOutsideFunction=()=>ul("Diagnostic.returnOutsideFunction"),e.returnTypeContravariant=()=>ul("Diagnostic.returnTypeContravariant"),e.returnTypeMismatch=()=>new rl(ul("Diagnostic.returnTypeMismatch")),e.returnTypeUnknown=()=>ul("Diagnostic.returnTypeUnknown"),e.returnTypePartiallyUnknown=()=>new rl(ul("Diagnostic.returnTypePartiallyUnknown")),e.revealLocalsArgs=()=>ul("Diagnostic.revealLocalsArgs"),e.revealLocalsNone=()=>ul("Diagnostic.revealLocalsNone"),e.revealTypeArgs=()=>ul("Diagnostic.revealTypeArgs"),e.revealTypeExpectedTextArg=()=>ul("Diagnostic.revealTypeExpectedTextArg"),e.revealTypeExpectedTextMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTextMismatch")),e.revealTypeExpectedTypeMismatch=()=>new rl(ul("Diagnostic.revealTypeExpectedTypeMismatch")),e.selfTypeContext=()=>ul("Diagnostic.selfTypeContext"),e.selfTypeWithTypedSelfOrCls=()=>ul("Diagnostic.selfTypeWithTypedSelfOrCls"),e.setterGetterTypeMismatch=()=>ul("Diagnostic.setterGetterTypeMismatch"),e.starPatternInAsPattern=()=>ul("Diagnostic.starPatternInAsPattern"),e.starPatternInOrPattern=()=>ul("Diagnostic.starPatternInOrPattern"),e.singleOverload=()=>new rl(ul("Diagnostic.singleOverload")),e.slotsAttributeError=()=>new rl(ul("Diagnostic.slotsAttributeError")),e.slotsClassVarConflict=()=>new rl(ul("Diagnostic.slotsClassVarConflict")),e.starStarWildcardNotAllowed=()=>ul("Diagnostic.starStarWildcardNotAllowed"),e.staticClsSelfParam=()=>ul("Diagnostic.staticClsSelfParam"),e.strictTypeGuardReturnType=()=>new rl(ul("Diagnostic.strictTypeGuardReturnType")),e.stringNonAsciiBytes=()=>ul("Diagnostic.stringNonAsciiBytes"),e.stringNotSubscriptable=()=>ul("Diagnostic.stringNotSubscriptable"),e.stringUnsupportedEscape=()=>ul("Diagnostic.stringUnsupportedEscape"),e.stringUnterminated=()=>ul("Diagnostic.stringUnterminated"),e.stubFileMissing=()=>new rl(ul("Diagnostic.stubFileMissing")),e.stubUsesGetAttr=()=>ul("Diagnostic.stubUsesGetAttr"),e.sublistParamsIncompatible=()=>ul("Diagnostic.sublistParamsIncompatible"),e.superCallArgCount=()=>ul("Diagnostic.superCallArgCount"),e.superCallFirstArg=()=>new rl(ul("Diagnostic.superCallFirstArg")),e.superCallSecondArg=()=>new rl(ul("Diagnostic.superCallSecondArg")),e.superCallZeroArgForm=()=>ul("Diagnostic.superCallZeroArgForm"),e.symbolIsUnbound=()=>new rl(ul("Diagnostic.symbolIsUnbound")),e.symbolIsUndefined=()=>new rl(ul("Diagnostic.symbolIsUndefined")),e.symbolIsPossiblyUnbound=()=>new rl(ul("Diagnostic.symbolIsPossiblyUnbound")),e.symbolOverridden=()=>new rl(ul("Diagnostic.symbolOverridden")),e.totalOrderingMissingMethod=()=>ul("Diagnostic.totalOrderingMissingMethod"),e.trailingCommaInFromImport=()=>ul("Diagnostic.trailingCommaInFromImport"),e.tryWithoutExcept=()=>ul("Diagnostic.tryWithoutExcept"),e.tupleAssignmentMismatch=()=>new rl(ul("Diagnostic.tupleAssignmentMismatch")),e.tupleInAnnotation=()=>ul("Diagnostic.tupleInAnnotation"),e.tupleIndexOutOfRange=()=>new rl(ul("Diagnostic.tupleIndexOutOfRange")),e.typeAliasIsRecursiveDirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveDirect")),e.typeAliasIsRecursiveIndirect=()=>new rl(ul("Diagnostic.typeAliasIsRecursiveIndirect")),e.typeAliasNotInModuleOrClass=()=>ul("Diagnostic.typeAliasNotInModuleOrClass"),e.typeAliasRedeclared=()=>new rl(ul("Diagnostic.typeAliasRedeclared")),e.typeAnnotationCall=()=>ul("Diagnostic.typeAnnotationCall"),e.typeAnnotationVariable=()=>ul("Diagnostic.typeAnnotationVariable"),e.typeArgListExpected=()=>ul("Diagnostic.typeArgListExpected"),e.typeArgListNotAllowed=()=>ul("Diagnostic.typeArgListNotAllowed"),e.typeArgsExpectingNone=()=>new rl(ul("Diagnostic.typeArgsExpectingNone")),e.typeArgsMismatchOne=()=>new rl(ul("Diagnostic.typeArgsMismatchOne")),e.typeArgsMissingForAlias=()=>new rl(ul("Diagnostic.typeArgsMissingForAlias")),e.typeArgsMissingForClass=()=>new rl(ul("Diagnostic.typeArgsMissingForClass")),e.typeArgsTooFew=()=>new rl(ul("Diagnostic.typeArgsTooFew")),e.typeArgsTooMany=()=>new rl(ul("Diagnostic.typeArgsTooMany")),e.typeAssignmentMismatch=()=>new rl(ul("Diagnostic.typeAssignmentMismatch")),e.typeCallNotAllowed=()=>ul("Diagnostic.typeCallNotAllowed"),e.typedDictAccess=()=>ul("Diagnostic.typedDictAccess"),e.typedDictBadVar=()=>ul("Diagnostic.typedDictBadVar"),e.typedDictBaseClass=()=>ul("Diagnostic.typedDictBaseClass"),e.typedDictDelete=()=>ul("Diagnostic.typedDictDelete"),e.typedDictEmptyName=()=>ul("Diagnostic.typedDictEmptyName"),e.typedDictEntryName=()=>ul("Diagnostic.typedDictEntryName"),e.typedDictEntryUnique=()=>ul("Diagnostic.typedDictEntryUnique"),e.typedDictExtraArgs=()=>ul("Diagnostic.typedDictExtraArgs"),e.typedDictFieldRedefinition=()=>new rl(ul("Diagnostic.typedDictFieldRedefinition")),e.typedDictFirstArg=()=>ul("Diagnostic.typedDictFirstArg"),e.typedDictSecondArgDict=()=>ul("Diagnostic.typedDictSecondArgDict"),e.typedDictSecondArgDictEntry=()=>ul("Diagnostic.typedDictSecondArgDictEntry"),e.typedDictSet=()=>ul("Diagnostic.typedDictSet"),e.typedDictTotalParam=()=>ul("Diagnostic.typedDictTotalParam"),e.typeExpectedClass=()=>new rl(ul("Diagnostic.typeExpectedClass")),e.typeGuardArgCount=()=>ul("Diagnostic.typeGuardArgCount"),e.typeNotAwaitable=()=>new rl(ul("Diagnostic.typeNotAwaitable")),e.typeNotCallable=()=>new rl(ul("Diagnostic.typeNotCallable")),e.typeNotIntantiable=()=>new rl(ul("Diagnostic.typeNotIntantiable")),e.typeNotIterable=()=>new rl(ul("Diagnostic.typeNotIterable")),e.typeNotSpecializable=()=>new rl(ul("Diagnostic.typeNotSpecializable")),e.typeNotSubscriptable=()=>new rl(ul("Diagnostic.typeNotSubscriptable")),e.typeNotUsableWith=()=>new rl(ul("Diagnostic.typeNotUsableWith")),e.typeNotSupportBinaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperator")),e.typeNotSupportBinaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportBinaryOperatorBidirectional")),e.typeNotSupportUnaryOperator=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperator")),e.typeNotSupportUnaryOperatorBidirectional=()=>new rl(ul("Diagnostic.typeNotSupportUnaryOperatorBidirectional")),e.typePartiallyUnknown=()=>new rl(ul("Diagnostic.typePartiallyUnknown")),e.typeUnknown=()=>new rl(ul("Diagnostic.typeUnknown")),e.typeVarAssignedName=()=>new rl(ul("Diagnostic.typeVarAssignedName")),e.typeVarAssignmentMismatch=()=>new rl(ul("Diagnostic.typeVarAssignmentMismatch")),e.typeVarBoundAndConstrained=()=>ul("Diagnostic.typeVarBoundAndConstrained"),e.typeVarFirstArg=()=>ul("Diagnostic.typeVarFirstArg"),e.typeVarGeneric=()=>ul("Diagnostic.typeVarGeneric"),e.typeVarNoMember=()=>new rl(ul("Diagnostic.typeVarNoMember")),e.typeVarNotSubscriptable=()=>new rl(ul("Diagnostic.typeVarNotSubscriptable")),e.typeVarNotUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarNotUsedByOuterScope")),e.typeVarSingleConstraint=()=>ul("Diagnostic.typeVarSingleConstraint"),e.typeVarsNotInGeneric=()=>ul("Diagnostic.typeVarsNotInGeneric"),e.typeVarTupleMustBeUnpacked=()=>ul("Diagnostic.typeVarTupleMustBeUnpacked"),e.typeVarTupleContext=()=>ul("Diagnostic.typeVarTupleContext"),e.typeVarUnknownParam=()=>new rl(ul("Diagnostic.typeVarUnknownParam")),e.typeVarUsedByOuterScope=()=>new rl(ul("Diagnostic.typeVarUsedByOuterScope")),e.typeVarUsedOnlyOnce=()=>new rl(ul("Diagnostic.typeVarUsedOnlyOnce")),e.typeVarVariance=()=>ul("Diagnostic.typeVarVariance"),e.unaccessedClass=()=>new rl(ul("Diagnostic.unaccessedClass")),e.unaccessedFunction=()=>new rl(ul("Diagnostic.unaccessedFunction")),e.unaccessedImport=()=>new rl(ul("Diagnostic.unaccessedImport")),e.unaccessedSymbol=()=>new rl(ul("Diagnostic.unaccessedSymbol")),e.unaccessedVariable=()=>new rl(ul("Diagnostic.unaccessedVariable")),e.unexpectedAsyncToken=()=>ul("Diagnostic.unexpectedAsyncToken"),e.unexpectedExprToken=()=>ul("Diagnostic.unexpectedExprToken"),e.unexpectedIndent=()=>ul("Diagnostic.unexpectedIndent"),e.unexpectedUnindent=()=>ul("Diagnostic.unexpectedUnindent"),e.unionSyntaxIllegal=()=>ul("Diagnostic.unionSyntaxIllegal"),e.unionTypeArgCount=()=>ul("Diagnostic.unionTypeArgCount"),e.uninitializedInstanceVariable=()=>new rl(ul("Diagnostic.uninitializedInstanceVariable")),e.unnecessaryCast=()=>new rl(ul("Diagnostic.unnecessaryCast")),e.unnecessaryIsInstanceAlways=()=>new rl(ul("Diagnostic.unnecessaryIsInstanceAlways")),e.unnecessaryIsSubclassAlways=()=>new rl(ul("Diagnostic.unnecessaryIsSubclassAlways")),e.unnecessaryTypeIgnore=()=>ul("Diagnostic.unnecessaryTypeIgnore"),e.unpackArgCount=()=>ul("Diagnostic.unpackArgCount"),e.unpackedArgInTypeArgument=()=>ul("Diagnostic.unpackedArgInTypeArgument"),e.unpackedArgWithVariadicParam=()=>ul("Diagnostic.unpackedArgWithVariadicParam"),e.unpackedDictArgumentNotMapping=()=>ul("Diagnostic.unpackedDictArgumentNotMapping"),e.unpackedSubscriptIllegal=()=>ul("Diagnostic.unpackedSubscriptIllegal"),e.unpackedTypedDictArgument=()=>ul("Diagnostic.unpackedTypedDictArgument"),e.unpackedTypeVarTupleExpected=()=>new rl(ul("Diagnostic.unpackedTypeVarTupleExpected")),e.unpackExpectedTypedDict=()=>ul("Diagnostic.unpackExpectedTypedDict"),e.unpackExpectedTypeVarTuple=()=>ul("Diagnostic.unpackExpectedTypeVarTuple"),e.unpackIllegalInComprehension=()=>ul("Diagnostic.unpackIllegalInComprehension"),e.unpackInAnnotation=()=>ul("Diagnostic.unpackInAnnotation"),e.unpackInDict=()=>ul("Diagnostic.unpackInDict"),e.unpackInSet=()=>ul("Diagnostic.unpackInSet"),e.unpackNotAllowed=()=>ul("Diagnostic.unpackNotAllowed"),e.unpackOperatorNotAllowed=()=>ul("Diagnostic.unpackOperatorNotAllowed"),e.unpackTuplesIllegal=()=>ul("Diagnostic.unpackTuplesIllegal"),e.unreachableCode=()=>ul("Diagnostic.unreachableCode"),e.unreachableExcept=()=>ul("Diagnostic.unreachableExcept"),e.unsupportedDunderAllOperation=()=>ul("Diagnostic.unsupportedDunderAllOperation"),e.unusedCallResult=()=>new rl(ul("Diagnostic.unusedCallResult")),e.unusedCoroutine=()=>ul("Diagnostic.unusedCoroutine"),e.varAnnotationIllegal=()=>ul("Diagnostic.varAnnotationIllegal"),e.variadicTypeArgsTooMany=()=>ul("Diagnostic.variadicTypeArgsTooMany"),e.variadicTypeParamTooManyAlias=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyAlias")),e.variadicTypeParamTooManyClass=()=>new rl(ul("Diagnostic.variadicTypeParamTooManyClass")),e.walrusIllegal=()=>ul("Diagnostic.walrusIllegal"),e.walrusNotAllowed=()=>ul("Diagnostic.walrusNotAllowed"),e.wildcardInFunction=()=>ul("Diagnostic.wildcardInFunction"),e.wildcardLibraryImport=()=>ul("Diagnostic.wildcardLibraryImport"),e.yieldFromIllegal=()=>ul("Diagnostic.yieldFromIllegal"),e.yieldFromOutsideAsync=()=>ul("Diagnostic.yieldFromOutsideAsync"),e.yieldOutsideFunction=()=>ul("Diagnostic.yieldOutsideFunction"),e.yieldTypeMismatch=()=>new rl(ul("Diagnostic.yieldTypeMismatch")),e.yieldWithinListCompr=()=>ul("Diagnostic.yieldWithinListCompr"),e.zeroCaseStatementsFound=()=>ul("Diagnostic.zeroCaseStatementsFound"),e.zeroLengthTupleNotAllowed=()=>ul("Diagnostic.zeroLengthTupleNotAllowed")}(t=e.Diagnostic||(e.Diagnostic={})),function(e){e.argParam=()=>new rl(ul("DiagnosticAddendum.argParam")),e.argParamFunction=()=>new rl(ul("DiagnosticAddendum.argParamFunction")),e.argsParamMissing=()=>new rl(ul("DiagnosticAddendum.argsParamMissing")),e.argsPositionOnly=()=>new rl(ul("DiagnosticAddendum.argsPositionOnly")),e.argumentType=()=>new rl(ul("DiagnosticAddendum.argumentType")),e.argumentTypes=()=>new rl(ul("DiagnosticAddendum.argumentTypes")),e.assignToNone=()=>ul("DiagnosticAddendum.assignToNone"),e.asyncHelp=()=>ul("DiagnosticAddendum.asyncHelp"),e.baseClassProvidesType=()=>new rl(ul("DiagnosticAddendum.baseClassProvidesType")),e.dataClassFrozen=()=>new rl(ul("DiagnosticAddendum.dataClassFrozen")),e.dataClassFieldLocation=()=>ul("DiagnosticAddendum.dataClassFieldLocation"),e.finalMethod=()=>ul("DiagnosticAddendum.finalMethod"),e.functionParamDefaultMissing=()=>new rl(ul("DiagnosticAddendum.functionParamDefaultMissing")),e.functionParamName=()=>new rl(ul("DiagnosticAddendum.functionParamName")),e.functionReturnTypeMismatch=()=>new rl(ul("DiagnosticAddendum.functionReturnTypeMismatch")),e.functionTooFewParams=()=>new rl(ul("DiagnosticAddendum.functionTooFewParams")),e.incompatibleGetter=()=>ul("DiagnosticAddendum.incompatibleGetter"),e.incompatibleSetter=()=>ul("DiagnosticAddendum.incompatibleSetter"),e.incompatibleDeleter=()=>ul("DiagnosticAddendum.incompatibleDeleter"),e.initMethodLocation=()=>new rl(ul("DiagnosticAddendum.initMethodLocation")),e.initMethodSignature=()=>new rl(ul("DiagnosticAddendum.initMethodSignature")),e.functionTooManyParams=()=>new rl(ul("DiagnosticAddendum.functionTooManyParams")),e.keyNotRequired=()=>new rl(ul("DiagnosticAddendum.keyNotRequired")),e.keyRequiredDeleted=()=>new rl(ul("DiagnosticAddendum.keyRequiredDeleted")),e.keyUndefined=()=>new rl(ul("DiagnosticAddendum.keyUndefined")),e.kwargsParamMissing=()=>new rl(ul("DiagnosticAddendum.kwargsParamMissing")),e.listAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.listAssignmentMismatch")),e.literalAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.literalAssignmentMismatch")),e.matchIsNotExhaustiveType=()=>new rl(ul("DiagnosticAddendum.matchIsNotExhaustiveType")),e.matchIsNotExhaustiveHint=()=>ul("DiagnosticAddendum.matchIsNotExhaustiveHint"),e.memberAssignment=()=>new rl(ul("DiagnosticAddendum.memberAssignment")),e.memberIsAbstract=()=>new rl(ul("DiagnosticAddendum.memberIsAbstract")),e.memberIsAbstractMore=()=>new rl(ul("DiagnosticAddendum.memberIsAbstractMore")),e.memberIsFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsFinalInProtocol")),e.memberIsInitVar=()=>new rl(ul("DiagnosticAddendum.memberIsInitVar")),e.memberIsNotFinalInProtocol=()=>new rl(ul("DiagnosticAddendum.memberIsNotFinalInProtocol")),e.memberSetClassVar=()=>new rl(ul("DiagnosticAddendum.memberSetClassVar")),e.memberTypeMismatch=()=>new rl(ul("DiagnosticAddendum.memberTypeMismatch")),e.memberUnknown=()=>new rl(ul("DiagnosticAddendum.memberUnknown")),e.missingProtocolMember=()=>new rl(ul("DiagnosticAddendum.missingProtocolMember")),e.missingGetter=()=>ul("DiagnosticAddendum.missingGetter"),e.missingSetter=()=>ul("DiagnosticAddendum.missingSetter"),e.missingDeleter=()=>ul("DiagnosticAddendum.missingDeleter"),e.namedParamMissingInDest=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInDest")),e.namedParamMissingInSource=()=>new rl(ul("DiagnosticAddendum.namedParamMissingInSource")),e.namedParamTypeMismatch=()=>new rl(ul("DiagnosticAddendum.namedParamTypeMismatch")),e.newMethodLocation=()=>new rl(ul("DiagnosticAddendum.newMethodLocation")),e.newMethodSignature=()=>new rl(ul("DiagnosticAddendum.newMethodSignature")),e.noOverloadAssignable=()=>new rl(ul("DiagnosticAddendum.noOverloadAssignable")),e.orPatternMissingName=()=>new rl(ul("DiagnosticAddendum.orPatternMissingName")),e.overloadMethod=()=>ul("DiagnosticAddendum.overloadMethod"),e.overloadNotAssignable=()=>new rl(ul("DiagnosticAddendum.overloadNotAssignable")),e.overloadWithImplementation=()=>ul("DiagnosticAddendum.overloadWithImplementation"),e.overriddenMethod=()=>ul("DiagnosticAddendum.overriddenMethod"),e.overriddenSymbol=()=>ul("DiagnosticAddendum.overriddenSymbol"),e.overrideParamCount=()=>new rl(ul("DiagnosticAddendum.overrideParamCount")),e.overrideParamName=()=>new rl(ul("DiagnosticAddendum.overrideParamName")),e.overrideParamNamePositionOnly=()=>new rl(ul("DiagnosticAddendum.overrideParamNamePositionOnly")),e.overrideParamType=()=>new rl(ul("DiagnosticAddendum.overrideParamType")),e.overrideReturnType=()=>new rl(ul("DiagnosticAddendum.overrideReturnType")),e.overrideType=()=>new rl(ul("DiagnosticAddendum.overrideType")),e.paramAssignment=()=>new rl(ul("DiagnosticAddendum.paramAssignment")),e.paramSpecOverload=()=>ul("DiagnosticAddendum.paramSpecOverload"),e.paramType=()=>new rl(ul("DiagnosticAddendum.paramType")),e.privateImportFromPyTypedSource=()=>new rl(ul("DiagnosticAddendum.privateImportFromPyTypedSource")),e.propertyAccessFromProtocolClass=()=>ul("DiagnosticAddendum.propertyAccessFromProtocolClass"),e.propertyMethodIncompatible=()=>new rl(ul("DiagnosticAddendum.propertyMethodIncompatible")),e.propertyMethodMissing=()=>new rl(ul("DiagnosticAddendum.propertyMethodMissing")),e.propertyMissingDeleter=()=>new rl(ul("DiagnosticAddendum.propertyMissingDeleter")),e.propertyMissingSetter=()=>new rl(ul("DiagnosticAddendum.propertyMissingSetter")),e.protocolMemberClassVar=()=>new rl(ul("DiagnosticAddendum.protocolMemberClassVar")),e.protocolIncompatible=()=>new rl(ul("DiagnosticAddendum.protocolIncompatible")),e.protocolMemberMissing=()=>new rl(ul("DiagnosticAddendum.protocolMemberMissing")),e.protocolSourceIsNotConcrete=()=>new rl(ul("DiagnosticAddendum.protocolSourceIsNotConcrete")),e.readOnlyAttribute=()=>new rl(ul("DiagnosticAddendum.readOnlyAttribute")),e.seeDeclaration=()=>ul("DiagnosticAddendum.seeDeclaration"),e.seeClassDeclaration=()=>ul("DiagnosticAddendum.seeClassDeclaration"),e.seeFunctionDeclaration=()=>ul("DiagnosticAddendum.seeFunctionDeclaration"),e.seeMethodDeclaration=()=>ul("DiagnosticAddendum.seeMethodDeclaration"),e.seeParameterDeclaration=()=>ul("DiagnosticAddendum.seeParameterDeclaration"),e.seeVariableDeclaration=()=>ul("DiagnosticAddendum.seeVariableDeclaration"),e.tupleEntryTypeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleEntryTypeMismatch")),e.tupleAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.tupleAssignmentMismatch")),e.tupleSizeMismatch=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatch")),e.tupleSizeMismatchIndeterminate=()=>new rl(ul("DiagnosticAddendum.tupleSizeMismatchIndeterminate")),e.typeAssignmentMismatch=()=>new rl(ul("DiagnosticAddendum.typeAssignmentMismatch")),e.typeBound=()=>new rl(ul("DiagnosticAddendum.typeBound")),e.typeConstrainedTypeVar=()=>new rl(ul("DiagnosticAddendum.typeConstrainedTypeVar")),e.typedDictFieldMissing=()=>new rl(ul("DiagnosticAddendum.typedDictFieldMissing")),e.typedDictFieldNotRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldNotRequired")),e.typedDictFieldRedefinition=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRedefinition")),e.typedDictFieldRequired=()=>new rl(ul("DiagnosticAddendum.typedDictFieldRequired")),e.typedDictFieldTypeMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFieldTypeMismatch")),e.typedDictFieldUndefined=()=>new rl(ul("DiagnosticAddendum.typedDictFieldUndefined")),e.typedDictFinalMismatch=()=>new rl(ul("DiagnosticAddendum.typedDictFinalMismatch")),e.typeIncompatible=()=>new rl(ul("DiagnosticAddendum.typeIncompatible")),e.typeNotCallable=()=>new rl(ul("DiagnosticAddendum.typeNotCallable")),e.typeNotClass=()=>new rl(ul("DiagnosticAddendum.typeNotClass")),e.typeParamSpec=()=>new rl(ul("DiagnosticAddendum.typeParamSpec")),e.typeNotStringLiteral=()=>new rl(ul("DiagnosticAddendum.typeNotStringLiteral")),e.typeOfSymbol=()=>new rl(ul("DiagnosticAddendum.typeOfSymbol")),e.typeUnsupported=()=>new rl(ul("DiagnosticAddendum.typeUnsupported")),e.typeVarIsContravariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsContravariant")),e.typeVarIsCovariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsCovariant")),e.typeVarIsInvariant=()=>new rl(ul("DiagnosticAddendum.typeVarIsInvariant")),e.typeVarTupleRequiresKnownLength=()=>ul("DiagnosticAddendum.typeVarTupleRequiresKnownLength"),e.typeVarNotAllowed=()=>ul("DiagnosticAddendum.typeVarNotAllowed"),e.typeVarsMissing=()=>new rl(ul("DiagnosticAddendum.typeVarsMissing")),e.unreachableExcept=()=>new rl(ul("DiagnosticAddendum.unreachableExcept")),e.useDictInstead=()=>ul("DiagnosticAddendum.useDictInstead"),e.useListInstead=()=>ul("DiagnosticAddendum.useListInstead"),e.useTupleInstead=()=>ul("DiagnosticAddendum.useTupleInstead"),e.useTypeInstead=()=>ul("DiagnosticAddendum.useTypeInstead")}(n=e.DiagnosticAddendum||(e.DiagnosticAddendum={})),function(e){e.addOptionalToAnnotation=()=>ul("CodeAction.addOptionalToAnnotation"),e.createTypeStub=()=>ul("CodeAction.createTypeStub"),e.createTypeStubFor=()=>new rl(ul("CodeAction.createTypeStubFor")),e.executingCommand=()=>ul("CodeAction.executingCommand"),e.filesToAnalyzeOne=()=>ul("CodeAction.filesToAnalyzeOne"),e.filesToAnalyzeCount=()=>new rl(ul("CodeAction.filesToAnalyzeCount")),e.findingReferences=()=>ul("CodeAction.findingReferences"),e.organizeImports=()=>ul("CodeAction.organizeImports")}(i=e.CodeAction||(e.CodeAction={})),function(e){e.moveFile=()=>new rl(ul("Refactoring.moveFile")),e.moveFileLabel=()=>new rl(ul("Refactoring.moveFileLabel")),e.moveFileDescription=()=>new rl(ul("Refactoring.moveFileDescription"))}(r=e.Refactoring||(e.Refactoring={}))}(ml||(ml={}));const Dl=/'/g,Al=/\\"/g;function Pl(e,t,n,i=[]){const r=0!=(16&t),s=0!=(128&t);if(t&=-145,e.typeAliasInfo){let r=!0;if((0==(32&t)||i.find((t=>t===e)))&&(r=!1),!r)try{i.push(e);let r=e.typeAliasInfo.name;const s=e.typeAliasInfo.typeParameters;if(s){let o;e.typeAliasInfo.typeArguments?(0==(2&t)||e.typeAliasInfo.typeArguments.some((e=>!ho(e))))&&(o=[],e.typeAliasInfo.typeArguments.forEach(((e,r)=>{Io(r{o.push(Pl(e.type,t,n,i))})):o.push(Pl(e,t,n,i))}))):(0==(2&t)||s.some((e=>!ho(e))))&&(o=[],s.forEach((e=>{o.push(Pl(e,t,n,i))}))),o&&(0===o.length?r+="[()]":r+=`[${o.join(", ")}]`)}if(10!==e.category)return r}finally{i.pop()}}if(i.find((t=>{var n;return t===e||void 0!==t.typeAliasInfo&&t.typeAliasInfo.fullName===(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}))||i.length>Gs)return bo(e)&&e.details.isSynthesized&&e.details.recursiveTypeAliasName?e.details.recursiveTypeAliasName:e.typeAliasInfo?e.typeAliasInfo.name:"...";try{i.push(e);const o=0==(64&t),a=e=>void 0!==e.condition&&o?"*":"";switch(e.category){case 0:return"Unbound";case 1:return 0!=(1&t)?"Any":"Unknown";case 8:return`Module("${e.moduleName}")`;case 7:return Ks.isInstance(e)?void 0!==e.literalValue?`Literal[${Rl(e)}]`:`${Fl(e,t,n,i)}${a(e)}`:void 0!==e.literalValue?`Type[Literal[${Rl(e)}]]${a(e)}`:`Type[${Fl(e,t,n,i)}]${a(e)}`;case 5:{const r=Nl(e,t,n,i),o=`(${r[0].join(", ")})`;if(Xs.isParamSpecValue(e))return o;const a=`${o} -> ${r[1]}`;return s?`(${a})`:a}case 6:return`Overload[${e.overloads.map((e=>Pl(e,t,n,i))).join(", ")}]`;case 9:{const s=new Set,o=new Set,a=8&t?128|t:t;if(0==(32&t)&&e.typeAliasSources)for(const t of e.typeAliasSources){let r=!0,l=!0;const c=new Set;for(const n of t.subtypes){let t=0,i=!1;for(const r of e.subtypes){if(Ao(n,r,void 0,!0)){s.has(t)||(l=!1),c.add(t),i=!0;break}t++}if(!i){r=!1;break}}r&&!l&&(o.add(Pl(t,a,n,i)),c.forEach((e=>s.add(e))))}const l=e.subtypes.findIndex((e=>lo(e)));if(l>=0&&!s.has(l)){const r=Fo(e);if(ao(r))return"None";const s=Pl(r,a,n,i);return 8&t?s+" | None":"Optional["+s+"]"}const c=new Set,u=new Set;Jo(e,((e,t)=>{s.has(t)||(vo(e)&&void 0!==e.literalValue?c.add(Rl(e)):_o(e)&&void 0!==e.literalValue?u.add(Rl(e)):o.add(Pl(e,a,n,i)))}));const p=[];if(o.forEach((e=>p.push(e))),c.size>0){const e=[];c.forEach((t=>e.push(t))),p.push(`Literal[${e.join(", ")}]`)}if(u.size>0){const e=[];u.forEach((t=>e.push(t))),p.push(`Type[Literal[${e.join(", ")}]]`)}if(1===p.length)return p[0];if(8&t){const e=p.join(" | ");return r?`(${e})`:e}return`Union[${p.join(", ")}]`}case 10:{if(e.details.isSynthesized){if(e.details.recursiveTypeAliasName)return 0!=(32&t)&&e.details.boundType?Pl(Ks.isInstance(e)?Fa(e.details.boundType):e.details.boundType,t,n,i):e.details.recursiveTypeAliasName;if(e.details.isSynthesizedSelf&&e.details.boundType){let r=Pl(e.details.boundType,-33&t,n,i);return ho(e.details.boundType)||(r=`Self@${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}return 0!=(1&t)?"Any":"Unknown"}if(e.details.isParamSpec)return e.paramSpecAccess?`${e.details.name}.${e.paramSpecAccess}`:`${oo.getReadableName(e)}`;let r=oo.getReadableName(e);return e.isVariadicUnpacked&&(r=`*${r}`),Ks.isInstantiable(e)?`Type[${r}]`:r}case 3:return`${Ks.isInstantiable(e)?"Type[None]":"None"}${a(e)}`;case 4:return e.isNoReturn?"NoReturn":"Never";case 2:return e.isEllipsis?"...":"Any"}return""}finally{i.pop()}}function Rl(e,t="'"){const n=e.literalValue;if(void 0===n)return"";let i;if("string"==typeof n){const r="bytes"===e.details.name?"b":"";i=JSON.stringify(n).toString(),'"'!==t&&(i=`'${i.substring(1,i.length-1).replace(Al,'"').replace(Dl,"\\'")}'`),r&&(i=`${r}${i}`)}else"boolean"==typeof n?i=n?"True":"False":n instanceof Hs?i=`${n.className}.${n.itemName}`:"bigint"==typeof n?(i=n.toString(),i.endsWith("n")&&(i=i.substring(0,i.length-1))):i=n.toString();return i}function Fl(e,t,n,i=[]){var r,s;let o=e.aliasName||e.details.name;if(!Zs.isPseudoGenericClass(e)){const a=Zs.getTypeParameters(e),l=a.length>0?a[a.length-1]:void 0,c=!!l&&l.details.isVariadic,u=null!==(r=e.tupleTypeArguments)&&void 0!==r?r:null===(s=e.typeArguments)||void 0===s?void 0:s.map((e=>({type:e,isUnbounded:!1})));if(u)if(u.length>0){const r=[];let s=!0;u.forEach(((e,o)=>{const l=o{ho(e.type)||(s=!1);const r=Pl(e.type,t,n,i);return e.isUnbounded?`*tuple[${r}, ...]`:r})));else{ho(e.type)||(s=!1);const o=Pl(e.type,t,n,i);e.isUnbounded?1===u.length?r.push(o,"..."):r.push(`*tuple[${o}, ...]`):r.push(o)}})),e.isUnpacked&&(o="*"+o),0!=(2&t)&&s||(o+="["+r.join(", ")+"]")}else(Zs.isTupleClass(e)||c)&&(o+="[()]");else a.length>0&&(0==(2&t)||a.some((e=>!ho(e))))&&(o+="["+a.map((e=>Pl(e,t,n,i))).join(", ")+"]")}return o}function Nl(e,t,n,i=[]){const r=[];let s=!1;e.details.parameters.forEach(((o,a)=>{if(a===e.details.parameters.length-1&&1===o.category&&Io(o.type)){const s=Xs.getEffectiveParameterType(e,a);if(vo(s)&&Zs.isBuiltIn(s,"tuple")&&s.tupleTypeArguments)return void s.tupleTypeArguments.forEach((e=>{const s=Pl(e.type,t,n,i);r.push(s)}))}let l="";1===o.category?o.name&&o.isNameSynthesized||(l+="*"):2===o.category&&(l+="**"),o.name&&!o.isNameSynthesized&&(l+=o.name,s=!0);let c="=",u=!1;if(o.name)if(o.hasDeclaredType||o.isTypeInferred){const r=Xs.getEffectiveParameterType(e,a),s=i.length{const i=t.resolveAliasDeclaration(e,n);if(i&&(o.push(i),r&&el(i.path))){const e=r.findDeclarations(i);for(const t of e)t&&t.path&&this._addIfUnique(o,t)}})),o}collect(){return this.walk(this._startingNode),this._results}walk(e){zt(e)||super.walk(e)}visitName(e){if(ct(this._cancellationToken),e.value!==this._symbolName)return!1;if(this._declarations.length>0){const t=Ml._getDeclarationsForNode(e,this._evaluator);t&&t.length>0&&t.some((e=>this._resultsContainsDeclaration(e)))&&this._addResult(e)}else this._addResult(e);return!1}visitString(e){return ct(this._cancellationToken),this._dunderAllNameNodes.has(e)&&this._addResult(e),!1}_addResult(e){const t=38===e.nodeType?e:function(e){return function(e){const t=e.quoteMarkLength,n=!(65536&e.flags);return dt.create(e.start+t,e.length-t-(n?t:0))}(e.token)}(e);this._results.push({node:e,range:t})}_resultsContainsDeclaration(e){const t=this._evaluator.resolveAliasDeclaration(e,!1);if(!t)return!1;if(this._declarations.some((e=>is(e,t,this._treatModuleInImportAndFromImportSame))))return!0;const n=this._getResolveAliasDeclaration(t);return!(!n||n===t)&&this._declarations.some((e=>is(e,n,this._treatModuleInImportAndFromImportSame)))}_getResolveAliasDeclaration(e){if(n(e))return ls([e])[0];const t=this._evaluator.resolveAliasDeclaration(e,!0);return n(t)?ls([t])[0]:t;function n(e){return!!e&&6===e.type&&e.node&&e.usesLocalName&&21===e.node.nodeType}}_setDunderAllNodes(e){if(36!==e.nodeType)return;const t=Wt(e);if(!t)return;const n=zs(e);n&&t.stringNodes.forEach((e=>{if(e.value!==this._symbolName)return;const t=n.lookUpSymbolRecursive(e.value);t&&t.symbol.getDeclarations().some((e=>this._resultsContainsDeclaration(e)))&&this._dunderAllNameNodes.add(e)}))}static _addIfUnique(e,t){for(const n of e)if(is(n,t))return;e.push(t)}static _getDeclarationsForNode(e,t){var n,i,r,s,o,a;if(37!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)){let n=t.getDeclarationsForNameNode(e)||[];if(23===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&(n=n.filter((t=>t.node===e.parent))),0===n.length){const n=t.getType(e);if(8===(null==n?void 0:n.category))return[cs(n.filePath)]}for(const e of n.filter((e=>Gn(e)&&!e.loadSymbolsFromPath))){const i=e.node;23!==i.nodeType&&n.push(...t.getDeclarationsForNameNode(i.module.nameParts[0])||[])}return n}const l=e.parent;if(21===(null===(r=l.parent)||void 0===r?void 0:r.nodeType)||22===(null===(s=l.parent)||void 0===s?void 0:s.nodeType)){const n=l.nameParts.findIndex((t=>t===e));if(0===n){let n=[];const i=1===l.nameParts.length&&21===l.parent.nodeType&&!!l.parent.alias,r=i?l.parent.alias.value:l.nameParts[0].value,s=null===(o=zs(e))||void 0===o?void 0:o.lookUpSymbolRecursive(r);return s&&1===l.nameParts.length&&(n.push(...s.symbol.getDeclarations().filter((e=>Gn(e)))),n.length>1&&(n=n.filter((e=>void 0!==(e=e).firstNamePart?e.firstNamePart===l.nameParts[0].value:e.node===l.parent))),i&&(n=ls(n))),n.push(...(null===(a=t.getDeclarationsForNameNode(l.nameParts[0]))||void 0===a?void 0:a.filter((e=>Gn(e))))||[]),n}return n>0&&t.getDeclarationsForNameNode(l.nameParts[n])||[]}return[]}}function Ol(e,t,n=70){let i="";const r=e.overloads.filter((e=>Xs.isOverloaded(e))).map((e=>e.details.name+t.printType(e,!1)));for(let e=0;en&&r[e-1].length<=n&&(i+="\n"),i+=r[e],en&&(i+="\n"));return i}function Ll(e,t,n){const i=e.details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i){let r;if(!Tl(e,i)&&t&&jn(t)&&(r=function(e,t,n){if(!Eo(e))return;let i=e.details.docString;return!i&&t&&(i=El(t,n)),!i&&e.details.declaration&&(i=El(e.details.declaration,n)),i}(e,t,n)),!r&&i){const t=Ta(i,e.details.name,29);for(const e of t)if(e.symbol.getDeclarations().length>0){const t=e.symbol.getDeclarations().slice(-1)[0];if(jn(t)&&(r=El(t,n),r))break}}return r||e.details.docString}(e,i,t,null==s?void 0:s.classType)}function Ul(e,t,n){if(0===e.overloads.length)return[];const i=e.overloads[0].details.declaration,r=i?Er(i.node):void 0,s=r?n.getTypeOfClass(r):void 0;return function(e,t,n,i,r){let s;if(!Tl(e,r))for(const i of t)if(s=wl(e,i,n),s&&s.length>0)return s;if(r&&e.overloads.length>0){const t=Ta(r,e.overloads[0].details.name,29);for(const e of t){const t=e.symbol.getDeclarations().slice(-1)[0],r=i.getTypeForDeclaration(t);if(r&&(s=wl(r,t,n),s&&s.length>0))break}}return null!=s?s:[]}(e,e.overloads.map((e=>e.details.declaration)).filter(a),t,n,null==s?void 0:s.classType)}function ql(e,t,n,i){if(1===(null==n?void 0:n.type)&&n.typeAliasName&&n.docString)return[n.docString];if(To(t)){const i=Il(t,n,e);if(i)return[i]}else if(_o(t)){const i=Sl(t,n,e);if(i)return[i]}else if(Eo(t)){const n=Ll(t,e,i);if(n)return[n]}else{if(ko(t))return Ul(t,e,i);if(1===(null==n?void 0:n.type)){const t=Cl(n,e);if(t)return[t]}else if(3===(null==n?void 0:n.type)){const t=bl(n,e,i);if(t)return[t]}}return[]}var Vl,Bl;!function(e){const t=["True","False","None","and","or","not","is","lambda","yield","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","nonlocal","pass","raise","return","try","while","with"],n=[...t,"async","await"],i=[...n,"case","match"];e.forVersion=function(e){return e>=De.V3_10?i:e>=De.V3_5?n:t}}(Vl||(Vl={})),function(e){e[e.LikelyKeyword=0]="LikelyKeyword",e[e.RecentImportModuleName=1]="RecentImportModuleName",e[e.ImportModuleName=2]="ImportModuleName",e[e.LiteralValue=3]="LiteralValue",e[e.NamedParameter=4]="NamedParameter",e[e.RecentKeywordOrSymbol=5]="RecentKeywordOrSymbol",e[e.RecentAutoImport=6]="RecentAutoImport",e[e.Keyword=7]="Keyword",e[e.EnumMember=8]="EnumMember",e[e.NormalSymbol=9]="NormalSymbol",e[e.PrivateSymbol=10]="PrivateSymbol",e[e.DunderSymbol=11]="DunderSymbol",e[e.AutoImport=12]="AutoImport"}(Bl||(Bl={}));const Wl="Dictionary key";class jl{constructor(e,t,n,i,r,s,o,a,l,c,u,p,d){this._workspacePath=e,this._parseResults=t,this._fileContents=n,this._importResolver=i,this._position=r,this._filePath=s,this._configOptions=o,this._importLookup=a,this._evaluator=l,this._options=c,this._sourceMapper=u,this._autoImportMaps=p,this._cancellationToken=d,this._insideStringLiteral=!1,this._execEnv=this._configOptions.findExecEnvironment(this._filePath)}getCompletionsForPosition(){var e,t;const n=xt(this._position,this._parseResults.tokenizerOutput.lines);if(void 0===n)return;const i=function(e,t){const n=e.getItemAtPosition(t);if(n<0)return;const i=e.getItemAt(n);return dt.overlaps(i,t)?i:void 0}(this._parseResults.tokenizerOutput.tokens,n);5===(null==i?void 0:i.type)&&(this._insideStringLiteral=!!dt.contains(i,n)||!!(65536&i.flags));let r=Tr(this._parseResults.parseTree,n);const s=r,o=r?vr(r):0;if(!s||38!==s.nodeType){let t=n,i=!1;for(;t>=0;){t--;const n=this._fileContents.substr(t,1);if("("===n||"\n"===n||"}"===n)break;","===n&&(i=!0);const a=Tr(this._parseResults.parseTree,t);if(a&&a!==s){vr(a)>o&&(r=a,i&&23===(null===(e=r.parent)||void 0===e?void 0:e.nodeType)&&(r=r.parent));break}}}if(void 0===r)return;const a=this._parseResults.tokenizerOutput.lines.getItemAt(this._position.line),l=this._fileContents.substr(a.start,a.length),c=l.substr(0,this._position.character),u=l.substr(this._position.character),p=c.search(/\w+$/),d=p>=0?c.substr(p):"";if(this._isWithinComment(n))return;let h=r;for(;h&&0!==h.nodeType;)h=h.parent;let m=h||r;for(;;){if(ct(this._cancellationToken),49===m.nodeType)return this._getLiteralCompletions(m,d,c,u);if(48===m.nodeType||27===m.nodeType)return;if(37===m.nodeType)return this._getImportModuleCompletions(m);if(0===m.nodeType)return this._getExpressionErrorCompletions(m,d,c,u);if(35===m.nodeType)return this._getMemberAccessCompletions(m.leftExpression,d);if(15===m.nodeType){const e=new $l;if(this._addTypedDictKeys(m,void 0,c,u,e))return{completionMap:e}}const e=es(m,17);if(e&&15===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=e.parent;if(t.trailingCommaToken&&t.trailingCommaToken.starte.label===n&&e.autoImportText===i));if(r>0&&(jl._mostRecentCompletions=jl._mostRecentCompletions.splice(r,1)),0!==r&&jl._mostRecentCompletions.unshift({label:n,autoImportText:i}),jl._mostRecentCompletions.length>128&&jl._mostRecentCompletions.pop(),t.symbolLabel)if(this._itemToResolve=e,t.autoImportText){if(!e.additionalTextEdits){const e={completionMap:new $l};this._addAutoImportCompletions(t.symbolLabel,1,!1,e)}}else this.getCompletionsForPosition()}_tryGetNameCompletions(e,t,n){var i;if(!e.parent)return!1;if(21!==e.parent.nodeType||e.parent.alias!==e){if(37===e.parent.nodeType){if(e.parent.parent&&21===e.parent.parent.nodeType&&!e.parent.parent.alias&&dt.getEnd(e.parent.parent)this._isOverload(e))))?this._getMethodOverloadsCompletions(n,e):void 0;if(!(41===e.parent.nodeType&&e===e.parent.name||10===e.parent.nodeType&&e===e.parent.name||26===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)||33===e.parent.nodeType&&dt.contains(e.parent.targetExpression,e.start)))return!1}}}_isWithinComment(e){var t,n;const i=function(e,t){const n=t.getItemAtPosition(e);if(n<0)return;let i=t.getItemAt(n);if(!(e>i.start&&e=0;e--){const n=t.getItemAt(e);if(i.start!==n.start)break;i=n}return e<=i.start?i:(w(n+1dt.overlaps(t,e))))&&void 0!==n&&n}_getExpressionErrorCompletions(e,t,n,i){var r;switch(e.category){case 0:return this._createSingleKeywordCompletion("in");case 1:return this._createSingleKeywordCompletion("else");case 2:case 4:return this._getExpressionCompletions(e,t,n,i);case 3:{let r=this._getLiteralCompletions(e,t,n,i);return r&&r.completionMap||(r=this._getExpressionCompletions(e,t,n,i)),r}case 7:if(e.child&&yr(e.child))return this._getMemberAccessCompletions(e.child,t);break;case 10:if(e.child&&38===e.child.nodeType)return(null===(r=e.decorators)||void 0===r?void 0:r.some((e=>this._isOverload(e))))?this._getMethodOverloadsCompletions(t,e.child):this._getMethodOverrideCompletions(t,e.child,e.decorators)}}_isOverload(e){return this._checkDecorator(e,"overload")}_checkDecorator(e,t){return 38===e.expression.nodeType&&e.expression.value===t}_createSingleKeywordCompletion(e){const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.LikelyKeyword,e);const n=new $l;return n.set(t),{completionMap:n}}_getMethodOverloadsCompletions(e,t){var n;const i=function(e,t){const n=Er(t,!1);if(n){const t=e.getTypeOfClass(n);if(!t)return;const i=new Map;for(const e of t.classType.details.mro)_o(e)&&Ma(e,i,!1);return i}const i=function(e){let t=e.parent;for(;t;){if(36===t.nodeType)return t;t=t.parent}E("Module node not found")}(t);if(i){const e=Ft(i);return null==e?void 0:e.symbolTable}}(this._evaluator,t);if(!i)return;const r=28===(null===(n=t.parent)||void 0===n?void 0:n.nodeType)||void 0,s=new $l,o=kr(t);return i.forEach(((n,i)=>{const a=Vo(n);if(!a||3!==a.type)return;if(!a.node.decorators.some((e=>this._isOverload(e))))return;const l=n.getDeclarations();if((1!==l.length||!l.some((e=>e.node===o)))&&N(t.value,i)){const o=this._createReplaceEdits(e,t,a.node.name.value);this._addSymbol(i,n,t.value,s,{funcParensDisabled:r,edits:{textEdit:o}})}})),{completionMap:s}}_getMethodOverrideCompletions(e,t,n){var i,r;const s=Er(t,!0);if(!s)return;const o=this._evaluator.getTypeOfClass(s);if(!o)return;const a=new Map;for(let e=1;ethis._checkDecorator(e,"staticmethod"))))&&void 0!==i&&i,c=null!==(r=null==n?void 0:n.some((e=>this._checkDecorator(e,"classmethod"))))&&void 0!==r&&r,u=new $l;return a.forEach(((n,i)=>{let r=Vo(n);if(r&&3===r.type&&N(t.value,i)){const s=this._evaluator.getTypeForDeclaration(r);if(!s)return;let a=vo(s)&&Zs.isPropertyClass(s);if(Qt(i)&&(a=!1),!Eo(s)&&!a)return;if(a){const e=n.getTypedDeclarations();e.length>0&&3===e[0].type&&(r=e[0])}const p=Eo(s)&&Xs.isStaticMethod(s),d=Eo(s)&&Xs.isClassMethod(s)&&"__init_subclass__"!==i;if(l!==p||c!==d)return;const h=this._printMethodSignature(o.classType,r);let m;m=el(this._filePath)?`${h}: ...`:`${h}:\n${this._printOverriddenMethodBody(o.classType,p,a,r)}`;const f=this._createReplaceEdits(e,t,m);this._addSymbol(i,n,t.value,u,{funcParensDisabled:!0,edits:{format:this._options.snippet?ot.InsertTextFormat.Snippet:void 0,textEdit:f}})}})),{completionMap:u}}_createReplaceEdits(e,t,n){const i=38===(null==t?void 0:t.nodeType)?this._position.character-e.length+t.value.length:this._position.character,r={start:{line:this._position.line,character:this._position.character-e.length},end:{line:this._position.line,character:i}};return ot.TextEdit.replace(r,n)}_printMethodSignature(e,t){const n=t.node;let i;el(this._filePath)?i=!0:e.details.moduleName===t.moduleName&&(i=!1);const r=el(this._filePath)?1:void 0,s=n.parameters.map(((e,t)=>{let s="";1===e.category?s+="*":2===e.category&&(s+="**"),e.name&&(s+=e.name.value);const o=this._evaluator.getTypeAnnotationForParameter(n,t);return o&&(s+=": "+xr(o,r)),e.defaultValue&&(s+=o?" = ":"=",s+=(null!=i?i:!a(e.defaultValue))?"...":xr(e.defaultValue,r)),s||e.name||0!==e.category?s:"/"})).join(", ");let o=n.name.value+"("+s+")";return n.returnTypeAnnotation?o+=" -> "+xr(n.returnTypeAnnotation,r):n.functionAnnotationComment&&(o+=" -> "+xr(n.functionAnnotationComment.returnTypeAnnotation,r)),o;function a(e){switch(e.nodeType){case 40:case 11:return!0;case 49:return 0==(64&e.token.flags);case 48:return e.strings.every(a);case 55:return a(e.expression);case 7:return a(e.leftExpression)&&a(e.rightExpression);default:return!1}}}_printOverriddenMethodBody(e,t,n,i){let r=" ";if(1===e.details.baseClasses.length&&yo(e.details.baseClasses[0])&&"builtins.object"===e.details.baseClasses[0].details.fullName)return r+=this._options.snippet?"${0:pass}":"pass",r;if(0===i.node.parameters.length)return r+=this._options.snippet?"${0:pass}":"pass",r;const s=function(e){const t=[];let n=!1;for(const i of e)i.name&&t.push([i,n]),n=1===i.category||2===i.category;return t}(t?i.node.parameters:i.node.parameters.slice(1));return"__init__"!==i.node.name.value&&(r+="return "),i.node.isAsync&&(r+="await "),n?r+`super().${i.node.name.value}`:r+`super().${i.node.name.value}(${s.map((function(e){var t;const n=null===(t=e[0].name)||void 0===t?void 0:t.value;return 1===e[0].category?`*${n}`:2===e[0].category?`**${n}`:e[1]?`${n}=${n}`:n})).join(", ")})`}_getMemberAccessCompletions(e,t){const n=new Map,i=new $l;let r={},s=this._evaluator.getType(e);return s&&(s=this._evaluator.makeTopLevelTypeVarsConcrete(s),Jo(s,(r=>{if(yo(r=this._evaluator.makeTopLevelTypeVarsConcrete(r)))Ma(r,n,Ks.isInstance(r));else if(To(r))!function(e,t){e.loaderFields&&e.loaderFields.forEach(((e,n)=>{t.set(n,e)})),e.fields.forEach(((e,n)=>{t.set(n,e)}))}(r,n);else if(Eo(r)||ko(r)){const t=this._evaluator.getBuiltInType(e,"function");t&&_o(t)&&Ma(t,n,!0)}else if(lo(r)){const t=this._evaluator.getBuiltInType(e,"object");t&&_o(t)&&Ma(t,n,Ks.isInstance(r))}this._addSymbolsForSymbolTable(n,(()=>!0),t,!1,yo(r)?r:void 0,i)}))),(!s||po(s)||mo(s))&&(r=this._getLastKnownModule(e,s)),{completionMap:i,memberAccessInfo:r}}_getLastKnownModule(e,t){var n;let i=e,r=t,s=35===e.nodeType?null==e?void 0:e.memberName.value:void 0;for(;i&&(9===i.nodeType||35===i.nodeType?(i=i.leftExpression,void 0===s&&(s=35===i.nodeType&&null!==(n=null==i?void 0:i.memberName.value)&&void 0!==n?n:"")):i=void 0,!i||(r=this._evaluator.getType(i),void 0===r||po(r)||mo(r))););const o={};if(r&&!po(r)&&!mo(r)&&i){const e=Ga(r);o.lastKnownModule=e.find((e=>"typing"!==e)),35===i.nodeType?o.lastKnownMemberName=i.memberName.value:(38===i.nodeType&&_o(r)||38===i.nodeType&&vo(r))&&(o.lastKnownMemberName=r.details.name),o.unknownMemberName=s}return o}_getStatementCompletions(e,t,n,i){return this._getExpressionCompletions(e,t,n,i)}_getExpressionCompletions(e,t,n,i){var r,s,o,a;const l=this._isIndexArgument(e);if(!l&&40===e.nodeType)return;if(59===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)&&e.parent===(null===(s=e.parent.target)||void 0===s?void 0:s.parent))return;const c=new $l,u={completionMap:c};if(".."===n.slice(-2))return u;if(this._addCallArgumentCompletions(e,t,n,i,!1,c),this._addSymbols(e,t,c),this._findMatchingKeywords(Vl.forVersion(this._execEnv.pythonVersion),t).map((e=>{if(c.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),c.set(t)})),t.startsWith("_")||this._itemToResolve||this._addAutoImportCompletions(t,.25,this._options.lazyEdit,u),0===e.nodeType)if(3===e.category&&24===(null===(o=e.parent)||void 0===o?void 0:o.nodeType))this._tryAddTypedDictStringLiteral(e.parent,void 0,void 0,c);else if(2===e.category&&e.parent&&3===e.parent.nodeType){const r=null===(a=this._evaluator.getExpectedType(e))||void 0===a?void 0:a.type;r&&this._addLiteralValuesForTargetType(r,n,t,i,c)}if(l){const n=e.parent.parent;this._getIndexerKeys(n,e).forEach((e=>{c.has(e)||this._addNameToCompletions(e,ot.CompletionItemKind.Constant,t,c,{sortText:this._makeSortText(Bl.LiteralValue,e),itemDetail:Wl})}))}return u}_isIndexArgument(e){const t=e.parent;return t&&1===t.nodeType&&0===t.argumentCategory&&t.parent&&24===t.parent.nodeType&&t.parent.baseExpression&&38===t.parent.baseExpression.nodeType}_addCallArgumentCompletions(e,t,n,i,r,s){const o=zr(e,xt(this._position,this._parseResults.tokenizerOutput.lines),this._parseResults.tokenizerOutput.tokens);if(!o)return;const a=this._evaluator.getCallSignatureInfo(o.callNode,o.activeIndex,o.activeOrFake);if(a){const e=It(a.callNode.leftExpression.start+a.callNode.leftExpression.length,this._parseResults.tokenizerOutput.lines);gt(this._position,e)>0&&(r||this._addNamedParameters(a,t,s),this._addLiteralValuesForArgument(a,n,t,i,s))}}_addLiteralValuesForArgument(e,t,n,i,r){e.signatures.forEach((e=>{if(!e.activeParam)return;const s=e.type,o=s.details.parameters.indexOf(e.activeParam);if(o<0)return;const a=s.details.parameters[o].type;this._addLiteralValuesForTargetType(a,t,n,i,r)}))}_addLiteralValuesForTargetType(e,t,n,i,r){const s=this._getQuoteValueFromPriorText(t);this._getSubTypesWithLiteralValues(e).forEach((e=>{if(Zs.isBuiltIn(e,"str")){const t=Rl(e,s.quoteCharacter);void 0===s.stringValue?this._addNameToCompletions(t,ot.CompletionItemKind.Constant,n,r,{sortText:this._makeSortText(Bl.LiteralValue,e.literalValue)}):this._addStringLiteralToCompletions(t.substr(1,t.length-2),s.stringValue,i,s.quoteCharacter,r)}}))}_getDictExpressionStringKeys(e,t){const n=function(e){if(15===e.nodeType)return e;let t=e;for(;t&&15!==t.nodeType&&45!==t.nodeType;)if(t=t.parent,!t)return;return t}(e);return n?n.entries.flatMap((e=>17!==e.nodeType||(null==t?void 0:t.has(e.keyExpression.id))?[]:48===e.keyExpression.nodeType?[e.keyExpression.strings.map((e=>e.value)).join("")]:[])):[]}_getSubTypesWithLiteralValues(e){const t=[];return Jo(e,(e=>{vo(e)&&ra(e)&&t.push(e)})),t}_getIndexerKeyType(e){var t;if((Zs.isBuiltIn(e,"dict")||Zs.isBuiltIn(e,"Mapping"))&&2===(null===(t=e.typeArguments)||void 0===t?void 0:t.length))return e.typeArguments[0];const n=_a(e,"__getitem__");if(null==n?void 0:n.symbol.hasDeclarations()){const e=n.symbol.getDeclarations()[0];if(jn(e)&&e.isMethod){const t=this._evaluator.getTypeForDeclaration(e);if(t&&Eo(t)&&2===t.details.parameters.length)return t.details.parameters[1].type}}}_getIndexerKeys(e,t){var n,i,r,s,o,a,l,c,u;if(38!==e.baseExpression.nodeType)return[];const p=this._evaluator.getType(e.baseExpression);if(!p||!vo(p))return[];const d=this._getIndexerKeyType(p);if(d){const e=[];if(this._getSubTypesWithLiteralValues(d).forEach((t=>{(Zs.isBuiltIn(t,"str")||Zs.isBuiltIn(t,"int")||Zs.isBuiltIn(t,"bool")||Zs.isBuiltIn(t,"bytes")||Zs.isEnumClass(t))&&e.push(Rl(t,this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter))})),e.length>0)return e}const h=null!==(n=this._evaluator.getDeclarationsForNameNode(e.baseExpression))&&void 0!==n?n:[],m=h.length>0?h[0]:void 0;if(!m||1!==m.type&&2!==m.type)return[];if(m.path!==this._filePath)return[];let f=e.baseExpression;if(m.node){const e=Ar(m.node);(null===(i=Gr(f))||void 0===i?void 0:i.filePath)===(null===(r=Gr(e))||void 0===r?void 0:r.filePath)&&(f=e)}const g=Ml.collectFromNode(e.baseExpression,this._evaluator,this._cancellationToken,f),y=new Set;for(const e of g){const n=54===(null===(s=e.node.parent)||void 0===s?void 0:s.nodeType)?e.node.parent:e.node;if(3===(null===(o=n.parent)||void 0===o?void 0:o.nodeType)||4===(null===(a=n.parent)||void 0===a?void 0:a.nodeType)){if(15===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression;for(const t of e.entries.filter((e=>17===e.nodeType))){const e=this._parseResults.text.substr(t.keyExpression.start,t.keyExpression.length).trim();e.length>0&&y.add(e)}}if(9===n.parent.rightExpression.nodeType){const e=n.parent.rightExpression,t=this._evaluator.getType(e.leftExpression);if(!t||!_o(t)||!Zs.isBuiltIn(t,"dict"))continue;for(const t of e.arguments){const e=null!==(c=null===(l=t.name)||void 0===l?void 0:l.value.trim())&&void 0!==c?c:"",n=this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter;e.length>0&&y.add(`${n}${e}${n}`)}}}if(24===(null===(u=n.parent)||void 0===u?void 0:u.nodeType)&&1===n.parent.items.length&&0!==n.parent.items[0].valueExpression.nodeType&&!dt.containsRange(n.parent,t)){const e=n.parent.items[0],t=this._parseResults.text.substr(e.valueExpression.start,e.valueExpression.length).trim();t.length>0&&y.add(t)}}return[...y]}_getLiteralCompletions(e,t,n,i){var r,s,o;let a=e.parent;if(!a)return;const l=new $l;if(yr(a)){const o=this._evaluator.getExpectedType(a);if(o&&sa(o.type))return this._addLiteralValuesForTargetType(o.type,n,t,i,l),{completionMap:l};if(49===e.nodeType&&(null===(r=e.parent)||void 0===r?void 0:r.parent)){const t=e.parent.parent;let r;if(17===t.nodeType&&t.keyExpression===e.parent&&15===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)?r=t.parent:45===(null==t?void 0:t.nodeType)&&(r=t),r&&this._addTypedDictKeys(r,e,n,i,l))return{completionMap:l}}}if(1!==a.nodeType){if(48!==a.nodeType||a.strings.length>1)return;if(a=a.parent,!a)return}if(1===a.nodeType&&24===(null===(o=a.parent)||void 0===o?void 0:o.nodeType)){if(!this._tryAddTypedDictStringLiteral(a.parent,49===e.nodeType?n:"",i,l)){const r=this._getIndexerKeys(a.parent,e),s=this._getQuoteValueFromPriorText(n);for(const n of r){const r=/^["|'].*["|']$/.test(n);if(49!==e.nodeType||r)if(r){const e=n.substr(1,n.length-2);this._addStringLiteralToCompletions(e,s.stringValue,i,s.quoteCharacter,l,Wl)}else this._addNameToCompletions(n,ot.CompletionItemKind.Constant,t,l,{sortText:this._makeSortText(Bl.LiteralValue,n),itemDetail:Wl})}if(0===l.size)return}}else{w(49===e.nodeType);const r=xt(this._position,this._parseResults.tokenizerOutput.lines),s=a.start{vo(e)&&Zs.isTypedDictClass(e)&&a.push(e)})),0===a.length)return!1;const l=this._getDictExpressionStringKeys(e,t?new Set([null===(s=t.parent)||void 0===s?void 0:s.id]):void 0);a=this._tryNarrowTypedDicts(a,l);const c=this._getQuoteValueFromPriorText(n),u=new Set(l);return a.forEach((e=>{gl(this._evaluator,e,!0).forEach(((e,t)=>{u.has(t)||r.has(t)||(u.add(t),this._addStringLiteralToCompletions(t,c?c.stringValue:void 0,i,c?c.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,r))}))})),!0}_tryNarrowTypedDicts(e,t){const n=e.flatMap((e=>{const n=gl(this._evaluator,e,!0);for(let e=0;en)return{quoteCharacter:"'",stringValue:e.substr(t+1)};if(n>t)return{quoteCharacter:'"',stringValue:e.substr(n+1)}}return{stringValue:void 0,quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter}}_tryAddTypedDictStringLiteral(e,t,n,i){if(!e)return!1;const r=this._evaluator.getType(e.baseExpression);if(!r||!vo(r))return!1;if(!Zs.isTypedDictClass(r))return!1;const s=gl(this._evaluator,r,!0),o=t?this._getQuoteValueFromPriorText(t):void 0;return s.forEach(((e,t)=>{this._addStringLiteralToCompletions(t,o?o.stringValue:void 0,n,o?o.quoteCharacter:this._parseResults.tokenizerOutput.predominantSingleQuoteCharacter,i)})),!0}_addStringLiteralToCompletions(e,t,n,i,r,s){if(N(t||"",e)){const o=`${i}${e}${i}`;if(r.has(o))return;const a=ot.CompletionItem.create(o);a.kind=ot.CompletionItemKind.Constant,a.sortText=this._makeSortText(Bl.LiteralValue,o);let l=this._position.character;void 0!==t&&(l-=t.length+1);let c=this._position.character;void 0!==n&&n.startsWith(i)&&c++;const u={start:{line:this._position.line,character:l},end:{line:this._position.line,character:c}};a.textEdit=ot.TextEdit.replace(u,o),a.detail=s,r.set(a)}}_addAutoImportCompletions(e,t,n,i){var r,s,o;if(!i.completionMap||!this._configOptions.autoImportCompletions||!this._options.autoImport)return;const a=this._autoImportMaps.getModuleSymbolsMap(),l=new Hl(this._execEnv,this._importResolver,this._parseResults,this._position,i.completionMap,a,{libraryMap:this._autoImportMaps.libraryMap,lazyEdit:n}),c=[],u=null===(r=this._autoImportMaps.nameMap)||void 0===r?void 0:r.get(e);u&&e.length>1&&!i.completionMap.has(e)&&c.push(...l.getAutoImportCandidatesForAbbr(e,u,this._cancellationToken)),c.push(...l.getAutoImportCandidates(e,t,void 0,this._cancellationToken));const p=l.getPerfInfo(),d=new Pn;for(const t of c)t.symbol?this._addSymbol(t.name,t.symbol,e,i.completionMap,{autoImportSource:t.source,autoImportAlias:t.alias,edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}}):this._addNameToCompletions(null!==(s=t.alias)&&void 0!==s?s:t.name,null!==(o=t.kind)&&void 0!==o?o:ot.CompletionItemKind.Module,e,i.completionMap,{autoImportText:this._getAutoImportText(t.name,t.source,t.alias),edits:{textEdit:this._createReplaceEdits(e,void 0,t.insertionText),additionalTextEdits:t.edits}});i.autoImportInfo={indexUsed:p.indexUsed,totalTimeInMS:p.totalInMs,moduleTimeInMS:p.moduleTimeInMS,indexTimeInMS:p.indexTimeInMS,importAliasTimeInMS:p.importAliasTimeInMS,itemCount:c.length,symbolCount:p.symbolCount,indexCount:p.indexCount,importAliasCount:p.importAliasCount,additionTimeInMS:d.getDurationInMilliseconds()}}_getImportFromCompletions(e,t){if(e.isWildcardImport)return;const n=Rt(e.module);if(!n)return;const i=new $l,r=n.resolvedPaths.length>0?n.resolvedPaths[n.resolvedPaths.length-1]:"",s=this._importLookup(r);return s&&this._addSymbolsForSymbolTable(s.symbolTable,((t,n)=>t.getDeclarations().some((e=>!(0===e.type)))&&!e.imports.find((e=>e.name.value===n))),t,!0,void 0,i),n.implicitImports.forEach((n=>{e.imports.find((e=>e.name.value===n.name))||this._addNameToCompletions(n.name,ot.CompletionItemKind.Module,t,i)})),{completionMap:i}}_findMatchingKeywords(e,t){return e.filter((e=>!t||N(t,e)))}_addNamedParameters(e,t,n){const i=new Map;e.signatures.forEach((e=>{this._addNamedParametersToMap(e.type,i)})),e.callNode.arguments.forEach((e=>{e.name&&i.delete(e.name.value)})),i.forEach((e=>{if(N(t,e)){const t=e+"=";if(n.has(t))return;const i=ot.CompletionItem.create(t);i.kind=ot.CompletionItemKind.Variable;const r={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};i.data=r,i.sortText=this._makeSortText(Bl.NamedParameter,e),n.set(i)}}))}_addNamedParametersToMap(e,t){e.details.parameters.forEach((e=>{e.name&&!e.isNameSynthesized&&(Yt(e.name)||t.set(e.name,e.name))}))}_addSymbols(e,t,n){let i=e;for(;i;){let e=zs(i);if(e){for(;e;)this._addSymbolsForSymbolTable(e.symbolTable,(()=>!0),t,!1,void 0,n),e=e.parent;if(10===i.nodeType){const e=this._evaluator.getTypeOfClass(i);e&&_o(e.classType)&&e.classType.details.mro.forEach(((e,i)=>{_o(e)&&this._addSymbolsForSymbolTable(e.details.fields,(e=>!!e.isClassMember()&&e.getDeclarations().some((e=>1===e.type))),t,!1,void 0,n)}))}break}i=i.parent}}_addSymbolsForSymbolTable(e,t,n,i,r,s){e.forEach(((e,o)=>{(!e.isExternallyHidden()||e.getDeclarations().some((e=>{return t=e,n=this._filePath,Gn(t)?(null===(i=Gr(t.node))||void 0===i?void 0:i.filePath)===n:t.path===n;var t,n,i})))&&t(e,o)&&(s.has(o)||this._addSymbol(o,e,n,s,{boundObjectOrClass:r,funcParensDisabled:i}))}))}_addSymbol(e,t,n,i,r){var s,o,a;if(t.isPrivatePyTypedImport())return;let l=Vo(t);if(!l){const e=t.getDeclarations();e.length>0&&(l=e[e.length-1])}if(l){let c=ot.CompletionItemKind.Variable;if(l=this._evaluator.resolveAliasDeclaration(l,!0),l&&(c=this._convertDeclarationTypeToItemKind(l),1===l.type&&r.boundObjectOrClass&&_o(r.boundObjectOrClass)&&Zs.isEnumClass(r.boundObjectOrClass)&&3===(null===(s=l.node.parent)||void 0===s?void 0:s.nodeType)&&(c=ot.CompletionItemKind.EnumMember),this._itemToResolve)){const n=this._itemToResolve.data;if(n.symbolLabel===e&&!n.autoImportText){const n=this._evaluator.getEffectiveTypeOfSymbol(t);if(n){let i,s,a;switch(l.type){case 0:case 1:case 2:{let t=!1;if(n&&Ks.isInstantiable(n)){const i=Do(n);i&&i.name===e&&(t=!0)}i=e+": "+this._evaluator.printType(n,t);break}case 3:{const t=r.boundObjectOrClass&&(Eo(n)||ko(n))?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;if(t)if(ua(t)&&r.boundObjectOrClass&&vo(r.boundObjectOrClass)){const n=this._evaluator.getGetterTypeFromProperty(t,!0)||Ys.create();i=e+": "+this._evaluator.printType(n,!1)+" (property)",s=r.boundObjectOrClass.details.fullName+"."+e+" (property)"}else ko(t)?(i=Ol(t,this._evaluator,35),s=zl(t.overloads[0])):(i=e+": "+this._evaluator.printType(t,!1),Eo(t)&&(s=zl(t)));break}case 4:case 5:i="class "+e+"()";break;case 6:if(i=e,l.path){const e=this._importLookup(l.path);e&&(a=e.docString)}break;default:i=e}if(1===l.type&&l.typeAliasName&&l.docString)a=l.docString;else if(To(n))a=Il(n,l,this._sourceMapper);else if(_o(n))a=Sl(n,l,this._sourceMapper);else if(Eo(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&Eo(e)&&(a=Ll(e,this._sourceMapper,this._evaluator))}else if(ko(n)){const e=r.boundObjectOrClass?this._evaluator.bindFunctionToClassOrObject(r.boundObjectOrClass,n):n;e&&ko(e)&&(a=Ul(e,this._sourceMapper,this._evaluator).find((e=>e)))}else 3===(null==l?void 0:l.type)?a=bl(l,this._sourceMapper,this._evaluator):1===(null==l?void 0:l.type)&&(a=Cl(null!==(o=t.getDeclarations().find((e=>1===e.type&&!!e.docString)))&&void 0!==o?o:l,this._sourceMapper));if(!s&&!a)return;if(this._options.format===ot.MarkupKind.Markdown){let e="";s&&(e+="```python\n"+s+"\n```\n"),s&&a&&(e+="---\n"),a&&(e+=ds(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.Markdown,value:e}}else if(this._options.format===ot.MarkupKind.PlainText){let e="";s&&(e+=s+"\n"),s&&a&&(e+="\n"),a&&(e+=hs(a)),e=e.trimEnd(),this._itemToResolve.documentation={kind:ot.MarkupKind.PlainText,value:e}}else E(`Unsupported markup type: ${this._options.format}`)}}}const u=r.autoImportSource?this._getAutoImportText(e,r.autoImportSource,r.autoImportAlias):void 0;this._addNameToCompletions(null!==(a=r.autoImportAlias)&&void 0!==a?a:e,c,n,i,{autoImportText:u,funcParensDisabled:r.funcParensDisabled,edits:r.edits})}else if(t.getSynthesizedType()){const t=ot.CompletionItemKind.Variable;this._addNameToCompletions(e,t,n,i,{funcParensDisabled:r.funcParensDisabled,edits:r.edits})}}_getAutoImportText(e,t,n){const i=function(e,t,n){let i;return i=t?`from ${t} import ${e}`:`import ${e}`,n&&(i=`${i} as ${n}`),i}(e,t,n);return this._options.format===ot.MarkupKind.Markdown?`\`\`\`\n${i}\n\`\`\``:this._options.format===ot.MarkupKind.PlainText?i:void E(`Unsupported markup type: ${this._options.format}`)}_addNameToCompletions(e,t,n,i,r){var s,o,a;if(!(null==r?void 0:r.autoImportText)&&!N(n,e))return;if(i.has(e,$l.matchKindAndImportText,t,null==r?void 0:r.autoImportText))return;const l=ot.CompletionItem.create(e);l.kind=t;const c={workspacePath:this._workspacePath,filePath:this._filePath,position:this._position};if((null==r?void 0:r.funcParensDisabled)&&(c.funcParensDisabled=!0),l.data=c,(null==r?void 0:r.sortText)||(null==r?void 0:r.itemDetail)?(l.sortText=r.sortText,l.detail=r.itemDetail):(null==r?void 0:r.autoImportText)?(l.sortText=this._makeSortText(Bl.AutoImport,e,r.autoImportText),c.autoImportText=r.autoImportText,l.detail="Auto-import"):t===ot.CompletionItemKind.EnumMember?l.sortText=this._makeSortText(Bl.EnumMember,e):Qt(e)?l.sortText=this._makeSortText(Bl.DunderSymbol,e):""===n&&Yt(e)?l.sortText=this._makeSortText(Bl.PrivateSymbol,e):l.sortText=this._makeSortText(Bl.NormalSymbol,e),c.symbolLabel=e,this._options.format===ot.MarkupKind.Markdown){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+="```python\n"+r.typeDetail+"\n```\n"),(null==r?void 0:r.documentation)&&(e+="---\n",e+=ds(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.Markdown,value:e})}else if(this._options.format===ot.MarkupKind.PlainText){let e="";(null==r?void 0:r.autoImportText)&&(e+=r.autoImportText,(r.typeDetail||r.documentation)&&(e+="\n\n")),(null==r?void 0:r.typeDetail)&&(e+=r.typeDetail+"\n"),(null==r?void 0:r.documentation)&&(e+="\n"+hs(r.documentation)),e=e.trimEnd(),e&&(l.documentation={kind:ot.MarkupKind.PlainText,value:e})}else E(`Unsupported markup type: ${this._options.format}`);(null===(s=null==r?void 0:r.edits)||void 0===s?void 0:s.format)&&(l.insertTextFormat=r.edits.format),(null===(o=null==r?void 0:r.edits)||void 0===o?void 0:o.textEdit)&&(l.textEdit=r.edits.textEdit),(null===(a=null==r?void 0:r.edits)||void 0===a?void 0:a.additionalTextEdits)&&(l.additionalTextEdits=r.edits.additionalTextEdits.map((e=>({range:{start:{line:e.range.start.line,character:e.range.start.character},end:{line:e.range.end.line,character:e.range.end.character}},newText:e.replacementText}))),this._itemToResolve)&&this._itemToResolve.data.autoImportText===c.autoImportText&&(this._itemToResolve.additionalTextEdits=l.additionalTextEdits),i.set(l)}_getRecentListIndex(e,t){return jl._mostRecentCompletions.findIndex((n=>n.label===e&&n.autoImportText===t))}_makeSortText(e,t,n=""){const i=this._getRecentListIndex(t,n);return i>=0&&(e===Bl.AutoImport?e=Bl.RecentAutoImport:e===Bl.ImportModuleName?e=Bl.RecentImportModuleName:e!==Bl.Keyword&&e!==Bl.NormalSymbol&&e!==Bl.PrivateSymbol&&e!==Bl.DunderSymbol||(e=Bl.RecentKeywordOrSymbol)),this._formatInteger(e,2)+"."+this._formatInteger(i,4)+"."+t}_formatInteger(e,t){const n="0".charCodeAt(0);let i="";for(let r=0;re.value)),importedSymbols:[]},n=this._importResolver.getCompletionSuggestions(this._filePath,this._execEnv,t),i=new $l;if(!e.hasTrailingDot&&e.parent&&22===e.parent.nodeType&&e.parent.missingImportKeyword){const e="import",t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Keyword,t.sortText=this._makeSortText(Bl.Keyword,e),i.set(t)}return n.forEach((e=>{if(i.has(e))return;const t=ot.CompletionItem.create(e);t.kind=ot.CompletionItemKind.Module,t.sortText=this._makeSortText(Bl.ImportModuleName,e),i.set(t)})),{completionMap:i}}_isPossiblePropertyDeclaration(e){return e.isMethod&&e.node.decorators.length>0}}function zl(e){const t=e.details.parameters.filter(((e,t)=>!(e.hasDefault||0===t&&"self"===e.name)));return e.details.fullName+"("+t.map((e=>1===e.category?"*"+e.name:2===e.category?"**"+e.name:e.name)).join(", ")+")"}jl._mostRecentCompletions=[];class $l{constructor(){this._completions=new Map}get size(){return this._completions.size}set(e){const t=this._completions.get(e.label);t?Array.isArray(t)?t.push(e):this._completions.set(e.label,[t,e]):this._completions.set(e.label,e)}get(e){return this._completions.get(e)}has(e,t,n,i){const r=this._completions.get(e);return!!r&&(!t||t(r,n,i))}clear(){this._completions.clear()}delete(e){return this._completions.delete(e)}toArray(){var e;const t=[];return null===(e=this._completions)||void 0===e||e.forEach((e=>{Array.isArray(e)?e.forEach((e=>{t.push(e)})):t.push(e)})),t}static matchKindAndImportText(e,t,n){var i;return!!e&&(Array.isArray(e)?!!e.find((e=>e.kind===t&&e.data.autoImport===n)):e.kind===t&&(null===(i=e.data)||void 0===i?void 0:i.autoImport)===n)}static labelOnlyIgnoringAutoImports(e,t,n){var i;if(!e)return!1;if(Array.isArray(e)){if(e.find((e=>{var t;return!(null===(t=e.data)||void 0===t?void 0:t.autoImport)})))return!0}else if(!(null===(i=e.data)||void 0===i?void 0:i.autoImport))return!0;return!1}}class Hl{constructor(e,t,n,i,r,s,o){this._execEnvironment=e,this._importResolver=t,this._parseResults=n,this._invocationPosition=i,this._excludes=r,this._moduleSymbolMap=s,this._options=o,this._stopWatch=new Pn,this._perfInfo={indexUsed:!1,totalInMs:0,moduleTimeInMS:0,indexTimeInMS:0,importAliasTimeInMS:0,symbolCount:0,indexCount:0,importAliasCount:0},this._importStatements=tn(this._parseResults.parseTree,!0),this._perfInfo.indexUsed=!!this._options.libraryMap}getAutoImportCandidatesForAbbr(e,t,n){const i=this._getCandidates(t.importName,1,e,n).get(t.importName);return i?i.filter((e=>e.source===t.importFrom)):[]}getAutoImportCandidates(e,t,n,i){const r=[];return this._getCandidates(e,t,n,i).forEach((e=>r.push(...e))),r}getPerfInfo(){return this._perfInfo.totalInMs=this._stopWatch.getDurationInMilliseconds(),this._perfInfo}_getCandidates(e,t,n,i){const r=new Map,s=new Map;return this._addImportsFromModuleMap(e,t,n,s,r,i),this._addImportsFromLibraryMap(e,t,n,s,r,i),this._addImportsFromImportAliasMap(s,n,r,i),r}_addImportsFromLibraryMap(e,t,n,i,r,s){var o;const a=this._stopWatch.getDurationInMilliseconds();null===(o=this._options.libraryMap)||void 0===o||o.forEach(((o,a)=>{if(o.privateOrProtected)return;if(this._moduleSymbolMap.has(a))return;const l=this._isStubFileOrHasInit(this._options.libraryMap,a);this._processModuleSymbolTable(Gl(o,!0),a,e,t,l,n,i,r,s)})),this._perfInfo.indexTimeInMS=this._stopWatch.getDurationInMilliseconds()-a}_addImportsFromModuleMap(e,t,n,i,r,s){const o=this._stopWatch.getDurationInMilliseconds();this._moduleSymbolMap.forEach(((o,a)=>{const l=this._isStubFileOrHasInit(this._moduleSymbolMap,a);this._processModuleSymbolTable(o,a,e,t,l,n,i,r,s)})),this._perfInfo.moduleTimeInMS=this._stopWatch.getDurationInMilliseconds()-o}_isStubFileOrHasInit(e,t){const n=te($(t),"__init__.py"),i=n+"i";return{isStub:t.endsWith(".pyi"),hasInit:e.has(n)||e.has(i)}}_processModuleSymbolTable(e,t,n,i,r,s,o,a,l){ct(l);const[c,u,p]=this._getImportPartsForSymbols(t);if(!c)return;const d=B(c,".");if(e.forEach(((e,l,h)=>{var m;if(this._perfIndexCount(e,h),!this._shouldIncludeVariable(e,l,r.isStub,h))return;if(!this._isSimilar(n,l,i))return;if(this._containsName(l,c,a))return;if(e.importAlias)return void this._addToImportAliasMap(e.importAlias,{importParts:{symbolName:l,importName:l,importFrom:c,filePath:t,dotCount:d,moduleNameAndType:p},importGroup:u,symbol:e.symbol,kind:e.importAlias.kind,itemKind:e.importAlias.itemKind},o);const f=this._getTextEditsForAutoImportByFilePath(c,l,s,l,u,t);this._addResult(a,{name:l,alias:s,symbol:e.symbol,source:c,kind:null!==(m=e.itemKind)&&void 0!==m?m:Kl(e.kind),insertionText:f.insertionText,edits:f.edits})})),!r.isStub&&!r.hasInit)return;const h=this._getImportParts(t);h&&this._isSimilar(n,h.importName,i)&&(this._containsName(h.importName,h.importFrom,a)||this._addToImportAliasMap({modulePath:t,originalName:h.importName,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},{importParts:h,importGroup:u,kind:ot.SymbolKind.Module,itemKind:ot.CompletionItemKind.Module},o))}_shouldIncludeVariable(e,t,n,i){var r;return!(!n&&e.kind===ot.SymbolKind.Variable)||!(!this._options.allowVariableInAll||i||!(null===(r=e.symbol)||void 0===r?void 0:r.isInDunderAll()))||function(e){return!Yt(e)&&(Zt(e)||Xt(e))}(t)}_addImportsFromImportAliasMap(e,t,n,i){ct(i);const r=this._stopWatch.getDurationInMilliseconds();e.forEach((e=>{this._perfInfo.importAliasCount+=e.size,e.forEach((e=>{var i,r;if(t){if(this._importStatements.mapByFilePath.has(e.importParts.filePath))return;if(e.importParts.importFrom){const t=this._importStatements.orderedImports.find((t=>t.moduleName===e.importParts.importFrom));if(t&&22===t.node.nodeType&&t.node.imports.some((t=>t.name.value===e.importParts.symbolName)))return}}if(this._containsName(e.importParts.importName,e.importParts.importFrom,n))return;const s=this._getTextEditsForAutoImportByFilePath(null!==(i=e.importParts.importFrom)&&void 0!==i?i:e.importParts.importName,e.importParts.symbolName,t,e.importParts.importName,e.importGroup,e.importParts.filePath);this._addResult(n,{name:e.importParts.importName,alias:t,symbol:e.symbol,kind:null!==(r=e.itemKind)&&void 0!==r?r:Kl(e.kind),source:e.importParts.importFrom,insertionText:s.insertionText,edits:s.edits})}))})),this._perfInfo.importAliasTimeInMS=this._stopWatch.getDurationInMilliseconds()-r}_addToImportAliasMap(e,t,n){if(!n.has(e.modulePath)){const i=new Map;return i.set(e.originalName,t),void n.set(e.modulePath,i)}const i=n.get(e.modulePath);if(!i.has(e.originalName))return void i.set(e.originalName,t);const r=i.get(e.originalName);this._compareImportAliasData(r,t)<=0||i.set(e.originalName,t)}_compareImportAliasData(e,t){const n=e.importGroup-t.importGroup;if(0!==n)return n;const i=e.importParts.dotCount-t.importParts.dotCount;return 0!==i?i:e.symbol&&!t.symbol?-1:!e.symbol&&t.symbol?1:U()(e.importParts.importName,t.importParts.importName)}_getImportPartsForSymbols(e){const t=this._importStatements.mapByFilePath.get(e);if(t)return[t.moduleName,en(t),{importType:2,isLocalTypingsFile:!1,moduleName:t.moduleName}];{const t=this._getModuleNameAndTypeFromFilePath(e);return[t.moduleName,cn(t),t]}}_getImportParts(e){return function(t){const n=t.moduleName;if(!n)return;const i=n.lastIndexOf("."),r=i>0?n.substring(i+1):void 0,s=i>0?n.substring(0,i):void 0;return{symbolName:r,importName:null!=r?r:n,importFrom:s,filePath:e,dotCount:B(n,"."),moduleNameAndType:t}}("__init__"===he(de(e))?this._getModuleNameAndTypeFromFilePath($(e)):this._getModuleNameAndTypeFromFilePath(e))}_isSimilar(e,t,n){if(1===n)return e===t;if(e.length<=0||t.length<=0)return!1;if(!this._options.patternMatcher){const n="_"!==e[0]&&"_"===t[0]&&t.length>1?1:0;return e[0].toLocaleLowerCase()===t[n].toLocaleLowerCase()&&N(e,t)}return this._options.patternMatcher(e,t)}_shouldExclude(e){return this._excludes.has(e,$l.labelOnlyIgnoringAutoImports)}_containsName(e,t,n){if(this._shouldExclude(e))return!0;const i=n.get(e);return!!(null==i?void 0:i.some((e=>e.source===t)))}_getModuleNameAndTypeFromFilePath(e){return this._importResolver.getModuleNameForImport(e,this._execEnvironment)}_getTextEditsForAutoImportByFilePath(e,t,n,i,r,s){var o,a,l,c,u,p;const d=this._importStatements.mapByFilePath.get(s);if(d){if(20===d.node.nodeType){const e=null===(a=null===(o=d.subnode)||void 0===o?void 0:o.alias)||void 0===a?void 0:a.value;if(t)return{insertionText:`${null!=e?e:d.moduleName}.${t}`,edits:[]};if(e)return{insertionText:`${e}`,edits:[]}}if(t&&22===d.node.nodeType&&!d.node.isWildcardImport){const r=d.node.imports.find((e=>e.name.value===t));if(r){const e=null===(l=r.alias)||void 0===l?void 0:l.value;return{insertionText:`${null!=e?e:t}`,edits:[]}}if(e===d.moduleName)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},d,this._parseResults)}}}else if(t){const r=this._importStatements.orderedImports.find((t=>t.moduleName===e));if(r&&22===r.node.nodeType&&!r.node.isWildcardImport){const e=r.node.imports.find((e=>e.name.value===t));if(!e)return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:rn({name:t,alias:n},r,this._parseResults)};{const t=null===(c=e.alias)||void 0===c?void 0:c.value;if(t)return{insertionText:`${t}`,edits:[]}}}const o=null===(u=this._importStatements.implicitImports)||void 0===u?void 0:u.get(s);if(o){const e=null===(p=o.alias)||void 0===p?void 0:p.value;return{insertionText:`${null!=e?e:o.name.value}.${t}`,edits:[]}}}return{insertionText:null!=n?n:i,edits:this._options.lazyEdit?void 0:an({name:t,alias:n},this._importStatements,e,r,this._parseResults,this._invocationPosition)}}_perfIndexCount(e,t){e.symbol?this._perfInfo.symbolCount++:t&&this._perfInfo.indexCount++}_addResult(e,t){let n=e.get(t.name);n||(n=[],e.set(t.name,n)),n.push(t)}}function Gl(e,t){return{forEach(n){e.symbols.forEach((e=>{e.externallyVisible&&n({importAlias:e.alias,kind:e.kind,itemKind:e.itemKind},e.name,t)}))}}}function Kl(e){switch(e){case ot.SymbolKind.File:return ot.CompletionItemKind.File;case ot.SymbolKind.Module:case ot.SymbolKind.Namespace:return ot.CompletionItemKind.Module;case ot.SymbolKind.Package:return ot.CompletionItemKind.Folder;case ot.SymbolKind.Class:return ot.CompletionItemKind.Class;case ot.SymbolKind.Method:return ot.CompletionItemKind.Method;case ot.SymbolKind.Property:return ot.CompletionItemKind.Property;case ot.SymbolKind.Field:return ot.CompletionItemKind.Field;case ot.SymbolKind.Constructor:return ot.CompletionItemKind.Constructor;case ot.SymbolKind.Enum:return ot.CompletionItemKind.Enum;case ot.SymbolKind.Interface:return ot.CompletionItemKind.Interface;case ot.SymbolKind.Function:return ot.CompletionItemKind.Function;case ot.SymbolKind.Variable:case ot.SymbolKind.Array:return ot.CompletionItemKind.Variable;case ot.SymbolKind.String:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Number:case ot.SymbolKind.Boolean:return ot.CompletionItemKind.Value;case ot.SymbolKind.Constant:case ot.SymbolKind.Null:return ot.CompletionItemKind.Constant;case ot.SymbolKind.Object:case ot.SymbolKind.Key:return ot.CompletionItemKind.Value;case ot.SymbolKind.EnumMember:return ot.CompletionItemKind.EnumMember;case ot.SymbolKind.Struct:return ot.CompletionItemKind.Struct;case ot.SymbolKind.Event:return ot.CompletionItemKind.Event;case ot.SymbolKind.Operator:return ot.CompletionItemKind.Operator;case ot.SymbolKind.TypeParameter:return ot.CompletionItemKind.TypeParameter;default:return}}class Jl{static getCallForDeclaration(e,t,n,i){if(ct(i),3===t.type||4===t.type)return{name:e,kind:Zl(t,n),uri:t.path,range:t.range,selectionRange:t.range}}static getIncomingCallsForDeclaration(e,t,n,i,r,s){ct(s);const o=new Ql(e,t,n,i,r,s).findCalls();return o.length>0?o:void 0}static getOutgoingCallsForDeclaration(e,t,n,i){let r;if(ct(i),3===e.type)r=e.node;else if(4===e.type){const t=n.getTypeForDeclaration(e);if(t&&_o(t)){const e=va(t,"__init__",14);if(e){const t=n.getTypeOfMember(e);if(t&&Eo(t)){const t=e.symbol.getDeclarations();if(t&&t.length>0){const e=t[0];3===e.type&&(r=e.node)}}}}}if(!r)return;const s=new Yl(r,t,n,i).findCalls();return s.length>0?s:void 0}static getTargetDeclaration(e,t){let n=e[0];for(const i of e)if((ns(i)||!ns(n))&&(3===i.type||4===i.type)&&(n=i,i.node===t))break;return n}}class Yl extends _r{constructor(e,t,n,i){super(),this._parseRoot=e,this._parseResults=t,this._evaluator=n,this._cancellationToken=i,this._outgoingCalls=[]}findCalls(){return this.walk(this._parseRoot),this._outgoingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.forEach((e=>{this._addOutgoingCallForDeclaration(t,e)}))}return!0}visitMemberAccess(e){ct(this._cancellationToken);const t=this._evaluator.getType(e.leftExpression);return t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&vo(r)&&Zs.isPropertyClass(r)&&s.forEach((t=>{this._addOutgoingCallForDeclaration(e.memberName,t)}))})),!0}_addOutgoingCallForDeclaration(e,t){const n=this._evaluator.resolveAliasDeclaration(t,!0);if(!n)return;if(3!==n.type&&4!==n.type)return;const i={name:e.value,kind:Zl(n,this._evaluator),uri:n.path,range:n.range,selectionRange:n.range};let r=this._outgoingCalls.find((e=>e.to.uri===i.uri&&Tt(e.to.range,i.range)));r||(r={to:i,fromRanges:[]},this._outgoingCalls.push(r));const s=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);r.fromRanges.push(s)}}class Ql extends _r{constructor(e,t,n,i,r,s){super(),this._filePath=e,this._symbolName=t,this._declaration=n,this._parseResults=i,this._evaluator=r,this._cancellationToken=s,this._incomingCalls=[]}findCalls(){return this.walk(this._parseResults.parseTree),this._incomingCalls}visitCall(e){let t;if(ct(this._cancellationToken),38===e.leftExpression.nodeType?t=e.leftExpression:35===e.leftExpression.nodeType&&(t=e.leftExpression.memberName),t&&t.value===this._symbolName){const e=this._evaluator.getDeclarationsForNameNode(t);e&&e.map((e=>this._evaluator.resolveAliasDeclaration(e,!0))).filter((e=>void 0!==e)).some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(t)}return!0}visitMemberAccess(e){if(ct(this._cancellationToken),e.memberName.value===this._symbolName){const t=this._evaluator.getType(e.leftExpression);t&&Jo(t,(t=>{let n=t;if(n=this._evaluator.makeTopLevelTypeVarsConcrete(n),!vo(n))return;const i=_a(n,e.memberName.value);if(!i)return;const r=this._evaluator.getTypeOfMember(i),s=i.symbol.getDeclarations();r&&s.some((e=>is(e,this._declaration)))&&this._addIncomingCallForDeclaration(e.memberName)}))}return!0}_addIncomingCallForDeclaration(e){const t=Rr(e);if(!t)return;let n;if(36===t.nodeType){const e=St(0,0,this._parseResults.tokenizerOutput.lines),t=de(this._filePath);n={name:`(module) ${t}`,kind:ot.SymbolKind.Module,uri:this._filePath,range:e,selectionRange:e}}else if(30===t.nodeType){const e=St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines);n={name:"(lambda)",kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}else{const e=St(t.name.start,t.name.start+t.name.length,this._parseResults.tokenizerOutput.lines);n={name:t.name.value,kind:ot.SymbolKind.Function,uri:this._filePath,range:e,selectionRange:e}}let i=this._incomingCalls.find((e=>e.from.uri===n.uri&&Tt(e.from.range,n.range)));i||(i={from:n,fromRanges:[]},this._incomingCalls.push(i));const r=St(e.start,e.start+e.length,this._parseResults.tokenizerOutput.lines);i.fromRanges.push(r)}}function Zl(e,t){let n;switch(e.type){case 4:case 5:n=ot.SymbolKind.Class;break;case 3:if(e.isMethod){const i=t.getTypeForDeclaration(e);n=i&&ua(i)?ot.SymbolKind.Property:ot.SymbolKind.Method}else n=ot.SymbolKind.Function;break;default:n=ot.SymbolKind.Function}return n}class Xl{constructor(e,t,n,i,r){this.requiresGlobalSearch=e,this.nodeAtOffset=t,this.symbolName=n,this.declarations=i,this._reporter=r,this._locations=[]}get locations(){return this._locations}addLocations(...e){0!==e.length&&(this._reporter&&this._reporter(e),this._locations.push(...e))}}class ec{constructor(e,t,n,i,r,s){this._parseResults=e,this._filePath=t,this._referencesResult=n,this._includeDeclaration=i,this._evaluator=r,this._cancellationToken=s}findReferences(e=this._parseResults.parseTree){const t=new Ml(this._referencesResult.symbolName,this._referencesResult.declarations,this._evaluator,this._cancellationToken,e,!0),n=[];for(const e of t.collect())(this._includeDeclaration||e.node!==this._referencesResult.nodeAtOffset)&&n.push({path:this._filePath,range:{start:It(e.range.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e.range),this._parseResults.tokenizerOutput.lines)}});return n}}class tc{static getDeclarationForNode(e,t,n,i,r,s){ct(s);const o=Ml.getDeclarationsForNode(n,i,!1,s,e);if(0===o.length)return;const a=o.some((e=>{var n,i;if(e.path!==t)return!0;const r=Ar(e.node);return 36===r.nodeType||10===r.nodeType||35===(null===(i=null===(n=e.node)||void 0===n?void 0:n.parent)||void 0===i?void 0:i.nodeType)&&e.node===e.node.parent.memberName}));return new Xl(a,n,n.value,o,r)}static getDeclarationForPosition(e,t,n,i,r,s,o){ct(o);const a=xt(i,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);return void 0!==l&&38===l.nodeType?this.getDeclarationForNode(e,n,l,r,s,o):void 0}static addReferences(e,t,n,i,r,s){const o=new ec(e,t,n,i,r,s);n.addLocations(...o.findReferences())}}var nc,ic,rc,sc,oc,ac,lc,cc,uc,pc,dc,hc,mc,fc;!function(e){e[e.File=0]="File",e[e.Folder=1]="Folder",e[e.Symbol=2]="Symbol"}(nc||(nc={}));class gc{constructor(e,t,n,i,r,s,o,a,l){if(this._fs=e,this._evaluator=t,this._moduleFilePath=n,this._moduleNameAndType=r,this._newModuleNameAndType=s,this._type=o,this._declarations=a,this._token=l,this._results=new Map,this._aliasIntroduced=new Set,this._newModuleFilePath=ee(i),this._moduleNames=this._moduleName.split("."),this._newModuleNames=this._newModuleName.split("."),this._moduleNames.length!==this._newModuleNames.length)return void(this._onlyNameChanged=!1);let c=0;for(c=0;ce.realCasePath(t)));return 3===i.length&&".."===i[1]&&".."!==i[2]?"Renamed":"Moved"}(e.fileSystem,i,r))return;let o=te(i,"__init__.pyi");if(!e.fileSystem.existsSync(o)&&(o=te(i,"__init__.py"),!e.fileSystem.existsSync(o)))return;return this._create(e,t,n,o,te(r,de(o)),nc.Folder,s)}}}static createForSymbol(e,t,n,i,r,s,o){if(!e.fileSystem.existsSync(i))return;const a=s.filter((e=>zn(e)||jn(e)||Hn(e)));return 0!==a.length?this._create(e,t,n,i,r,nc.Symbol,a,o):void 0}static _create(e,t,n,i,r,s,o,a){const l=t.findExecEnvironment(i),c=e.getModuleNameForImport(i,l);if(!c.moduleName)return;const u=e.getModuleNameForImport(r,l);if(!u.moduleName)return;a=ot.CancellationToken.is(o)?o:a;const p=ot.CancellationToken.is(o)?[]:o;return 0===p.length&&(p.push(cs(i)),el(i)&&(e.resolveImport(i,l,vn(c.moduleName)),e.getSourceFilesFromStub(i,l,!1).forEach((e=>p.push(cs(e)))))),new gc(e.fileSystem,n,i,r,c,u,s,p,a)}renameReferences(e,t){switch(this._type){case nc.Folder:return this._renameFolderReferences(e,t);case nc.File:return this._renameModuleReferences(e,t);case nc.Symbol:return this._updateSymbolReferences(e,t);default:return k(this._type,`${this._type} is unknown`)}}_updateSymbolReferences(e,t){var n,i,r,s;const o=new Ml(null!==(n=as(this._declarations[0]))&&void 0!==n?n:"",this._declarations,this._evaluator,this._token,t.parseTree,!0),a=tn(t.parseTree,!0),l=a.orderedImports.find((e=>e.moduleName===this._newModuleName)),c=new Set,u=new Map;for(const n of o.collect()){const o=n.node;if(49===o.nodeType)continue;if(Qr(o)){const n=null===(i=o.parent)||void 0===i?void 0:i.parent,s=this._getNewModuleName(e,n.module.leadingDots>0,!1);if(1===n.imports.length)this._addResultWithTextRange(e,n.module,t,s);else{const i=o.parent;this._addFromImportNameDeletion(e,t,c,n.imports,i);const l={name:i.name.value,alias:null===(r=i.alias)||void 0===r?void 0:r.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,n,t,c,a,s,[l]))}continue}const l=ts(o);if(l===o||35!==l.nodeType)continue;const p=35===l.leftExpression.nodeType?l.leftExpression.memberName:38===l.leftExpression.nodeType?l.leftExpression:void 0;if(!p)continue;const d=null===(s=this._evaluator.getDeclarationsForNameNode(p))||void 0===s?void 0:s.filter((e=>Gn(e)&&(21===e.node.nodeType||23===e.node.nodeType)));d&&0!==d.length&&h(u,d[0].node,(()=>[])).push(l)}for(const[n,i]of u){let r;if(this._canReplaceImportName(t,n,i)){const i=this._getReferenceModuleName(a,l);if(21===n.nodeType)i?(r=i,this._addImportNameDeletion(e,t,c,n.parent.list,n)):(r=n.alias?n.alias.value:this._newModuleName,this._addResultWithTextRange(e,n.module,t,this._newModuleName));else if(i)r=i,this._addFromImportNameDeletion(e,t,c,n.parent.imports,n);else{const i=n.parent,s=this._getNewModuleName(e,i.module.leadingDots>0,!0);r=n.alias?n.alias.value:this._newLastModuleName,this._addResultWithTextRange(e,i.module,t,s),this._addResultWithTextRange(e,n.name,t,this._newLastModuleName)}}else{const n=this._getReferenceModuleName(a,l);n?r=n:(r=this._newModuleName,this._addResultEdits(an([],a,this._newModuleName,cn(this._newModuleNameAndType),t,It(t.parseTree.length,t.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))))}for(const n of i)this._addResultWithTextRange(e,n.leftExpression,t,r)}}_getReferenceModuleName(e,t){var n,i;if(t&&20===t.node.nodeType)return(null===(n=t.subnode)||void 0===n?void 0:n.alias)?t.subnode.alias.value:this._newModuleName;if(null===(i=e.implicitImports)||void 0===i?void 0:i.has(this._newModuleFilePath)){const t=e.implicitImports.get(this._newModuleFilePath);return t.alias?t.alias.value:t.name.value}}_canReplaceImportName(e,t,n){var i;const r=null!==(i=t.alias)&&void 0!==i?i:21===t.nodeType?t.module.nameParts[t.module.nameParts.length-1]:t.name,s=Ml.getDeclarationsForNode(r,this._evaluator,!1,this._token);if(0===s.length)return!1;const o=new Ml(r.value,s,this._evaluator,this._token,e.parseTree,!0);for(const e of o.collect())if(!(Kr(e.node)||Jr(e.node)||Yr(e.node)||Qr(e.node)||Zr(e.node)||n.some((t=>dt.containsRange(t,e.node)))))return!1;return!0}_renameFolderReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0);for(const i of n.collect())this._addResultWithTextRange(e,i.range,t,this._newLastModuleName)}_renameModuleReferences(e,t){const n=new Ml(this.lastModuleName,this._declarations,this._evaluator,this._token,t.parseTree,!0),i=new Set,r=n.collect();this._updateModuleReferences(e,t,i,r),this._updateRelativeModuleNamePath(e,t,i,r)}_updateRelativeModuleNamePath(e,t,n,i){if(e!==this._moduleFilePath)return;let r;for(const s of this._getNewRelativeModuleNamesForFileMoved(e,yc.collect(t.parseTree).filter((e=>!i.some((t=>dt.containsRange(e.parent,t.node))))))){if(this._addResultWithTextRange(e,s.moduleName,t,s.newModuleName),!s.itemsToMove)continue;const i=s.moduleName.parent;for(const r of s.itemsToMove)this._addFromImportNameDeletion(e,t,n,i.imports,r);r=null!=r?r:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,r,un(this._fs,this._newModuleFilePath,this._newModuleFilePath,!1,!0),s.itemsToMove.map((e=>{var t;return{name:e.name.value,alias:null===(t=e.alias)||void 0===t?void 0:t.value}}))))}}_updateModuleReferences(e,t,n,i){var r,s,o,a,l;let c;for(const u of i){const p=u.node;if(49===p.nodeType){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Kr(p)){if(!Xr(p))continue;const n=es(p,37);if(1===n.nameParts.length&&21===(null===(r=n.parent)||void 0===r?void 0:r.nodeType)&&!n.parent.alias&&this._newModuleNames.length>1){this._aliasIntroduced.add(n.parent),this._addResultWithTextRange(e,n,t,`${this._newModuleName} as ${this._newLastModuleName}`);continue}this._addResultWithTextRange(e,n,t,this._newModuleName);continue}if(Jr(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(Yr(p)){if(!Xr(p))continue;const r=es(p,37),s=r.parent,o=[],a=[];for(const e of s.imports)this._isExportedSymbol(e.name)?o.push(e):a.push(e);if(0===a.length){this._addResultWithTextRange(e,r,t,this._getNewModuleName(e,r.leadingDots>0,!1));continue}if(0===o.length)continue;if(s.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[s.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);for(const i of o)this._addFromImportNameDeletion(e,t,n,s.imports,i);c=null!=c?c:tn(t.parseTree,!1),this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,s,t,n,c,this._newModuleName,o.map((e=>{var t;return{name:i.findIndex((t=>t.node===e.name))>=0?this._newLastModuleName:e.name.value,alias:i.findIndex((t=>t.node===e.alias))>=0?this._newLastModuleName:null===(t=e.alias)||void 0===t?void 0:t.value}}))));continue}if(Qr(p)){if(n.has(p.id))continue;const i=null===(s=p.parent)||void 0===s?void 0:s.parent,r=this._getNewModuleName(e,i.module.leadingDots>0,!0);if(this._isExportedSymbol(p)){this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}if(1===i.imports.length)this._addResultWithTextRange(e,i.module,t,r),this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else{const s=p.parent;if(i.module.leadingDots>0)for(const n of this._getNewRelativeModuleNamesForFileMoved(e,[i.module]))this._addResultWithTextRange(e,n.moduleName,t,n.newModuleName);this._addFromImportNameDeletion(e,t,n,i.imports,s),c=null!=c?c:tn(t.parseTree,!1);const l={name:this._newLastModuleName,alias:(null===(o=s.alias)||void 0===o?void 0:o.value)===this.lastModuleName?this._newLastModuleName:null===(a=s.alias)||void 0===a?void 0:a.value};this._addResultEdits(this._getTextEditsForNewOrExistingFromImport(e,i,t,n,c,r,[l]))}continue}if(Zr(p)){if(n.has(p.id))continue;this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);continue}const d=Ml.getDeclarationsForNode(p,this._evaluator,!1,this._token).filter((e=>Gn(e)));if(this._onlyNameChanged)this._addResultWithTextRange(e,u.range,t,this._newLastModuleName);else if(null==d?void 0:d.some((e=>!(e.usesLocalName||e.node&&21!==e.node.nodeType||this._aliasIntroduced.has(e.node))))){const n=ts(p);if(35!==(null===(l=n.parent)||void 0===l?void 0:l.nodeType)){this._addResultWithTextRange(e,n,t,this._newModuleName);continue}const i=this._evaluator.getDeclarationsForNameNode(n.parent.memberName);if(!i||0===i.length)continue;this._addResultWithTextRange(e,n,t,this._newModuleName)}else u.node.value===this._newLastModuleName||this._addResultWithTextRange(e,u.range,t,this._newLastModuleName)}}_getNewRelativeModuleNamesForFileMoved(e,t){if(e!==this._moduleFilePath)return[];const n="__init__"===he(de(e)),i=$(e),r=[];for(const e of t){if(0===e.leadingDots)continue;const t=this._getNewModuleNameInfoForFileMoved(e,n,i);if(!t)continue;const s=un(this._fs,t.src,t.dest,!1,!0);r.push({moduleName:e,newModuleName:s,itemsToMove:t.itemsToMove})}return r}_getNewModuleNameInfoForFileMoved(e,t,n){const i=Rt(e);if(!i)return;let r=i.resolvedPaths[i.resolvedPaths.length-1];if(!r){if(0!==e.nameParts.length)return;{const t=pn(n,e.leadingDots);if(!t)return;r=te(t,"__init__.py")}}if(this._moduleFilePath!==r||!t)return{src:this._newModuleFilePath,dest:r};const s=[],o=[];for(const t of e.parent.imports)this._isExportedSymbol(t.name)?s.push(t):o.push(t);return 0===o.length?{src:this._newModuleFilePath,dest:this._newModuleFilePath}:0===s.length?{src:this._newModuleFilePath,dest:this._moduleFilePath}:{src:this._newModuleFilePath,dest:this._moduleFilePath,itemsToMove:[...s]}}_isExportedSymbol(e){const t=this._evaluator.getDeclarationsForNameNode(e);return!!t&&!t.some((e=>Gn(e)&&e.submoduleFallback))}_getNewModuleName(e,t,n){const i=e===this._moduleFilePath?this._newModuleFilePath:e,r=t?un(this._fs,i,this._newModuleFilePath,n,!0):this._newModuleName;if(n&&r.endsWith(this._newLastModuleName)){const e=r===this._newLastModuleName?0:r.length>this._newLastModuleName.length+1&&"."!==r[r.length-this._newLastModuleName.length-2]?1:0,t=r.length-this._newLastModuleName.length-e,n=r.substr(0,t);return n.length>0?n:"."}return r}getEdits(){const e=[];return this._results.forEach((t=>e.push(...t))),e}get lastModuleName(){return this._moduleNames[this._moduleNames.length-1]}get _moduleName(){return this._moduleNameAndType.moduleName}get _newLastModuleName(){return this._newModuleNames[this._newModuleNames.length-1]}get _newModuleName(){return this._newModuleNameAndType.moduleName}_addImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,20),n.add(r.module.id),r.module.nameParts.forEach((e=>n.add(e.id))),r.alias&&n.add(r.alias.id)}_addFromImportNameDeletion(e,t,n,i,r){this._addImportNameDeletionInternal(e,t,n,i,r,22),n.add(r.name.id),r.alias&&n.add(r.alias.id)}_addImportNameDeletionInternal(e,t,n,i,r,s){const o=function(e,t){let n;if(1===e.length&&0===t)n=e[0];else if(t===e.length-1){const i=dt.getEnd(e[t-1]);n={start:i,length:dt.getEnd(e[t])-i}}else{const i=e[t].start;n={start:i,length:e[t+1].start-i}}return n}(i,i.findIndex((e=>e===r)));this._addResultWithTextRange(e,o,t,""),n.add(r.id);let a=0;for(a=i.length-1;a>=0&&n.has(i[a].id);a--);if(-1===a){const n=es(r,s);n&&this._addResultWithRange(e,function(e,t){const n=wt(e,t.lines),i=function(e,t,n){const i=n.tokens.getItemAtPosition(t);if(i<0)return;let r=i;for(;r=0&&athis._addResultWithRange(e.filePath,e.range,e.replacementText)))}_getDeletionsForSpan(e,t){var n;return r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),e.filter((e=>""===e.replacementText&&yt(e.range,t)))}_removeEdits(e,t){var n;r(e)&&(e=null!==(n=this._results.get(e))&&void 0!==n?n:[]),m(e,(e=>t.findIndex((t=>t===e))>=0))}_addResultWithRange(e,t,n){const i=h(this._results,e,(()=>[]));if(""===n){const e=this._getDeletionsForSpan(i,t);e.length>0&&(this._removeEdits(i,e),bt(t,e.map((e=>e.range))))}i.some((e=>Tt(e.range,t)&&e.replacementText===n))||i.push({filePath:e,range:t,replacementText:n})}_getTextEditsForNewOrExistingFromImport(e,t,n,i,r,s,o){const a=r.orderedImports.find((e=>e.moduleName===s));if(a&&22===a.node.nodeType&&!a.node.isWildcardImport){const r=rn(o,a,n);if(a.node!==t)return r.map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})));if(this._onlyNameChanged&&1===o.length&&1===r.length){const s=this._getDeletionsForSpan(e,r[0].range);if(0===s.length)return[{filePath:e,range:r[0].range,replacementText:r[0].replacementText}];{const r=o[0].alias===this._newLastModuleName?this.lastModuleName:o[0].alias,a=t.imports.find((e=>{var t;return e.name.value===this.lastModuleName&&(null===(t=e.alias)||void 0===t?void 0:t.value)===r}));if(a)return this._removeEdits(e,s),a.alias&&i.delete(a.alias.id),[{filePath:e,range:wt(a.name,n.tokenizerOutput.lines),replacementText:this._newLastModuleName}]}}}return an(o,r,s,cn(this._newModuleNameAndType),n,It(n.parseTree.length,n.tokenizerOutput.lines)).map((t=>({filePath:e,range:t.range,replacementText:t.replacementText})))}}class yc extends _r{constructor(){super(...arguments),this._result=[]}walk(e){yr(e)||super.walk(e)}visitModuleName(e){return this._result.push(e),!1}static collect(e){const t=new yc;return t.walk(e),t._result}}class _c{constructor(){this._paths=[]}appendPath(e){this._paths.push(e)}getPaths(){return this._paths}normalizeOrder(){let e=0;this._paths.forEach(((t,n)=>{te?i=r:n=r+1}let r=n-1;return{line:r,character:e-t[r]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],i=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function Sc(e){const t=Ic(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function(e,t,n,i){return new vc(e,t,n,i)},e.update=function(e,t,n){if(e instanceof vc)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function(e,t){let n=e.getText(),i=Tc(t.map(Sc),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),r=0;const s=[];for(const t of i){let i=e.offsetAt(t.range.start);if(ir&&s.push(n.substring(r,i)),t.newText.length&&s.push(t.newText),r=e.offsetAt(t.range.end)}return s.push(n.substr(r)),s.join("")}}(ic||(ic={})),function(e){e.Darwin="Darwin",e.Windows="Windows",e.Linux="Linux"}(rc||(rc={}));class xc{constructor(e,t,n,i){this.extraPaths=[],this.root=e||void 0,this.pythonVersion=t||Ae,this.pythonPlatform=n,this.extraPaths=[...null!=i?i:[]]}}function Cc(e=!1){const t=[$o.strictListInference,$o.strictSetInference,$o.strictDictionaryInference,$o.strictParameterNoneValue];return e&&t.push($o.enableTypeIgnoreComments),t}function wc(){return[$o.reportGeneralTypeIssues,$o.reportPropertyTypeMismatch,$o.reportFunctionMemberAccess,$o.reportMissingImports,$o.reportMissingModuleSource,$o.reportMissingTypeStubs,$o.reportImportCycles,$o.reportUnusedImport,$o.reportUnusedClass,$o.reportUnusedFunction,$o.reportUnusedVariable,$o.reportDuplicateImport,$o.reportWildcardImportFromLibrary,$o.reportOptionalSubscript,$o.reportOptionalMemberAccess,$o.reportOptionalCall,$o.reportOptionalIterable,$o.reportOptionalContextManager,$o.reportOptionalOperand,$o.reportTypedDictNotRequiredAccess,$o.reportUntypedFunctionDecorator,$o.reportUntypedClassDecorator,$o.reportUntypedBaseClass,$o.reportUntypedNamedTuple,$o.reportPrivateUsage,$o.reportPrivateImportUsage,$o.reportConstantRedefinition,$o.reportIncompatibleMethodOverride,$o.reportIncompatibleVariableOverride,$o.reportInconsistentConstructor,$o.reportOverlappingOverload,$o.reportMissingSuperCall,$o.reportUninitializedInstanceVariable,$o.reportInvalidStringEscapeSequence,$o.reportUnknownParameterType,$o.reportUnknownArgumentType,$o.reportUnknownLambdaType,$o.reportUnknownVariableType,$o.reportUnknownMemberType,$o.reportMissingParameterType,$o.reportMissingTypeArgument,$o.reportInvalidTypeVarUse,$o.reportCallInDefaultInitializer,$o.reportUnnecessaryIsInstance,$o.reportUnnecessaryCast,$o.reportUnnecessaryComparison,$o.reportAssertAlwaysTrue,$o.reportSelfClsParameterName,$o.reportImplicitStringConcatenation,$o.reportUndefinedVariable,$o.reportUnboundVariable,$o.reportInvalidStubStatement,$o.reportIncompleteStub,$o.reportUnsupportedDunderAll,$o.reportUnusedCallResult,$o.reportUnusedCoroutine,$o.reportUnnecessaryTypeIgnoreComment,$o.reportMatchNotExhaustive]}class Ec{constructor(e,t){this.include=[],this.exclude=[],this.ignore=[],this.strict=[],this.autoImportCompletions=!0,this.indexing=!1,this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.initializedFromJson=!1,this.analyzeUnannotatedFunctions=!0,this.executionEnvironments=[],this.projectRoot=e,this.typeCheckingMode=t,this.diagnosticRuleSet=Ec.getDiagnosticRuleSet(t)}static getDiagnosticRuleSet(e){return"strict"===e?{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error"}:"off"===e?{printUnknownAsAny:!0,omitTypeArgsIfAny:!0,omitUnannotatedParamType:!0,omitConditionalConstraint:!0,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"none",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"warning",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"none",reportOptionalSubscript:"none",reportOptionalMemberAccess:"none",reportOptionalCall:"none",reportOptionalIterable:"none",reportOptionalContextManager:"none",reportOptionalOperand:"none",reportTypedDictNotRequiredAccess:"none",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"none",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"none",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"none",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"none",reportSelfClsParameterName:"none",reportImplicitStringConcatenation:"none",reportUnboundVariable:"none",reportUndefinedVariable:"warning",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"none",reportUnusedCallResult:"none",reportUnusedCoroutine:"none",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none"}:{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none"}}getDefaultExecEnvironment(){return new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths)}findExecEnvironment(e){var t;return null!==(t=this.executionEnvironments.find((t=>{const n=le(me(te(this.projectRoot,t.root)));return e.startsWith(n)})))&&void 0!==t?t:this.getDefaultExecEnvironment()}getExecutionEnvironments(){return this.executionEnvironments.length>0?this.executionEnvironments:[this.getDefaultExecEnvironment()]}initializeFromJson(e,t,n,i,r,s=!1){let o;this.initializedFromJson=!0,s||(this.include=[],void 0===e.include)||(Array.isArray(e.include)?e.include.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "include" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "include" array because it is not relative.`):this.include.push(be(this.projectRoot,e))})):n.error('Config "include" entry must must contain an array.')),this.exclude=[],void 0!==e.exclude&&(Array.isArray(e.exclude)?e.exclude.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "exclude" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "exclude" array because it is not relative.`):this.exclude.push(be(this.projectRoot,e))})):n.error('Config "exclude" entry must contain an array.')),this.ignore=[],void 0!==e.ignore&&(Array.isArray(e.ignore)?e.ignore.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "ignore" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "ignore" array because it is not relative.`):this.ignore.push(be(this.projectRoot,e))})):n.error('Config "ignore" entry must contain an array.')),this.strict=[],void 0!==e.strict&&(Array.isArray(e.strict)?e.strict.forEach(((e,t)=>{"string"!=typeof e?n.error(`Index ${t} of "strict" array should be a string.`):(0,S.isAbsolute)(e)?n.error(`Ignoring path "${e}" in "strict" array because it is not relative.`):this.strict.push(be(this.projectRoot,e))})):n.error('Config "strict" entry must contain an array.')),void 0!==e.typeCheckingMode&&("off"===e.typeCheckingMode||"basic"===e.typeCheckingMode||"strict"===e.typeCheckingMode?o=e.typeCheckingMode:n.error('Config "typeCheckingMode" entry must contain "off", "basic", or "strict".')),void 0!==e.useLibraryCodeForTypes&&("boolean"==typeof e.useLibraryCodeForTypes?this.useLibraryCodeForTypes=e.useLibraryCodeForTypes:n.error('Config "useLibraryCodeForTypes" entry must be true or false.')),this.typeCheckingMode=o||t;const a=Ec.getDiagnosticRuleSet(this.typeCheckingMode);if(this.diagnosticRuleSet={...a},this.applyDiagnosticOverrides(r),Cc(!0).forEach((t=>{this.diagnosticRuleSet[t]=this._convertBoolean(e[t],t,this.diagnosticRuleSet[t])})),wc().forEach((t=>{this.diagnosticRuleSet[t]=this._convertDiagnosticLevel(e[t],t,this.diagnosticRuleSet[t])})),this.venvPath=void 0,void 0!==e.venvPath&&("string"!=typeof e.venvPath?n.error('Config "venvPath" field must contain a string.'):this.venvPath=me(te(this.projectRoot,e.venvPath))),this.venv=void 0,void 0!==e.venv&&("string"!=typeof e.venv?n.error('Config "venv" field must contain a string.'):this.venv=e.venv),void 0!==e.extraPaths&&(this.defaultExtraPaths=[],Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,t)=>{"string"!=typeof e?n.error(`Config "extraPaths" field ${t} must be a string.`):this.defaultExtraPaths.push(me(te(this.projectRoot,e)))})):n.error('Config "extraPaths" field must contain an array.')),void 0!==e.pythonVersion)if("string"==typeof e.pythonVersion){const t=Re(e.pythonVersion);t?this.defaultPythonVersion=t:n.error('Config "pythonVersion" field contains unsupported version.')}else n.error('Config "pythonVersion" field must contain a string.');this.ensureDefaultPythonVersion(i,n),void 0!==e.pythonPlatform&&("string"!=typeof e.pythonPlatform?n.error('Config "pythonPlatform" field must contain a string.'):this.defaultPythonPlatform=e.pythonPlatform),this.ensureDefaultPythonPlatform(i,n),this.typeshedPath=void 0,void 0!==e.typeshedPath&&("string"!=typeof e.typeshedPath?n.error('Config "typeshedPath" field must contain a string.'):this.typeshedPath=e.typeshedPath?me(te(this.projectRoot,e.typeshedPath)):""),this.stubPath=void 0,void 0!==e.typingsPath&&("string"!=typeof e.typingsPath?n.error('Config "typingsPath" field must contain a string.'):(n.error('Config "typingsPath" is now deprecated. Please, use stubPath instead.'),this.stubPath=me(te(this.projectRoot,e.typingsPath)))),void 0!==e.stubPath&&("string"!=typeof e.stubPath?n.error('Config "stubPath" field must contain a string.'):this.stubPath=me(te(this.projectRoot,e.stubPath))),void 0!==e.verboseOutput&&("boolean"!=typeof e.verboseOutput?n.error('Config "verboseOutput" field must be true or false.'):this.verboseOutput=e.verboseOutput),void 0!==e.useLibraryCodeForTypes&&("boolean"!=typeof e.useLibraryCodeForTypes?n.error('Config "useLibraryCodeForTypes" field must be true or false.'):this.useLibraryCodeForTypes=e.useLibraryCodeForTypes),this.executionEnvironments=[],void 0!==e.executionEnvironments&&(Array.isArray(e.executionEnvironments)?e.executionEnvironments.forEach(((e,t)=>{const i=this._initExecutionEnvironmentFromJson(e,t,n);i&&this.executionEnvironments.push(i)})):n.error('Config "executionEnvironments" field must contain an array.')),void 0!==e.autoImportCompletions&&("boolean"!=typeof e.autoImportCompletions?n.error('Config "autoImportCompletions" field must be true or false.'):this.autoImportCompletions=e.autoImportCompletions),void 0!==e.indexing&&("boolean"!=typeof e.indexing?n.error('Config "indexing" field must be true or false.'):this.indexing=e.indexing),void 0!==e.logTypeEvaluationTime&&("boolean"!=typeof e.logTypeEvaluationTime?n.error('Config "logTypeEvaluationTime" field must be true or false.'):this.logTypeEvaluationTime=e.logTypeEvaluationTime),void 0!==e.typeEvaluationTimeThreshold&&("number"!=typeof e.typeEvaluationTimeThreshold?n.error('Config "typeEvaluationTimeThreshold" field must be a number.'):this.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold)}ensureDefaultPythonPlatform(e,t){void 0===this.defaultPythonPlatform&&(this.defaultPythonPlatform=e.getPythonPlatform(),void 0!==this.defaultPythonPlatform&&t.info(`Assuming Python platform ${this.defaultPythonPlatform}`))}ensureDefaultPythonVersion(e,t){if(void 0!==this.defaultPythonVersion)return;const n=[];this.defaultPythonVersion=e.getPythonVersion(this.pythonPath,n),void 0!==this.defaultPythonVersion&&t.info(`Assuming Python version ${Pe(this.defaultPythonVersion)}`);for(const e of n)t.info(e)}ensureDefaultExtraPaths(e,t,n){const i=[];if(t){const t=ee(this.projectRoot,"src");e.existsSync(t)&&!e.existsSync(ee(t,"__init__.py"))&&i.push(t)}if(n&&n.length>0)for(const t of n){const n=ee(this.projectRoot,t);i.push(n),fe(e,n)&&i.push(...yn(e,n))}i.length>0&&(this.defaultExtraPaths=i)}applyDiagnosticOverrides(e){if(e)for(const t of wc()){const n=e[t];void 0!==n&&(this.diagnosticRuleSet[t]=n)}}_convertBoolean(e,t,n){return void 0===e?n:"boolean"==typeof e?!!e:(console.log(`Config "${t}" entry must be true or false.`),n)}_convertDiagnosticLevel(e,t,n){return void 0===e?n:"boolean"==typeof e?e?"error":"none":"string"!=typeof e||"error"!==e&&"warning"!==e&&"information"!==e&&"none"!==e?(console.log(`Config "${t}" entry must be true, false, "error", "warning", "information" or "none".`),n):e}_initExecutionEnvironmentFromJson(e,t,n){try{const i=new xc(this.projectRoot,this.defaultPythonVersion,this.defaultPythonPlatform,this.defaultExtraPaths);if(e.root&&"string"==typeof e.root?i.root=me(te(this.projectRoot,e.root)):n.error(`Config executionEnvironments index ${t}: missing root value.`),e.extraPaths&&(Array.isArray(e.extraPaths)?e.extraPaths.forEach(((e,r)=>{"string"!=typeof e?n.error(`Config executionEnvironments index ${t}: extraPaths field ${r} must be a string.`):i.extraPaths.push(me(te(this.projectRoot,e)))})):n.error(`Config executionEnvironments index ${t}: extraPaths field must contain an array.`)),e.pythonVersion)if("string"==typeof e.pythonVersion){const r=Re(e.pythonVersion);r?i.pythonVersion=r:n.warn(`Config executionEnvironments index ${t} contains unsupported pythonVersion.`)}else n.error(`Config executionEnvironments index ${t} pythonVersion must be a string.`);return e.pythonPlatform&&("string"==typeof e.pythonPlatform?i.pythonPlatform=e.pythonPlatform:n.error(`Config executionEnvironments index ${t} pythonPlatform must be a string.`)),i}catch{n.error(`Config executionEnvironments index ${t} is not accessible.`)}}}class kc{constructor(e){this._diagnosticList=e||[],this._diagnosticMap=new Map}fetchAndClear(){const e=this._diagnosticList;return this._diagnosticList=[],this._diagnosticMap.clear(),e}addError(e,t){return this.addDiagnostic(new nl(0,e,t))}addWarning(e,t){return this.addDiagnostic(new nl(1,e,t))}addInformation(e,t){return this.addDiagnostic(new nl(2,e,t))}addUnusedCode(e,t,n){const i=new nl(3,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDeprecated(e,t,n){const i=new nl(4,e,t);return n&&i.addAction(n),this.addDiagnostic(i)}addDiagnostic(e){const t=`${e.range.start.line},${e.range.start.character}-${e.range.end.line}-${e.range.end.character}:${M(e.message)}}`;return this._diagnosticMap.has(t)||(this._diagnosticList.push(e),this._diagnosticMap.set(t,e)),e}addDiagnostics(e){this._diagnosticList.push(...e)}getErrors(){return this._diagnosticList.filter((e=>0===e.category))}getWarnings(){return this._diagnosticList.filter((e=>1===e.category))}getInformation(){return this._diagnosticList.filter((e=>2===e.category))}getUnusedCode(){return this._diagnosticList.filter((e=>3===e.category))}getDeprecated(){return this._diagnosticList.filter((e=>4===e.category))}}class Dc extends kc{constructor(e,t){super(t),this._lines=e}addDiagnosticWithTextRange(e,t,n){const i=St(n.start,n.start+n.length,this._lines);switch(e){case"error":return this.addError(t,i);case"warning":return this.addWarning(t,i);case"information":return this.addInformation(t,i);default:throw new Error(`${e} is not expected value`)}}addUnusedCodeWithTextRange(e,t,n){return this.addUnusedCode(e,St(t.start,t.start+t.length,this._lines),n)}addDeprecatedWithTextRange(e,t,n){return this.addDeprecated(e,St(t.start,t.start+t.length,this._lines),n)}}class Ac{constructor(e){this._items=e}get start(){return this._items.length>0?this._items[0].start:0}get end(){const e=this._items[this._items.length-1];return this._items.length>0?e.start+e.length:0}get length(){return this.end-this.start}get count(){return this._items.length}contains(e){return e>=this.start&&e=this._items.length)throw new Error("index is out of range");return this._items[e]}getItemAtPosition(e){if(0===this.count)return-1;if(ethis.end)return-1;let t=0,n=this.count-1;for(;t=r.start&&(i>=this.count-1||ethis.end)return-1;let t=0,n=this.count-1;for(;t<=n;){const i=Math.floor(t+(n-t)/2),r=this._items[i];if(dt.contains(r,e))return i;if(ic===el(e.path);return l.find(u)?l.filter(u):l}static getTypeDefinitionsForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(n,t.tokenizerOutput.lines);if(void 0===a)return;const l=Tr(t.parseTree,a);if(void 0===l)return;const c=[];if(38===l.nodeType){const t=i.getType(l);if(t){let n=[];Jo(t,(t=>{7===(null==t?void 0:t.category)&&n.push(...e.findClassDeclarationsByType(r,t))})),0===n.length&&(n=null!==(o=i.getDeclarationsForNameNode(l))&&void 0!==o?o:[]),Pc._resolveDeclarations(n,i,c,e)}}return 0!==c.length?c:void 0}static _resolveDeclarations(e,t,n,i){e&&e.forEach((e=>{let r=t.resolveAliasDeclaration(e,!0,!0);if(r&&r.path){if(6===r.type&&r.isUnresolved)return;if(6===r.type&&r.symbolName&&r.submoduleFallback&&r.submoduleFallback.path&&(r=r.submoduleFallback),this._addIfUnique(n,{path:r.path,range:r.range}),jn(r)){const e=t.getTypeForDeclaration(r);if(e&&ko(e))for(const t of e.overloads.map((e=>e.details.declaration)).filter(a))this._addIfUnique(n,{path:t.path,range:t.range})}if(el(r.path))if(6===r.type)i.findModules(r.path).map((e=>{var t;return null===(t=Vt(e))||void 0===t?void 0:t.filePath})).filter(a).forEach((e=>this._addIfUnique(n,this._createModuleEntry(e))));else{const e=i.findDeclarations(r);for(const t of e)t&&t.path&&this._addIfUnique(n,{path:t.path,range:t.range})}}}))}static _createModuleEntry(e){return{path:e,range:{start:{line:0,character:0},end:{line:0,character:0}}}}static _addIfUnique(e,t){for(const n of e)if(n.path===t.path&&Tt(n.range,t.range))return;e.push(t)}}function Rc(e,t,n,i){let r=t;const s=[];let o,a,l=!1,c=!1;for(;;){if(6!==r.type||!r.symbolName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};if(!n&&r.usesLocalName)return{declaration:r,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};let u;r.path&&r.loadSymbolsFromPath&&(u=e(r.path));const p=u?u.symbolTable.get(r.symbolName):void 0;if(!p)return r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):r.isNativeLib?{declaration:void 0,isPrivate:l}:void 0;if(p.isPrivateMember()&&(l=!0),p.isExternallyHidden()&&!i)return;let d=p.getTypedDeclarations();if(0===d.length&&(d=p.getDeclarations(),0===d.length))return;const h=d.filter((e=>!s.includes(e)));if(r=h.length>0?h[h.length-1]:d[d.length-1],c&&(o=null!=o?o:null==r?void 0:r.moduleName),p.isPrivatePyTypedImport()&&(c=!0),c&&(a=null!=a?a:null==r?void 0:r.moduleName),s.find((e=>e===r)))return r.path===t.path&&6===r.type&&r.submoduleFallback?Rc(e,r.submoduleFallback,n,i):{declaration:t,isPrivate:l,privatePyTypedImported:o,privatePyTypedImporter:a};s.push(r)}}class Fc{static getSymbolsForDocument(e,t,n,i,r,s){var o;const a=[];return t||n?(Mc(null!==(o=null==t?void 0:t.symbols)&&void 0!==o?o:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},s),i,r,"",a,s),a):a}static addHierarchicalSymbolsForDocument(e,t,n,i,r){var s;(t||n)&&Oc(null!==(s=null==t?void 0:t.symbols)&&void 0!==s?s:Fc.indexSymbols(e,n,{indexingForAutoImportMode:!1},r),i,r)}static indexSymbols(e,t,n,i){const r=[];return Lc(e,t,t.parseTree,n,r,i),r}}function Nc(e,t,n){let i;switch(t.type){case 4:case 5:i=ot.SymbolKind.Class;break;case 3:if(t.isMethod){const e=null==n?void 0:n.getTypeForDeclaration(t);i=e&&ua(e)?ot.SymbolKind.Property:ot.SymbolKind.Method}else i=ot.SymbolKind.Function;break;case 6:i=ot.SymbolKind.Module;break;case 2:if("self"===e||"cls"===e||"_"===e)return;i=ot.SymbolKind.Variable;break;case 1:if("_"===e)return;i=t.isConstant||t.isFinal?ot.SymbolKind.Constant:ot.SymbolKind.Variable;break;default:i=ot.SymbolKind.Variable}return i}function Mc(e,t,n,i,r,s){if(ct(s),e)for(const a of e)if(!a.alias){if(N(n,a.name)){const e={uri:x.file(t).toString(),range:a.selectionRange},n={name:a.name,kind:a.kind,location:e};i.length&&(n.containerName=i),r.push(n)}Mc(a.children,t,n,o(i,a.name),r,s)}function o(e,t){return e.length>0?`${e}.${t}`:t}}function Oc(e,t,n){if(ct(n),e)for(const i of e){if(i.alias)continue;const e=[];Oc(i.children,e,n);const r={name:i.name,kind:i.kind,range:i.range,selectionRange:i.selectionRange,children:e};t.push(r)}}function Lc(e,t,n,i,r,s){ct(s);const o=Ft(n);o&&o.symbolTable.forEach(((n,o)=>{if(n.isIgnoredForProtocolMatch())return;if(i.indexingForAutoImportMode&&!e.isStubFile&&!e.isInPyTypedPackage&&!n.isInDunderAll())return;let a=Vo(n);if(!a&&n.hasDeclarations()&&(a=n.getDeclarations()[0]),a){if(6===a.type){if(!i.indexingForAutoImportMode)return;if(!a.loadSymbolsFromPath||a.path.length<=0)return}!function(e,t,n,i,r,s,o,a){if(i.indexingForAutoImportMode&&!r)return;const l=Nc(s,n);if(void 0===l)return;const c=n.range;let u=c;const p=[];let d;if(4!==n.type&&3!==n.type||(i.indexingForAutoImportMode||Lc(e,t,n.node,i,p,a),u=St(n.node.start,n.node.start+n.node.length,t.tokenizerOutput.lines)),6===n.type&&(d=function(e,t){var n;if(!t.symbolName)return;const i=Rc(e,t,!0,!1);if(!i||!i.declaration)return;if(i.isPrivate)return;const r=as(i.declaration);if(!r||i.declaration.path.length<=0)return;const s=null!==(n=Nc(r,i.declaration))&&void 0!==n?n:ot.SymbolKind.Module;return{originalName:r,modulePath:i.declaration.path,kind:s,itemKind:Kl(s)}}(Vt(t.parseTree).importLookup,n),!d))return;const h={name:s,externallyVisible:r,kind:l,itemKind:Kl(l),alias:d,range:i.indexingForAutoImportMode?void 0:u,selectionRange:i.indexingForAutoImportMode?void 0:c,children:i.indexingForAutoImportMode?void 0:p};o.push(h)}(e,t,a,i,!n.isExternallyHidden(),o,r,s)}}))}function Uc(e,t,n,i){const r={name:n.name,kind:n.kind,location:ot.Location.create(t,n.range)};if(n.tags&&(r.tags=n.tags),i&&(r.containerName=i.name),e.push(r),n.children)for(const i of n.children)Uc(e,t,i,n)}class qc{constructor(e,t){this._parseResults=e,this._cancellationToken=t}sort(){ct(this._cancellationToken);const e=[],t=tn(this._parseResults.parseTree),n=t.orderedImports.map((e=>e)).sort(((e,t)=>function(e,t){const n=en(e),i=en(t);return ni?1:e.moduleNamee.followsNonImportStatement));t<0&&(t=e.length);const n=e[t-1].node;return{start:It(e[0].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(n),this._parseResults.tokenizerOutput.lines)}}_addSecondaryReplacementRanges(e,t){let n=e.findIndex((e=>e.followsNonImportStatement));if(!(n<0))for(;;){let i=e.findIndex(((e,t)=>t>n&&e.followsNonImportStatement));if(i<0&&(i=e.length),t.push({range:{start:It(e[n].node.start,this._parseResults.tokenizerOutput.lines),end:It(dt.getEnd(e[i-1].node),this._parseResults.tokenizerOutput.lines)},replacementText:""}),n=i,n>=e.length)break}}_generateSortedImportText(e){let t="",n=en(e[0]);for(const i of e){const r=en(i);let s;n!==r&&(t+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence,n=r),s=20===i.node.nodeType?this._formatImportNode(i.subnode,i.moduleName):this._formatImportFromNode(i.node,i.moduleName),i!==e[e.length-1]&&(s+=this._parseResults.tokenizerOutput.predominantEndOfLineSequence),t+=s}return t}_formatImportNode(e,t){let n=`import ${t}`;return e.alias&&(n+=` as ${e.alias.value}`),n}_formatImportFromNode(e,t){const n=e.imports.sort(((e,t)=>this._compareSymbols(e,t))).map((e=>{let t=e.name.value;return e.alias&&(t+=` as ${e.alias.value}`),t}));let i=`from ${t} import `;if(e.isWildcardImport)return i+"*";const r=n.join(", ");if(i.length+r.length<=88)return i+r;i+="("+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;for(const e of n)i+=this._parseResults.tokenizerOutput.predominantTabSequence+e+","+this._parseResults.tokenizerOutput.predominantEndOfLineSequence;return i+=")",i}_compareSymbols(e,t){return e.name.value13===e||10===e||92===e)))return{value:t,unescapeErrors:[],nonAsciiInBytes:s&&r.some((e=>e>=128)),formatStringSegments:[]};let o=0,a={offset:0,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1},l=0;const c={valueParts:[],unescapeErrors:[],nonAsciiInBytes:!1,formatStringSegments:[]},u=()=>{n||c.unescapeErrors.push({offset:l-1,length:2,errorType:0})},p=(e=0)=>l+e>=r.length?3:r[l+e],d=e=>{let t=!1,n=0,i="";for(let i=0;i{const t=String.fromCharCode(e);c.valueParts.push(t),a.valueParts.push(t)};for(;;){let e=p();if(3===e)return i&&(a.isExpression&&c.unescapeErrors.push({offset:a.offset,length:l-a.offset,errorType:3}),l!==a.offset&&(a.length=l-a.offset,c.formatStringSegments.push(a))),f=c,{...f,value:f.valueParts.join(""),formatStringSegments:f.formatStringSegments.map((e=>({...e,value:e.valueParts.join("")})))};if(92===e){if(i&&a.isExpression&&!a.hasFormatSpecifier&&c.unescapeErrors.push({offset:l,length:1,errorType:1}),l++,n){h(e);continue}e=p();let t="";if(13===e||10===e)13===e&&10===p(1)&&(n&&(t+=String.fromCharCode(e)),l++,e=p()),n&&(t="\\"+t+String.fromCharCode(e)),l++;else if(n)t="\\"+String.fromCharCode(e),l++;else switch(e){case 92:case 39:case 34:t=String.fromCharCode(e),l++;break;case 97:t="",l++;break;case 98:t="\b",l++;break;case 102:t="\f",l++;break;case 110:t="\n",l++;break;case 114:t="\r",l++;break;case 116:t="\t",l++;break;case 118:t="\v",l++;break;case 120:t=d(2);break;case 78:{let n=!1,i=1;if(123!==p(i))n=!0;else for(i++;;){const e=p(i);if(125===e)break;if(!Bc(e)&&45!==e&&32!==(m=e)&&9!==m){n=!0;break}i++}n?(u(),t="\\"+String.fromCharCode(e),l++):(t="-",l+=1+i);break}case 117:t=d(4);break;case 85:t=d(8);break;default:if(Wc(e)){let n=e-48;l++,e=p(),Wc(e)&&(n=8*n+e-48,l++,e=p(),Wc(e)&&(n=8*n+e-48,l++)),t=String.fromCharCode(n)}else t="\\",u()}c.valueParts.push(t),a.valueParts.push(t)}else if(10===e||13===e)13===e&&10===p(1)&&(h(e),l++,e=p()),h(e),l++;else if(i&&123===e)a.isExpression||123!==p(1)?(0===o?(a.length=l-a.offset,a.length>0&&c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!0,hasFormatSpecifier:!1}):(h(e),l++),o++):(h(e),l+=2);else if(i&&125===e)a.isExpression||125!==p(1)?0===o?(c.unescapeErrors.push({offset:l,length:1,errorType:2}),l++):(o--,0===o?(a.length=l-a.offset,c.formatStringSegments.push(a),l++,a={offset:l,length:0,valueParts:[],isExpression:!1,hasFormatSpecifier:!1}):(h(e),l++)):(h(e),l+=2);else if(!a.isExpression||39!==e&&34!==e)a.isExpression&&58===e&&(a.hasFormatSpecifier=!0),s&&e>=128&&(c.nonAsciiInBytes=!0),h(e),l++;else{const t=e;h(e);const n=p(1)===t&&p(2)===t;for(n&&(l+=2,h(e),h(e),c.valueParts.push(String.fromCharCode(e)),c.valueParts.push(String.fromCharCode(e)));;){l++;let e=p();if(3===e)break;if(92!==e){if((10===e||13===e)&&!n)break;if(e===t){if(!n){l++,h(e);break}if(p(1)===t&&p(2)===t){l+=3,h(e),h(e),h(e);break}}h(e)}else h(e),l++,e=p(),h(e)}}}var m,f}function Bc(e){return e>=48&&e<=57||e>=97&&e<=122||e>=65&&e<=90}function Wc(e){return e>=48&&e<=55}function jc(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function zc(e){return e>=48&&e<=57?e-48:e>=97&&e<=102?e-97+10:e>=65&&e<=70?e-65+10:0}class $c{constructor(e){this._text=e,this._position=0,this._currentChar=e.length>0?e.charCodeAt(0):0,this._isEndOfStream=0===e.length}getText(){return this._text}get position(){return this._position}set position(e){this._position=e,this._checkBounds()}get currentChar(){return this._currentChar}getCurrentChar(){return this._currentChar}get nextChar(){return this.position+1=0?this._text.charCodeAt(this.position-1):0}isEndOfStream(){return this._isEndOfStream}lookAhead(e){const t=this._position+e;return t<0||t>=this._text.length?0:this._text.charCodeAt(t)}advance(e){this.position+=e}moveNext(){return this._position=this._text.length,this._isEndOfStream&&(this._position=this._text.length),this._currentChar=this._isEndOfStream?0:this._text.charCodeAt(this._position)}}!function(e){e.create=function(e,t,n,i=0){return{type:i,start:e,length:t,value:n}}}(oc||(oc={})),function(e){e.create=function(e,t,n,i){return{start:t,length:n,type:e,comments:i}}}(ac||(ac={})),function(e){e.create=function(e,t,n,i,r){return{start:e,length:t,type:3,isIndentAmbiguous:i,comments:r,indentAmount:n}}}(lc||(lc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:4,comments:s,indentAmount:n,matchesIndent:i,isDedentAmbiguous:r}}}(cc||(cc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:2,comments:i,newLineType:n}}}(uc||(uc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:8,comments:i,keywordType:n}}}(pc||(pc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:5,flags:n,escapedValue:i,prefixLength:r,quoteMarkLength:4&n?3:1,comments:s}}}(dc||(dc={})),function(e){e.create=function(e,t,n,i,r,s){return{start:e,length:t,type:6,isInteger:i,isImaginary:r,value:n,comments:s}}}(hc||(hc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:9,operatorType:n,comments:i}}}(mc||(mc={})),function(e){e.create=function(e,t,n,i){return{start:e,length:t,type:7,value:n.normalize("NFKC"),comments:i}}}(fc||(fc={}));const Hc=new Map([["and",0],["as",1],["assert",2],["async",3],["await",4],["break",5],["case",6],["class",7],["continue",8],["__debug__",9],["def",10],["del",11],["elif",12],["else",13],["except",14],["finally",16],["for",17],["from",18],["global",19],["if",20],["import",21],["in",22],["is",23],["lambda",24],["match",25],["nonlocal",27],["not",28],["or",29],["pass",30],["raise",31],["return",32],["try",34],["while",35],["with",36],["yield",37],["False",15],["None",26],["True",33]]),Gc={0:3,1:4,2:4,3:2,4:4,5:1,6:2,7:4,8:2,9:4,10:2,11:4,12:10,13:2,14:4,15:10,16:10,17:2,18:4,19:26,20:10,21:10,22:2,23:4,24:2,25:4,26:2,27:4,28:10,29:2,30:4,31:2,32:4,33:2,34:4,36:2,37:2,38:1,39:2,40:2,41:2,42:2};class Kc{constructor(){this._cs=new $c(""),this._tokens=[],this._prevLineStart=0,this._parenDepth=0,this._lineRanges=[],this._indentAmounts=[],this._typeIgnoreLines=new Map,this._crCount=0,this._crLfCount=0,this._lfCount=0,this._indentCount=0,this._indentTabCount=0,this._indentSpacesTotal=0,this._singleQuoteCount=0,this._doubleQuoteCount=0,this._ipythonMode=!1}tokenize(e,t,n,i=0,r=!1){if(void 0===t)t=0;else if(t<0||t>e.length)throw new Error("Invalid range start");if(void 0===n)n=e.length;else{if(n<0||t+n>e.length)throw new Error("Invalid range length");t+n=s)););0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,0,3,this._getComments())),this._setIndent(0,0,!1,!1),this._tokens.push(ac.create(1,this._cs.position,0,this._getComments())),this._addLineRange();let o="\n";this._crCount>this._crLfCount&&this._crCount>this._lfCount?o="\r":this._crLfCount>this._crCount&&this._crLfCount>this._lfCount&&(o="\r\n");let a=" ";if(this._indentTabCount>this._indentCount/2)a="\t";else if(this._indentCount>0){let e=Math.round(this._indentSpacesTotal/this._indentCount);e<1?e=1:e>8&&(e=8),a="";for(let t=0;t=this._doubleQuoteCount?"'":'"'}}static getOperatorInfo(e){return Gc[e]}static isOperatorAssignment(e){return void 0!==e&&void 0!==Gc[e]&&0!=(4&Gc[e])}static isOperatorComparison(e){return void 0!==e&&void 0!==Gc[e]&&0!=(8&Gc[e])}_addNextToken(){this._cs.skipWhitespace(),this._cs.isEndOfStream()||this._handleCharacter()||this._cs.moveNext()}_handleCharacter(){const e=this._getStringPrefixLength();if(e>=0){let t="";e>0&&(t=this._cs.getText().substr(this._cs.position,e),this._cs.advance(e));const n=this._getQuoteTypeFlags(t);if(0!==n)return this._handleString(n,e),!0}if(35===this._cs.currentChar)return this._handleComment(),!0;if(this._ipythonMode&&this._isIPythonMagics())return this._handleIPythonMagics(37===this._cs.currentChar?1:2),!0;switch(this._cs.currentChar){case 65279:return 0!==this._cs.position&&this._handleInvalid();case 13:{const e=10===this._cs.nextChar?2:1,t=2===e?2:0;return this._handleNewLine(e,t),!0}case 10:return this._handleNewLine(1,1),!0;case 92:return 13===this._cs.nextChar?(10===this._cs.lookAhead(2)?this._cs.advance(3):this._cs.advance(2),this._addLineRange(),!0):10===this._cs.nextChar?(this._cs.advance(2),this._addLineRange(),!0):this._handleInvalid();case 40:this._parenDepth++,this._tokens.push(ac.create(13,this._cs.position,1,this._getComments()));break;case 41:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(14,this._cs.position,1,this._getComments()));break;case 91:this._parenDepth++,this._tokens.push(ac.create(15,this._cs.position,1,this._getComments()));break;case 93:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(16,this._cs.position,1,this._getComments()));break;case 123:this._parenDepth++,this._tokens.push(ac.create(17,this._cs.position,1,this._getComments()));break;case 125:this._parenDepth>0&&this._parenDepth--,this._tokens.push(ac.create(18,this._cs.position,1,this._getComments()));break;case 44:this._tokens.push(ac.create(12,this._cs.position,1,this._getComments()));break;case 96:this._tokens.push(ac.create(22,this._cs.position,1,this._getComments()));break;case 59:this._tokens.push(ac.create(11,this._cs.position,1,this._getComments()));break;case 58:if(61===this._cs.nextChar){this._tokens.push(mc.create(this._cs.position,2,35,this._getComments())),this._cs.advance(1);break}this._tokens.push(ac.create(10,this._cs.position,1,this._getComments()));break;default:if(this._isPossibleNumber()&&this._tryNumber())return!0;if(46===this._cs.currentChar){if(46===this._cs.nextChar&&46===this._cs.lookAhead(2))return this._tokens.push(ac.create(19,this._cs.position,3,this._getComments())),this._cs.advance(3),!0;this._tokens.push(ac.create(20,this._cs.position,1,this._getComments()));break}return!(!this._tryIdentifier()&&!this._tryOperator())||this._handleInvalid()}return!1}_addLineRange(){const e=this._cs.position-this._prevLineStart;e>0&&this._lineRanges.push({start:this._prevLineStart,length:e}),this._prevLineStart=this._cs.position}_handleNewLine(e,t){0===this._parenDepth&&3!==t&&(0!==this._tokens.length&&2===this._tokens[this._tokens.length-1].type||this._tokens.push(uc.create(this._cs.position,e,t,this._getComments()))),0===t?this._crCount++:2===t?this._crLfCount++:this._lfCount++,this._cs.advance(e),this._addLineRange(),this._readIndentationAfterNewLine()}_readIndentationAfterNewLine(){let e=0,t=0,n=!1,i=!1;for(;!this._cs.isEndOfStream();)switch(this._cs.currentChar){case 32:e++,t++,i=!0,this._cs.moveNext();break;case 9:e++,t+=8-t%8,n=!0,this._cs.moveNext();break;case 12:e=0,t=0,n=!1,i=!1,this._cs.moveNext();break;default:return void this._setIndent(e,t,i,n);case 35:case 10:case 13:return}}_setIndent(e,t,n,i){if(!(this._parenDepth>0))if(0===this._indentAmounts.length)t>0&&(this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,!1,this._getComments())));else{const r=this._indentAmounts[this._indentAmounts.length-1];if(r.tab8Spaces=e;this._indentCount++,i&&this._indentTabCount++,this._indentSpacesTotal+=t-this._indentAmounts[this._indentAmounts.length-1].tab8Spaces,this._indentAmounts.push({tab1Spaces:e,tab8Spaces:t,isSpacePresent:n,isTabPresent:i}),this._tokens.push(lc.create(this._cs.position,0,t,s,this._getComments()))}else if(r.tab8Spaces===t)(r.isSpacePresent&&i||r.isTabPresent&&n)&&this._tokens.push(lc.create(this._cs.position,0,t,!0,this._getComments()));else{let e=r.isSpacePresent&&i||r.isTabPresent&&n;const s=[];for(;this._indentAmounts.length>0&&this._indentAmounts[this._indentAmounts.length-1].tab8Spaces>t;)s.push(this._indentAmounts.length>1?this._indentAmounts[this._indentAmounts.length-2].tab8Spaces:0),this._indentAmounts.pop();s.forEach(((n,i)=>{const r=i{for(;;)if(Ve(this._cs.currentChar))this._cs.moveNext();else{if(!Ve(this._cs.currentChar,this._cs.nextChar))break;this._cs.moveNext(),this._cs.moveNext()}},t=this._cs.position;if(qe(this._cs.currentChar)?(this._cs.moveNext(),e()):qe(this._cs.currentChar,this._cs.nextChar)&&(this._cs.moveNext(),this._cs.moveNext(),e()),this._cs.position>t){const e=this._cs.getText().substr(t,this._cs.position-t);return Hc.has(e)?this._tokens.push(pc.create(t,this._cs.position-t,Hc.get(e),this._getComments())):this._tokens.push(fc.create(t,this._cs.position-t,e,this._getComments())),!0}return!1}_isPossibleNumber(){return!!Be(this._cs.currentChar)||!(46!==this._cs.currentChar||!Be(this._cs.nextChar))}_tryNumber(){const e=this._cs.position;if(48===this._cs.currentChar){let t=0,n=0;if((120===this._cs.nextChar||88===this._cs.nextChar)&&We(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;We(this._cs.currentChar);)this._cs.moveNext();t=16}if((98===this._cs.nextChar||66===this._cs.nextChar)&&ze(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;ze(this._cs.currentChar);)this._cs.moveNext();t=2}if((111===this._cs.nextChar||79===this._cs.nextChar)&&je(this._cs.lookAhead(2))){for(this._cs.advance(2),n=2;je(this._cs.currentChar);)this._cs.moveNext();t=8}if(t>0){const i=this._cs.getText().substr(e,this._cs.position-e),r=i.replace(/_/g,"");let s=parseInt(r.substr(n),t);if(!isNaN(s)){const t=BigInt(r);return isFinite(s)&&BigInt(s)===t||(s=t),this._tokens.push(hc.create(e,i.length,s,!0,!1,this._getComments())),!0}}}let t=!1,n=!1;if(this._cs.currentChar>=49&&this._cs.currentChar<=57){for(;Be(this._cs.currentChar);)n=!0,this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(48===this._cs.currentChar){for(n=!0;48===this._cs.currentChar||95===this._cs.currentChar;)this._cs.moveNext();t=46!==this._cs.currentChar&&101!==this._cs.currentChar&&69!==this._cs.currentChar}if(t){let t=this._cs.getText().substr(e,this._cs.position-e);const n=t.replace(/_/g,"");let i=parseInt(n,10);if(!isNaN(i)){let r=!1;const s=BigInt(n);return isFinite(i)&&BigInt(i)===s||(i=s),106!==this._cs.currentChar&&74!==this._cs.currentChar||(r=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,t.length,i,!0,r,this._getComments())),!0}}if(this._cs.position=e,(n||46===this._cs.currentChar&&this._cs.nextChar>=48&&this._cs.nextChar<=57)&&this._skipFloatingPointCandidate()){let t=this._cs.getText().substr(e,this._cs.position-e);const n=parseFloat(t);if(!isNaN(n)){let i=!1;return 106!==this._cs.currentChar&&74!==this._cs.currentChar||(i=!0,t+=String.fromCharCode(this._cs.currentChar),this._cs.moveNext()),this._tokens.push(hc.create(e,this._cs.position-e,n,!1,i,this._getComments())),!0}}return this._cs.position=e,!1}_tryOperator(){let e=0;const t=this._cs.nextChar;let n;switch(this._cs.currentChar){case 43:e=61===t?2:1,n=2===e?1:0;break;case 38:e=61===t?2:1,n=2===e?4:3;break;case 124:e=61===t?2:1,n=2===e?7:6;break;case 94:e=61===t?2:1,n=2===e?9:8;break;case 61:e=61===t?2:1,n=2===e?12:2;break;case 33:if(61!==t)return!1;e=2,n=28;break;case 37:e=61===t?2:1,n=2===e?25:24;break;case 126:e=1,n=5;break;case 45:if(62===t)return this._tokens.push(ac.create(21,this._cs.position,2,this._getComments())),this._cs.advance(2),!0;e=61===t?2:1,n=2===e?34:33;break;case 42:42===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?30:29):(e=61===t?2:1,n=2===e?27:26);break;case 47:47===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?14:13):(e=61===t?2:1,n=2===e?11:10);break;case 60:60===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?18:17):62===t?(e=2,n=19):(e=61===t?2:1,n=2===e?21:20);break;case 62:62===t?(e=61===this._cs.lookAhead(2)?3:2,n=3===e?32:31):(e=61===t?2:1,n=2===e?16:15);break;case 64:e=61===t?2:1,n=2===e?23:22;break;default:return!1}return this._tokens.push(mc.create(this._cs.position,e,n,this._getComments())),this._cs.advance(e),e>0}_handleInvalid(){const e=this._cs.position;for(;10!==this._cs.currentChar&&13!==this._cs.currentChar&&!this._cs.isAtWhiteSpace()&&!this._cs.isEndOfStream();)(t=this._cs.currentChar)0&&(this._tokens.push(ac.create(0,e,n,this._getComments())),!0)}_getComments(){const e=this._comments;return this._comments=void 0,e}_isIPythonMagics(){const e=this._tokens.length>0?this._tokens[this._tokens.length-1]:void 0;return!(void 0!==e&&2!==e.type&&3!==e.type||37!==this._cs.currentChar&&33!==this._cs.currentChar)}_handleIPythonMagics(e){const t=this._cs.position+1;let n=t;do{this._cs.skipToEol();const e=this._cs.position-n;if(!this._cs.getText().substr(n,e).match(/\\\s*$/))break;n=this._cs.position+1}while(!this._cs.isEndOfStream());const i=this._cs.position-t,r=this._cs.getText().substr(t,i),s=oc.create(t,i,r,e);this._addComments(s)}_handleComment(){const e=this._cs.position+1;this._cs.skipToEol();const t=this._cs.position-e,n=this._cs.getText().substr(e,t),i=oc.create(e,t,n),r=n.match(/^\s*type:\s*ignore(\s|\[|$)/);if(r){const t={start:e,length:r[0].length};r[0].endsWith("[")&&t.length--,this._tokens.findIndex((e=>2!==e.type&&e&&3!==e.type))<0?this._typeIgnoreAll=t:this._typeIgnoreLines.set(this._lineRanges.length,t)}this._addComments(i)}_addComments(e){this._comments?this._comments.push(e):this._comments=[e]}_getStringPrefixLength(){if(39===this._cs.currentChar||34===this._cs.currentChar)return 0;if(39===this._cs.nextChar||34===this._cs.nextChar)switch(this._cs.currentChar){case 102:case 70:case 114:case 82:case 98:case 66:case 117:case 85:return 1}if(39===this._cs.lookAhead(2)||34===this._cs.lookAhead(2))switch(this._cs.getText().substr(this._cs.position,2).toLowerCase()){case"rf":case"fr":case"ur":case"ru":case"br":case"rb":return 2}return-1}_getQuoteTypeFlags(e){let t=0;e=e.toLowerCase();for(let n=0;n32768&&(i=i.slice(0,32768),e|=131072),{escapedValue:String.fromCharCode.apply(void 0,i),flags:e}}_skipFloatingPointCandidate(){const e=this._cs.position;return this._skipFractionalNumber(),this._cs.position>e&&(101!==this._cs.currentChar&&69!==this._cs.currentChar||(this._cs.moveNext(),this._skipDecimalNumber(!0))),this._cs.position>e}_skipFractionalNumber(){this._skipDecimalNumber(!1),46===this._cs.currentChar&&this._cs.moveNext(),this._skipDecimalNumber(!1)}_skipDecimalNumber(e){for(!e||45!==this._cs.currentChar&&43!==this._cs.currentChar||this._cs.moveNext();Be(this._cs.currentChar);)this._cs.moveNext()}}class Jc{constructor(){this.isStubFile=!1,this.pythonVersion=Ae,this.reportInvalidStringEscapeSequence=!1,this.skipFunctionAndClassBody=!1,this.ipythonMode=!1}}const Yc=256;class Qc{constructor(){this._tokenIndex=0,this._areErrorsSuppressed=!1,this._parseOptions=new Jc,this._diagSink=new kc,this._isInLoop=!1,this._isInFunction=!1,this._isInFinally=!1,this._isParsingTypeAnnotation=!1,this._isParsingIndexTrailer=!1,this._futureImportMap=new Map,this._importedModules=[],this._containsWildcardImport=!1,this._assignmentExpressionsAllowed=!0,this._typingImportAliases=[],this._typingSymbolAliases=new Map}parseSourceFile(e,t,n){Fn.tokenizeFileTime.timeOperation((()=>{this._startNewParse(e,0,e.length,t,n)}));const i=Yn.create({start:0,length:e.length});return Fn.parseFileTime.timeOperation((()=>{for(;!this._atEof();)if(!this._consumeTokenIfType(2)){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=i,i.statements.push(t)):this._consumeTokensUntilType([2])}})),w(void 0!==this._tokenizerOutput),{text:e,parseTree:i,importedModules:this._importedModules,futureImports:this._futureImportMap,tokenizerOutput:this._tokenizerOutput,containsWildcardImport:this._containsWildcardImport,typingSymbolAliases:this._typingSymbolAliases}}parseTextExpression(e,t,n,i,r=0,s=0,o){const a=new kc;let l;if(this._startNewParse(e,t,n,i,a,s),o&&(this._typingSymbolAliases=new Map(o)),1===r)l=this._parseTypeAnnotation();else if(2===r)l=this._parseFunctionTypeAnnotation();else{const e=this._parseTestOrStarExpressionList(!1,!0);e.parseError?l=e.parseError:(0===e.list.length&&this._addError(ml.Diagnostic.expectedExpr(),this._peekToken()),l=this._makeExpressionOrTuple(e,!1))}return 2===this._peekTokenType()&&this._getNextToken(),this._atEof()||this._addError(ml.Diagnostic.unexpectedExprToken(),this._peekToken()),{parseTree:l,lines:this._tokenizerOutput.lines,diagnostics:a.fetchAndClear()}}_startNewParse(e,t,n,i,r,s=0){this._fileContents=e,this._parseOptions=i,this._diagSink=r;const o=new Kc;this._tokenizerOutput=o.tokenize(e,t,n,s,this._parseOptions.ipythonMode),this._tokenIndex=0}_parseStatement(){switch(this._consumeTokenIfType(4)&&this._addError(ml.Diagnostic.unexpectedUnindent(),this._peekToken()),this._peekKeywordType()){case 20:return this._parseIfStatement();case 35:return this._parseWhileStatement();case 17:return this._parseForStatement();case 34:return this._parseTryStatement();case 36:return this._parseWithStatement();case 10:return this._parseFunctionDef();case 7:return this._parseClassDef();case 3:return this._parseAsyncStatement();case 25:{const e=this._peekToken(1);let t=!1;if(10===e.type||11===e.type||12===e.type||20===e.type||2===e.type||1===e.type)t=!0;else if(9===e.type){const n=e;26!==n.operatorType&&33!==n.operatorType&&(t=!0)}if(!t){const e=this._parseMatchStatement();if(e)return e}}}return 22===this._peekOperatorType()?this._parseDecorated():this._parseSimpleStatement()}_parseAsyncStatement(){const e=this._getKeywordToken(3);switch(this._peekKeywordType()){case 10:return this._parseFunctionDef(e);case 36:return this._parseWithStatement(e);case 17:return this._parseForStatement(e)}this._addError(ml.Diagnostic.unexpectedAsyncToken(),e)}_parseMatchStatement(){let e=!1;if(this._suppressErrors((()=>{const t=this._tokenIndex;this._getKeywordToken(25);const n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr());e=0!==n.nodeType&&10===this._peekToken().type,this._tokenIndex=t})),!e)return;const t=this._getKeywordToken(25),n=this._parseTestOrStarListAsExpression(!0,!0,12,ml.Diagnostic.expectedReturnExpr()),i=sr.create(t,n),r=this._peekToken();if(this._consumeTokenIfType(10))if(this._consumeTokenIfType(2)){const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseCaseStatement();t?(t.parent=i,i.cases.push(t)):this._consumeTokensUntilType([2,10])&&this._getNextToken();const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}i.cases.length>0?Jn(i,i.cases[i.cases.length-1]):this._addError(ml.Diagnostic.zeroCaseStatementsFound(),t)}else this._addError(ml.Diagnostic.expectedNewline(),r);else this._addError(ml.Diagnostic.expectedColon(),r),this._consumeTokensUntilType([2,10])&&this._getNextToken();this._getLanguageVersion()this._isPatternIrrefutable(e)))}_getPatternTargetNames(e,t){switch(e.nodeType){case 65:e.entries.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 68:e.arguments.forEach((e=>{this._getPatternTargetNames(e.pattern,t)}));break;case 66:e.target&&t.set(e.target.value,!0),e.orPatterns.forEach((e=>{this._getPatternTargetNames(e,t)}));break;case 69:e.isWildcard||t.set(e.target.value,!0);break;case 70:e.entries.forEach((e=>{72===e.nodeType?t.set(e.target.value,!0):(this._getPatternTargetNames(e.keyPattern,t),this._getPatternTargetNames(e.valuePattern,t))}))}}_parsePatternSequence(){const e=this._parseExpressionListGeneric((()=>this._parsePatternAs())),t=e.list.filter((e=>1===e.orPatterns.length&&69===e.orPatterns[0].nodeType&&e.orPatterns[0].isStar));t.length>1&&this._addError(ml.Diagnostic.duplicateStarPattern(),t[1].orPatterns[0]);const n=new Map;return e.list.forEach((e=>{e.orPatterns.forEach((e=>{69!==e.nodeType||e.isStar||e.isWildcard||(n.has(e.target.value)?this._addError(ml.Diagnostic.duplicateCapturePatternTarget().format({name:e.target.value}),e):n.set(e.target.value,e))}))})),e}_parsePatternAs(){const e=[];for(;;){const t=this._parsePatternAtom();if(e.push(t),!this._consumeTokenIfOperator(6))break}let t;if(e.length>1&&e.forEach((e=>{69===e.nodeType&&e.isStar&&this._addError(ml.Diagnostic.starPatternInOrPattern(),e)})),this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?t=Ri.create(e):this._addError(ml.Diagnostic.expectedNameAfterAs(),this._peekToken())}t&&1===e.length&&69===e[0].nodeType&&e[0].isStar&&this._addError(ml.Diagnostic.starPatternInAsPattern(),e[0]),e.forEach(((t,n)=>{n{this._getPatternTargetNames(e,n)})),e.forEach((e=>{const t=new Map;if(this._getPatternTargetNames(e,t),t.size!t.has(e))),r=new il;r.addMessage(ml.DiagnosticAddendum.orPatternMissingName().format({name:i.map((e=>`"${e}"`)).join(", ")})),this._addError(ml.Diagnostic.orPatternMissingName()+r.getString(),e)}})),lr.create(e,t)}_parsePatternAtom(){const e=this._parsePatternLiteral();if(e)return e;const t=this._parsePatternCaptureOrValue();if(t){const e=this._peekToken();if(0===t.nodeType||!this._consumeTokenIfType(13))return t;const n=this._parseClassPatternArgList(),i=69===t.nodeType?t.target:t.expression,r=ur.create(i,n);return this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),r}const n=this._peekToken();if(26===this._peekOperatorType()){const e=this._getNextToken(),t=this._getTokenIfIdentifier();return t?dr.create(Ri.create(t),e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(e,2))}if(13===n.type||15===n.type){const e=this._getNextToken(),t=this._parsePatternSequence();let i;if(t.parseError)i=t.parseError;else if(1!==t.list.length||t.trailingComma||13!==e.type)i=ar.create(e,t.list);else{const r=t.list[0].orPatterns[0];i=69===r.nodeType&&r.isStar?ar.create(e,t.list):t.list[0],Jn(i,n)}const r=this._peekToken();return this._consumeTokenIfType(13===n.type?14:16)?Jn(i,r):(this._addError(13===n.type?ml.Diagnostic.expectedCloseParen():ml.Diagnostic.expectedCloseBracket(),n),this._consumeTokensUntilType([10,13===n.type?14:16])),i}if(17===n.type){const e=this._getNextToken(),t=this._parsePatternMapping(e),i=this._peekToken();return this._consumeTokenIfType(18)?Jn(t,i):(this._addError(ml.Diagnostic.expectedCloseBrace(),n),this._consumeTokensUntilType([10,18])),t}return this._handleExpressionParseError(11,ml.Diagnostic.expectedPatternExpr())}_parseClassPatternArgList(){const e=[];let t=!1;for(;;){const n=this._peekTokenType();if(14===n||2===n||1===n)break;const i=this._parseClassPatternArgument();if(i.name?t=!0:t&&!i.name&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),i),e.push(i),!this._consumeTokenIfType(12))break}return e}_parseClassPatternArgument(){const e=this._peekToken(),t=this._peekToken(1);let n;7!==e.type&&8!==e.type||9!==t.type||2!==t.operatorType||(this._getNextToken(),n=Ri.create(e),this._getNextToken());const i=this._parsePatternAs();return pr.create(i,n)}_parsePatternLiteral(){const e=this._peekToken(),t=this._peekOperatorType();if(6===e.type||33===t)return this._parsePatternLiteralNumber();if(5===e.type){const e=this._parseAtom();return w(48===e.nodeType),e.strings.forEach((e=>{64&e.token.flags&&this._addError(ml.Diagnostic.formatStringInPattern(),e)})),cr.create(e)}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||26===t.keywordType)return cr.create(this._parseAtom())}}_parsePatternLiteralNumber(){const e=this._parseArithmeticExpression();let t,n;return 7===e.nodeType?33!==e.operator&&0!==e.operator||(t=e.leftExpression,n=e.rightExpression):t=e,t&&(55===t.nodeType&&33===t.operator&&(t=t.expression),(40!==t.nodeType||void 0!==n&&t.isImaginary)&&(this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e),n=void 0)),n&&(55===n.nodeType&&33===n.operator&&(n=n.expression),40===n.nodeType&&n.isImaginary||this._addError(ml.Diagnostic.expectedComplexNumberLiteral(),e)),cr.create(e)}_parsePatternMapping(e){const t=this._parseExpressionListGeneric((()=>this._parsePatternMappingItem()));if(t.list.length>0){const n=t.list.filter((e=>72===e.nodeType));return n.length>1&&this._addError(ml.Diagnostic.duplicateStarStarPattern(),n[1]),hr.create(e,t.list)}return t.parseError||di.create(this._peekToken(),11)}_parsePatternMappingItem(){let e;const t=this._peekToken();if(this._consumeTokenIfOperator(29)){const e=this._getTokenIfIdentifier();if(!e)return this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11);const n=Ri.create(e);return"_"===e.value&&this._addError(ml.Diagnostic.starStarWildcardNotAllowed(),n),fr.create(t,n)}const n=this._parsePatternLiteral();if(n)e=n;else{const t=this._parsePatternCaptureOrValue();t&&(73===t.nodeType?e=t:(this._addError(ml.Diagnostic.expectedPatternValue(),t),e=di.create(this._peekToken(),11)))}let i;return e||(this._addError(ml.Diagnostic.expectedPatternExpr(),this._peekToken()),e=di.create(this._peekToken(),11)),this._consumeTokenIfType(10)?i=this._parsePatternAs():(this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=di.create(this._peekToken(),11)),mr.create(e,i)}_parsePatternCaptureOrValue(){const e=this._peekToken();if(7===e.type||8===e.type){let e;for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}{const n=Ri.create(t);e=e?Ai.create(e,n):n}if(!this._consumeTokenIfType(20))break}return e?35===e.nodeType?gr.create(e):dr.create(e):(this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken()),di.create(this._peekToken(),11))}}_parseIfStatement(e=20){const t=this._getKeywordToken(e),n=this._parseTestExpression(!0),i=this._parseSuite(this._isInFunction),r=Zn.create(t,n,i);return this._consumeTokenIfKeyword(13)?(r.elseSuite=this._parseSuite(this._isInFunction),r.elseSuite.parent=r,Jn(r,r.elseSuite)):12===this._peekKeywordType()&&(r.elseSuite=this._parseIfStatement(12),r.elseSuite.parent=r,Jn(r,r.elseSuite)),r}_parseLoopSuite(){const e=this._isInLoop,t=this._isInFinally;this._isInLoop=!0,this._isInFinally=!1;const n=this._parseSuite(this._isInFunction);return this._isInLoop=e,this._isInFinally=t,n}_parseSuite(e=!1,t=!1,n){const i=this._peekToken(),r=Qn.create(i);if(!this._consumeTokenIfType(10)&&(9===i.type?2===this._peekOperatorType()&&this._addError(ml.Diagnostic.expectedEqualityOperator(),i):this._addError(ml.Diagnostic.expectedColon(),i),this._consumeTokensUntilType([2,10])))if(10===this._peekTokenType())this._getNextToken();else if(3!==this._peekToken(1).type)return this._getNextToken(),r;if(t){if(this._consumeTokenIfType(2)){let e=0;for(;;){const t=this._getNextToken();if(3===t.type&&e++,4===t.type&&(t.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t),e--,0===e))break;if(1===t.type)break}}else this._parseSimpleStatement();return this._tokenIndex>0&&Jn(r,this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1)),r}n&&n();const s=this._isInFunction;if(this._isInFunction=e,this._consumeTokenIfType(2)){n&&n();const e=this._peekToken();if(this._consumeTokenIfType(3)){const t=e;t.isIndentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),t)}else this._addError(ml.Diagnostic.expectedIndentedBlock(),this._peekToken());for(;;){const e=this._peekToken();if(3===e.type){this._getNextToken();const t=e;t.isIndentAmbiguous?this._addError(ml.Diagnostic.inconsistentTabs(),t):this._addError(ml.Diagnostic.unexpectedIndent(),e)}const t=this._parseStatement();t?(t.parent=r,r.statements.push(t)):this._consumeTokensUntilType([2]);const n=this._peekToken();if(this._consumeTokenIfType(4)){n.matchesIndent||this._addError(ml.Diagnostic.inconsistentIndent(),n),n.isDedentAmbiguous&&this._addError(ml.Diagnostic.inconsistentTabs(),n);break}if(1===this._peekTokenType())break}}else{const e=this._parseSimpleStatement();r.statements.push(e),e.parent=r}return r.statements.length>0&&Jn(r,r.statements[r.statements.length-1]),this._isInFunction=s,r}_parseForStatement(e){const t=this._getKeywordToken(17),n=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),t);let i,r,s;if(this._consumeTokenIfKeyword(22)){if(i=this._parseTestOrStarListAsExpression(!1,!0,2,ml.Diagnostic.expectedInExpr()),r=this._parseLoopSuite(),this._getLanguageVersion(){56!==t.nodeType||e||(this._addError(ml.Diagnostic.unpackOperatorNotAllowed(),t),e=!0)}))}this._consumeTokenIfKeyword(13)&&(s=this._parseSuite(this._isInFunction))}else i=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn()),r=Qn.create(this._peekToken());const o=ei.create(t,n,i,r);return o.elseSuite=s,s&&(Jn(o,s),s.parent=o),e&&(o.isAsync=!0,o.asyncToken=e,Jn(o,e)),o}_tryParseListComprehension(e){const t=this._tryParseCompForStatement();if(!t)return;56===e.nodeType?this._addError(ml.Diagnostic.unpackIllegalInComprehension(),e):16===e.nodeType&&this._addError(ml.Diagnostic.dictExpandIllegalInComprehension(),e);const n=Ci.create(e),i=[t];for(;;){const e=this._tryParseCompForStatement()||this._tryParseCompIfStatement();if(!e)break;e.parent=n,i.push(e)}return n.forIfNodes=i,i.length>0&&(i.forEach((e=>{e.parent=n})),Jn(n,i[i.length-1])),n}_tryParseCompForStatement(){const e=this._peekKeywordType();if(3===e){const e=this._peekToken(1);if(8!==e.type||17!==e.keywordType)return}else if(17!==e)return;let t;3===this._peekKeywordType()&&(t=this._getKeywordToken(3));const n=this._getKeywordToken(17),i=this._parseExpressionListAsPossibleTuple(2,ml.Diagnostic.expectedExpr(),n);let r;this._consumeTokenIfKeyword(22)?this._disallowAssignmentExpression((()=>{r=this._parseOrTest()})):r=this._handleExpressionParseError(0,ml.Diagnostic.expectedIn());const s=ti.create(t||n,i,r);return t&&(s.isAsync=!0,s.asyncToken=t),s}_tryParseCompIfStatement(){if(20!==this._peekKeywordType())return;const e=this._getKeywordToken(20),t=this._tryParseLambdaExpression()||this._parseAssignmentExpression(!0);return ni.create(e,t)}_parseWhileStatement(){const e=this._getKeywordToken(35),t=Xn.create(e,this._parseTestExpression(!0),this._parseLoopSuite());return this._consumeTokenIfKeyword(13)&&(t.elseSuite=this._parseSuite(this._isInFunction),t.elseSuite.parent=t,Jn(t,t.elseSuite)),t}_parseTryStatement(){const e=this._getKeywordToken(34),t=this._parseSuite(this._isInFunction),n=ii.create(e,t);let i=!1;for(;;){const e=this._peekToken();if(!this._consumeTokenIfKeyword(14))break;const t=this._peekToken();let r,s,o=!1;if(this._consumeTokenIfOperator(26)&&(this._getLanguageVersion()0&&(Jn(n,n.exceptClauses[n.exceptClauses.length-1]),this._consumeTokenIfKeyword(13)&&(n.elseSuite=this._parseSuite(this._isInFunction),n.elseSuite.parent=n,Jn(n,n.elseSuite))),this._consumeTokenIfKeyword(16)&&(n.finallySuite=this._parseSuite(this._isInFunction),n.finallySuite.parent=n,Jn(n,n.finallySuite)),n.finallySuite||0!==n.exceptClauses.length||this._addError(ml.Diagnostic.tryWithoutExcept(),e),n}_parseFunctionDef(e,t){const n=this._getKeywordToken(10),i=this._getTokenIfIdentifier();if(!i)return this._addError(ml.Diagnostic.expectedFunctionName(),n),di.create(n,10,void 0,t);const r=this._peekToken();if(!this._consumeTokenIfType(13))return this._addError(ml.Diagnostic.expectedOpenParen(),this._peekToken()),di.create(i,10,Ri.create(i),t);const s=this._parseVarArgsList(14,!0);let o,a;this._consumeTokenIfType(14)||(this._addError(ml.Diagnostic.expectedCloseParen(),r),this._consumeTokensUntilType([10])),this._consumeTokenIfType(21)&&(o=this._parseTypeAnnotation());const l=this._parseSuite(!0,this._parseOptions.skipFunctionAndClassBody,(()=>{a||(a=this._getTypeAnnotationCommentText())})),c=si.create(n,Ri.create(i),l);return e&&(c.isAsync=!0,Jn(c,e)),c.parameters=s,s.forEach((e=>{e.parent=c})),t&&(c.decorators=t,t.forEach((e=>{e.parent=c})),t.length>0&&Jn(c,t[0])),o&&(c.returnTypeAnnotation=o,c.returnTypeAnnotation.parent=c,Jn(c,o)),a&&this._parseFunctionTypeAnnotationComment(a,c),c}_parseVarArgsList(e,t){const n=new Map,i=[];let r=!1,s=!1,o=!1,a=!1,l=!1,c=!1;for(;this._peekTokenType()!==e;){const u=this._parseParameter(t);if(!u){this._consumeTokensUntilType([e]);break}if(u.name){const e=u.name.value;n.has(e)?this._addError(ml.Diagnostic.duplicateParam().format({name:e}),u.name):n.set(e,e)}else 0===u.category&&0===i.length&&this._addError(ml.Diagnostic.positionOnlyFirstParam(),u);0===u.category&&(u.name?u.defaultValue?r=!0:!r||o||l||s||(this._addError(ml.Diagnostic.nonDefaultAfterDefault(),u),s=!0):(a?this._addError(ml.Diagnostic.duplicatePositionOnly(),u):o?this._addError(ml.Diagnostic.positionOnlyAfterKeywordOnly(),u):l&&this._addError(ml.Diagnostic.positionOnlyAfterArgs(),u),a=!0)),i.push(u),1===u.category&&(u.name?((o||l)&&this._addError(ml.Diagnostic.duplicateArgsParam(),u),l=!0):(o?this._addError(ml.Diagnostic.duplicateKeywordOnly(),u):l&&this._addError(ml.Diagnostic.keywordOnlyAfterArgs(),u),o=!0)),2===u.category?(c&&this._addError(ml.Diagnostic.duplicateKwargsParam(),u),c=!0):c&&this._addError(ml.Diagnostic.paramAfterKwargsParam(),u);const p=this._consumeTokenIfType(12);if(t&&!u.typeAnnotation){const e=this._parseVariableTypeAnnotationComment();e&&(u.typeAnnotationComment=e,u.typeAnnotationComment.parent=u,Jn(u,u.typeAnnotationComment))}if(!p)break}if(i.length>0){const e=i[i.length-1];1!==e.category||e.name||this._addError(ml.Diagnostic.expectedNamedParameter(),e)}return i}_parseParameter(e){let t=0,n=0;const i=this._peekToken();this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)?t=2:this._consumeTokenIfOperator(10)&&(this._getLanguageVersion()0&&this._addError(ml.Diagnostic.defaultValueNotAllowed(),o.defaultValue)),o}_parseWithStatement(e){const t=this._getKeywordToken(36);let n=[];const i=this._peekToken();let r=!1;if(13===i.type){const e=this._tokenIndex;this._suppressErrors((()=>{for(this._getNextToken();n.push(this._parseWithItem()),this._consumeTokenIfType(12)&&14!==this._peekToken().type;);14===this._peekToken().type&&10===this._peekToken(1).type&&(r=1!==n.length||void 0!==n[0].target),this._tokenIndex=e,n=[]}))}for(r&&(this._consumeTokenIfType(13),this._getLanguageVersion(){e.parent=o})),o}_parseWithItem(){const e=this._parseTestExpression(!0),t=ci.create(e);return this._consumeTokenIfKeyword(1)&&(t.target=this._parseExpression(!1),t.target.parent=t,Jn(t,t.target)),t}_parseDecorated(){const e=[];for(;22===this._peekOperatorType();)e.push(this._parseDecorator());const t=this._peekToken();if(8===t.type)if(3===t.keywordType){if(this._getNextToken(),10===this._peekKeywordType())return this._parseFunctionDef(t,e);this._addError(ml.Diagnostic.expectedFunctionAfterAsync(),this._peekToken())}else{if(10===t.keywordType)return this._parseFunctionDef(void 0,e);if(7===t.keywordType)return this._parseClassDef(e)}return this._addError(ml.Diagnostic.expectedAfterDecorator(),this._peekToken()),ai.createDummyForDecorators(e)}_parseDecorator(){const e=this._getNextToken();w(22===e.operatorType);const t=this._parseTestExpression(!0);if(this._getLanguageVersion(){e.parent=o})),e&&(o.decorators=e,e.length>0&&(e.forEach((e=>{e.parent=o})),Jn(o,e[0]))),o}_parsePassStatement(){return Hi.create(this._getKeywordToken(30))}_parseBreakStatement(){const e=this._getKeywordToken(5);return this._isInLoop||this._addError(ml.Diagnostic.breakOutsideLoop(),e),tr.create(e)}_parseContinueStatement(){const e=this._getKeywordToken(8);return this._isInLoop?this._isInFinally&&this._addError(ml.Diagnostic.continueInFinally(),e):this._addError(ml.Diagnostic.continueOutsideLoop(),e),nr.create(e)}_parseReturnStatement(){const e=this._getKeywordToken(32),t=ir.create(e);if(this._isInFunction||this._addError(ml.Diagnostic.returnOutsideFunction(),e),!this._isNextTokenNeverExpression()){const e=this._parseTestOrStarListAsExpression(!0,!0,2,ml.Diagnostic.expectedReturnExpr());this._reportConditionalErrorForStarTupleElement(e),t.returnExpression=e,t.returnExpression.parent=t,Jn(t,e)}return t}_parseFromStatement(){const e=this._getKeywordToken(18),t=this._parseDottedModuleName(!0),n=Yi.create(e,t),i=0===t.leadingDots&&1===t.nameParts.length&&"__future__"===t.nameParts[0].value,r=this._peekToken();if(this._consumeTokenIfKeyword(21)){Jn(n,r);const e=this._peekToken();if(this._consumeTokenIfOperator(26))Jn(n,e),n.isWildcardImport=!0,n.wildcardToken=e,this._containsWildcardImport=!0;else{const e=this._peekToken(),t=this._consumeTokenIfType(13);let r;for(;;){const e=this._getTokenIfIdentifier();if(!e)break;r=void 0;const t=Qi.create(Ri.create(e));if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(t.alias=Ri.create(e),t.alias.parent=t,Jn(t,e)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}n.imports.push(t),t.parent=n,Jn(n,t),i&&this._futureImportMap.set(e.value,!0);const s=this._peekToken();if(!this._consumeTokenIfType(12))break;r=s}if(0===n.imports.length&&this._addError(ml.Diagnostic.expectedImportSymbols(),this._peekToken()),t){n.usesParens=!0;const t=this._peekToken();this._consumeTokenIfType(14)?Jn(n,t):this._addError(ml.Diagnostic.expectedCloseParen(),e)}else r&&this._addError(ml.Diagnostic.trailingCommaInFromImport(),r)}}else this._addError(ml.Diagnostic.expectedImport(),this._peekToken()),t.hasTrailingDot||(n.missingImportKeyword=!0);this._importedModules.push({nameNode:n.module,leadingDots:n.module.leadingDots,nameParts:n.module.nameParts.map((e=>e.value)),importedSymbols:n.imports.map((e=>e.name.value))});let s=!1;if(1===n.module.nameParts.length){const e=n.module.nameParts[0].value;"typing"!==e&&"typing_extensions"!==e||(s=!0)}if(s){const e=["Literal","TypeAlias","Annotated"];n.isWildcardImport?e.forEach((e=>{this._typingSymbolAliases.set(e,e)})):n.imports.forEach((t=>{var n;e.some((e=>e===t.name.value))&&this._typingSymbolAliases.set((null===(n=t.alias)||void 0===n?void 0:n.value)||t.name.value,t.name.value)}))}return n}_parseImportStatement(){var e;const t=this._getKeywordToken(21),n=Gi.create(t);for(;;){const t=this._parseDottedModuleName(),i=Ji.create(t);if(this._consumeTokenIfKeyword(1)){const e=this._getTokenIfIdentifier();e?(i.alias=Ri.create(e),i.alias.parent=i,Jn(i,i.alias)):this._addError(ml.Diagnostic.expectedImportAlias(),this._peekToken())}if(i.module.leadingDots>0&&this._addError(ml.Diagnostic.relativeImportNotAllowed(),i.module),n.list.push(i),i.parent=n,this._importedModules.push({nameNode:i.module,leadingDots:i.module.leadingDots,nameParts:i.module.nameParts.map((e=>e.value)),importedSymbols:void 0}),1===t.nameParts.length){const n=t.nameParts[0].value;"typing"!==n&&"typing_extensions"!==n||this._typingImportAliases.push((null===(e=i.alias)||void 0===e?void 0:e.value)||n)}if(!this._consumeTokenIfType(12))break}return n.list.length>0&&Jn(n,n.list[n.list.length-1]),n}_parseDottedModuleName(e=!1){var t;const n=Ki.create(this._peekToken());for(;;){const e=null!==(t=this._getTokenIfType(19))&&void 0!==t?t:this._getTokenIfType(20);if(!e)break;19===e.type?n.leadingDots+=3:n.leadingDots++,Jn(n,e)}for(;;){const t=this._getTokenIfIdentifier();if(!t){(!e||0===n.leadingDots||n.nameParts.length>0)&&(this._addError(ml.Diagnostic.expectedModuleName(),this._peekToken()),n.hasTrailingDot=!0);break}const i=Ri.create(t);n.nameParts.push(i),i.parent=n,Jn(n,i);const r=this._peekToken();if(!this._consumeTokenIfType(20))break;Jn(n,r)}return n}_parseGlobalStatement(){const e=this._getKeywordToken(19),t=Zi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNonlocalStatement(){const e=this._getKeywordToken(27),t=Xi.create(e);return t.nameList=this._parseNameList(),t.nameList.length>0&&(t.nameList.forEach((e=>{e.parent=t})),Jn(t,t.nameList[t.nameList.length-1])),t}_parseNameList(){const e=[];for(;;){const t=this._getTokenIfIdentifier();if(!t){this._addError(ml.Diagnostic.expectedIdentifier(),this._peekToken());break}if(e.push(Ri.create(t)),!this._consumeTokenIfType(12))break}return e}_parseRaiseStatement(){const e=this._getKeywordToken(31),t=rr.create(e);return this._isNextTokenNeverExpression()||(t.typeExpression=this._parseTestExpression(!0),t.typeExpression.parent=t,Jn(t,t.typeExpression),this._consumeTokenIfKeyword(18)?(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression)):this._consumeTokenIfType(12)&&(t.valueExpression=this._parseTestExpression(!0),t.valueExpression.parent=t,Jn(t,t.valueExpression),this._consumeTokenIfType(12)&&(t.tracebackExpression=this._parseTestExpression(!0),t.tracebackExpression.parent=t,Jn(t,t.tracebackExpression)))),t}_parseAssertStatement(){const e=this._getKeywordToken(2),t=this._parseTestExpression(!0),n=er.create(e,t);if(this._consumeTokenIfType(12)){const e=this._parseTestExpression(!0);n.exceptionExpression=e,n.exceptionExpression.parent=n,Jn(n,e)}return n}_parseDelStatement(){const e=this._getKeywordToken(11),t=this._parseExpressionList(!0);t.parseError||0!==t.list.length||this._addError(ml.Diagnostic.expectedDelExpr(),this._peekToken());const n=$i.create(e);return n.expressions=t.list,n.expressions.length>0&&(n.expressions.forEach((e=>{e.parent=n})),Jn(n,n.expressions[n.expressions.length-1])),n}_parseYieldExpression(){const e=this._getKeywordToken(37),t=this._peekToken();if(this._consumeTokenIfKeyword(18))return this._getLanguageVersion()0?e.list[0]:this._peekToken(-1),i=Si.create(n,t);return i.expressions=e.list,e.list.length>0&&(e.list.forEach((e=>{e.parent=i})),Jn(i,e.list[e.list.length-1])),i}_parseExpressionListAsPossibleTuple(e,t,n){if(this._isNextTokenNeverExpression())return this._addError(t,n),di.create(n,e);const i=this._parseExpressionList(!0);return i.parseError?i.parseError:this._makeExpressionOrTuple(i,!1)}_parseTestListAsExpression(e,t){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(e,t);const n=this._parseTestExpressionList();return n.parseError?n.parseError:this._makeExpressionOrTuple(n,!1)}_parseTestOrStarListAsExpression(e,t,n,i){if(this._isNextTokenNeverExpression())return this._handleExpressionParseError(n,i);const r=this._parseTestOrStarExpressionList(e,t);return r.parseError?r.parseError:this._makeExpressionOrTuple(r,!1)}_parseExpressionList(e){return this._parseExpressionListGeneric((()=>this._parseExpression(e)))}_parseTestExpressionList(){return this._parseExpressionListGeneric((()=>this._parseTestExpression(!1)))}_parseTestOrStarExpressionList(e,t){const n=this._parseExpressionListGeneric((()=>this._parseTestOrStarExpression(e)));if(!t&&!n.parseError){let e=!1;for(const t of n.list)if(56===t.nodeType){if(e){this._addError(ml.Diagnostic.duplicateUnpack(),t);break}e=!0}}return n}_parseExpression(e){const t=this._peekToken();return e&&this._consumeTokenIfOperator(26)?Ii.create(t,this._parseExpression(!1)):this._parseBitwiseOrExpression()}_parseTestOrStarExpression(e){return 26===this._peekOperatorType()?this._parseExpression(!0):this._parseTestExpression(e)}_parseTestExpression(e){if(24===this._peekKeywordType())return this._parseLambdaExpression();const t=e?this._parseAssignmentExpression():this._parseOrTest();if(0===t.nodeType)return t;if(!this._consumeTokenIfKeyword(20))return t;const n=this._parseOrTest();if(0===n.nodeType)return n;if(!this._consumeTokenIfKeyword(13))return this._handleExpressionParseError(1,ml.Diagnostic.expectedElse());const i=this._parseTestExpression(!0);return 0===i.nodeType?i:bi.create(t,n,i)}_parseAssignmentExpression(e=!1){const t=this._parseOrTest();if(0===t.nodeType)return t;if(38!==t.nodeType)return t;const n=this._peekToken();if(!this._consumeTokenIfOperator(35))return t;(!this._assignmentExpressionsAllowed||this._isParsingTypeAnnotation||e)&&this._addError(ml.Diagnostic.walrusNotAllowed(),n),this._getLanguageVersion()e===t))}return!1}_parseAtomExpression(){let e;4!==this._peekKeywordType()||this._isParsingTypeAnnotation||(e=this._getKeywordToken(4),this._getLanguageVersion()1||i.trailingComma)&&i.args.forEach((e=>{32===e.valueExpression.nodeType&&(e.valueExpression.isParenthesized||this._addError(ml.Diagnostic.generatorNotParenthesized(),e.valueExpression))}));const s=this._peekToken();let o=!1;if(this._consumeTokenIfType(14)?(Jn(r,s),o=!0):(this._addError(ml.Diagnostic.expectedCloseParen(),e),this._consumeTokensUntilType([2]),Jn(r,this._peekToken())),this._isParsingTypeAnnotation=n,this._isParsingTypeAnnotation){const e=new il;38===t.nodeType&&"type"===t.value&&(e.addMessage(ml.DiagnosticAddendum.useTypeInstead()),this._addError(ml.Diagnostic.typeCallNotAllowed()+e.getString(),r))}if(t=r,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),!o)break}else if(this._consumeTokenIfType(15)){const n=this._isParsingIndexTrailer,i=this._isParsingTypeAnnotation;(this._isTypingAnnotation(t,"Literal")||this._isTypingAnnotation(t,"Annotated"))&&(this._isParsingTypeAnnotation=!1),this._isParsingIndexTrailer=!0;const r=this._parseSubscriptList();this._isParsingTypeAnnotation=i,this._isParsingIndexTrailer=n;const s=this._peekToken(),o=wi.create(t,r.list,r.trailingComma,s);Jn(o,o),this._consumeTokenIfType(16)||this._handleExpressionParseError(6,ml.Diagnostic.expectedCloseBracket(),e,o),t=o,void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}else{if(!this._consumeTokenIfType(20))break;{const n=this._getTokenIfIdentifier();if(!n)return this._handleExpressionParseError(7,ml.Diagnostic.expectedMemberName(),e,t);t=Ai.create(t,Ri.create(n)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t))}}}return e?Ti.create(e,t):t}_parseSubscriptList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekToken();if(10!==i.type&&this._isNextTokenNeverExpression())break;let r=0;this._consumeTokenIfOperator(26)?r=1:this._consumeTokenIfOperator(29)&&(r=2);const s=this._tokenIndex;let o,a=this._parsePossibleSlice();if(0===r)if(this._consumeTokenIfOperator(2)){const e=a;a=this._parsePossibleSlice(),38===e.nodeType?o=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else 38===a.nodeType&&35===this._peekOperatorType()&&(this._tokenIndex=s,a=this._parseTestExpression(!0),!this._parseOptions.isStubFile&&this._getLanguageVersion()=De.V3_11;2!==r&&e||this._addError(ml.Diagnostic.unpackedSubscriptIllegal(),l)}if(!this._consumeTokenIfType(12)){n=!1;break}n=!0}if(0===e.length){const t=this._handleExpressionParseError(3,ml.Diagnostic.expectedSliceIndex(),void 0,void 0,[16]);e.push(zi.create(this._peekToken(),t,0))}return{list:e,trailingComma:n}}_parsePossibleSlice(){const e=this._peekToken(),t=[void 0,void 0,void 0];let n=0,i=!1;for(;;){const e=this._peekTokenType();if(16===e||12===e)break;if(10!==e&&(t[n]=this._parseTestExpression(!1)),n++,n>=3||!this._consumeTokenIfType(10))break;i=!0}if(!i)return t[0]?t[0]:di.create(this._peekToken(),3);const r=Ei.create(e);r.startValue=t[0],r.startValue&&(r.startValue.parent=r),r.endValue=t[1],r.endValue&&(r.endValue.parent=r),r.stepValue=t[2],r.stepValue&&(r.stepValue.parent=r);const s=t[2]||t[1]||t[0];return s&&Jn(r,s),r}_parseArgList(){const e=[];let t=!1,n=!1;for(;;){const i=this._peekTokenType();if(14===i||2===i||1===i)break;n=!1;const r=this._parseArgument();if(r.name?t=!0:t&&0===r.argumentCategory&&this._addError(ml.Diagnostic.positionArgAfterNamedArg(),r),e.push(r),!this._consumeTokenIfType(12))break;n=!0}return{args:e,trailingComma:n}}_parseArgument(){const e=this._peekToken();let t=0;this._consumeTokenIfOperator(26)?t=1:this._consumeTokenIfOperator(29)&&(t=2);let n,i=this._parseTestExpression(!0);if(0===t)if(this._consumeTokenIfOperator(2)){const e=i;i=this._parseTestExpression(!1),38===e.nodeType?n=e.token:this._addError(ml.Diagnostic.expectedParamName(),e)}else{const e=this._tryParseListComprehension(i);e&&(i=e)}const r=zi.create(e,i,t);return n&&(r.name=Ri.create(n),r.name.parent=r),r}_parseAtom(){const e=this._peekToken();if(19===e.type)return Ni.create(this._getNextToken());if(6===e.type)return Mi.create(this._getNextToken());if(7===e.type)return Ri.create(this._getNextToken());if(5===e.type)return this._parseStringList();if(22===e.type){this._getNextToken(),this._addError(ml.Diagnostic.backticksIllegal(),e);const t=this._parseTestListAsExpression(2,ml.Diagnostic.expectedExpr());return this._consumeTokenIfType(22),t}if(13===e.type){const e=this._parseTupleAtom();if(52===e.nodeType&&this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useTupleInstead()),this._addError(ml.Diagnostic.tupleInAnnotation()+t.getString(),e)}return 7===e.nodeType&&(e.parenthesized=!0),48===e.nodeType&&(e.isParenthesized=!0),32===e.nodeType&&(e.isParenthesized=!0),e}if(15===e.type){const e=this._parseListAtom();if(this._isParsingTypeAnnotation&&!this._isParsingIndexTrailer){const t=new il;t.addMessage(ml.DiagnosticAddendum.useListInstead()),this._addError(ml.Diagnostic.listInAnnotation()+t.getString(),e)}return e}if(17===e.type){const e=this._parseDictionaryOrSetAtom();if(this._isParsingTypeAnnotation){const t=new il;t.addMessage(ml.DiagnosticAddendum.useDictInstead()),this._addError(ml.Diagnostic.dictInAnnotation()+t.getString(),e)}return e}if(8===e.type){const t=e;if(15===t.keywordType||33===t.keywordType||9===t.keywordType||26===t.keywordType)return Fi.create(this._getNextToken());const n=this._getTokenIfIdentifier();if(n)return Ri.create(n)}return this._handleExpressionParseError(2,ml.Diagnostic.expectedExpr())}_handleExpressionParseError(e,t,n,i,r){this._addError(t,null!=n?n:this._peekToken());const s=di.create(this._peekToken(),e,i),o=[2];return r&&o.push(...r),this._consumeTokensUntilType(o),s}_parseLambdaExpression(e=!0){const t=this._getKeywordToken(24),n=this._parseVarArgsList(10,!1);let i;this._consumeTokenIfType(10)||this._addError(ml.Diagnostic.expectedColon(),this._peekToken()),i=e?this._parseTestExpression(!1):this._tryParseLambdaExpression(!1)||this._parseOrTest();const r=Pi.create(t,i);return r.parameters=n,n.forEach((e=>{e.parent=r})),r}_tryParseLambdaExpression(e=!0){if(24===this._peekKeywordType())return this._parseLambdaExpression(e)}_parseTupleAtom(){var e;const t=this._getNextToken();w(13===t.type);const n=this._tryParseYieldExpression();if(n)return 14!==this._peekTokenType()?this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,n):(Jn(n,this._getNextToken()),n);const i=this._parseTestListWithComprehension(),r=this._makeExpressionOrTuple(i,!0),s=1===i.list.length&&!i.trailingComma;if(s||Jn(r,t),14!==this._peekTokenType())return this._handleExpressionParseError(8,ml.Diagnostic.expectedCloseParen(),t,null!==(e=i.parseError)&&void 0!==e?e:r);{const e=this._getNextToken();s||Jn(r,e)}return r}_parseListAtom(){var e;const t=this._getNextToken();w(15===t.type);const n=this._parseTestListWithComprehension(),i=this._peekToken();return this._consumeTokenIfType(16)?r():this._handleExpressionParseError(9,ml.Diagnostic.expectedCloseBracket(),t,null!==(e=n.parseError)&&void 0!==e?e:r());function r(){const e=ji.create(t);return i&&Jn(e,i),n.list.length>0&&(n.list.forEach((t=>{t.parent=e})),Jn(e,n.list[n.list.length-1])),e.entries=n.list,e}}_parseTestListWithComprehension(){let e=!1;return this._parseExpressionListGeneric((()=>{let t=this._parseTestOrStarExpression(!0);const n=this._tryParseListComprehension(t);return n&&(t=n,e=!0),t}),(()=>this._isNextTokenNeverExpression()),(()=>e))}_parseDictionaryOrSetAtom(){const e=this._getNextToken();w(17===e.type);const t=[],n=[];let i,r=!1,s=!1,o=!1,a=!0;for(;18!==this._peekTokenType();){let e,l,c;i=void 0;const u=this._peekToken();if(this._consumeTokenIfOperator(29)?e=this._parseExpression(!1):(l=this._parseTestOrStarExpression(!0),this._consumeTokenIfType(10)&&(c=this._parseTestExpression(!1))),l&&c)if(56===l.nodeType&&this._addError(ml.Diagnostic.unpackInDict(),l),s)this._addError(ml.Diagnostic.keyValueInSet(),c);else{const e=Vi.create(l,c);let n=e;const i=this._tryParseListComprehension(e);i&&(n=i,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),n)),t.push(n),r=!0}else if(e)if(s)this._addError(ml.Diagnostic.unpackInSet(),e);else{const n=Bi.create(e);Jn(n,u);let i=n;const s=this._tryParseListComprehension(n);s&&(i=s,o=!0,a||this._addError(ml.Diagnostic.comprehensionInDict(),e)),t.push(i),r=!0}else if(w(void 0!==l),l)if(r){const e=di.create(this._peekToken(),13),n=Vi.create(l,e);t.push(n),this._addError(ml.Diagnostic.dictKeyValuePairs(),l)}else{const e=this._tryParseListComprehension(l);e&&(l=e,o=!0,a||this._addError(ml.Diagnostic.comprehensionInSet(),l)),n.push(l),s=!0}if(o)break;if(12!==this._peekTokenType())break;i=this._getNextToken(),a=!1}let l=this._peekToken();if(this._consumeTokenIfType(18)||(this._addError(ml.Diagnostic.expectedCloseBrace(),e),l=void 0),s){const t=Wi.create(e);return l&&Jn(t,l),n.length>0&&Jn(t,n[n.length-1]),n.forEach((e=>{e.parent=t})),t.entries=n,t}const c=qi.create(e);return i&&(c.trailingCommaToken=i,Jn(c,i)),l&&Jn(c,l),t.length>0&&(t.forEach((e=>{e.parent=c})),Jn(c,t[t.length-1])),c.entries=t,c}_parseExpressionListGeneric(e,t=(()=>this._isNextTokenNeverExpression()),n=(()=>!1)){let i=!1;const r=[];let s;for(;!t();){const t=e();if(0===t.nodeType){s=t;break}if(r.push(t),n())break;if(!this._consumeTokenIfType(12)){i=!1;break}i=!0}return{trailingComma:i,list:r,parseError:s}}_parseExpressionStatement(){let e,t=this._parseTestOrStarListAsExpression(!1,!1,2,ml.Diagnostic.expectedExpr());if(0===t.nodeType)return t;if(this._consumeTokenIfType(10)){if(e=this._parseTypeAnnotation(),t=yi.create(t,e),!this._parseOptions.isStubFile&&this._getLanguageVersion()0)}_getTypeAnnotationCommentText(){if(0===this._tokenIndex)return;const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex-1),t=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);if(e.start+e.length===t.start)return;const n=this._fileContents.substring(e.start+e.length,t.start).match(/^(\s*#\s*type:\s*)([^\r\n]*)/);if(!n)return;const i=n[2];if(i.trim().match(/^ignore(\s|\[|$)/))return;const r=e.start+e.length+n[1].length;return dc.create(r,i.length,0,i,0,void 0)}_parseVariableTypeAnnotationComment(){const e=this._getTypeAnnotationCommentText();if(!e)return;const t=this._makeStringNode(e),n=Ui.create([t]),i=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,1,void 0,this._typingSymbolAliases);return i.diagnostics.forEach((e=>{this._addError(e.message,n)})),i.parseTree?i.parseTree:void 0}_parseFunctionTypeAnnotationComment(e,t){const n=this._makeStringNode(e),i=Ui.create([n]),r=(new Qc).parseTextExpression(this._fileContents,e.start,e.length,this._parseOptions,2,void 0,this._typingSymbolAliases);if(r.diagnostics.forEach((e=>{this._addError(e.message,i)})),!r.parseTree||62!==r.parseTree.nodeType)return;const s=r.parseTree;t.functionAnnotationComment=s,s.parent=t,Jn(t,s)}_parseFormatStringSegment(e,t,n,i){w(t.isExpression);const r=(new Qc).parseTextExpression(this._fileContents,e.start+e.prefixLength+e.quoteMarkLength+t.offset+n,i,this._parseOptions,0,1,this._typingSymbolAliases);return r.diagnostics.forEach((t=>{const n=(t.range?xt(t.range.start,r.lines):e.start)||e.start,i={start:n,length:((t.range?(xt(t.range.end,r.lines)||0)+1:e.start+e.length)||e.start+e.length)-n};this._addError(t.message,i)})),r.parseTree}_parseFormatString(e){const t=Vc(e);this._reportStringTokenErrors(e,t);const n=[];for(const i of t.formatStringSegments)if(i.isExpression){const t=this._getFormatStringExpressionLength(i.value.trimEnd()),r=this._parseFormatStringSegment(e,i,0,t);r&&n.push(r);const s=i.value.substr(t);let o=0,a=0;for(let r=0;r0&&(o--,0===o)){const s=this._getFormatStringExpressionLength(i.value.substr(t+a,r-a)),o=this._parseFormatStringSegment(e,i,t+a,s);o&&n.push(o)}}return Li.create(e,t.value,t.unescapeErrors.length>0,n)}_getFormatStringExpressionLength(e){let t=0;const n=[];let i,r=0,s=0,o=0;for(;t0||r>0||s>0||o>0,c=n.length>0;if("="===a)i=t;else{if(":"===a){if(!l)break}else if("!"===a){if(!l&&(t===e.length-1||"="!==e[t+1]))break}else if("'"===a||'"'===a){let i=a;t+20&&n[n.length-1]===i?n.pop():0===n.length&&n.push(i)}else"("===a?c||s++:")"===a?!c&&s>0&&s--:"{"===a?c||r++:"}"===a?!c&&r>0&&r--:"["===a?c||o++:"]"===a&&!c&&o>0&&o--;" "!==a&&(i=void 0)}t++}return this._parseOptions.pythonVersion>=De.V3_8&&void 0!==i&&(t=i),t}_createBinaryOperationNode(e,t,n,i){return void 0!==e.maxChildDepth&&e.maxChildDepth>=Yc&&(e=di.create(e,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),e)),void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),mi.create(e,t,n,i)}_createUnaryOperationNode(e,t,n){return void 0!==t.maxChildDepth&&t.maxChildDepth>=Yc&&(t=di.create(t,14),this._addError(ml.Diagnostic.maxParseDepthExceeded(),t)),hi.create(e,t,n)}_parseStringList(){const e=[];for(;5===this._peekTokenType();){const t=this._getNextToken();64&t.flags?e.push(this._parseFormatString(t)):e.push(this._makeStringNode(t))}const t=Ui.create(e);if(this._isParsingTypeAnnotation)if(t.strings.length>1)this._addError(ml.Diagnostic.annotationSpansStrings(),t);else if(64&t.strings[0].token.flags)this._addError(ml.Diagnostic.annotationFormatString(),t);else{const e=t.strings[0].token,n=Vc(t.strings[0].token).value,i=e.start,r=e.prefixLength+e.quoteMarkLength;if(n.length!==e.length-r-e.quoteMarkLength)this._addError(ml.Diagnostic.annotationStringEscape(),t);else{const e=(new Qc).parseTextExpression(this._fileContents,i+r,n.length,this._parseOptions,1,0!=(4&t.strings[0].token.flags)?1:0,this._typingSymbolAliases);e.diagnostics.forEach((e=>{this._addError(e.message,t)})),e.parseTree&&(t.typeAnnotation=e.parseTree,t.typeAnnotation.parent=t)}}return t}_reportConditionalErrorForStarTupleElement(e){if(52===e.nodeType&&!(e.enclosedInParens||this._parseOptions.pythonVersion>=De.V3_8))for(const t of e.expressions)if(56===t.nodeType)return void this._addError(ml.Diagnostic.unpackTuplesIllegal(),t)}_isNextTokenNeverExpression(){switch(this._peekToken().type){case 8:switch(this._peekKeywordType()){case 17:case 22:case 20:return!0}break;case 9:switch(this._peekOperatorType()){case 1:case 34:case 27:case 11:case 25:case 4:case 7:case 9:case 18:case 32:case 30:case 14:case 2:return!0}break;case 3:case 4:case 2:case 1:case 11:case 14:case 16:case 18:case 12:case 10:return!0}return!1}_disallowAssignmentExpression(e){const t=this._assignmentExpressionsAllowed;this._assignmentExpressionsAllowed=!1,e(),this._assignmentExpressionsAllowed=t}_getNextToken(){const e=this._tokenizerOutput.tokens.getItemAt(this._tokenIndex);return this._atEof()||this._tokenIndex++,e}_atEof(){return this._tokenIndex>=this._tokenizerOutput.tokens.count-1}_peekToken(e=0){return this._tokenIndex+e<0?this._tokenizerOutput.tokens.getItemAt(0):this._tokenIndex+e>=this._tokenizerOutput.tokens.count?this._tokenizerOutput.tokens.getItemAt(this._tokenizerOutput.tokens.count-1):this._tokenizerOutput.tokens.getItemAt(this._tokenIndex+e)}_peekTokenType(){return this._peekToken().type}_peekKeywordType(){const e=this._peekToken();if(8===e.type)return e.keywordType}_peekOperatorType(){const e=this._peekToken();if(9===e.type)return e.operatorType}_getTokenIfIdentifier(){const e=this._peekToken();if(7===e.type)return this._getNextToken();if(0===e.type)return this._getNextToken(),this._addError(ml.Diagnostic.invalidIdentifierChar(),e),fc.create(e.start,e.length,"",e.comments);if(8===e.type){const t=this._peekKeywordType();if([9,25,6].find((e=>e===t))){const t=this._fileContents.substr(e.start,e.length);return this._getNextToken(),fc.create(e.start,e.length,t,e.comments)}}}_consumeTokensUntilType(e){for(;;){const t=this._peekToken();if(e.some((e=>e===t.type)))return!0;if(1===t.type)return!1;this._getNextToken()}}_getTokenIfType(e){if(this._peekTokenType()===e)return this._getNextToken()}_consumeTokenIfType(e){return!!this._getTokenIfType(e)}_consumeTokenIfKeyword(e){return this._peekKeywordType()===e&&(this._getNextToken(),!0)}_consumeTokenIfOperator(e){return this._peekOperatorType()===e&&(this._getNextToken(),!0)}_getKeywordToken(e){const t=this._getNextToken();return w(8===t.type),w(t.keywordType===e),t}_getLanguageVersion(){return this._parseOptions.pythonVersion}_suppressErrors(e){const t=this._areErrorsSuppressed;try{this._areErrorsSuppressed=!0,e()}finally{this._areErrorsSuppressed=t}}_addError(e,t){w(void 0!==t),this._areErrorsSuppressed||this._diagSink.addError(e,St(t.start,t.start+t.length,this._tokenizerOutput.lines))}}class Zc{constructor(e,t){this.symbolTable=new Map,this.notLocalBindings=new Map,this.type=e,this.parent=t}getGlobalScope(){let e=this;for(;e;){if(3===e.type||4===e.type)return e;e=e.parent}return E("failed to find scope"),this}isIndependentlyExecutable(){return 3===this.type||1===this.type}lookUpSymbol(e){return this.symbolTable.get(e)}lookUpSymbolRecursive(e,t=!1,n=!1){const i=this.symbolTable.get(e);if(i){if(t&&i.isExternallyHidden())return;const e=i.getDeclarations();if(0===e.length||e.some((e=>1!==e.type||!e.isDefinedByMemberAccess)))return{symbol:i,isOutsideCallerModule:t,isBeyondExecutionScope:n,scope:this}}let r;if(r=1===this.notLocalBindings.get(e)?this.getGlobalScope():this.parent,r)return r.lookUpSymbolRecursive(e,t||3===this.type,n||this.isIndependentlyExecutable())}addSymbol(e,t){const n=new qo(t);return this.symbolTable.set(e,n),n}getBindingType(e){return this.notLocalBindings.get(e)}setBindingType(e,t){return this.notLocalBindings.set(e,t)}setSlotsNames(e){this.slotsNames=e}getSlotsNames(){return this.slotsNames}}function Xc(e,t,n,i){if(4===e.nodeType)return Xc(e.rightExpression,t,n,i);if(55===e.nodeType){if(37===e.operator||36===e.operator){const r=eu(e.expression,t,n,i);if(void 0!==r)return!r}}else if(7===e.nodeType){if(37===e.operator||36===e.operator){const r=Xc(e.leftExpression,t,n,i),s=Xc(e.rightExpression,t,n,i);if(void 0===r||void 0===s)return;return 37===e.operator?r||s:r&&s}if(iu(e.leftExpression,i)&&52===e.rightExpression.nodeType){const n=function(e){let t;if(e.expressions.length>=2){if(40===e.expressions[0].nodeType&&!e.expressions[0].isImaginary&&40===e.expressions[1].nodeType&&!e.expressions[1].isImaginary){const n=e.expressions[0],i=e.expressions[1];"number"==typeof n.value&&"number"==typeof i.value&&(t=256*n.value+i.value)}}else if(1===e.expressions.length){const n=e.expressions[0];"number"==typeof n.value&&(t=256*n.value)}return t}(e.rightExpression);return tu(e.operator,t.pythonVersion,n)}if(24===e.leftExpression.nodeType&&iu(e.leftExpression.baseExpression,i)&&1===e.leftExpression.items.length&&!e.leftExpression.trailingComma&&!e.leftExpression.items[0].name&&0===e.leftExpression.items[0].argumentCategory&&40===e.leftExpression.items[0].valueExpression.nodeType&&!e.leftExpression.items[0].valueExpression.isImaginary&&0===e.leftExpression.items[0].valueExpression.value&&40===e.rightExpression.nodeType)return tu(e.operator,Math.floor(t.pythonVersion/256),e.rightExpression.value);if(function(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"platform"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}(e.leftExpression,i)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"darwin":e.pythonPlatform===rc.Windows?"win32":e.pythonPlatform===rc.Linux?"linux":void 0}(t);return nu(e.operator,i,n)}if(function(e){return 35===e.nodeType&&38===e.leftExpression.nodeType&&"os"===e.leftExpression.value&&"name"===e.memberName.value}(e.leftExpression)&&48===e.rightExpression.nodeType){const n=e.rightExpression.strings.map((e=>e.value)).join(""),i=function(e){return e.pythonPlatform===rc.Darwin?"posix":e.pythonPlatform===rc.Windows?"nt":e.pythonPlatform===rc.Linux?"posix":void 0}(t);if(void 0!==i)return nu(e.operator,i,n)}}else if(11===e.nodeType){if(33===e.constType)return!0;if(15===e.constType)return!1}else if(38===e.nodeType){if("TYPE_CHECKING"===e.value)return!0}else if(n&&35===e.nodeType&&"TYPE_CHECKING"===e.memberName.value&&38===e.leftExpression.nodeType&&n.some((t=>t===e.leftExpression.value)))return!0}function eu(e,t,n,i){return(11!==e.nodeType||26!==e.constType)&&Xc(e,t,n,i)}function tu(e,t,n){if(void 0!==t&&void 0!==n){if(t=BigInt(t),n=BigInt(n),20===e)return tn;if(16===e)return t>=n;if(12===e)return t===n;if(28===e)return t!==n}}function nu(e,t,n){if(void 0!==t&&void 0!==n){if(12===e)return t===n;if(28===e)return t!==n}}function iu(e,t=["sys"]){return!(35!==e.nodeType||38!==e.leftExpression.nodeType||"version_info"!==e.memberName.value||!t.some((t=>t===e.leftExpression.value)))}class ru extends _r{constructor(e,t=!1){super(),this._moduleSymbolOnly=t,this._deferredBindingTasks=[],this._currentExceptTargets=[],this._finallyTargets=[],this._typingImportAliases=[],this._sysImportAliases=[],this._dataclassesImportAliases=[],this._typingSymbolAliases=new Map,this._dataclassesSymbolAliases=new Map,this._dunderAllStringNodes=[],this._usesUnsupportedDunderAllForm=!1,this._isInExceptSuite=!1,this._potentialHiddenSymbols=new Map,this._potentialPrivateSymbols=new Map,this._functionCodeFlowComplexity=0,this._fileInfo=e}bindModule(e){var t;const n=void 0===this._fileInfo.builtinsScope;this._createNewScope(n?4:3,this._fileInfo.builtinsScope,(()=>{Nt(e,this._currentScope),Ut(e,this._currentFlowNode),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__name__",e,"str"),this._addImplicitSymbolToCurrentScope("__qualname__",e,"str"),this._addImplicitSymbolToCurrentScope("__loader__",e,"Any"),this._addImplicitSymbolToCurrentScope("__package__",e,"str"),this._addImplicitSymbolToCurrentScope("__spec__",e,"Any"),this._addImplicitSymbolToCurrentScope("__path__",e,"Iterable[str]"),this._addImplicitSymbolToCurrentScope("__file__",e,"str"),this._addImplicitSymbolToCurrentScope("__cached__",e,"str"),this._addImplicitSymbolToCurrentScope("__dict__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__annotations__",e,"Dict[str, Any]"),this._addImplicitSymbolToCurrentScope("__builtins__",e,"Any"),this._currentFlowNode=this._createStartFlowNode(),this._walkStatementsAndReportUnreachable(e.statements),Bt(e,this._currentScopeCodeFlowExpressions),qt(e,this._currentFlowNode)})),this._bindDeferred(),this._potentialHiddenSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||(this._fileInfo.isStubFile?e.setIsExternallyHidden():e.setPrivatePyTypedImport())})),this._potentialPrivateSymbols.forEach(((e,t)=>{var n;(null===(n=this._dunderAllNames)||void 0===n?void 0:n.some((e=>e===t)))||e.setIsPrivateMember()})),this._dunderAllNames?jt(e,{names:this._dunderAllNames,stringNodes:this._dunderAllStringNodes,usesUnsupportedDunderAllForm:this._usesUnsupportedDunderAllForm}):jt(e,void 0);const i=Ft(e);if(i&&this._dunderAllNames)for(const e of this._dunderAllNames)null===(t=i.symbolTable.get(e))||void 0===t||t.setIsInDunderAll()}visitModule(e){return E("We should never get here"),!1}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitModuleName(e){const t=Rt(e);if(w(void 0!==t),!t||t.isNativeLib)return!0;if(!t.isImportFound)return this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingImports,$o.reportMissingImports,ml.Diagnostic.importResolveFailure().format({importName:t.importName}),e),!0;if(!t.isStubFile&&1===t.importType&&!t.pyTypedInfo){const n=this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingTypeStubs,$o.reportMissingTypeStubs,ml.Diagnostic.stubFileMissing().format({importName:t.importName}),e);if(n){const e={action:"pyright.createtypestub",moduleName:t.importName};n.addAction(e)}}return t.isStubFile&&0!==t.importType&&t.nonStubImportResult&&!t.nonStubImportResult.isImportFound&&(this._fileInfo.isStubFile||this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingModuleSource,$o.reportMissingModuleSource,ml.Diagnostic.importSourceResolveFailure().format({importName:t.importName}),e)),!0}visitClass(e){this.walkMultiple(e.decorators);const t={type:4,node:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},n=this._bindNameToScope(this._currentScope,e.name.value);n&&n.addDeclaration(t),Ot(e,t),this.walkMultiple(e.arguments);let i=this._currentScope;for(;2===i.type;)i=i.parent;return this._createNewScope(2,i,(()=>{Nt(e,this._currentScope),this._addImplicitSymbolToCurrentScope("__doc__",e,"str | None"),this._addImplicitSymbolToCurrentScope("__module__",e,"str"),this._moduleSymbolOnly||this.walk(e.suite)})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitFunction(e){Ut(e,this._currentFlowNode);const t=this._bindNameToScope(this._currentScope,e.name.value),n=Er(e,!0),i={type:3,node:e,isMethod:!!n,isGenerator:!1,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};return t&&t.addDeclaration(i),Ot(e,i),this.walkMultiple(e.decorators),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment)})),e.returnTypeAnnotation&&this.walk(e.returnTypeAnnotation),e.functionAnnotationComment&&this.walk(e.functionAnnotationComment),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),Er(e)&&this._addImplicitSymbolToCurrentScope("__class__",e,"class"),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),this._functionCodeFlowComplexity=0,e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name)}})),this._targetFunctionDeclaration=i,this._currentReturnTarget=this._createBranchLabel(),this.walk(e.suite),qt(e.suite,this._currentFlowNode),this._addAntecedent(this._currentReturnTarget,this._currentFlowNode);const t=this._finishFlowLabel(this._currentReturnTarget);qt(e,t),Bt(e,this._currentScopeCodeFlowExpressions),function(e,t){e.codeFlowComplexity=t}(e,this._functionCodeFlowComplexity)}))})),this._createAssignmentTargetFlowNodes(e.name,!1,!1),!1}visitLambda(e){return Ut(e,this._currentFlowNode),e.parameters.forEach((e=>{e.defaultValue&&this.walk(e.defaultValue)})),this._createNewScope(1,this._getNonClassParentScope(),(()=>{Nt(e,this._currentScope),this._deferBinding((()=>{this._currentFlowNode=this._createStartFlowNode(),e.parameters.forEach((e=>{if(e.name){const t=this._bindNameToScope(this._currentScope,e.name.value);if(t){const n={type:2,node:e,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n),Ot(e.name,n)}this._createFlowAssignment(e.name),this.walk(e.name)}})),this.walk(e.expression),Bt(e,this._currentScopeCodeFlowExpressions)}))})),!1}visitCall(e){var t,n;if(this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walkMultiple(e.arguments)})),this._createCallFlowNode(e),3===this._currentScope.type&&35===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"__all__"===e.leftExpression.leftExpression.value){let i=!0;if("extend"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;if(31===t.nodeType)t.entries.forEach((e=>{var t,n;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(e.strings[0]),i=!1)}));else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&e.length>0&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),i=!1)}}else if("remove"===e.leftExpression.memberName.value&&1===e.arguments.length){const t=e.arguments[0].valueExpression;48===t.nodeType&&1===t.strings.length&&49===t.strings[0].nodeType&&this._dunderAllNames&&(this._dunderAllNames=this._dunderAllNames.filter((e=>e!==t.strings[0].value)),this._dunderAllStringNodes=this._dunderAllStringNodes.filter((e=>e.value!==t.strings[0].value)),i=!1)}else if("append"===e.leftExpression.memberName.value&&1===e.arguments.length){const r=e.arguments[0].valueExpression;48===r.nodeType&&1===r.strings.length&&49===r.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(r.strings[0].value),null===(n=this._dunderAllStringNodes)||void 0===n||n.push(r.strings[0]),i=!1)}i&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitAssignment(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this._bindPossibleTupleNamedTarget(e.leftExpression),e.typeAnnotationComment&&(this.walk(e.typeAnnotationComment),this._addTypeDeclarationForVariable(e.leftExpression,e.typeAnnotationComment)),this.walk(e.rightExpression);let t=!0;if((kr(e)||9===e.rightExpression.nodeType&&this._fileInfo.isTypingStubFile||function(e){let t=e;for(;t;){switch(t.nodeType){case 26:case 57:return!0}t=t.parent}return!1}(e))&&(t=!1),this._addInferredTypeAssignmentForVariable(e.leftExpression,e.rightExpression,t),this._createAssignmentTargetFlowNodes(e.leftExpression,!0,!1),3===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__all__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression;this._dunderAllNames=[];let n=!1;31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?(this._dunderAllNames.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0])):n=!0})):n=!0,n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}if(2===this._currentScope.type&&(38===e.leftExpression.nodeType&&"__slots__"===e.leftExpression.value||54===e.leftExpression.nodeType&&38===e.leftExpression.valueExpression.nodeType&&"__slots__"===e.leftExpression.valueExpression.value)){const t=e.rightExpression,n=[];let i=!0;48===t.nodeType?n.push(t):31===t.nodeType?t.entries.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):52===t.nodeType?t.expressions.forEach((e=>{48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType?n.push(e):i=!1})):i=!1,i&&this._addSlotsToCurrentScope(n)}return!1}visitAssignmentExpression(e){this._disableTrueFalseTargets((()=>{this.walk(e.rightExpression)}));const t=function(e){let t=!1,n=Ar(e);for(;void 0!==n;)switch(n.nodeType){case 28:case 30:case 36:return n;case 10:return t?void 0:n;case 32:t=!0,n=Ar(n.parent);break;default:return}}(e);if(t){const n=Ft(t);let i=this._currentScope;for(;i&&i!==n;){if(i.lookUpSymbol(e.name.value)){this._addError(ml.Diagnostic.assignmentExprComprehension().format({name:e.name.value}),e.name);break}i=i.parent}this._bindNameToScope(n,e.name.value),this._addInferredTypeAssignmentForVariable(e.name,e.rightExpression),this._createAssignmentTargetFlowNodes(e.name,!0,!1)}else this._addError(ml.Diagnostic.assignmentExprContext(),e),this.walk(e.name);return!1}visitAugmentedAssignment(e){if(this.walk(e.leftExpression),this.walk(e.rightExpression),this._bindPossibleTupleNamedTarget(e.destExpression),this._createAssignmentTargetFlowNodes(e.destExpression,!1,!1),1===e.operator&&3===this._currentScope.type&&38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value){const t=e.rightExpression;let n=!0;if(31===t.nodeType)t.entries.forEach((e=>{var t;48===e.nodeType&&1===e.strings.length&&49===e.strings[0].nodeType&&(null===(t=this._dunderAllNames)||void 0===t||t.push(e.strings[0].value),this._dunderAllStringNodes.push(e.strings[0]))})),n=!1;else if(35===t.nodeType&&38===t.leftExpression.nodeType&&"__all__"===t.memberName.value){const e=this._getDunderAllNamesFromImport(t.leftExpression.value);e&&(e.forEach((e=>{var t;null===(t=this._dunderAllNames)||void 0===t||t.push(e)})),n=!1)}n&&(this._usesUnsupportedDunderAllForm=!0,this._addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.unsupportedDunderAllOperation(),e))}return!1}visitDel(e){return e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e),this.walk(e),this._createAssignmentTargetFlowNodes(e,!1,!0)})),!1}visitTypeAnnotation(e){if(this._handleTypingStubAssignmentOrAnnotation(e))return!1;this.walk(e.typeAnnotation),this._createVariableAnnotationFlowNode(),this._bindPossibleTupleNamedTarget(e.valueExpression),this._addTypeDeclarationForVariable(e.valueExpression,e.typeAnnotation);const t=[];return this._isNarrowingExpression(e.valueExpression,t)&&t.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)})),this.walk(e.valueExpression),!1}visitFor(e){this._bindPossibleTupleNamedTarget(e.targetExpression),this._addInferredTypeAssignmentForVariable(e.targetExpression,e),this.walk(e.iterableExpression);const t=this._createLoopLabel(),n=this._createBranchLabel(),i=this._createBranchLabel();if(this._addAntecedent(t,this._currentFlowNode),this._currentFlowNode=t,this._addAntecedent(n,this._currentFlowNode),this._createAssignmentTargetFlowNodes(e.targetExpression,!0,!1),this._bindLoopStatement(t,i,(()=>{this.walk(e.forSuite),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}return!1}visitContinue(e){return this._currentContinueTarget&&this._addAntecedent(this._currentContinueTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitBreak(e){return this._currentBreakTarget&&this._addAntecedent(this._currentBreakTarget,this._currentFlowNode),this._currentFlowNode=ru._unreachableFlowNode,!1}visitReturn(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.returnStatements||(this._targetFunctionDeclaration.returnStatements=[]),this._targetFunctionDeclaration.returnStatements.push(e)),e.returnExpression&&this.walk(e.returnExpression),Ut(e,this._currentFlowNode),this._currentReturnTarget&&this._addAntecedent(this._currentReturnTarget,this._currentFlowNode),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitYield(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitYieldFrom(e){return this._isInListComprehension(e,!0)&&this._addError(ml.Diagnostic.yieldWithinListCompr(),e),this._bindYield(e),!1}visitMemberAccess(e){return Ut(e,this._currentFlowNode),!0}visitName(e){return Ut(e,this._currentFlowNode),!1}visitIndex(e){return Ut(e,this._currentFlowNode),!0}visitIf(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{const t=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);this._bindConditional(e.testExpression,n,i),this._currentFlowNode=!1===t?ru._unreachableFlowNode:this._finishFlowLabel(n),this.walk(e.ifSuite),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=!0===t?ru._unreachableFlowNode:this._finishFlowLabel(i),e.elseSuite?this.walk(e.elseSuite):this._bindNeverCondition(e.testExpression,r,!1),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitWhile(e){const t=this._createBranchLabel(),n=this._createBranchLabel(),i=this._createBranchLabel(),r=eu(e.testExpression,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases),s=this._createLoopLabel();return this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=s,this._bindConditional(e.testExpression,t,n),this._currentFlowNode=!1===r?ru._unreachableFlowNode:this._finishFlowLabel(t),this._bindLoopStatement(s,i,(()=>{this.walk(e.whileSuite)})),this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=!0===r?ru._unreachableFlowNode:this._finishFlowLabel(n),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitAssert(e){const t=this._createBranchLabel(),n=this._createBranchLabel();return this._bindConditional(e.testExpression,t,n),e.exceptionExpression&&(this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.exceptionExpression)),this._currentFlowNode=this._finishFlowLabel(t),!1}visitExcept(e){if(e.typeExpression&&this.walk(e.typeExpression),e.name){this.walk(e.name);const t=this._bindNameToScope(this._currentScope,e.name.value);if(this._createAssignmentTargetFlowNodes(e.name,!0,!1),t){const n={type:1,node:e.name,isConstant:Zt(e.name.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.name.start,dt.getEnd(e.name),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}const t=this._isInExceptSuite;return this._isInExceptSuite=!0,this.walk(e.exceptSuite),this._isInExceptSuite=t,e.name&&this._createFlowAssignment(e.name,!0),!1}visitRaise(e){return this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.raiseStatements||(this._targetFunctionDeclaration.raiseStatements=[]),this._targetFunctionDeclaration.raiseStatements.push(e)),e.typeExpression&&this.walk(e.typeExpression),e.valueExpression&&this.walk(e.valueExpression),e.tracebackExpression&&this.walk(e.tracebackExpression),this._finallyTargets.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),this._currentFlowNode=ru._unreachableFlowNode,!1}visitTry(e){const t=this._currentFlowNode,n=e.exceptClauses.map((()=>this._createBranchLabel())),i=this._createBranchLabel(t);let r=!1;const s=this._createBranchLabel(t),o={flags:ft.PreFinallyGate,id:kt(),antecedent:s,isGateClosed:!1};if(i.affectedExpressions=this._trackCodeFlowExpressions((()=>{e.finallySuite&&this._addAntecedent(i,o),e.exceptClauses.some((e=>!e.typeExpression))||n.push(s),n.forEach((e=>{this._addAntecedent(e,this._currentFlowNode)})),e.finallySuite&&this._finallyTargets.push(s),this._useExceptTargets(n,(()=>{this.walk(e.trySuite)})),e.elseSuite&&this.walk(e.elseSuite),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0),e.exceptClauses.forEach(((e,t)=>{this._currentFlowNode=this._finishFlowLabel(n[t]),this.walk(e),this._addAntecedent(i,this._currentFlowNode),this._isCodeUnreachable()||(r=!0)})),e.finallySuite&&this._finallyTargets.pop(),this._currentFlowNode=this._finishFlowLabel(i)})),e.finallySuite){this.walk(e.finallySuite);const t={flags:ft.PostFinally,id:kt(),finallyNode:e.finallySuite,antecedent:this._currentFlowNode,preFinallyGate:o};this._currentFlowNode=r?t:ru._unreachableFlowNode}return this._functionCodeFlowComplexity+=4,!1}visitAwait(e){var t;const n=kr(e);if(void 0===n||!n.isAsync){if(this._fileInfo.isIPythonMode&&void 0===n)return!0;32!==(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&this._addError(ml.Diagnostic.awaitNotInAsync(),e)}return!0}visitGlobal(e){const t=this._currentScope.getGlobalScope();return e.nameList.forEach((e=>{const n=e.value;0===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.nonLocalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope&&this._addError(ml.Diagnostic.globalReassignment().format({name:n}),e),this._bindNameToScope(t,n),this._currentScope!==t&&this._currentScope.setBindingType(n,1)})),!0}visitNonlocal(e){const t=this._currentScope.getGlobalScope();return this._currentScope===t?this._addError(ml.Diagnostic.nonLocalInModule(),e):e.nameList.forEach((e=>{const n=e.value;1===this._currentScope.getBindingType(n)&&this._addError(ml.Diagnostic.globalRedefinition().format({name:n}),e);const i=this._currentScope.lookUpSymbolRecursive(n);i&&i.scope===this._currentScope?this._addError(ml.Diagnostic.nonLocalReassignment().format({name:n}),e):i&&i.scope!==t||this._addError(ml.Diagnostic.nonLocalNoBinding().format({name:n}),e),i&&this._currentScope.setBindingType(n,0)})),!0}visitImportAs(e){var t,n,i,r,s,o;if(e.module.nameParts.length>0){const a=e.module.nameParts[0].value;let l;l=e.alias?e.alias.value:a;const c=this._bindNameToScope(this._currentScope,l);!c||3!==this._currentScope.type&&4!==this._currentScope.type||e.alias&&1===e.module.nameParts.length&&e.module.nameParts[0].value===e.alias.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(l,c);const u=Rt(e.module);w(void 0!==u),c&&this._createAliasDeclarationForMultipartImportName(e,e.alias,u,c),this._createFlowAssignment(e.alias?e.alias:e.module.nameParts[0]),1===e.module.nameParts.length&&("typing"===a||"typing_extensions"===a?this._typingImportAliases.push(null!==(n=null===(t=e.alias)||void 0===t?void 0:t.value)&&void 0!==n?n:a):"sys"===a?this._sysImportAliases.push(null!==(r=null===(i=e.alias)||void 0===i?void 0:i.value)&&void 0!==r?r:a):"dataclasses"===a&&this._dataclassesImportAliases.push(null!==(o=null===(s=e.alias)||void 0===s?void 0:s.value)&&void 0!==o?o:a))}return!0}visitImportFrom(e){const t=["Final","TypeAlias","ClassVar","Required","NotRequired","Annotated"],n=["InitVar"],i=Rt(e.module);let r="";i&&i.isImportFound&&!i.isNativeLib&&(r=i.resolvedPaths[i.resolvedPaths.length-1]);const s=he(de(this._fileInfo.filePath)),o="__init__"===s&&1===e.module.leadingDots&&1===e.module.nameParts.length;let a=!1,l=!1;if(1===e.module.nameParts.length){const t=e.module.nameParts[0].value;"typing"!==t&&"typing_extensions"!==t||(a=!0),"dataclasses"===t&&(l=!0)}if(e.isWildcardImport){if((Er(e)||kr(e))&&this._addError(ml.Diagnostic.wildcardInFunction(),e),i){const s=[],c=this._fileInfo.importLookup(r);if(c){const t=this._getWildcardImportNames(c);o&&(t.some((t=>t===e.module.nameParts[0].value))||this._addImplicitFromImport(e,i)),t.forEach((t=>{const n=this._bindNameToScope(this._currentScope,t);if(n)if(c.symbolTable.get(t)){const i={type:6,node:e,path:r,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,symbolName:t,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(i),s.push(t)}else if(i&&i.filteredImplicitImports){const s=i.filteredImplicitImports.find((e=>e.name===t));if(s){const i={type:6,node:e,path:s.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},o={type:6,node:e,path:r,loadSymbolsFromPath:!0,usesLocalName:!1,symbolName:t,submoduleFallback:i,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};n.addDeclaration(o)}}}))}this._createFlowWildcardImport(e,s),a&&t.forEach((e=>{this._typingSymbolAliases.set(e,e)})),l&&n.forEach((e=>{this._dataclassesSymbolAliases.set(e,e)}))}}else o&&this._addImplicitFromImport(e,i),e.imports.forEach((o=>{const c=o.name.value,u=o.alias||o.name,p=this._bindNameToScope(this._currentScope,u.value);if(p){let d,h;e.module.nameParts.length>0&&(3!==this._currentScope.type&&4!==this._currentScope.type||o.alias&&o.alias.value===o.name.value||(this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage)&&this._potentialHiddenSymbols.set(u.value,p)),i&&i.filteredImplicitImports&&(d=i.filteredImplicitImports.find((e=>e.name===c)));let m=!0;d&&(h={type:6,node:o,path:d.path,loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!1,moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite},"__init__"===s&&1===e.module.leadingDots&&0===e.module.nameParts.length&&(m=!1));const f={type:6,node:o,path:r,loadSymbolsFromPath:m,usesLocalName:!!o.alias,symbolName:c,submoduleFallback:h,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,isNativeLib:null==i?void 0:i.isNativeLib};p.addDeclaration(f),this._createFlowAssignment(o.alias||o.name),a&&t.some((e=>e===o.name.value))&&this._typingSymbolAliases.set(u.value,o.name.value),l&&n.some((e=>e===o.name.value))&&this._dataclassesSymbolAliases.set(u.value,o.name.value)}}));return!0}visitWith(e){e.withItems.forEach((e=>{this.walk(e.expression),e.target&&(this._bindPossibleTupleNamedTarget(e.target),this._addInferredTypeAssignmentForVariable(e.target,e),this._createAssignmentTargetFlowNodes(e.target,!0,!1))}));const t=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!1);this._addAntecedent(t,this._currentFlowNode);const n=this._createContextManagerLabel(e.withItems.map((e=>e.expression)),!!e.isAsync,!0);this._currentExceptTargets.forEach((e=>{this._addAntecedent(e,n)}));const i=this._currentFlowNode,r=this._createBranchLabel(i);return this._addAntecedent(r,t),r.affectedExpressions=this._trackCodeFlowExpressions((()=>{if(this._useExceptTargets([t,n],(()=>{this.walk(e.suite)})),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=r,this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode),e.asyncToken){const t=kr(e);t&&t.isAsync||this._addError(ml.Diagnostic.asyncNotInAsyncFunction(),e.asyncToken)}})),!1}visitTernary(e){const t=this._currentFlowNode,n=this._createBranchLabel(),i=this._createBranchLabel(),r=this._createBranchLabel(t);return r.affectedExpressions=this._trackCodeFlowExpressions((()=>{this._bindConditional(e.testExpression,n,i),this._currentFlowNode=this._finishFlowLabel(n),this.walk(e.ifExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),this.walk(e.elseExpression),this._addAntecedent(r,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(r)})),!1}visitUnaryOperation(e){return 38===e.operator&&this._currentFalseTarget&&this._currentTrueTarget?this._bindConditional(e.expression,this._currentFalseTarget,this._currentTrueTarget):this._disableTrueFalseTargets((()=>{this.walk(e.expression)})),!1}visitBinaryOperation(e){if(36===e.operator||37===e.operator){let t,n=this._currentTrueTarget,i=this._currentFalseTarget;n&&i||(t=this._createBranchLabel(),n=i=t);const r=this._createBranchLabel();36===e.operator?this._bindConditional(e.leftExpression,r,i):this._bindConditional(e.leftExpression,n,r),this._currentFlowNode=this._finishFlowLabel(r),this._bindConditional(e.rightExpression,n,i),t&&(this._currentFlowNode=this._finishFlowLabel(t))}else this._disableTrueFalseTargets((()=>{this.walk(e.leftExpression),this.walk(e.rightExpression)}));return!1}visitListComprehension(e){const t=kr(e);return this._createNewScope(0,this._getNonClassParentScope(),(()=>{var n;Nt(e,this._currentScope);const i=this._createBranchLabel();for(let i=0;i{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const i=this._createBranchLabel();let r=!1;return e.cases.forEach((t=>{const s=this._createBranchLabel(),o=this._createBranchLabel(),a=this._createBranchLabel();this._addAntecedent(o,this._currentFlowNode),t.isIrrefutable?t.guardExpression||(r=!0):this._addAntecedent(s,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(o),this.walk(t.pattern),n&&this._createFlowNarrowForPattern(e.subjectExpression,t),t.guardExpression?this._bindConditional(t.guardExpression,a,s):this._addAntecedent(a,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(a),this.walk(t.suite),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(s)})),n&&(this._createFlowNarrowForPattern(e.subjectExpression,e),r||this._createFlowExhaustedMatch(e)),this._addAntecedent(i,this._currentFlowNode),this._currentFlowNode=this._finishFlowLabel(i),!1}visitPatternAs(e){const t=this._createBranchLabel();if(e.orPatterns.forEach((e=>{this.walk(e),this._addAntecedent(t,this._currentFlowNode)})),this._currentFlowNode=this._finishFlowLabel(t),e.target){this.walk(e.target);const t=this._bindNameToScope(this._currentScope,e.target.value);if(this._createAssignmentTargetFlowNodes(e.target,!1,!1),t){const n={type:1,node:e.target,isConstant:Zt(e.target.value),inferredTypeSource:e,path:this._fileInfo.filePath,range:St(e.target.start,dt.getEnd(e.target),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}return!1}visitPatternCapture(e){return e.isWildcard||this._addPatternCaptureTarget(e.target),!0}visitPatternMappingExpandEntry(e){return"_"!==e.target.value&&this._addPatternCaptureTarget(e.target),!0}_getNonClassParentScope(){let e=this._currentScope;for(;2===e.type;)e=e.parent;return e}_addSlotsToCurrentScope(e){w(2===this._currentScope.type);let t=!1;for(const n of e){const e=n.strings[0].value;if("__dict__"===e){t=!0;continue}let i=this._currentScope.lookUpSymbol(e);if(!i){i=this._currentScope.addSymbol(e,9);const t="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(e)&&t&&i.setIsPrivateMember()}const r={type:1,node:n,isConstant:Zt(e),isDefinedBySlots:!0,path:this._fileInfo.filePath,range:St(n.start,n.start+n.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(r)}t||this._currentScope.setSlotsNames(e.map((e=>e.strings[0].value)))}_isInListComprehension(e,t=!1){let n,i,r=e;for(;r;){if(32===r.nodeType){if(t&&r.forIfNodes.length>0){const e=r.forIfNodes[0];if(n===e&&33===e.nodeType&&i===e.iterableExpression)return!1}return!0}i=n,n=r,r=r.parent}return!1}_addPatternCaptureTarget(e){const t=this._bindNameToScope(this._currentScope,e.value);if(this._createAssignmentTargetFlowNodes(e,!1,!1),t){const n={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:e.parent,path:this._fileInfo.filePath,range:St(e.start,dt.getEnd(e),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite};t.addDeclaration(n)}}_useExceptTargets(e,t){const n=this._currentExceptTargets;this._currentExceptTargets=e,t(),this._currentExceptTargets=n}_getDunderAllNamesFromImport(e){var t;const n=this._currentScope.lookUpSymbol(e);if(!n)return;const i=n.getDeclarations().find((e=>6===e.type)),r=(null==i?void 0:i.path)&&i.loadSymbolsFromPath?i.path:(null===(t=null==i?void 0:i.submoduleFallback)||void 0===t?void 0:t.path)&&i.submoduleFallback.loadSymbolsFromPath?i.submoduleFallback.path:void 0;if(!r)return;const s=this._fileInfo.importLookup(r);return s?s.dunderAllNames:void 0}_addImplicitFromImport(e,t){const n=e.module.nameParts[0].value,i=this._bindNameToScope(this._currentScope,n);i&&this._createAliasDeclarationForMultipartImportName(e,void 0,t,i),this._createFlowAssignment(e.module.nameParts[0])}_createAliasDeclarationForMultipartImportName(e,t,n,i){const r=e.module.nameParts[0].value;if(n&&n.isImportFound&&!n.isNativeLib&&n.resolvedPaths.length>0){const s=i.getDeclarations().find((e=>6===e.type&&e.firstNamePart===r));let o;if(o=s||{type:6,node:e,path:n.resolvedPaths[n.resolvedPaths.length-1],loadSymbolsFromPath:!1,moduleName:n.importName,isInExceptSuite:this._isInExceptSuite,range:{start:{line:0,character:0},end:{line:0,character:0}},firstNamePart:r,usesLocalName:!!t},t||1===e.module.nameParts.length)o.path=n.resolvedPaths[n.resolvedPaths.length-1],o.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,o);else{let t=o;for(let i=1;i=n.resolvedPaths.length);i++){const r=e.module.nameParts[i].value;let s=t.implicitImports?t.implicitImports.get(r):void 0;s||(s={path:n.resolvedPaths[i],loadSymbolsFromPath:!1,implicitImports:new Map},t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(r,s)),i===e.module.nameParts.length-1&&(s.path=n.resolvedPaths[i],s.loadSymbolsFromPath=!0,this._addImplicitImportsToLoaderActions(n,s)),t=s}}s||i.addDeclaration(o)}else{const n={type:6,node:e,path:"*** unresolved ***",loadSymbolsFromPath:!0,range:{start:{line:0,character:0},end:{line:0,character:0}},usesLocalName:!!t,moduleName:"",isUnresolved:!0,isInExceptSuite:this._isInExceptSuite};i.addDeclaration(n)}}_getWildcardImportNames(e){const t=[];if(e.dunderAllNames){if(!e.usesUnsupportedDunderAllForm)return e.dunderAllNames;t.push(...e.dunderAllNames)}return e.symbolTable.forEach(((e,n)=>{e.isExternallyHidden()||Yt(n)||t.push(n)})),t}_walkStatementsAndReportUnreachable(e){let t=!1;for(const n of e)Ut(n,this._currentFlowNode),t||(t=this._isCodeUnreachable()),t?this._targetFunctionDeclaration&&!this._targetFunctionDeclaration.isGenerator&&(new su).checkContainsYield(n)&&(this._targetFunctionDeclaration.isGenerator=!0):this.walk(n);return!1}_createStartFlowNode(){return{flags:ft.Start,id:kt()}}_createBranchLabel(e){return{flags:ft.BranchLabel,id:kt(),antecedents:[],preBranchAntecedent:e,affectedExpressions:void 0}}_createFlowNarrowForPattern(e,t){const n={flags:ft.NarrowForPattern,id:kt(),subjectExpression:e,statement:t,antecedent:this._currentFlowNode};this._currentFlowNode=n}_createContextManagerLabel(e,t,n){return{flags:ft.PostContextManager|ft.BranchLabel,id:kt(),antecedents:[],expressions:e,affectedExpressions:void 0,isAsync:t,blockIfSwallowsExceptions:n}}_createLoopLabel(){return{flags:ft.LoopLabel,id:kt(),antecedents:[],affectedExpressions:void 0}}_finishFlowLabel(e){return 0===e.antecedents.length?ru._unreachableFlowNode:1===e.antecedents.length&&e.flags===ft.BranchLabel?e.antecedents[0]:(this._functionCodeFlowComplexity+=e.antecedents.length,e)}_bindNeverCondition(e,t,n){const i=[];if(55===e.nodeType&&38===e.operator)this._bindNeverCondition(e.expression,t,!n);else if(7!==e.nodeType||36!==e.operator&&37!==e.operator)this._isNarrowingExpression(e,i,!0)&&i.filter((e=>38===e.nodeType)).length>0&&(this._currentFlowNode=this._createFlowConditional(n?ft.TrueNeverCondition:ft.FalseNeverCondition,this._currentFlowNode,e)),this._addAntecedent(t,this._currentFlowNode);else if(36===e.operator){const i=this._currentFlowNode;this._bindNeverCondition(e.leftExpression,t,n),this._currentFlowNode=i,this._bindNeverCondition(e.rightExpression,t,n)}else{const i=this._currentFlowNode,r=this._createBranchLabel();if(this._bindNeverCondition(e.leftExpression,r,n),i!==this._currentFlowNode){this._currentFlowNode=this._finishFlowLabel(r);const s=this._currentFlowNode;this._bindNeverCondition(e.rightExpression,t,n),s===this._currentFlowNode&&(this._currentFlowNode=i)}}}_bindConditional(e,t,n){this._setTrueFalseTargets(t,n,(()=>{this.walk(e)})),this._isLogicalExpression(e)||(this._addAntecedent(t,this._createFlowConditional(ft.TrueCondition,this._currentFlowNode,e)),this._addAntecedent(n,this._createFlowConditional(ft.FalseCondition,this._currentFlowNode,e)))}_disableTrueFalseTargets(e){this._setTrueFalseTargets(void 0,void 0,e)}_setTrueFalseTargets(e,t,n){const i=this._currentTrueTarget,r=this._currentFalseTarget;this._currentTrueTarget=e,this._currentFalseTarget=t,n(),this._currentTrueTarget=i,this._currentFalseTarget=r}_createFlowConditional(e,t,n){if(t.flags&ft.Unreachable)return t;const i=eu(n,this._fileInfo.executionEnvironment,this._typingImportAliases,this._sysImportAliases);if(!0===i&&e&ft.FalseCondition||!1===i&&e&ft.TrueCondition)return ru._unreachableFlowNode;const r=[];if(!this._isNarrowingExpression(n,r))return t;r.forEach((e=>{const t=At(e);this._currentScopeCodeFlowExpressions.add(t)}));const s=r.filter((e=>38===e.nodeType)),o={flags:e,id:kt(),reference:s.length>0?s[0]:void 0,expression:n,antecedent:t};return this._addExceptTargets(o),o}_isLogicalExpression(e){switch(e.nodeType){case 55:return 38===e.operator;case 7:return 36===e.operator||37===e.operator}return!1}_isNarrowingExpression(e,t,n=!1,i=!1){switch(e.nodeType){case 38:case 35:case 24:if(n){if(38!==e.nodeType)return!1;if(!i)return!1}return!!Dt(e)&&(t.push(e),!0);case 4:return t.push(e.name),this._isNarrowingExpression(e.rightExpression,t,n,!0),!0;case 7:{const i=39===e.operator||40===e.operator,r=12===e.operator||28===e.operator;if(i||r){if(11===e.rightExpression.nodeType&&26===e.rightExpression.constType)return this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i&&9===e.leftExpression.nodeType&&38===e.leftExpression.leftExpression.nodeType&&"type"===e.leftExpression.leftExpression.value&&1===e.leftExpression.arguments.length&&0===e.leftExpression.arguments[0].argumentCategory)return this._isNarrowingExpression(e.leftExpression.arguments[0].valueExpression,t,n,!0);const s=this._isNarrowingExpression(e.leftExpression,t,n,!0);if(i)return s;if(r){const i=this._isNarrowingExpression(e.rightExpression,t,n,!0);return s||i}}return!(41!==e.operator&&42!==e.operator||48!==e.leftExpression.nodeType||!this._isNarrowingExpression(e.rightExpression,t,n,!0))||41===e.operator&&this._isNarrowingExpression(e.leftExpression,t,n,!0)}case 55:return 38===e.operator&&this._isNarrowingExpression(e.expression,t,n,!1);case 5:return this._isNarrowingExpression(e.rightExpression,t,n,!0);case 9:if(38===e.leftExpression.nodeType&&("isinstance"===e.leftExpression.value||"issubclass"===e.leftExpression.value)&&2===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(38===e.leftExpression.nodeType&&"callable"===e.leftExpression.value&&1===e.arguments.length)return this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0);if(e.arguments.length>=1)return!n&&this._isNarrowingExpression(e.arguments[0].valueExpression,t,n,!0)}return!1}_createAssignmentTargetFlowNodes(e,t,n){switch(e.nodeType){case 38:case 35:case 24:this._createFlowAssignment(e,n),t&&this.walk(e);break;case 52:e.expressions.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;case 54:this._createAssignmentTargetFlowNodes(e.valueExpression,!1,n),t&&this.walk(e);break;case 56:this._createAssignmentTargetFlowNodes(e.expression,!1,n),t&&this.walk(e);break;case 31:e.entries.forEach((e=>{this._createAssignmentTargetFlowNodes(e,t,n)}));break;default:t&&this.walk(e)}}_createCallFlowNode(e){if(!this._isCodeUnreachable()){const t={flags:ft.Call,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode),this._isCodeUnreachable()||this._addExceptTargets(this._currentFlowNode)}_createVariableAnnotationFlowNode(){if(!this._isCodeUnreachable()){const e={flags:ft.VariableAnnotation,id:kt(),antecedent:this._currentFlowNode};this._currentFlowNode=e}}_createFlowAssignment(e,t=!1){let n=0;if(38===e.nodeType){const t=this._currentScope.lookUpSymbolRecursive(e.value);w(void 0!==t),n=t.symbol.id}const i=this._currentFlowNode;if(!this._isCodeUnreachable()&&Dt(e)){const i={flags:ft.Assignment,id:kt(),node:e,antecedent:this._currentFlowNode,targetSymbolId:n},r=At(e);this._currentScopeCodeFlowExpressions.add(r),t&&(i.flags|=ft.Unbind),35===e.nodeType&&this._addExceptTargets(i),this._currentFlowNode=i}t&&void 0!==Lt(e)||Ut(e,t?i:this._currentFlowNode)}_createFlowWildcardImport(e,t){if(!this._isCodeUnreachable()){const n={flags:ft.WildcardImport,id:kt(),node:e,names:t,antecedent:this._currentFlowNode};this._addExceptTargets(n),this._currentFlowNode=n}Ut(e,this._currentFlowNode)}_createFlowExhaustedMatch(e){if(!this._isCodeUnreachable()){const t={flags:ft.ExhaustedMatch,id:kt(),node:e,antecedent:this._currentFlowNode};this._currentFlowNode=t}Ut(e,this._currentFlowNode)}_isCodeUnreachable(){return!!(this._currentFlowNode.flags&ft.Unreachable)}_addExceptTargets(e){this._currentExceptTargets&&this._currentExceptTargets.forEach((t=>{this._addAntecedent(t,e)}))}_trackCodeFlowExpressions(e){const t=this._currentScopeCodeFlowExpressions;this._currentScopeCodeFlowExpressions=new Set,e();const n=this._currentScopeCodeFlowExpressions;return t&&this._currentScopeCodeFlowExpressions.forEach((e=>{t.add(e)})),this._currentScopeCodeFlowExpressions=t,n}_bindLoopStatement(e,t,n){const i=this._currentContinueTarget,r=this._currentBreakTarget,s=this._functionCodeFlowComplexity;this._currentContinueTarget=e,this._currentBreakTarget=t,this._functionCodeFlowComplexity=1,e.affectedExpressions=this._trackCodeFlowExpressions(n),this._currentContinueTarget=i,this._currentBreakTarget=r,this._functionCodeFlowComplexity=2*this._functionCodeFlowComplexity+s}_addAntecedent(e,t){this._currentFlowNode.flags&ft.Unreachable||e.antecedents.some((e=>e.id===t.id))||e.antecedents.push(t)}_bindNameToScope(e,t,n){const i=this._currentScope.getBindingType(t);if(void 0===i){let i=e.lookUpSymbol(t);return i||(i=e.addSymbol(t,5),3!==this._currentScope.type&&4!==this._currentScope.type||Yt(t)&&(Kt(t)?i.setIsExternallyHidden():this._fileInfo.isStubFile||this._fileInfo.isInPyTypedPackage?4===this._currentScope.type?i.setIsExternallyHidden():this._potentialPrivateSymbols.set(t,i):i.setIsPrivateMember()),n&&n.set(t,i)),i}{const e=(0===i?this._currentScope.parent:this._currentScope.getGlobalScope()).lookUpSymbolRecursive(t);if(e)return e.symbol}}_bindPossibleTupleNamedTarget(e,t){switch(e.nodeType){case 38:this._bindNameToScope(this._currentScope,e.value,t);break;case 52:e.expressions.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 31:e.entries.forEach((e=>{this._bindPossibleTupleNamedTarget(e,t)}));break;case 54:this._bindPossibleTupleNamedTarget(e.valueExpression,t);break;case 56:this._bindPossibleTupleNamedTarget(e.expression,t)}}_addImplicitSymbolToCurrentScope(e,t,n){const i=this._addSymbolToCurrentScope(e,!1);i&&(i.addDeclaration({type:0,node:t,intrinsicType:n,path:this._fileInfo.filePath,range:{start:{line:0,character:0},end:{line:0,character:0}},moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),i.setIsIgnoredForProtocolMatch())}_addSymbolToCurrentScope(e,t){let n=this._currentScope.lookUpSymbol(e);if(!n){let i=0;t&&(i|=1),2===this._currentScope.type&&(i|=4),this._fileInfo.isStubFile&&Yt(e)&&(i|=2),n=this._currentScope.addSymbol(e,i)}return n}_createNewScope(e,t,n){const i=this._currentScope,r=new Zc(e,t);this._currentScope=r;const s=4===e||3===e||1===e,o=this._currentScopeCodeFlowExpressions;return s&&(this._currentScopeCodeFlowExpressions=new Set),n(),this._currentScopeCodeFlowExpressions=o,this._currentScope=i,r}_addInferredTypeAssignmentForVariable(e,t,n=!1){switch(e.nodeType){case 38:{const i=e,r=this._currentScope.lookUpSymbolRecursive(i.value);if(r&&r.symbol){const s={type:1,node:e,isConstant:Zt(e.value),inferredTypeSource:t,isInferenceAllowedInPyTyped:this._isInferenceAllowedInPyTyped(i.value),typeAliasName:n?e:void 0,path:this._fileInfo.filePath,range:St(i.start,dt.getEnd(i),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.symbol.addDeclaration(s)}break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.isClassMember()&&r.getDeclarations().some((e=>3===e.type&&e.isMethod))||r.setIsInstanceMember():r.setIsClassMember();const s={type:1,node:e.memberName,isConstant:Zt(i.value),inferredTypeSource:t,isDefinedByMemberAccess:!0,path:this._fileInfo.filePath,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(s)}break}case 52:e.expressions.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}));break;case 54:this._addInferredTypeAssignmentForVariable(e.valueExpression,t);break;case 56:this._addInferredTypeAssignmentForVariable(e.expression,t);break;case 31:e.entries.forEach((e=>{this._addInferredTypeAssignmentForVariable(e,t)}))}}_isInferenceAllowedInPyTyped(e){return["__match_args__","__slots__","__all__"].some((t=>t===e))}_addTypeDeclarationForVariable(e,t){var n,i,r;let s=!1;switch(e.nodeType){case 38:{const o=e,a=this._currentScope.lookUpSymbolRecursive(o.value);if(a&&a.symbol){const s=this._isAnnotationFinal(t),l=this._isAnnotationTypeAlias(t);let c=t,u=t;l?(c=void 0,u=void 0,2!==this._currentScope.type&&3!==this._currentScope.type&&4!==this._currentScope.type&&this._addError(ml.Diagnostic.typeAliasNotInModuleOrClass(),t)):s.isFinal&&(u=s.finalTypeNode,s.finalTypeNode||(c=void 0));let p=this._isAnnotationClassVar(t);if(p.isClassVar&&(u=p.classVarTypeNode,p.classVarTypeNode||(c=void 0)),s.isFinal){const t=Dr(e);t&&10===t.nodeType&&(3!==(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&3!==(null===(r=null===(i=e.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType)||(p={isClassVar:!0,classVarTypeNode:void 0}))}const d={type:1,node:e,isConstant:Zt(o.value),isFinal:s.isFinal,isClassVar:p.isClassVar,isRequired:this._isRequiredAnnotation(u),isNotRequired:this._isNotRequiredAnnotation(u),typeAliasAnnotation:l?t:void 0,typeAliasName:l?e:void 0,path:this._fileInfo.filePath,typeAnnotationNode:c,range:St(o.start,dt.getEnd(o),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};if(a.symbol.addDeclaration(d),p.isClassVar?a.symbol.setIsClassVar():a.symbol.setIsInstanceMember(),24===t.nodeType)if(this._isDataclassesAnnotation(t.baseExpression,"InitVar"))a.symbol.setIsInitVar();else if(this._isTypingAnnotation(t.baseExpression,"Annotated")&&t.items.length>0){const e=t.items[0].valueExpression;24===e.nodeType&&this._isDataclassesAnnotation(e.baseExpression,"InitVar")&&a.symbol.setIsInitVar()}}s=!0;break}case 35:{const n=this._getMemberAccessInfo(e);if(n){const i=e.memberName;let r=n.classScope.lookUpSymbol(i.value);if(!r){r=n.classScope.addSymbol(i.value,1);const e="none"!==this._fileInfo.diagnosticRuleSet.reportPrivateUsage;Yt(i.value)&&e&&r.setIsPrivateMember()}n.isInstanceMember?r.setIsInstanceMember():r.setIsClassMember();const o=this._isAnnotationFinal(t),a={type:1,node:e.memberName,isConstant:Zt(i.value),isDefinedByMemberAccess:!0,isFinal:o.isFinal,path:this._fileInfo.filePath,typeAnnotationNode:o.isFinal&&!o.finalTypeNode?void 0:t,range:St(e.memberName.start,e.memberName.start+e.memberName.length,this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite,docString:this._getVariableDocString(e)};r.addDeclaration(a),s=!0}break}}s||this._addError(ml.Diagnostic.annotationNotSupported(),t)}_isTypingAnnotation(e,t){return this._isKnownAnnotation(e,t,this._typingImportAliases,this._typingSymbolAliases)}_isDataclassesAnnotation(e,t){return this._isKnownAnnotation(e,t,this._dataclassesImportAliases,this._dataclassesSymbolAliases)}_isKnownAnnotation(e,t,n,i){if(38===e.nodeType){if(i.get(e.value)===t)return!0}else if(35===e.nodeType&&38===e.leftExpression.nodeType&&e.memberName.value===t){const t=e.leftExpression.value;return n.some((e=>e===t))}return!1}_getVariableDocString(e){var t,n,i,r;let s,o=e;for(;o&&3!==o.nodeType;)54!==o.nodeType||s||(s=o),o=o.parent;if(3!==(null==o?void 0:o.nodeType)){if(!s)return;o=s}const a=o.parent;if(47!==(null==a?void 0:a.nodeType))return;const l=a.parent;if(!l||36!==l.nodeType&&50!==l.nodeType)return;const c=l.statements.findIndex((e=>e===a));if(c<0||c===l.statements.length-1)return;const u=l.statements[c+1];if(47!==u.nodeType||!Vr(u))return;let p=!1;if(36===(null===(t=null==a?void 0:a.parent)||void 0===t?void 0:t.nodeType))p=!0;else if(50===(null===(n=null==a?void 0:a.parent)||void 0===n?void 0:n.nodeType)&&10===(null===(r=null===(i=null==a?void 0:a.parent)||void 0===i?void 0:i.parent)||void 0===r?void 0:r.nodeType))p=!0;else{const e=kr(a);e&&"__init__"===e.name.value&&Er(e,!0)&&(p=!0)}if(!p)return;const d=u.statements[0].strings;return 1===d.length?d[0].value:d.map((e=>e.value)).join("")}_isAnnotationFinal(e){let t,n=!1;return e&&(this._isTypingAnnotation(e,"Final")?n=!0:24===e.nodeType&&1===e.items.length&&(!this._isAnnotationFinal(e.baseExpression).isFinal||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression))),{isFinal:n,finalTypeNode:t}}_isAnnotationClassVar(e){let t,n=!1;for(;e;){if(!(24===e.nodeType&&e.items.length>0&&this._isTypingAnnotation(e.baseExpression,"Annotated"))){if(this._isTypingAnnotation(e,"ClassVar")){n=!0;break}if(24===e.nodeType&&1===e.items.length){!this._isAnnotationClassVar(e.baseExpression).isClassVar||0!==e.items[0].argumentCategory||e.items[0].name||e.trailingComma||(n=!0,t=e.items[0].valueExpression);break}break}e=e.items[0].valueExpression}return{isClassVar:n,classVarTypeNode:t}}_isRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"Required"))}_isNotRequiredAnnotation(e){return!(!e||24!==e.nodeType||1!==e.items.length||!this._isTypingAnnotation(e.baseExpression,"NotRequired"))}_isAnnotationTypeAlias(e){return!!e&&this._isTypingAnnotation(e,"TypeAlias")}_getMemberAccessInfo(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value,n=kr(e);if(!n)return;const i=Er(n,!0);if(!i)return;let r=!1;if(n.parameters.length<1||!n.parameters[0].name)return;const s=i.name.value,o=n.parameters[0].name.value;if(t===s)r=!1;else{if(t!==o)return;if("__new__"===n.name.value)r=!1;else{r=!0;for(const e of n.decorators)if(38===e.expression.nodeType){const t=e.expression.value;if("staticmethod"===t)return;if("classmethod"===t){r=!1;break}}}}const a=Ft(i);return w(void 0!==a),{classNode:i,methodNode:n,classScope:a,isInstanceMember:r}}_addImplicitImportsToLoaderActions(e,t){e.filteredImplicitImports.forEach((e=>{const n=t.implicitImports?t.implicitImports.get(e.name):void 0;n?(n.path=e.path,n.loadSymbolsFromPath=!0):(t.implicitImports||(t.implicitImports=new Map),t.implicitImports.set(e.name,{path:e.path,loadSymbolsFromPath:!0,implicitImports:new Map}))}))}_handleTypingStubAssignmentOrAnnotation(e){if(!this._fileInfo.isTypingStubFile)return!1;let t;if(54===e.nodeType)t=e;else{if(54!==e.leftExpression.nodeType)return!1;t=e.leftExpression}if(38!==t.valueExpression.nodeType)return!1;const n=t.valueExpression,i=new Map([["Tuple",!0],["Generic",!0],["Protocol",!0],["Callable",!0],["Type",!0],["ClassVar",!0],["Final",!0],["Literal",!0],["TypedDict",!0],["Union",!0],["Optional",!0],["Annotated",!0],["TypeAlias",!0],["OrderedDict",!0],["Concatenate",!0],["TypeGuard",!0],["StrictTypeGuard",!0],["Unpack",!0],["Self",!0],["NoReturn",!0],["Never",!0],["LiteralString",!0]]),r=n.value;if(!i.has(r))return!1;const s=this._bindNameToScope(this._currentScope,r);return s&&s.addDeclaration({type:5,node:t,path:this._fileInfo.filePath,range:St(t.start,dt.getEnd(t),this._fileInfo.lines),moduleName:this._fileInfo.moduleName,isInExceptSuite:this._isInExceptSuite}),!0}_deferBinding(e){this._moduleSymbolOnly||this._deferredBindingTasks.push({scope:this._currentScope,codeFlowExpressions:this._currentScopeCodeFlowExpressions,callback:e})}_bindDeferred(){for(;this._deferredBindingTasks.length>0;){const e=this._deferredBindingTasks.shift();this._currentScope=e.scope,this._currentScopeCodeFlowExpressions=e.codeFlowExpressions,e.callback()}}_bindYield(e){const t=kr(e);t?t.isAsync&&61===e.nodeType&&this._addError(ml.Diagnostic.yieldFromOutsideAsync(),e):function(e){let t=e.parent;for(;t;){if(30===t.nodeType)return t;if(50===t.nodeType)return;t=t.parent}}(e)||this._addError(ml.Diagnostic.yieldOutsideFunction(),e),this._targetFunctionDeclaration&&(this._targetFunctionDeclaration.yieldStatements||(this._targetFunctionDeclaration.yieldStatements=[]),this._targetFunctionDeclaration.yieldStatements.push(e),this._targetFunctionDeclaration.isGenerator=!0),e.expression&&this.walk(e.expression),Ut(e,this._currentFlowNode)}_addDiagnostic(e,t,n,i){let r;switch(e){case"error":r=this._addError(n,i);break;case"warning":r=this._addWarning(n,i);break;case"information":r=this._addInformation(n,i);break;case"none":break;default:return k(e,`${e} is not expected`)}return r&&r.setRule(t),r}_addError(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("error",e,t)}_addWarning(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("warning",e,t)}_addInformation(e,t){return this._fileInfo.diagnosticSink.addDiagnosticWithTextRange("information",e,t)}}ru._unreachableFlowNode={flags:ft.Unreachable,id:kt()};class su extends _r{constructor(){super(...arguments),this._containsYield=!1}checkContainsYield(e){return this.walk(e),this._containsYield}visitYield(e){return this._containsYield=!0,!1}visitYieldFrom(e){return this._containsYield=!0,!1}}function ou(e,t,n,i){var r;if(4===n.nodeType)return null!==(r=ou(e,t,n.rightExpression,i))&&void 0!==r?r:ou(e,t,n.name,i);if(7===n.nodeType){const r=39===n.operator||40===n.operator,s=12===n.operator||28===n.operator;if(r||s){const o=39===n.operator||12===n.operator?i:!i;if(11===n.rightExpression.nodeType&&26===n.rightExpression.constType){let i=n.leftExpression;if(4===i.nodeType&&(i=i.name),Lr(t,i))return t=>function(e,t,n){const i=Ko(t,(e=>ta(e)));return e.mapSubtypesExpandTypeVars(i,void 0,((e,t)=>{if(ho(e))return e;const i=bo(t)&&0===t.details.constraints.length?t:e;return vo(e)&&Zs.isBuiltIn(e,"object")?n?Zo(to.createInstance(),e.condition):i:lo(e)===n?e:void 0}))}(e,t,o);if(24===i.nodeType&&Lr(t,i.baseExpression)&&1===i.items.length&&!i.trailingComma&&0===i.items[0].argumentCategory&&!i.items[0].name&&40===i.items[0].valueExpression.nodeType&&i.items[0].valueExpression.isInteger&&!i.items[0].valueExpression.isImaginary){const t=i.items[0].valueExpression.value;if("number"==typeof t)return n=>function(e,t,n,i){return e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(!vo(t)||!pa(t)||da(t)||!t.tupleTypeArguments)return t;const r=t.tupleTypeArguments.length;if(i<0||i>=r)return t;const s=e.makeTopLevelTypeVarsConcrete(t.tupleTypeArguments[i].type);if(n){if(!e.canAssignType(s,to.createInstance()))return}else if(lo(s))return;return t}))}(e,n,o,t)}}if(r&&9===n.leftExpression.nodeType){const i=e.getTypeOfExpression(n.leftExpression.leftExpression,void 0,2).type;if(_o(i)&&Zs.isBuiltIn(i,"type")&&1===n.leftExpression.arguments.length&&0===n.leftExpression.arguments[0].argumentCategory&&Lr(t,n.leftExpression.arguments[0].valueExpression)){const t=e.makeTopLevelTypeVarsConcrete(e.getTypeOfExpression(n.rightExpression).type);if(_o(t))return e=>function(e,t,n){return Ko(e,(e=>{if(vo(e)){const i=Zs.isDerivedFrom(t,Zs.cloneAsInstantiable(e));if(n)return i?Zs.isSameGenericClass(e,t)?e:Zs.cloneAsInstance(t):void 0;if(i&&Zs.isFinal(e))return;return e}return lo(e)?n?void 0:e:ho(e)&&n?Zs.cloneAsInstance(t):e}))}(e,t,o)}}if(r&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>pu(e,n,t,o,!0)}if(s){const r=12===n.operator?i:!i;if(Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&void 0!==t.literalValue)return n=>pu(e,n,t,r,!1)}if(24===n.leftExpression.nodeType&&1===n.leftExpression.items.length&&!n.leftExpression.trailingComma&&0===n.leftExpression.items[0].argumentCategory&&Lr(t,n.leftExpression.baseExpression)){const t=e.getTypeOfExpression(n.leftExpression.items[0].valueExpression).type;if(vo(t)&&ra(t))if(Zs.isBuiltIn(t,"str")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const s=gl(e,t).get(n.literalValue);if(s&&sa(s.valueType))return r?e.canAssignType(s.valueType,i)?t:void 0:e.canAssignType(i,s.valueType)?void 0:t}return s=!1,t}));return s?o:t}(e,n,t,i,r)}else if(Zs.isBuiltIn(t,"int")){const i=e.getTypeOfExpression(n.rightExpression).type;if(vo(i)&&void 0!==i.literalValue)return n=>function(e,t,n,i,r){let s=!0;const o=Ko(t,(t=>{var o;if(vo(t)&&Zs.isTupleClass(t)&&!da(t)&&"number"==typeof n.literalValue){const s=n.literalValue;if(t.tupleTypeArguments&&s>=0&&sfunction(e,t,n,i){return Ko(t,(t=>{const r=e.makeTopLevelTypeVarsConcrete(t);return vo(r)&&pa(r)&&!da(r)&&r.tupleTypeArguments?r.tupleTypeArguments.length===n===i?t:void 0:t}))}(e,n,t,o)}}if(s&&35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}if(35===n.leftExpression.nodeType&&Lr(t,n.leftExpression.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type,i=n.leftExpression.memberName;if(vo(t)&&(Zs.isEnumClass(t)||Zs.isBuiltIn(t,"bool"))&&void 0!==t.literalValue)return n=>uu(e,n,i.value,t,o)}}if(41===n.operator&&i&&Lr(t,n.leftExpression)){const t=e.getTypeOfExpression(n.rightExpression).type;return n=>function(e,t,n){if(!vo(n)||!Zs.isBuiltIn(n))return t;const i=n.details.name;if(!["list","set","frozenset","deque","tuple"].some((e=>e===i)))return t;if(!n.typeArguments||1!==n.typeArguments.length)return t;let r=n.typeArguments[0];pa(n)&&n.tupleTypeArguments&&(r=Oo(n.tupleTypeArguments.map((e=>e.type))));let s=!0;const o=Qo(r),a=Ko(t,(t=>ho(t)?(s=!1,t):e.canAssignType(r,t)?t:e.canAssignType(o,t)?Ko(r,(e=>{if(vo(e)&&Lo(t,e))return e})):void 0));return s?a:t}(e,n,t)}if((41===n.operator||42===n.operator)&&Lr(t,n.rightExpression)){const t=e.getTypeOfExpression(n.leftExpression).type;if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const r=41===n.operator?i:!i;return n=>function(e,t,n,i){return Ko(t,(t=>{if(vo(t)&&Zs.isTypedDictClass(t)){const r=gl(e,t,!0).get(n.literalValue);if(i){if(!r)return Zs.isFinal(t)?void 0:t;if(r.isRequired||r.isProvided)return t;const e=t.typedDictNarrowedEntries,i=new Map;return e&&e.forEach(((e,t)=>{i.set(t,e)})),i.set(n.literalValue,{valueType:r.valueType,isRequired:!1,isProvided:!0}),Zs.cloneAsInstance(Zs.cloneForNarrowedTypedDictEntries(Zs.cloneAsInstantiable(t),i))}return void 0!==r&&(r.isRequired||r.isProvided)?void 0:t}return t}))}(e,n,Zs.cloneAsInstantiable(t),r)}}}if(9===n.nodeType){const r=e.getTypeOfExpression(n.leftExpression,void 0,2).type;if(Eo(r)&&("isinstance"===r.details.builtInName||"issubclass"===r.details.builtInName)&&2===n.arguments.length){const s="isinstance"===r.details.builtInName,o=n.arguments[0].valueExpression,a=n.arguments[1].valueExpression;if(Lr(t,o)){const t=function(e){let t=!1;const n=[],i=e=>{e.forEach((e=>{_o(e)||bo(e)&&Ks.isInstantiable(e)||co(e)||Eo(e)&&2===e.details.parameters.length&&1===e.details.parameters[0].category&&2===e.details.parameters[1].category?n.push(e):t=!0}))};return Jo(e,(e=>{yo(e)&&Ks.isInstance(e)&&pa(e)?e.tupleTypeArguments&&i(e.tupleTypeArguments.map((e=>e.type))):i([e])})),t?void 0:n}(e.getTypeOfExpression(a,void 0,168).type);if(t)return r=>{const o=cu(e,r,t,s,i,!1,n);return ao(o)?cu(e,r,t,s,i,!0,n):o}}}if(Eo(r)&&"callable"===r.details.builtInName&&1===n.arguments.length&&Lr(t,n.arguments[0].valueExpression))return t=>{let r=hu(e,t,i,n,!1);return i&&ao(r)&&(r=hu(e,t,i,n,!0)),r};if(_o(r)&&Zs.isBuiltIn(r,"bool")&&1===n.arguments.length&&!n.arguments[0].name&&Lr(t,n.arguments[0].valueExpression))return t=>lu(e,t,i);if(n.arguments.length>=1&&Lr(t,n.arguments[0].valueExpression)&&Eo(r)&&r.details.declaredReturnType&&vo(r.details.declaredReturnType)&&Zs.isBuiltIn(r.details.declaredReturnType,["TypeGuard","StrictTypeGuard"])){const t=e.getTypeOfExpression(n).type;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&t.typeGuardType){const n=Zs.isBuiltIn(r.details.declaredReturnType,"StrictTypeGuard"),s=t.typeGuardType;return t=>function(e,t,n,i,r){return r?Ko(t,(t=>Ko(n,(r=>{const s=e.canAssignType(n,t),o=e.canAssignType(t,r);if(i){if(s)return t;if(o)return r}else if(!s&&!s)return t})))):i?n:t}(e,t,s,i,n)}}}if(Lr(t,n))return t=>lu(e,t,i);if(38===n.nodeType&&38===t.nodeType&&n!==t){const r=au(e,n,n);if(r&&1===r.length&&1===r[0].type){const s=au(e,t,n);if(s){let o=[];if(s.length>1&&(o=s.filter((t=>e.isNodeReachable(n,t.node)&&e.isNodeReachable(t.node,r[0].node)))),0===o.length){const s=r[0].inferredTypeSource;if(s&&!Mr(n,s)&&yr(s))return ou(e,t,s,i)}}}}return 55===n.nodeType&&38===n.operator?ou(e,t,n.expression,!i):void 0}function au(e,t,n){const i=zs(t);if(1!==(null==i?void 0:i.type)&&3!==(null==i?void 0:i.type))return;const r=i.lookUpSymbol(t.value);if(!r)return;const s=r.getDeclarations();if(0===s.length||s.some((e=>1!==e.type&&2!==e.type)))return;let o;if(s.some((e=>{const t=Rr(2===e.type?e.node.name:e.node);return!(!o||t===o)||(o=t,!1)})))return;const a=s.filter((t=>e.isNodeReachable(n,t.node)));return a.length>0?a:void 0}function lu(e,t,n){return Ko(t,(t=>{if(n){if(e.canBeTruthy(t))return e.removeFalsinessFromType(t)}else if(e.canBeFalsy(t))return e.removeTruthinessFromType(t)}))}function cu(e,t,n,i,r,s,o){const a=Ko(t,(e=>ta(e))),l=(t,a,l,c)=>{const u=[];let p=!1,d=!1;for(const c of n){const n=e.makeTopLevelTypeVarsConcrete(c);if(_o(n)){const h=!bo(c)&&(Zs.isDerivedFrom(t,n)||i&&Zs.isProtocolClass(n)&&e.canAssignType(n,t)||Zs.isBuiltIn(n,"dict")&&Zs.isTypedDictClass(t)),m=Zs.isDerivedFrom(n,t)||i&&Zs.isProtocolClass(t)&&e.canAssignType(t,n);if(h&&(p=!0),m&&h&&!Zs.isSameGenericClass(t,n)&&(d=!0),r)if(h)u.push(Zo(t,l));else if(m){let n=c;if(yo(c)&&(Zs.isSpecialBuiltIn(c)||c.details.typeParameters.length>0)){const i=new jo(na(c)),r=Zs.cloneForSpecialization(c,void 0,!1);e.populateTypeVarMapBasedOnExpectedType(r,t,i,void 0)&&(n=fa(r,i,!0))}u.push(Zo(n,l))}else if(s){const e=``,r=Vt(o);let s=Zs.createInstantiable(e,br(o,r.moduleName,e),r.moduleName,r.filePath,0,Ir(o),void 0,t.details.effectiveMetaclass,t.details.docString);s.details.baseClasses=[Zs.cloneAsInstantiable(t),n],Ha(s),s=Zo(s,n.condition),bo(a)&&!a.details.isParamSpec&&0===a.details.constraints.length&&(s=Zo(s,[{typeVarName:oo.getNameWithScope(a),constraintIndex:0,isConstrainedTypeVar:!1}])),u.push(i?Zs.cloneAsInstance(s):s)}}else if(bo(c)&&Ks.isInstantiable(c))i&&Ks.isInstance(a)?bo(a)&&Ao(Fa(c),a)?r&&u.push(a):r?u.push(Fa(c)):(u.push(a),d=!0):!i&&Ks.isInstantiable(a)&&(bo(a)&&Ao(c,a)?r&&u.push(a):r?u.push(c):(u.push(a),d=!0));else if(Eo(c)&&i){let e=!1;yo(t)&&(e=!!Ks.isInstantiable(a)||!!va(t,"__call__")),e&&(r?u.push(a):p=!0)}}return r||p&&!d||u.push(c),i?u.map((e=>Fa(e))):u},c=[],u=[],p=e.mapSubtypesExpandTypeVars(a,void 0,((t,s)=>{const a=Xo(t)?t:s,p=vo(t)&&Zs.isBuiltIn(t,"type");if(r&&ho(t))return i?c.push(Oo(n.map((e=>Fa(e))))):c.push(Oo(n)),void u.push(t);if(i){if(lo(t)){const e=n.some((e=>co(e)));return r?e?t:void 0:e?void 0:t}if((To(t)||vo(t)&&Zs.isBuiltIn(t,"ModuleType"))&&r){const t=n.filter((t=>{const n=e.makeTopLevelTypeVarsConcrete(t);return _o(n)&&Zs.isProtocolClass(n)}));if(t.length>0)return Fa(Oo(t))}if(vo(t)&&!p)return Oo(l(Zs.cloneAsInstantiable(t),Fa(s),Xo(t),a));if((Eo(t)||ko(t))&&i)return Oo(((t,i)=>{const s=[];if(r)for(const r of n){const n=e.makeTopLevelTypeVarsConcrete(r);e.canAssignType(t,Fa(n))&&(Eo(r)?s.push(i):s.push(Fa(r)))}else n.some((n=>{const i=e.makeTopLevelTypeVarsConcrete(n);return!(yo(i)&&!Zs.isProtocolClass(i))&&e.canAssignType(t,Fa(i))}))||s.push(i);return s})(t,Fa(s)));if(_o(t)||p){const e=n.some((e=>_o(e)&&Zs.isBuiltIn(e,"type")));return r?e?a:void 0:e?void 0:a}}else{if(_o(t))return Oo(l(t,s,Xo(t),a));if(p){const n=e.getBuiltInObject(o,"object");if(n&&vo(n))return Oo(l(Zs.cloneAsInstantiable(n),Na(s),Xo(t),a))}}return r?void 0:a}));return ao(p)&&c.length>0?Oo(c):u.length>0?Oo([p,...u]):p}function uu(e,t,n,i,r){return Ko(t,(t=>{let s;if(vo(t)?s=_a(t,n):_o(t)&&(s=va(t,n)),s&&s.isTypeDeclared){const n=e.getTypeOfMember(s);if(sa(n))return r?e.canAssignType(n,i)?t:void 0:e.canAssignType(i,n)?void 0:t}return t}))}function pu(e,t,n,i,r){return Ko(t,(t=>{if(vo(t=e.makeTopLevelTypeVarsConcrete(t))&&Zs.isSameGenericClass(n,t)){if(void 0!==t.literalValue){const e=Zs.isLiteralValueSame(t,n);if(e&&!i||!e&&i)return;return t}if(i)return n;{const i=du(e,t);if(i&&i.length>0)return Oo(i.filter((e=>!Zs.isLiteralValueSame(e,n))))}}else if(i&&(r||lo(t)))return;return t}))}function du(e,t){if(Zs.isBuiltIn(t,"bool"))return[Zs.cloneWithLiteral(t,!0),Zs.cloneWithLiteral(t,!1)];if(Zs.isEnumClass(t)){const n=[];return t.details.fields.forEach((i=>{if(!i.isIgnoredForProtocolMatch()){const r=e.getEffectiveTypeOfSymbol(i);vo(r)&&Zs.isSameGenericClass(t,r)&&void 0!==r.literalValue&&n.push(r)}})),n}}function hu(e,t,n,i,r){return e.mapSubtypesExpandTypeVars(t,void 0,(e=>{switch(e.category){case 5:case 6:return n?e:void 0;case 3:case 8:return n?void 0:e;case 7:if(Ks.isInstantiable(e))return n?e:void 0;if(va(e,"__call__"))return n?e:void 0;if(!n)return e;if(r){const t=``,n=Vt(i);let r=Zs.createInstantiable(t,br(i,n.moduleName,t),n.moduleName,n.filePath,0,Ir(i),void 0,e.details.effectiveMetaclass,e.details.docString);r.details.baseClasses=[Zs.cloneAsInstantiable(e)],Ha(r),r=Zo(r,e.condition);const s=Xs.createInstance("__call__","","",64),o={category:0,name:"self",type:Zs.cloneAsInstance(r),hasDeclaredType:!0};return Xs.addParameter(s,o),Xs.addDefaultParameters(s),s.details.declaredReturnType=Ys.create(),r.details.fields.set("__call__",qo.createWithType(4,s)),Zs.cloneAsInstance(r)}return;default:return e}}))}const mu=["builtins.bool","builtins.bytearray","builtins.bytes","builtins.dict","builtins.float","builtins.frozenset","builtins.int","builtins.list","builtins.set","builtins.str","builtins.tuple"];function fu(e,t,n,i){switch(n.nodeType){case 65:return function(e,t,n,i){if(!i)return t;let r=vu(e,t,n.entries.length,n.starEntryIndex);return r=r.filter((t=>{let i=!0;const r=[];let s=t.isTuple;if(n.entries.forEach(((o,a)=>{const l=Tu(e,n,t,a,n.entries.length,n.starEntryIndex,!0,!1),c=fu(e,l,o,!0);a===n.starEntryIndex?vo(c)&&c.tupleTypeArguments&&!da(c)&&c.tupleTypeArguments?r.push(...c.tupleTypeArguments.map((e=>e.type))):(r.push(c),s=!1):(r.push(c),ao(c)&&(i=!1))})),i){if(s){const i=e.getBuiltInType(n,"tuple");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Va(i,r.map((e=>({type:e,isUnbounded:!1}))))))}if(t.isObject){const i=e.getTypingType(n,"Sequence");i&&_o(i)&&(t.subtype=Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[Qo(Oo(r))],!0)))}}return i})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 67:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type;return Ko(t,i?t=>{if(e.canAssignType(t,r))return r}:t=>{if(!(vo(r)&&ra(r)&&vo(t)&&ra(t)&&e.canAssignType(r,t)||lo(t)&&lo(r)))return vo(t)&&Zs.isBuiltIn(t,"bool")&&void 0===t.literalValue&&vo(r)&&Zs.isBuiltIn(r,"bool")&&void 0!==r.literalValue?Zs.cloneWithLiteral(r,!r.literalValue):t})}(e,t,n,i);case 68:return function(e,t,n,i){let r=e.getTypeOfExpression(n.className,void 0,2).type;if(yo(r)&&!r.typeAliasInfo&&(r=xa(r)),!i){if(!_o(r))return t;let s=r;s.details.typeParameters.length>0&&(s=Zs.cloneForSpecialization(s,void 0,!1));const o=Fa(s);return e.mapSubtypesExpandTypeVars(t,void 0,((t,r)=>{if(!vo(t))return r;if(!e.canAssignType(o,t))return t;if(0===n.arguments.length)return;if(!e.canAssignType(t,o)&&!Zs.isFinal(t))return t;if(1===n.arguments.length&&!n.arguments[0].name&&mu.some((e=>s.details.fullName===e)))return;let a=[];n.arguments.some((e=>!e.name))&&yo(t)&&(a=gu(e,t));for(let s=0;sho(r)?s:_o(r)?e.mapSubtypesExpandTypeVars(t,void 0,(t=>{if(ho(t))return Fa(s);if(vo(t)){let o;if(e.canAssignType(r,Zs.cloneAsInstantiable(t)))o=t;else{if(!e.canAssignType(Zs.cloneAsInstantiable(t),r))return;if(o=Zo(Fa(s),Xo(t)),_o(s)&&vo(t)&&(Zs.isSpecialBuiltIn(s)||s.details.typeParameters.length>0)){const n=new jo(na(s)),i=Zs.cloneForSpecialization(s,void 0,!1),r=Zs.cloneAsInstance(i);e.populateTypeVarMapBasedOnExpectedType(r,t,n,[])&&(o=fa(r,n,!0))}}let a=[];n.arguments.some((e=>!e.name))&&(a=gu(e,r));let l=!0;if(n.arguments.forEach(((t,n)=>{ao(yu(e,t,n,a,o,i))&&(l=!1)})),l)return o}})):void 0)):(e.addDiagnostic(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(r)}),n.className),no.createNever())}(e,t,n,i);case 66:return function(e,t,n,i){let r=t;return i?Oo(n.orPatterns.map((t=>{const n=fu(e,r,t,!0);return r=fu(e,r,t,!1),n}))):(n.orPatterns.forEach((t=>{r=fu(e,r,t,!1)})),r)}(e,t,n,i);case 70:return function(e,t,n,i){if(!i)return t;let r=_u(e,t);return r=r.filter((t=>{let r=!0;return n.entries.forEach((s=>{if(t.typedDict){if(71===s.nodeType){const o=fu(e,e.getBuiltInObject(n,"str"),s.keyPattern,i);ao(o)&&(r=!1);const a=Ko(o,(n=>{if(ho(n))return n;if(vo(n)&&Zs.isBuiltIn(n,"str")){if(!ra(n))return Ys.create();const i=gl(e,t.typedDict).get(n.literalValue);if(i){const t=fu(e,i.valueType,s.valuePattern,!0);if(!ao(t))return t}}}));ao(a)&&(r=!1)}}else if(t.dictTypeArgs&&71===s.nodeType){const n=fu(e,t.dictTypeArgs.key,s.keyPattern,i),o=fu(e,t.dictTypeArgs.value,s.valuePattern,i);(ao(n)||ao(o))&&(r=!1)}})),r})),Oo(r.map((e=>e.subtype)))}(e,t,n,i);case 73:return function(e,t,n,i){const r=e.getTypeOfExpression(n.expression).type,s=[];return e.mapSubtypesExpandTypeVars(r,void 0,((r,o)=>{s.push(e.mapSubtypesExpandTypeVars(t,Xo(r),(t=>{if(!i){if(vo(t)&&Zs.isEnumClass(t)&&!ra(t)&&vo(r)&&Lo(t,r)&&ra(r)){const n=du(e,t);if(n)return Oo(n.filter((e=>!Zs.isLiteralValueSame(r,e))))}else if(vo(t)&&vo(r)&&Zs.isLiteralValueSame(r,t))return;return t}return ao(r)||ao(t)?no.createNever():ho(r)||ho(t)?po(r)||po(t)?Ys.create():io.create():e.useSpeculativeMode(n.expression,(()=>e.getTypeFromMagicMethodReturn(r,[t],"__eq__",n.expression,void 0)))?o:void 0})))})),Oo(s)}(e,t,n,i);case 69:return i?t:no.createNever();case 0:return t}}function gu(e,t){const n=va(t,"__match_args__");if(n){const t=e.getTypeOfMember(n);if(vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments){const e=t.tupleTypeArguments;if(e.every((e=>vo(e.type)&&Zs.isBuiltIn(e.type,"str")&&ra(e.type))))return e.map((e=>e.type.literalValue))}}return[]}function yu(e,t,n,i,r,s){var o;let a,l;if(t.name?a=t.name.value:nr.details.fullName===e))&&0===n&&!t.name)l=Zs.cloneAsInstance(r);else if(a&&(l=null===(o=e.useSpeculativeMode(t,(()=>e.getTypeFromObjectMember(t,Zs.cloneAsInstance(r),a))))||void 0===o?void 0:o.type),!l){if(!s)return r;if(Zs.isFinal(r))return no.createNever();l=Ys.create()}return fu(e,l,t.pattern,s)}function _u(e,t){const n=[];return Jo(t,(t=>{const i=e.makeTopLevelTypeVarsConcrete(t);if(ho(i))n.push({subtype:t,dictTypeArgs:{key:i,value:i}});else if(vo(i))if(Zs.isTypedDictClass(i))n.push({subtype:t,typedDict:i});else{let e;for(const t of i.details.mro)if(_o(t)&&Zs.isBuiltIn(t,"Mapping")){e=t;break}if(e){const r=ha(e,i);r.typeArguments&&r.typeArguments.length>=2&&n.push({subtype:t,dictTypeArgs:{key:r.typeArguments[0],value:r.typeArguments[1]}})}}})),n}function vu(e,t,n,i){const r=[],s=void 0===i?n:n-1;return Jo(t,(t=>{const n=e.makeTopLevelTypeVarsConcrete(t);let o;if(ho(n))r.push({subtype:t,entryTypes:[n],isIndeterminateLength:!0});else if(vo(n)){if(Zs.isBuiltIn(n,"object"))return void r.push({subtype:t,entryTypes:[Fa(n)],isIndeterminateLength:!0,isObject:!0});for(const e of n.details.mro){if(!_o(e))break;if(Zs.isBuiltIn(e,"str")||Zs.isBuiltIn(e,"bytes")||Zs.isBuiltIn(e,"bytearray"))break;if(Zs.isBuiltIn(e,"Sequence")){o=e;break}if(pa(e)){o=e;break}}if(o){const e=ha(o,n);pa(e)?e.tupleTypeArguments&&(da(e)?r.push({subtype:t,entryTypes:[Oo(e.tupleTypeArguments.map((e=>e.type)))],isIndeterminateLength:!0,isTuple:!0}):e.tupleTypeArguments.length>=s&&(void 0!==i||e.tupleTypeArguments.length===s)&&r.push({subtype:t,entryTypes:e.tupleTypeArguments.map((e=>e.type)),isIndeterminateLength:!1,isTuple:!0})):r.push({subtype:t,entryTypes:[e.typeArguments&&e.typeArguments.length>0?e.typeArguments[0]:Ys.create()],isIndeterminateLength:!0})}}})),r}function Tu(e,t,n,i,r,s,o,a){if(n.isIndeterminateLength){let r=n.entryTypes[0];if(a){const n=e.getBuiltInObject(t,"object");n&&vo(n)&&(r=n)}return o||i!==s||ao(r)||(r=Iu(e,t,r)),r}if(void 0===s||iQo(e))));return o||(i=Iu(e,t,i)),i}const l=n.entryTypes.length-(r-i);return w(l>=0&&l{const a=Oo(s.map((t=>Tu(e,r,t,o,r.entries.length,r.starEntryIndex,!1,i))));bu(e,a,n,!1,t)}));break}case 66:r.target&&e.assignTypeToExpression(r.target,t,n,r.target),r.orPatterns.forEach((r=>{bu(e,t,n,i,r),t=fu(e,t,r,!1)}));break;case 69:e.assignTypeToExpression(r.target,r.isWildcard?io.create():t,n,r.target);break;case 70:{const i=_u(e,t);r.entries.forEach((t=>{const s=[],o=[];i.forEach((n=>{if(n.typedDict)if(71===t.nodeType){const i=fu(e,e.getBuiltInObject(r,"str"),t.keyPattern,!0);s.push(i),Jo(i,(t=>{if(vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)){const i=gl(e,n.typedDict).get(t.literalValue);o.push(i?i.valueType:Ys.create())}else o.push(Ys.create())}))}else 72===t.nodeType&&(s.push(e.getBuiltInObject(r,"str")),o.push(Ys.create()));else if(n.dictTypeArgs)if(71===t.nodeType){const i=fu(e,n.dictTypeArgs.key,t.keyPattern,!0);s.push(i),o.push(fu(e,n.dictTypeArgs.value,t.valuePattern,!0))}else 72===t.nodeType&&(s.push(n.dictTypeArgs.key),o.push(n.dictTypeArgs.value))}));const a=Oo(s),l=Oo(o);if(71===t.nodeType)bu(e,a,n,!1,t.keyPattern),bu(e,l,n,!1,t.valuePattern);else if(72===t.nodeType){const i=e.getBuiltInType(r,"dict"),s=e.getBuiltInObject(r,"str"),o=i&&_o(i)&&vo(s)?Zs.cloneAsInstance(Zs.cloneForSpecialization(i,[a,l],!0)):Ys.create();e.assignTypeToExpression(t.target,o,n,t.target)}}));break}case 68:{const i=r.arguments.map((e=>[]));e.mapSubtypesExpandTypeVars(t,void 0,(n=>{vo(n)?Jo(t,(t=>{const s=e.makeTopLevelTypeVarsConcrete(t);if(ho(s))r.arguments.forEach(((e,t)=>{i[t].push(s)}));else if(vo(s)){let t=[];r.arguments.some((e=>!e.name))&&(t=gu(e,Zs.cloneAsInstantiable(n))),r.arguments.forEach(((r,s)=>{const o=yu(e,r,s,t,Zs.cloneAsInstantiable(n),!0);i[s].push(o)}))}})):r.arguments.forEach(((e,t)=>{i[t].push(Ys.create())}))})),r.arguments.forEach(((t,r)=>{bu(e,Oo(i[r]),n,!1,t.pattern)}));break}}}function Iu(e,t,n){if(ao(n))return n;const i=Fa(e.getBuiltInObject(t,"list"));return i&&vo(i)?Zs.cloneForSpecialization(i,[n],!0):Ys.create()}const Su=new Map([["Tuple",{version:De.V3_9,fullName:"builtins.tuple",replacementText:"tuple"}],["List",{version:De.V3_9,fullName:"builtins.list",replacementText:"list"}],["Dict",{version:De.V3_9,fullName:"builtins.dict",replacementText:"dict"}],["Set",{version:De.V3_9,fullName:"builtins.set",replacementText:"set"}],["FrozenSet",{version:De.V3_9,fullName:"builtins.frozenset",replacementText:"frozenset"}],["Type",{version:De.V3_9,fullName:"builtins.type",replacementText:"type"}],["Deque",{version:De.V3_9,fullName:"collections.deque",replacementText:"collections.deque"}],["DefaultDict",{version:De.V3_9,fullName:"collections.defaultdict",replacementText:"collections.defaultdict"}],["OrderedDict",{version:De.V3_9,fullName:"collections.OrderedDict",replacementText:"collections.OrderedDict"}],["Counter",{version:De.V3_9,fullName:"collections.Counter",replacementText:"collections.Counter"}],["ChainMap",{version:De.V3_9,fullName:"collections.ChainMap",replacementText:"collections.ChainMap"}]]),xu=new Map([["Optional",{version:De.V3_10,fullName:"typing.Optional",replacementText:"| None"}],["Union",{version:De.V3_10,fullName:"typing.Union",replacementText:"|"}]]);class Cu extends _r{constructor(e,t){super(),this._isUnboundCheckSuppressed=!1,this._scopedNodes=[],this._moduleNode=e,this._fileInfo=Vt(e),this._evaluator=t}check(){this._scopedNodes.push(this._moduleNode),this._walkStatementsAndReportUnreachable(this._moduleNode.statements);const e=Wt(this._moduleNode);e&&(this._evaluator.markNamesAccessed(this._moduleNode,e.names),this._reportUnusedDunderAllSymbols(e.stringNodes)),this._validateSymbolTables(),this._reportDuplicateImports()}walk(e){zt(e)?this._evaluator.suppressDiagnostics(e,(()=>{super.walk(e)})):super.walk(e)}visitSuite(e){return this._walkStatementsAndReportUnreachable(e.statements),!1}visitStatementList(e){return e.statements.forEach((e=>{yr(e)&&this._evaluator.getType(e)})),!0}visitClass(e){const t=this._evaluator.getTypeOfClass(e);return this.walk(e.suite),this.walkMultiple(e.decorators),this.walkMultiple(e.arguments),t&&(Zs.isProtocolClass(t.classType)&&(e.arguments.forEach((e=>{if(!e.name){const n=this._evaluator.getType(e.valueExpression);n&&_o(n)&&!Zs.isBuiltIn(n,"Protocol")&&!Zs.isBuiltIn(n,"Generic")&&(Zs.isProtocolClass(n)||this._evaluator.addError(ml.Diagnostic.protocolBaseClass().format({classType:this._evaluator.printType(t.classType,!1),baseType:this._evaluator.printType(n,!1)}),e.valueExpression))}})),this._validateProtocolTypeParamVariance(e,t.classType)),this._fileInfo.isStubFile||(this._validateBaseClassOverrides(t.classType),this._validateSlotsClassVarConflict(t.classType)),this._validateMultipleInheritanceCompatibility(t.classType,e.name),this._validateConstructorConsistency(t.classType),this._validateFinalMemberOverrides(t.classType),this._validateInstanceVariableInitialization(t.classType),this._validateFinalClassNotAbstract(t.classType,e),this._validateDataClassPostInit(t.classType,e),this._validateProtocolCompatibility(t.classType,e),this._reportDuplicateEnumMembers(t.classType),Zs.isTypedDictClass(t.classType)&&this._validateTypedDictClassSuite(e.suite),Zs.isEnumClass(t.classType)&&this._validateEnumClassOverride(e,t.classType)),this._scopedNodes.push(e),!1}visitFunction(e){var t;const n=this._evaluator.getTypeOfFunction(e),i=Er(e,!0);if(n){let r=!1;e.parameters.forEach(((e,t)=>{if(e.name)if(1===e.category){const t=e.typeAnnotation||e.typeAnnotationComment;if(t&&35===t.nodeType&&"args"===t.memberName.value){const e=this._evaluator.getType(t.leftExpression);e&&bo(e)&&e.details.isParamSpec&&(r=!0)}}else 2===e.category&&(r=!1);if(e.name&&0===e.category&&r&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedParamAfterParamSpecArgs().format({name:e.name.value}),e.name),e.name&&"_"!==e.name.value){const i=n.functionType.details.parameters.find((t=>{var n;return t.name===(null===(n=e.name)||void 0===n?void 0:n.value)}));if(i){const r=i.type;if(po(r)||bo(r)&&r.details.isSynthesized&&!r.details.isSynthesizedSelf)this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name);else if(La(r)){const t=new il;t.addMessage(ml.DiagnosticAddendum.paramType().format({paramType:this._evaluator.printType(r,!0)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value})+t.getString(),e.name)}let s=!1;(n.functionType.details.parameters[t].typeAnnotation||bo(r)&&r.details.isSynthesizedSelf)&&(s=!0),s||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingParameterType,$o.reportMissingParameterType,ml.Diagnostic.paramAnnotationMissing().format({name:e.name.value}),e.name)}}if(e.defaultValue&&this._fileInfo.isStubFile){const t=this._evaluator.getType(e.defaultValue);t&&ca(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidStubStatement,$o.reportInvalidStubStatement,ml.Diagnostic.defaultValueNotEllipsis(),e.defaultValue)}}));const s=n.functionType.details.parameters.filter((e=>!!(e.typeAnnotation&&bo(e.type)&&wo(e.type)&&0!==e.category&&e.name&&e.type.paramSpecAccess)));1===s.length&&s[0].typeAnnotation&&this._evaluator.addError(ml.Diagnostic.paramSpecArgsKwargsUsage(),s[0].typeAnnotation),this._fileInfo.isStubFile&&(e.returnTypeAnnotation||(null===(t=e.functionAnnotationComment)||void 0===t?void 0:t.returnTypeAnnotation)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name)),i&&this._validateMethod(e,n.functionType,i)}if(e.parameters.forEach(((e,t)=>{if(e.defaultValue&&this.walk(e.defaultValue),e.typeAnnotation&&this.walk(e.typeAnnotation),e.typeAnnotationComment&&this.walk(e.typeAnnotationComment),n){const i=e.typeAnnotation||e.typeAnnotationComment;if(i&&t{e.name&&this.walk(e.name)})),this.walk(e.suite),n&&(this._validateFunctionReturn(e,n.functionType),this._validateDunderSignatures(e,n.functionType,void 0!==i),this._validateStrictTypeGuardFunction(e,n.functionType,void 0!==i)),this._fileInfo.isStubFile&&"__getattr__"===e.name.value){const t=zs(e);3===(null==t?void 0:t.type)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompleteStub,$o.reportIncompleteStub,ml.Diagnostic.stubUsesGetAttr(),e.name)}if(this._scopedNodes.push(e),this._validateFunctionTypeVarUsage(e),n&&ko(n.decoratedType)){const t=n.decoratedType.overloads;if(t.length>1){const n=100;t.length{if(e.name){const t=this._evaluator.getType(e.name);t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypeUnknown().format({paramName:e.name.value}),e.name):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.paramTypePartiallyUnknown().format({paramName:e.name.value}),e.name))}}));const t=this._evaluator.getType(e.expression);return t&&(po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypeUnknown(),e.expression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownLambdaType,$o.reportUnknownLambdaType,ml.Diagnostic.lambdaReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.expression)),this._scopedNodes.push(e),!1}visitCall(e){var t;if(this._validateIsInstanceCall(e),this._validateIllegalDefaultParamInitializer(e),("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult||"none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine)&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)){const t=38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value,n=this._evaluator.getType(e);!t&&n&&this._isTypeValidForUnusedValueTest(n)&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(n,!1)}),e),vo(n)&&Zs.isBuiltIn(n,"Coroutine")&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCoroutine,$o.reportUnusedCoroutine,ml.Diagnostic.unusedCoroutine(),e))}return!0}visitAwait(e){var t;if("none"!==this._fileInfo.diagnosticRuleSet.reportUnusedCallResult&&47===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&9===e.expression.nodeType){const t=this._evaluator.getType(e);t&&this._isTypeValidForUnusedValueTest(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnusedCallResult,$o.reportUnusedCallResult,ml.Diagnostic.unusedCallResult().format({type:this._evaluator.printType(t,!1)}),e)}return!0}visitFor(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitList(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitSet(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitDictionary(e){return this._validateIllegalDefaultParamInitializer(e),!0}visitListComprehension(e){return this._scopedNodes.push(e),!0}visitIf(e){return this._evaluator.getType(e.testExpression),!0}visitWhile(e){return this._evaluator.getType(e.testExpression),!0}visitWith(e){return e.withItems.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)})),!0}visitReturn(e){let t;const n=kr(e),i=n?this._evaluator.getFunctionDeclaredReturnType(n):void 0;if(t=e.returnExpression?this._evaluator.getType(e.returnExpression)||Ys.create():to.createInstance(),this._evaluator.isNodeReachable(e,void 0)&&n){if(i)if(ao(i))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsReturn(),e);else{const n=new il;let r=!1;if(this._evaluator.canAssignType(i,t,n,new jo,64))r=!0;else{const s=Sa(i);if(s&&s.some((e=>e.details.constraints.length>0))){const o=new jo;for(const t of s)if(t.details.constraints.length>0){const n=this._evaluator.narrowConstrainedTypeVar(e,t);n&&(o.setTypeVarType(t,n),o.addSolveForScope(na(t)))}if(!o.isEmpty()){const e=fa(i,o);this._evaluator.canAssignType(e,t,n,void 0,64)&&(r=!0)}}}r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeMismatch().format({exprType:this._evaluator.printType(t,!1),returnType:this._evaluator.printType(i,!1)})+n.getString(),e.returnExpression?e.returnExpression:e)}po(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypeUnknown(),e.returnExpression):La(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(t,!0)}),e.returnExpression)}return!0}visitYield(e){const t=e.expression?this._evaluator.getType(e.expression):to.createInstance();return this._validateYieldType(e,t||Ys.create()),!0}visitYieldFrom(e){const t=this._evaluator.getType(e.expression)||Ys.create();let n;if(vo(t)&&Zs.isBuiltIn(t,"Coroutine"))n=Ys.create();else{n=this._evaluator.getTypeFromIterable(t,!1,e)||Ys.create();const i=za(n);n=i?i.length>=1?i[0]:Ys.create():this._evaluator.getTypeFromIterator(t,!1,e)||Ys.create()}return this._validateYieldType(e,n),!0}visitRaise(e){if(this._evaluator.verifyRaiseExceptionType(e),e.valueExpression){const t=this._evaluator.getBuiltInType(e,"BaseException"),n=this._evaluator.getType(e.valueExpression);if(n&&t&&_o(t)){const i=new il;Jo(n,(e=>{ho(e=this._evaluator.makeTopLevelTypeVarsConcrete(e))||lo(e)||yo(e)&&Da(e,t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)}))})),i.isEmpty()||this._evaluator.addError(ml.Diagnostic.expectedExceptionObj()+i.getString(),e.valueExpression)}}return!0}visitExcept(e){if(e.typeExpression){this._evaluator.evaluateTypesForStatement(e);const t=this._evaluator.getType(e.typeExpression);t&&this._validateExceptionType(t,e.typeExpression)}return!0}visitAssert(e){e.exceptionExpression&&this._evaluator.getType(e.exceptionExpression);const t=this._evaluator.getType(e.testExpression);return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&t.tupleTypeArguments.length>0&&(da(t)||this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportAssertAlwaysTrue,$o.reportAssertAlwaysTrue,ml.Diagnostic.assertAlwaysTrue(),e.testExpression)),!0}visitAssignment(e){return this._evaluator.evaluateTypesForStatement(e),e.typeAnnotationComment&&this._evaluator.getType(e.typeAnnotationComment),!0}visitAssignmentExpression(e){return this._evaluator.getType(e),!0}visitAugmentedAssignment(e){return this._evaluator.evaluateTypesForStatement(e),!0}visitIndex(e){this._evaluator.getType(e);const t=this._evaluator.getType(e.baseExpression);return t&&Jo(t,(t=>{if(vo(t)&&t.tupleTypeArguments&&!da(t)){const n=t.tupleTypeArguments.length;if(1===e.items.length&&!e.trailingComma&&0===e.items[0].argumentCategory&&!e.items[0].name){const i=this._evaluator.getType(e.items[0].valueExpression);i&&vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue&&(i.literalValue>=0&&i.literalValue>=n||i.literalValue<0&&i.literalValue+n<0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.tupleIndexOutOfRange().format({index:i.literalValue,type:this._evaluator.printType(t)}),e)}}})),!0}visitBinaryOperation(e){return 12!==e.operator&&28!==e.operator||function(e){let t,n=e;for(;n;){switch(n.nodeType){case 2:return n.testExpression===t}t=n,n=n.parent}return!1}(e)||this._validateComparisonTypes(e),this._evaluator.getType(e),!0}visitSlice(e){return this._evaluator.getType(e),!0}visitUnpack(e){return this._evaluator.getType(e),!0}visitTuple(e){return this._evaluator.getType(e),!0}visitUnaryOperation(e){return this._evaluator.getType(e),!0}visitTernary(e){return this._evaluator.getType(e),!0}visitStringList(e){for(const t of e.strings)t.hasUnescapeErrors&&Vc(t.token).unescapeErrors.forEach((e=>{const n={start:t.token.start+t.token.prefixLength+t.token.quoteMarkLength+e.offset,length:e.length};0===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportInvalidStringEscapeSequence,$o.reportInvalidStringEscapeSequence,ml.Diagnostic.stringUnsupportedEscape(),n):1===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringEscape(),n):2===e.errorType?this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringBrace(),n):3===e.errorType&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,"error","",ml.Diagnostic.formatStringUnterminated(),n)}));return e.typeAnnotation&&this._evaluator.getType(e),e.strings.length>1&&!e.isParenthesized&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportImplicitStringConcatenation,$o.reportImplicitStringConcatenation,ml.Diagnostic.implicitStringConcat(),e),!0}visitFormatString(e){return e.expressions.forEach((e=>{this._evaluator.getType(e)})),!0}visitGlobal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitNonlocal(e){return this._suppressUnboundCheck((()=>{e.nameList.forEach((e=>{this._evaluator.getType(e),this.walk(e)}))})),!1}visitName(e){return this._conditionallyReportPrivateUsage(e),this._isUnboundCheckSuppressed||this._reportUnboundName(e),!0}visitDel(e){return this._suppressUnboundCheck((()=>{e.expressions.forEach((e=>{this._evaluator.verifyDeleteExpression(e),this.walk(e)}))})),!1}visitMemberAccess(e){return this._evaluator.getType(e),this._conditionallyReportPrivateUsage(e.memberName),this.walk(e.leftExpression),!1}visitImportAs(e){return this._evaluator.evaluateTypesForStatement(e),!1}visitImportFrom(e){if(e.isWildcardImport){const t=Rt(e.module);t&&t.isImportFound&&2!==t.importType&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportWildcardImportFromLibrary,$o.reportWildcardImportFromLibrary,ml.Diagnostic.wildcardLibraryImport(),e.wildcardToken||e)}else e.imports.forEach((e=>{this._evaluator.evaluateTypesForStatement(e)}));return!1}visitTypeAnnotation(e){return this._evaluator.getType(e.typeAnnotation),!0}visitMatch(e){return this._evaluator.getType(e.subjectExpression),this._validateExhaustiveMatch(e),!0}visitCase(e){return e.guardExpression&&this._evaluator.getType(e.guardExpression),this._evaluator.evaluateTypesForStatement(e.pattern),!0}visitPatternClass(e){return function(e,t){const n=e.getTypeOfExpression(t.className,void 0,2).type;ho(n)||(n.typeAliasInfo&&_o(n)&&n.typeArguments&&n.isTypeArgumentExplicit?e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternTypeAlias().format({type:e.printType(n)}),t.className):!_o(n)||n.includeSubclasses?e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.DiagnosticAddendum.typeNotClass().format({type:e.printType(n)}),t.className):mu.some((e=>n.details.fullName===e))&&(t.arguments.length>1?e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgCount(),t.arguments[1]):1===t.arguments.length&&t.arguments[0].name&&e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classPatternBuiltInArgPositional(),t.arguments[0].name)))}(this._evaluator,e),!0}visitTry(e){return this._reportUnusedExceptStatements(e),!0}visitError(e){return e.child&&this._evaluator.getType(e.child),!1}_validateExhaustiveMatch(e){if("none"===this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive)return;const t=this._evaluator.evaluateTypeForSubnode(e,(()=>{this._evaluator.evaluateTypesForMatchNode(e)}));if(t&&!ao(t.type)){const n=new il;n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveType().format({type:this._evaluator.printType(t.type)})),n.addMessage(ml.DiagnosticAddendum.matchIsNotExhaustiveHint()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMatchNotExhaustive,$o.reportMatchNotExhaustive,ml.Diagnostic.matchIsNotExhaustive()+n.getString(),e.subjectExpression)}}_suppressUnboundCheck(e){const t=this._isUnboundCheckSuppressed;this._isUnboundCheckSuppressed=!0;try{e()}finally{this._isUnboundCheckSuppressed=t}}_validateIllegalDefaultParamInitializer(e){"none"!==this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer&&function(e){let t,n=e;for(;n;){if(41===n.nodeType&&t===n.defaultValue)return!0;if(30===n.nodeType||28===n.nodeType||10===n.nodeType||36===n.nodeType)return!1;t=n,n=n.parent}return!1}(e)&&!this._fileInfo.isStubFile&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportCallInDefaultInitializer,$o.reportCallInDefaultInitializer,ml.Diagnostic.defaultValueContainsCall(),e)}_validateComparisonTypes(e){const t=this._evaluator.getType(e.leftExpression),n=this._evaluator.getType(e.rightExpression);if(t&&n)if(sa(n)&&sa(t)){if(void 0===Xc(e,this._fileInfo.executionEnvironment)){let i=!1;Jo(t,(e=>{this._evaluator.canAssignType(n,e)&&(i=!0)})),i||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,ml.Diagnostic.comparisonAlwaysFalse().format({leftType:this._evaluator.printType(t,!0),rightType:this._evaluator.printType(n,!0)}),e)}}else{let i=!1;if(Jo(t,(e=>{i||(e=this._evaluator.makeTopLevelTypeVarsConcrete(e),Jo(n,(t=>{i||(t=this._evaluator.makeTopLevelTypeVarsConcrete(t),this._isTypeComparable(e,t)&&(i=!0))})))})),!i){const i=this._evaluator.printType(t,!0),r=this._evaluator.printType(n,!0),s=12===e.operator?ml.Diagnostic.comparisonAlwaysFalse():ml.Diagnostic.comparisonAlwaysTrue();this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryComparison,$o.reportUnnecessaryComparison,s.format({leftType:i,rightType:r}),e)}}}_isTypeComparable(e,t){if(ho(e)||ho(t))return!0;if(ao(e)||ao(t))return!1;if(To(e)||To(t))return!Ao(e,t);if(lo(e)||lo(t))return!Ao(e,t);if(_o(e)||vo(e)&&Zs.isBuiltIn(e,"type")){if(_o(t)||vo(t)&&Zs.isBuiltIn(t,"type")){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}const n=e.details.effectiveMetaclass;return!!(n&&yo(n)&&va(n,"__eq__",4))}if(vo(e)){if(vo(t)){const n=Zs.cloneForSpecialization(e,void 0,!1),i=Zs.cloneForSpecialization(t,void 0,!1);if(this._evaluator.canAssignType(n,i)||this._evaluator.canAssignType(i,n))return!0}return!!va(Zs.cloneAsInstantiable(e),"__eq__",4)}return!0}_isTypeValidForUnusedValueTest(e){return!lo(e)&&!ao(e)&&!ho(e)}_validateFunctionTypeVarUsage(e){if("none"===this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse)return;const t=new Map;let n=!0;const i=new Br(((i,r,s)=>{const o=this._evaluator.getType(i);if(o&&bo(o)&&o.scopeId===this._evaluator.getScopeIdForNode(e)){let e=o.details.constraints.length>0||n&&void 0!==o.details.boundType&&void 0!==r||wo(o);if(!e&&s&&void 0!==r){const t=this._evaluator.getType(s);(null==t?void 0:t.typeAliasInfo)&&t.typeAliasInfo.typeParameters&&r{const t=e.typeAnnotation||e.typeAnnotationComment;t&&i.walk(t)})),e.returnTypeAnnotation&&(n=!1,i.walk(e.returnTypeAnnotation)),t.forEach((e=>{1!==e.nodes.length||e.isExempt||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,ml.Diagnostic.typeVarUsedOnlyOnce().format({name:e.nodes[0].value}),e.nodes[0])}))}_validateOverloadConsistency(e,t,n){for(let i=0;i!n||!_o(n)||Da(e,n,!1),r=new il;let s;return ho(e)?s=e:_o(e)?(i(e)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),s=Zs.cloneAsInstance(e)):vo(e)&&(s=Ko(this._evaluator.getTypeFromIterator(e,!1,t)||Ys.create(),(t=>ho(t)?t:_o(t)?(i(t)||r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Zs.cloneAsInstance(t)):(r.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:this._evaluator.printType(e,!1)})),Ys.create())))),r.isEmpty()||this._evaluator.addError(ml.Diagnostic.exceptionTypeNotClass().format({type:this._evaluator.printType(e,!1)}),t),s||Ys.create()}_reportUnusedDunderAllSymbols(e){if("none"===this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll)return;const t=Ft(this._moduleNode);t&&e.forEach((e=>{t.symbolTable.has(e.value)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnsupportedDunderAll,$o.reportUnsupportedDunderAll,ml.Diagnostic.dunderAllSymbolNotPresent().format({name:e.value}),e)}))}_validateSymbolTables(){for(const e of this._scopedNodes){const t=Ft(e);t&&t.symbolTable.forEach(((e,n)=>{this._conditionallyReportUnusedSymbol(n,e,t.type),this._reportIncompatibleDeclarations(n,e),this._reportMultipleFinalDeclarations(n,e,t.type),this._reportMultipleTypeAliasDeclarations(n,e),this._reportInvalidOverload(n,e)}))}}_reportInvalidOverload(e,t){const n=t.getTypedDeclarations();if(n.length>=1){const i=n[0];if(3===i.type){const n=this._evaluator.getEffectiveTypeOfSymbol(t),r=(ko(n)?n.overloads:Eo(n)?[n]:[]).filter((e=>Xs.isOverloaded(e)));if(1===r.length&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.singleOverload().format({name:e}),i.node.name),r.forEach((t=>{if(t.details.declaration&&!function(e){let t=!0;return e.suite.statements.forEach((e=>{0!==e.nodeType&&(47===e.nodeType?e.statements.forEach((e=>{18!==e.nodeType&&48!==e.nodeType&&42!==e.nodeType&&(t=!1)})):t=!1)})),t}(t.details.declaration.node)){const n=new il;n.addMessage(ml.DiagnosticAddendum.overloadWithImplementation()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithImplementation().format({name:e})+n.getString(),t.details.declaration.node.name)}})),!this._fileInfo.isStubFile&&r.length>0){let t;if(ko(n)&&!Xs.isOverloaded(n.overloads[n.overloads.length-1])?t=n.overloads[n.overloads.length-1]:Eo(n)&&!Xs.isOverloaded(n)&&(t=n),t)ko(n)&&n.overloads.forEach(((n,r)=>{if(n===t||!Xs.isOverloaded(n))return;const s=new il;if(!this._isLegalOverloadImplementation(n,t,s)&&t.details.declaration){const o=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadImplementationMismatch().format({name:e,index:r+1})+s.getString(),t.details.declaration.node.name);o&&n.details.declaration&&o.addRelatedInfo(ml.DiagnosticAddendum.overloadMethod(),i.path,i.range)}}));else{let e=!1;const t=Dr(i.node);if(t&&10===t.nodeType){const n=this._evaluator.getTypeOfClass(t);n&&Zs.isProtocolClass(n.classType)&&(e=!0)}e||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.overloadWithoutImplementation().format({name:i.node.name.value}),i.node.name)}}}}}_reportMultipleFinalDeclarations(e,t,n){if(!Wo(t))return;const i=t.getDeclarations();let r=!1,s=!1;if(i.forEach((t=>{rs(t)&&(r&&this._evaluator.addError(ml.Diagnostic.finalRedeclaration().format({name:e}),t.node),r=!0),1===t.type&&t.inferredTypeSource&&(s&&2!==n&&this._evaluator.addError(ml.Diagnostic.finalReassigned().format({name:e}),t.node),s=!0)})),!s&&!this._fileInfo.isStubFile){const n=i.find((e=>1===e.type&&e.isFinal));if(n){let i=!1;if(t.isClassMember()&&!t.isClassVar()){const e=Er(n.node,!0);if(e){const t=this._evaluator.getTypeOfClass(e);t&&yo(t.decoratedType)&&Zs.isDataClass(t.decoratedType)&&(i=!0)}}i||this._evaluator.addError(ml.Diagnostic.finalUnassigned().format({name:e}),n.node)}}}_reportMultipleTypeAliasDeclarations(e,t){const n=t.getDeclarations(),i=n.find((e=>ss(e)));i&&n.length>1&&n.forEach((t=>{t!==i&&this._evaluator.addError(ml.Diagnostic.typeAliasRedeclared().format({name:e}),t.node)}))}_reportIncompatibleDeclarations(e,t){const n=Vo(t);if(!n)return;if("_"===e)return;let i,r=t.getDeclarations().filter((e=>e!==n));if(3===n.type){const e=this._evaluator.getTypeOfFunction(n.node);r=r.filter((t=>{if(3!==t.type)return!0;const n=this._evaluator.getTypeOfFunction(t.node);if(!n)return!0;const i=e?this._evaluator.makeTopLevelTypeVarsConcrete(e.decoratedType):void 0;return i&&vo(i)&&Zs.isPropertyClass(i)&&vo(n.decoratedType)&&Zs.isPropertyClass(n.decoratedType)?n.decoratedType.details.typeSourceId!==i.details.typeSourceId:!Xs.isOverloaded(n.functionType)}))}if(0===r.length)return;i=3===n.type?n.isMethod?ml.DiagnosticAddendum.seeMethodDeclaration():ml.DiagnosticAddendum.seeFunctionDeclaration():4===n.type?ml.DiagnosticAddendum.seeClassDeclaration():2===n.type?ml.DiagnosticAddendum.seeParameterDeclaration():1===n.type?ml.DiagnosticAddendum.seeVariableDeclaration():ml.DiagnosticAddendum.seeDeclaration();const s=e=>{if(e){let t;3===n.type||4===n.type?t=n.node.name:1===n.type?38===n.node.nodeType&&(t=n.node):2===n.type&&n.node.name&&(t=n.node.name),t&&e.addRelatedInfo(i,n.path,n.range)}};for(const t of r)if(4===t.type)s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredClassDeclaration().format({name:e}),t.node.name));else if(3===t.type){const i=this._evaluator.getTypeForDeclaration(n);i&&Eo(i)&&this._evaluator.getFunctionInferredReturnType(i);let r=!1;const o=this._evaluator.getTypeForDeclaration(t),a=wr(n.node)===wr(t.node);o&&Eo(o)&&this._evaluator.getFunctionInferredReturnType(o),i&&o&&Ao(i,o)&&(r=!0),(!r||a)&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t.isMethod?ml.Diagnostic.obscuredMethodDeclaration().format({name:e}):ml.Diagnostic.obscuredFunctionDeclaration().format({name:e}),t.node.name))}else if(2===t.type)t.node.name&&s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredParameterDeclaration().format({name:e}),t.node.name));else if(1===t.type){const i=this._evaluator.getTypeForDeclaration(n);if(t.typeAnnotationNode){if(38===t.node.nodeType){let n=!1;const r=this._evaluator.getTypeForDeclaration(t);i&&r&&Ao(i,r)&&(n=!0),n||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}else!i||ua(i)||3!==n.type&&4!==n.type||s(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.obscuredVariableDeclaration().format({name:e}),t.node))}}_conditionallyReportUnusedSymbol(e,t,n){const i=this._fileInfo.accessedSymbolMap;t.isIgnoredForProtocolMatch()||i.has(t.id)||"_"!==e&&(Qt(e)||t.getDeclarations().forEach((t=>{this._conditionallyReportUnusedDeclaration(t,this._isSymbolPrivate(e,n))})))}_conditionallyReportUnusedDeclaration(e,t){let n,i,r,s;switch(e.type){case 6:if(n=this._fileInfo.diagnosticRuleSet.reportUnusedImport,s=$o.reportUnusedImport,21===e.node.nodeType)if(e.node.alias)this._fileInfo.isStubFile||(i=e.node.alias);else{const t=e.node.module.nameParts;if(t.length>0){const e=t.map((e=>e.value)).join("."),n={start:t[0].start,length:t[0].length};return dt.extend(n,t[t.length-1]),this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:e}),n,{action:"pyright.unusedImport"}),void this._evaluator.addDiagnosticForTextRange(this._fileInfo,this._fileInfo.diagnosticRuleSet.reportUnusedImport,$o.reportUnusedImport,ml.Diagnostic.unaccessedImport().format({name:e}),n)}}else if(23===e.node.nodeType){const t=e.node.parent,n=this._fileInfo.isStubFile&&void 0!==e.node.alias,r=1===t.module.nameParts.length&&"__future__"===t.module.nameParts[0].value;n||r||(i=e.node.alias||e.node.name)}i&&(r=ml.Diagnostic.unaccessedImport().format({name:i.value}));break;case 1:case 2:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedVariable,38===e.node.nodeType?(i=e.node,i.value.startsWith("_")&&(n="none")):41===e.node.nodeType&&(i=e.node.name,n="none"),i&&(s=$o.reportUnusedVariable,r=ml.Diagnostic.unaccessedVariable().format({name:i.value}));break;case 4:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedClass,i=e.node.name,s=$o.reportUnusedClass,r=ml.Diagnostic.unaccessedClass().format({name:i.value});break;case 3:if(!t)return;if(this._fileInfo.isStubFile)return;n=this._fileInfo.diagnosticRuleSet.reportUnusedFunction,i=e.node.name,s=$o.reportUnusedFunction,r=ml.Diagnostic.unaccessedFunction().format({name:i.value});break;default:return}if(i&&void 0!==s&&r){const e=s===$o.reportUnusedImport?{action:"pyright.unusedImport"}:void 0;this._fileInfo.diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unaccessedSymbol().format({name:i.value}),i,e),this._evaluator.addDiagnostic(n,s,r,i)}}_validateIsInstanceCall(e){if(38!==e.leftExpression.nodeType||"isinstance"!==e.leftExpression.value&&"issubclass"!==e.leftExpression.value||2!==e.arguments.length)return;const t=e.leftExpression.value,n="isinstance"===t;let i=this._evaluator.getType(e.arguments[0].valueExpression);if(!i)return;i=Ko(i,(e=>ta(e)));const r=this._evaluator.getType(e.arguments[1].valueExpression);if(!r)return;let s=!0;if(Jo(r,(e=>{vo(e)&&Zs.isTupleClass(e)&&e.tupleTypeArguments?e.tupleTypeArguments.some((e=>!this._isTypeSupportedTypeForIsInstance(e.type,n)))&&(s=!1):this._isTypeSupportedTypeForIsInstance(e,n)||(s=!1)})),!s){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarNotAllowed()),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n?ml.Diagnostic.isInstanceInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString():ml.Diagnostic.isSubclassInvalidType().format({type:this._evaluator.printType(r,!1)})+t.getString(),e.arguments[1])}let o=e;for(;o;){if(2===o.nodeType)return;o=o.parent}const a=["FunctionType","LambdaType","BuiltinFunctionType","BuiltinMethodType","type","Type"],l=[];let c=!1;if(Jo(r,(e=>{yo(e)?Ks.isInstantiable(e)?void 0===e.literalValue&&(l.push(e),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1),e.includeSubclasses&&(c=!0)):(pa(e)?e.tupleTypeArguments&&e.tupleTypeArguments.forEach((e=>{_o(e.type)?(l.push(e.type),e.type.includeSubclasses&&(c=!0)):s=!1})):e.includeSubclasses&&(c=!0),Zs.isBuiltIn(e)&&a.some((t=>t===e.details.name))&&(s=!1)):s=!1})),!s)return;if(l.some((e=>Zs.isProtocolClass(e)&&!Zs.isRuntimeCheckable(e)))&&this._evaluator.addError(ml.Diagnostic.protocolUsedInCall().format({name:t}),e.arguments[1].valueExpression),function(e){let t=!1;return Jo(e,(n=>{ho(e)?t=!0:_o(n)?Zs.hasUnknownBaseClass(n)&&(t=!0):vo(n)&&Zs.hasUnknownBaseClass(n)&&(t=!0)})),t}(i))return;const u=e=>Oo(e),p=e=>{const t=[];for(const i of l){const r=Zs.isDerivedFrom(e,i)||n&&Zs.isProtocolClass(i)&&this._evaluator.canAssignType(i,e)||Zs.isBuiltIn(i,"dict")&&Zs.isTypedDictClass(e),s=Zs.isDerivedFrom(i,e)||n&&Zs.isProtocolClass(e)&&this._evaluator.canAssignType(e,i);s&&s&&!Zs.isSameGenericClass(e,i)?t.push(Ys.create()):r?t.push(e):s&&t.push(i)}return n?t.map((e=>_o(e)?Zs.cloneAsInstance(e):e)):t};let d;if(n&&vo(i))d=u(p(Zs.cloneAsInstantiable(i)));else if(!n&&_o(i))d=u(p(i));else{if(!fo(i))return;{let e=[],t=!1;if(Jo(i,(i=>{ho(i)&&(t=!0),n&&vo(i)?e=e.concat(p(Zs.cloneAsInstantiable(i))):!n&&_o(i)&&(e=e.concat(p(i)))})),d=u(e),t)return}}const h=()=>Oo(l.map((e=>Zs.cloneAsInstance(e))));!c&&Ao(d,i,!0)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnnecessaryIsInstance,$o.reportUnnecessaryIsInstance,n?ml.Diagnostic.unnecessaryIsInstanceAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}):ml.Diagnostic.unnecessaryIsSubclassAlways().format({testType:this._evaluator.printType(i,!1),classType:this._evaluator.printType(h(),!1)}),e)}_isTypeSupportedTypeForIsInstance(e,t){let n=!0;return Jo(e,(e=>{switch((e=this._evaluator.makeTopLevelTypeVarsConcrete(e)).category){case 2:case 1:case 0:break;case 7:e.isTypeArgumentExplicit&&!e.includeSubclasses&&(n=!1);break;case 3:n=!!t&&Ks.isInstantiable(e);break;case 5:n=Ks.isInstantiable(e);break;case 9:n=this._isTypeSupportedTypeForIsInstance(e,t);break;default:n=!1}})),n}_isSymbolPrivate(e,t){return 1===t||0===t||(!!Kt(e)||!!Jt(e)&&!(2===t))}_reportDeprecatedUse(e){var t;const n=null!==(t=Su.get(e.value))&&void 0!==t?t:xu.get(e.value);if(!n)return;const i=this._evaluator.getType(e);i&&_o(i)&&i.details.fullName===n.fullName&&this._fileInfo.executionEnvironment.pythonVersion>=n.version&&this._evaluator.addDeprecated(ml.Diagnostic.deprecatedType().format({version:Pe(n.version),replacement:n.replacementText}),e)}_reportUnboundName(e){if("none"!==this._fileInfo.diagnosticRuleSet.reportUnboundVariable&&!zt(e)){const t=this._evaluator.getType(e);t&&(mo(t)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsUnbound().format({name:e.value}),e):go(t)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnboundVariable,$o.reportUnboundVariable,ml.Diagnostic.symbolIsPossiblyUnbound().format({name:e.value}),e))}}_conditionallyReportPrivateUsage(e){var t;if("none"===this._fileInfo.diagnosticRuleSet.reportPrivateUsage)return;if(this._fileInfo.isStubFile)return;if(1===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)&&e.parent.name===e)return;const n=e.value,i=Kt(n),r=Jt(n);if(!i&&!r)return;const s=this._evaluator.getDeclarationsForNameNode(e);let o,a=s&&s.length>0?s[s.length-1]:void 0;if(!a||a.node===e)return;if(6===a.type){if(a.usesLocalName)return;const e=this._evaluator.resolveAliasDeclarationWithInfo(a,!0);if(!e)return;if(a=e.declaration,!e.isPrivate)return}if(!a||a.node===e)return;a.node&&(o=Er(a.node)),a.node&&a.node.parent&&a.node.parent===o&&(o=Er(o));let l=!1;if(o&&r){const t=this._evaluator.getTypeOfClass(o);if(t&&_o(t.decoratedType)){if(Zs.isDefinedInStub(t.decoratedType))return;l=!0;const n=Er(e);if(n){const e=this._evaluator.getTypeOfClass(n);if(e&&_o(e.decoratedType)&&Da(e.decoratedType,t.decoratedType,!0))return}}}o&&!Mr(e,o)&&(l?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.protectedUsedOutsideOfClass().format({name:n}),e):this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfClass().format({name:n}),e))}_validateEnumClassOverride(e,t){t.details.baseClasses.forEach(((t,n)=>{if(yo(t)&&Zs.isEnumClass(t)){let i=!1;t.details.fields.forEach((e=>{const n=this._evaluator.getEffectiveTypeOfSymbol(e);vo(n)&&Zs.isSameGenericClass(n,t)&&(i=!0)})),i&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.enumClassOverride().format({name:t.details.name}),e.arguments[n])}}))}_validateTypedDictClassSuite(e){const t=e=>{this._evaluator.addError(ml.Diagnostic.typedDictBadVar(),e)};e.statements.forEach((e=>{if(!zt(e))if(47===e.nodeType)for(const n of e.statements)54!==n.nodeType&&18!==n.nodeType&&48!==n.nodeType&&42!==n.nodeType&&t(n);else t(e)}))}_validateStrictTypeGuardFunction(e,t,n){var i;if(!t.details.declaredReturnType)return;if(!vo(t.details.declaredReturnType)||!Zs.isBuiltIn(t.details.declaredReturnType,"StrictTypeGuard")||!t.details.declaredReturnType.typeArguments||t.details.declaredReturnType.typeArguments.length<1)return;const r=t.details.declaredReturnType.typeArguments[0],s=n&&!Xs.isStaticMethod(t)?1:0;if(s>=t.details.parameters.length)return;const o=Xs.getEffectiveParameterType(t,s);if(!this._evaluator.canAssignType(o,r)){const t=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation);t&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.strictTypeGuardReturnType().format({type:this._evaluator.printType(o),returnType:this._evaluator.printType(r)}),t)}}_validateDunderSignatures(e,t,n){var i;const r=t.details.name;if(n&&"__init__"===r){const n=e.returnTypeAnnotation||(null===(i=e.functionAnnotationComment)||void 0===i?void 0:i.returnTypeAnnotation),r=t.details.declaredReturnType;if(n&&r)lo(r)||ao(r)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),n);else{const n=this._evaluator.getFunctionInferredReturnType(t);ao(n)||lo(n)||ho(n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.initMustReturnNone(),e.name)}}}_validateFunctionReturn(e,t){var n;if(this._fileInfo.isStubFile)return;const i=e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation);if(i){const n=!this._evaluator.isAfterNodeReachable(e),r=this._evaluator.isAfterNodeReachable(e.suite);let s=t.details.declaredReturnType;if(s){po(s)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypeUnknown(),i):La(s)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,ml.Diagnostic.declaredReturnTypePartiallyUnknown().format({returnType:this._evaluator.printType(s,!0)}),i);const e=new il;bo(s)&&2===s.details.variance&&(e.addMessage(ml.DiagnosticAddendum.typeVarIsContravariant().format({name:oo.getReadableName(s)})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnTypeContravariant()+e.getString(),i))}if(Xs.isGenerator(t)&&(s=Pa(t)),s&&!n&&r)if(ao(s))Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnReturnsNone(),i);else if(!Xs.isAbstractMethod(t)){const n=new il;this._evaluator.canAssignType(s,to.createInstance(),n)||Or(e.suite)||Xs.isOverloaded(t)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.returnMissing().format({returnType:this._evaluator.printType(s,!1)})+n.getString(),i)}}else{const n=this._evaluator.getFunctionInferredReturnType(t);po(n)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypeUnknown(),e.name):La(n)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUnknownParameterType,$o.reportUnknownParameterType,ml.Diagnostic.returnTypePartiallyUnknown().format({returnType:this._evaluator.printType(n,!0)}),e.name)}}_validateFinalMemberOverrides(e){e.details.fields.forEach(((t,n)=>{const i=va(e,n,1);if(i&&_o(i.classType)&&Wo(i.symbol)&&!Kt(n)){const e=t.getDeclarations()[0];this._evaluator.addError(ml.Diagnostic.finalRedeclarationBySubclass().format({name:n,className:i.classType.details.name}),e.node)}}))}_reportDuplicateEnumMembers(e){Zs.isEnumClass(e)&&!Zs.isBuiltIn(e)&&e.details.fields.forEach(((t,n)=>{if(t.getTypedDeclarations().length>0)return;const i=t.getDeclarations();if(i.length>=2&&1===i[0].type){const r=this._evaluator.getEffectiveTypeOfSymbol(t);vo(r)&&Zs.isSameGenericClass(r,e)&&void 0!==r.literalValue&&this._evaluator.addError(ml.Diagnostic.duplicateEnumMember().format({name:n}),i[1].node)}}))}_validateProtocolCompatibility(e,t){if(Zs.isProtocolClass(e))return;const n=new il,i=t=>e.details.mro.some((e=>yo(e)&&!Zs.isProtocolClass(e)&&e.details.fields.has(t)));e.details.baseClasses.forEach((e=>{yo(e)&&Zs.isProtocolClass(e)&&ga(e).forEach(((e,t)=>{const r=e.symbol.getDeclarations();0!==r.length&&yo(e.classType)&&(1===r[0].type?r.some((e=>1===e.type&&!!e.inferredTypeSource))||i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name})):3===r[0].type&&Or(r[0].node.suite)&&r[0]&&".pyi"!==pe(r[0].path).toLowerCase()&&(i(t)||n.addMessage(ml.DiagnosticAddendum.missingProtocolMember().format({name:t,classType:e.classType.details.name}))))}))})),n.isEmpty()||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.missingProtocolMembers()+n.getString(),t.name)}_validateDataClassPostInit(e,t){if(!Zs.isDataClass(e))return;const n=va(e,"__post_init__",18);if(!n)return;const i=new Map;e.details.fields.forEach(((e,t)=>{e.isInitVar()&&i.set(t,e)}));const r=this._evaluator.getTypeOfMember(n);if(!Eo(r)||!Xs.isInstanceMethod(r)||!r.details.declaration)return;const s=Ho(r);if(void 0!==s.argsIndex||void 0!==s.kwargsIndex||void 0!==s.firstKeywordOnlyIndex)return;const o=s.params.filter((e=>!e.param.hasDefault)),a=i.size+1;(as.params.length)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitParamCount().format({expected:i.size}),r.details.declaration.node.name);let l=1;i.forEach(((e,t)=>{if(l>=s.params.length)return;const n=s.params[l].param;if(n.hasDeclaredType&&n.typeAnnotation){const i=this._evaluator.getDeclaredTypeOfSymbol(e),o=Xs.getEffectiveParameterType(r,s.params[l].index),a=new il;if(i&&!this._evaluator.canAssignType(o,i,a)){const i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassPostInitType().format({fieldName:t})+a.getString(),n.typeAnnotation);if(i){const t=e.getTypedDeclarations();t.length>0&&i.addRelatedInfo(ml.DiagnosticAddendum.dataClassFieldLocation(),t[0].path,t[0].range)}}}l++}))}_validateFinalClassNotAbstract(e,t){if(!Zs.isFinal(e))return;if(!Zs.supportsAbstractMethods(e))return;const n=this._evaluator.getAbstractMethods(e);if(0===n.length)return;const i=new il;n.forEach(((e,t)=>{if(2===t)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:n.length-2}));else if(t<2&&_o(e.classType)){const t=e.classType.details.name;i.addMessage(ml.DiagnosticAddendum.memberIsAbstract().format({type:t,name:e.symbolName}))}})),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalClassIsAbstract().format({type:e.details.name})+i.getString(),t.name)}_validateInstanceVariableInitialization(e){"none"!==this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable&&e.details.fields.forEach(((t,n)=>{if(!t.isInstanceMember())return;const i=t.getDeclarations();i.find((e=>{const t=Dr(e.node);return!t||10===t.nodeType||"__init__"===t.name.value}))||va(e,n,1)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportUninitializedInstanceVariable,$o.reportUninitializedInstanceVariable,ml.Diagnostic.uninitializedInstanceVariable().format({name:n}),i[0].node)}))}_validateProtocolTypeParamVariance(e,t){const n=t.details.typeParameters.filter((e=>!wo(e)));if(0===n.length)return;const i=this._evaluator.getBuiltInType(e,"object");if(!_o(i))return;const r=n.map((e=>Io(e)?e:oo.cloneAsInvariant(e))),s=Zs.cloneWithNewTypeParameters(t,r),o=Zs.cloneAsInstance(i),a=Zs.createInstantiable("__protocolVarianceDummy","","","",0,0,void 0,void 0);r.forEach(((i,l)=>{if(i.details.isVariadic)return;const c=r.map(((e,t)=>e.details.isVariadic?e:t===l?o:a)),u=r.map(((e,t)=>t===l||e.details.isVariadic?e:a)),p=Zs.cloneForSpecialization(s,c,!0),d=Zs.cloneForSpecialization(s,u,!0);let h;if(h=this._evaluator.canAssignProtocolClassToSelf(p,d)?1:this._evaluator.canAssignProtocolClassToSelf(d,p)?2:0,h!==n[l].details.variance){let n;n=1===h?ml.Diagnostic.protocolVarianceCovariant().format({variable:i.details.name,class:t.details.name}):2===h?ml.Diagnostic.protocolVarianceContravariant().format({variable:i.details.name,class:t.details.name}):ml.Diagnostic.protocolVarianceInvariant().format({variable:i.details.name,class:t.details.name}),this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInvalidTypeVarUse,$o.reportInvalidTypeVarUse,n,e.name)}}))}_validateSlotsClassVarConflict(e){e.details.localSlotsNames&&e.details.fields.forEach(((e,t)=>{const n=e.getDeclarations();n.some((e=>1===e.type&&e.isDefinedBySlots))&&n.forEach((e=>{1!==e.type||e.isDefinedBySlots||e.isDefinedByMemberAccess||38===e.node.nodeType&&$r(e.node)&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsClassVarConflict().format({name:t}),e.node)}))}))}_validateConstructorConsistency(e){const t=va(e,"__init__",12),n=va(e,"__new__",12);if(!(t&&n&&yo(t.classType)&&yo(n.classType)))return;if(!Zs.isSameGenericClass(n.classType,e)&&!Zs.isSameGenericClass(t.classType,e))return;const i=n.classType.details.effectiveMetaclass;if(i&&yo(i)&&!Zs.isBuiltIn(i,"type")&&va(i,"__call__",40))return;let r=this._evaluator.getTypeOfMember(n);if(!Eo(r)&&!ko(r))return;if(r=this._evaluator.bindFunctionToClassOrObject(e,r,void 0,void 0,void 0,!0),!r)return;if(ko(r)&&(r=r.overloads.find((e=>!Xs.isOverloaded(e))),!r))return;let s=this._evaluator.getTypeOfMember(t);if((Eo(s)||ko(s))&&(s=this._evaluator.bindFunctionToClassOrObject(Zs.cloneAsInstance(e),s),s&&(!ko(s)||(s=s.overloads.find((e=>!Xs.isOverloaded(e))),s))&&Eo(s)&&Eo(r)&&!(Xs.hasDefaultParameters(s)||Xs.hasDefaultParameters(r)||(s=Xs.cloneWithNewFlags(s,98304|s.details.flags),r=Xs.cloneWithNewFlags(r,98304|s.details.flags),this._evaluator.canAssignType(r,s,void 0,void 0,32)&&this._evaluator.canAssignType(s,r,void 0,void 0,32))))){const i=Zs.isSameGenericClass(t.classType,e),o=Vo(t.symbol),a=Vo(n.symbol);if(o&&a){const e=i?o:a,l=28===e.node.nodeType?e.node.name:e.node,c=new il,u=this._evaluator.printType(s),p=this._evaluator.printType(r);c.addMessage(ml.DiagnosticAddendum.initMethodSignature().format({type:u})),c.addMessage(ml.DiagnosticAddendum.newMethodSignature().format({type:p}));const d=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportInconsistentConstructor,$o.reportInconsistentConstructor,ml.Diagnostic.constructorParametersMismatch().format({classType:this._evaluator.printType(Zs.cloneAsInstance(i?t.classType:n.classType))})+c.getString(),l);if(d){const e=i?a:o;d.addRelatedInfo((i?ml.DiagnosticAddendum.newMethodLocation():ml.DiagnosticAddendum.initMethodLocation()).format({type:this._evaluator.printType(Zs.cloneAsInstance(i?n.classType:t.classType))}),e.path,e.range)}}}}_validateMultipleInheritanceCompatibility(e,t){if("none"===this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride)return;const n=[];if(e.details.baseClasses.forEach((e=>{!yo(e)||Zs.isBuiltIn(e,"Generic")||Zs.isBuiltIn(e,"Protocol")||n.push(e)})),n.length<2)return;const i=n.map((t=>{const n=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,t)));return n&&yo(n)?function(e){const t=new Map;for(let n=e.details.mro.length-1;n>=0;n--){const i=ha(e.details.mro[n],e);yo(i)?i.details.fields.forEach(((e,n)=>{!e.isIgnoredForProtocolMatch()&&e.hasTypedDeclarations()&&t.set(n,{classType:i,symbol:e,isInstanceMember:e.isInstanceMember(),isClassVar:e.isClassVar(),isTypeDeclared:!0,skippedUndeclaredType:!1})})):t.clear()}return t}(n):new Map}));for(let r=1;r{var i;if(Kt(n))return;if(!t.hasTypedDeclarations())return;const r=this._evaluator.getEffectiveTypeOfSymbol(t);if(!ho(r))for(const s of e.details.baseClasses){if(!yo(s))continue;const o=e.details.mro.find((e=>yo(e)&&Zs.isSameGenericClass(e,s)));if(!o)continue;const a=va(o,n,0);if(!a||!_o(a.classType))continue;if(!a.symbol.hasTypedDeclarations())continue;const l=ha(this._evaluator.getEffectiveTypeOfSymbol(a.symbol),a.classType);if(Eo(l)||ko(l)){const e=new il;let s;if(Eo(r)?s=r:ko(r)&&(s=r.overloads[r.overloads.length-1]),s){const r=["__init__","__new__","__init_subclass__"],o=!Qt(n);if(!r.some((e=>e===n))&&!Kt(n)&&!this._evaluator.canOverrideMethod(l,s,e,o)){const r=null!==(i=s.details.declaration)&&void 0!==i?i:Vo(t);if(r){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.incompatibleMethodOverride().format({name:n,className:a.classType.details.name})+e.getString(),3===r.type?r.node.name:r.node),i=Vo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),i.path,i.range)}}if(Eo(l)&&!Kt(n)&&Xs.isFinal(l)){const e=Vo(t);if(e&&3===e.type){const t=this._evaluator.addError(ml.Diagnostic.finalMethodOverride().format({name:n,className:a.classType.details.name}),e.node.name),i=Vo(a.symbol);t&&i&&t.addRelatedInfo(ml.DiagnosticAddendum.finalMethod(),i.path,i.range)}}}else if(!ho(r)&&!Zs.isBuiltIn(a.classType,"_TypedDict")){const e=t.getDeclarations();if(e.length>0){const t=e[e.length-1],i=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.methodOverridden().format({name:n,className:a.classType.details.name,type:this._evaluator.printType(r,!1)}),t.node),s=Vo(a.symbol);i&&s&&i.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),s.path,s.range)}}}else if(ua(l))if(ua(r)){const i=l.details.fields,s=r.details.fields,o=a.classType;["fget","fset","fdel"].forEach((r=>{const a=new il,l=i.get(r),c=s.get(r);if(l){const i=ha(this._evaluator.getEffectiveTypeOfSymbol(l),o);if(Eo(i))if(c){const t=ha(this._evaluator.getEffectiveTypeOfSymbol(c),e);if(Eo(t)&&!this._evaluator.canOverrideMethod(i,t,a.createAddendum())){a.addMessage(ml.DiagnosticAddendum.propertyMethodIncompatible().format({name:r}));const e=t.details.declaration;if(e&&3===e.type){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e.node.name),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}else{a.addMessage(ml.DiagnosticAddendum.propertyMethodMissing().format({name:r}));const e=t.getDeclarations();if(e.length>0){const t=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:o.details.name})+a.getString(),e[e.length-1].node),r=i.details.declaration;t&&r&&t.addRelatedInfo(ml.DiagnosticAddendum.overriddenMethod(),r.path,r.range)}}}}))}else{const e=t.getDeclarations();e.length>0&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleMethodOverride,$o.reportIncompatibleMethodOverride,ml.Diagnostic.propertyOverridden().format({name:n,className:a.classType.details.name}),e[e.length-1].node)}else if("none"!==this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride){const e=t.getDeclarations();if(e.length>0){const i=e[e.length-1],s=new il;if(!this._evaluator.canAssignType(l,r,s)){const e=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,ml.Diagnostic.symbolOverridden().format({name:n,className:a.classType.details.name})+s.getString(),i.node),t=Vo(a.symbol);e&&t&&e.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),t.path,t.range)}const o=a.symbol.isClassVar();let c=t.isClassVar();if(o&&!c&&(t.hasTypedDeclarations()||(c=!0),t.getTypedDeclarations().every((e=>4===e.type))&&(c=!0)),o!==c){const e=t.isClassVar()?ml.Diagnostic.classVarOverridesInstanceVar():ml.Diagnostic.instanceVarOverridesClassVar(),r=this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportIncompatibleVariableOverride,$o.reportIncompatibleVariableOverride,e.format({name:n,className:a.classType.details.name}),i.node),s=Vo(a.symbol);r&&s&&r.addRelatedInfo(ml.DiagnosticAddendum.overriddenSymbol(),s.path,s.range)}}}}}))}_validateMethod(e,t,n){const i=this._evaluator.getTypeOfClass(n),r=null==i?void 0:i.classType;if(e.name&&r&&["__init__","__init_subclass__","__enter__","__exit__"].some((t=>t===e.name.value))&&(Xs.isAbstractMethod(t)||Xs.isOverloaded(t)||this._fileInfo.isStubFile||this._validateSuperCallForMethod(e,t,r)),e.name&&"__new__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&["cls","_cls","__cls","__mcls"].some((t=>e.parameters[0].name.value===t))||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.newClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__init_subclass__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.initSubclassClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(e.name&&"__class_getitem__"===e.name.value)0!==e.parameters.length&&e.parameters[0].name&&"cls"===e.parameters[0].name.value||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classGetItemClsParam(),e.parameters.length>0?e.parameters[0]:e.name),r&&this._validateClsSelfParameterType(t,r,!0);else if(Xs.isStaticMethod(t)){if(e.parameters.length>0&&e.parameters[0].name){const t=e.parameters[0].name.value;"self"!==t&&"cls"!==t||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.staticClsSelfParam(),e.parameters[0].name)}}else if(Xs.isClassMethod(t)){let n="";e.parameters.length>0&&e.parameters[0].name&&(n=e.parameters[0].name.value),"cls"!==n&&(this._fileInfo.isStubFile&&(n.startsWith("_")||"metacls"===n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.classMethodClsParam(),e.parameters.length>0?e.parameters[0]:e.name)),r&&this._validateClsSelfParameterType(t,r,!0)}else{if(0===e.decorators.length){let t="",i=!0;if(e.parameters.length>0&&(e.parameters[0].name&&(t=e.parameters[0].name.value),0!==e.parameters[0].category&&(i=!1)),i&&"self"!==t){let i=!1;if("cls"===t){const e=this._evaluator.getTypeOfClass(n),t=this._evaluator.getBuiltInType(n,"type");t&&_o(t)&&e&&_o(e.classType)&&Da(e.classType,t,!0)&&(i=!0)}const r=Yt(t);i||r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportSelfClsParameterName,$o.reportSelfClsParameterName,ml.Diagnostic.instanceMethodSelfParam(),e.parameters.length>0?e.parameters[0]:e.name)}}r&&this._validateClsSelfParameterType(t,r,!1)}}_validateSuperCallForMethod(e,t,n){if("none"===this._fileInfo.diagnosticRuleSet.reportMissingSuperCall)return;let i=9;if(Zs.isFinal(n)&&(i|=4),!va(n,t.details.name,i))return;let r=!1;new Wr((e=>{if(35===e.leftExpression.nodeType&&e.leftExpression.memberName.value===t.details.name){const t=e.leftExpression.leftExpression;if(9===t.nodeType&&38===t.leftExpression.nodeType&&"super"===t.leftExpression.value)r=!0;else{const e=this._evaluator.getType(t);e&&_o(e)&&(r=!0)}}})).walk(e.suite),r||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportMissingSuperCall,$o.reportMissingSuperCall,ml.Diagnostic.missingSuperCall().format({methodName:t.details.name}),e.name)}_validateClsSelfParameterType(e,t,n){if(e.details.parameters.length<1)return;const i=e.details.parameters[0];if(!i.typeAnnotation||!i.name)return;if(Zs.isProtocolClass(t))return;const r=this._evaluator.makeTopLevelTypeVarsConcrete(i.type),s=n?t:Fa(t);_o(r)&&Zs.isProtocolClass(r)||vo(r)&&Zs.isProtocolClass(r)||Xs.isOverloaded(e)||this._evaluator.canAssignType(r,s)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.clsSelfParamTypeMismatch().format({name:i.name,classType:this._evaluator.printType(s,!1)}),i.typeAnnotation)}_validateYieldType(e,t){let n,i;const r=kr(e);if(r){const e=this._evaluator.getTypeOfFunction(r);e&&(w(Eo(e.functionType)),n=Xs.getSpecializedReturnType(e.functionType),n&&(i=function(e,t){let n=!0;const i=Ko(e,(e=>ho(e)?e:vo(e)&&[["AsyncIterable","Iterable"],["AsyncIterator","Iterator"],["AsyncGenerator","Generator"],["","AwaitableGenerator"]].some((n=>Zs.isBuiltIn(e,t?n[0]:n[1])))?e.typeArguments&&e.typeArguments.length>=1?e.typeArguments[0]:Ys.create():void(n=!1)));return n?i:void 0}(n,!!r.isAsync)),n&&!i&&r.returnTypeAnnotation&&this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r.isAsync?ml.Diagnostic.generatorAsyncReturnType():ml.Diagnostic.generatorSyncReturnType(),r.returnTypeAnnotation))}if(this._evaluator.isNodeReachable(e,void 0))if(n&&ao(n))this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noReturnContainsYield(),e);else if(i){const n=new il;this._evaluator.canAssignType(i,t,n)||this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.yieldTypeMismatch().format({exprType:this._evaluator.printType(t,!1),yieldType:this._evaluator.printType(i,!1)})+n.getString(),e.expression||e)}}_reportUnusedExceptStatements(e){let t=!1;const n=[];e.exceptClauses.forEach((e=>{if(t||e.isExceptGroup||!e.typeExpression)return;const i=this._evaluator.getType(e.typeExpression);if(!i||ho(i))return void(t=!0);const r=[];if(_o(i)?(i.includeSubclasses&&(t=!0),r.push(i)):vo(i)&&Jo(this._evaluator.getTypeFromIterator(i,!1,void 0)||Ys.create(),(e=>{ho(e)&&(t=!0),_o(e)&&(e.includeSubclasses&&(t=!0),r.push(e))})),n.length>0){const t=new il;let i=0;r.forEach((e=>{const r=n.find((t=>Da(e,t,!0)));r&&(t.addMessage(ml.DiagnosticAddendum.unreachableExcept().format({exceptionType:this._evaluator.printType(Fa(e)),parentType:this._evaluator.printType(Fa(r))})),i++)})),r.length===i&&(this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unreachableExcept()+t.getString(),e.typeExpression),this._evaluator.addUnusedCode(e,e.exceptSuite))}n.push(...r)}))}_reportDuplicateImports(){const e=tn(this._moduleNode),t=new Map;e.orderedImports.forEach((e=>{if(22===e.node.nodeType){const t=new Map;e.node.imports.forEach((e=>{e.alias||(t.get(e.name.value)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.name.value}),e.name):t.set(e.name.value,e))}))}else e.subnode&&!e.subnode.alias&&(t.get(e.moduleName)?this._evaluator.addDiagnostic(this._fileInfo.diagnosticRuleSet.reportDuplicateImport,$o.reportDuplicateImport,ml.Diagnostic.duplicateImport().format({importName:e.moduleName}),e.subnode):t.set(e.moduleName,e.subnode))}))}}function wu(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!1,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!0,strictSetInference:!0,strictDictionaryInference:!0,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"error",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"error",reportImportCycles:"error",reportUnusedImport:"error",reportUnusedClass:"error",reportUnusedFunction:"error",reportUnusedVariable:"error",reportDuplicateImport:"error",reportWildcardImportFromLibrary:"error",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"error",reportUntypedClassDecorator:"error",reportUntypedBaseClass:"error",reportUntypedNamedTuple:"error",reportPrivateUsage:"error",reportPrivateImportUsage:"error",reportConstantRedefinition:"error",reportIncompatibleMethodOverride:"error",reportIncompatibleVariableOverride:"error",reportInconsistentConstructor:"error",reportOverlappingOverload:"error",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"error",reportUnknownParameterType:"error",reportUnknownArgumentType:"error",reportUnknownLambdaType:"error",reportUnknownVariableType:"error",reportUnknownMemberType:"error",reportMissingParameterType:"error",reportMissingTypeArgument:"error",reportInvalidTypeVarUse:"error",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"error",reportUnnecessaryCast:"error",reportUnnecessaryComparison:"error",reportAssertAlwaysTrue:"error",reportSelfClsParameterName:"error",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"error",reportIncompleteStub:"error",reportUnsupportedDunderAll:"error",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"error"},[$o.reportMissingModuleSource])}function Eu(e,t,n){const i=Cc(),r=wc();for(const r of i)n.find((e=>e===r))||t[r]&&(e[r]=!0);for(const i of r){if(n.find((e=>e===i)))continue;const r=t[i],s=e[i];("error"===r||"warning"===r&&"error"!==s||"information"===r&&"error"!==s&&"warning"!==s)&&(e[i]=r)}}function ku(e,t){const n=["pyright:","mspython:"].find((t=>e.startsWith(t)));if(n){const i=e.substr(n.length).trim().split(",").map((e=>e.trim()));i.some((e=>"strict"===e))?wu(t):i.some((e=>"basic"===e))&&function(e){Eu(e,{printUnknownAsAny:!1,omitTypeArgsIfAny:!1,omitUnannotatedParamType:!0,omitConditionalConstraint:!1,pep604Printing:!0,strictListInference:!1,strictSetInference:!1,strictDictionaryInference:!1,strictParameterNoneValue:!0,enableTypeIgnoreComments:!0,reportGeneralTypeIssues:"error",reportPropertyTypeMismatch:"none",reportFunctionMemberAccess:"none",reportMissingImports:"error",reportMissingModuleSource:"warning",reportMissingTypeStubs:"none",reportImportCycles:"none",reportUnusedImport:"none",reportUnusedClass:"none",reportUnusedFunction:"none",reportUnusedVariable:"none",reportDuplicateImport:"none",reportWildcardImportFromLibrary:"warning",reportOptionalSubscript:"error",reportOptionalMemberAccess:"error",reportOptionalCall:"error",reportOptionalIterable:"error",reportOptionalContextManager:"error",reportOptionalOperand:"error",reportTypedDictNotRequiredAccess:"error",reportUntypedFunctionDecorator:"none",reportUntypedClassDecorator:"none",reportUntypedBaseClass:"none",reportUntypedNamedTuple:"none",reportPrivateUsage:"none",reportPrivateImportUsage:"error",reportConstantRedefinition:"none",reportIncompatibleMethodOverride:"none",reportIncompatibleVariableOverride:"none",reportInconsistentConstructor:"none",reportOverlappingOverload:"none",reportMissingSuperCall:"none",reportUninitializedInstanceVariable:"none",reportInvalidStringEscapeSequence:"warning",reportUnknownParameterType:"none",reportUnknownArgumentType:"none",reportUnknownLambdaType:"none",reportUnknownVariableType:"none",reportUnknownMemberType:"none",reportMissingParameterType:"none",reportMissingTypeArgument:"none",reportInvalidTypeVarUse:"warning",reportCallInDefaultInitializer:"none",reportUnnecessaryIsInstance:"none",reportUnnecessaryCast:"none",reportUnnecessaryComparison:"none",reportAssertAlwaysTrue:"warning",reportSelfClsParameterName:"warning",reportImplicitStringConcatenation:"none",reportUnboundVariable:"error",reportUndefinedVariable:"error",reportInvalidStubStatement:"none",reportIncompleteStub:"none",reportUnsupportedDunderAll:"warning",reportUnusedCallResult:"none",reportUnusedCoroutine:"error",reportUnnecessaryTypeIgnoreComment:"none",reportMatchNotExhaustive:"none"},[])}(t);for(const e of i)t=Du(e,t)}return t}function Du(e,t){const n=e.split("=").map((e=>e.trim()));if(2!==n.length)return t;const i=n[0],r=Cc();if(wc().find((e=>e===i))){const e=function(e){switch(e){case"false":case"none":return"none";case"true":case"error":return"error";case"warning":return"warning";case"information":return"information";default:return}}(n[1]);void 0!==e&&(t[i]=e)}else if(r.find((e=>e===i))){const e="false"!==(s=n[1])&&("true"===s||void 0);void 0!==e&&(t[i]=e)}var s;return t}class Au extends _r{constructor(e){super(),this._parseTree=e}clean(){this.walk(this._parseTree)}visitNode(e){return function(e){const t=e;delete t.scope,delete t.declaration,delete t.flowNode,delete t.afterFlowNode,delete t.fileInfo,delete t.codeFlowExpressions,delete t.codeFlowComplexity,delete t.dunderAllInfo}(e),super.visitNode(e)}}class Pu extends _r{constructor(){super()}visitNode(e){const t=super.visitNode(e);return this._verifyParentChildLinks(e,t),this._verifyChildRanges(e,t),t}_verifyParentChildLinks(e,t){t.forEach((t=>{t&&t.parent!==e&&E(`Child node ${t.nodeType} does not contain a reference to its parent ${e.nodeType}`)}))}_verifyChildRanges(e,t){let n;t.forEach((t=>{if(t){let i=!1;3===e.nodeType&&t===e.typeAnnotationComment&&(i=!0),48===e.nodeType&&t===e.typeAnnotation&&(i=!0),i||((t.startdt.getEnd(e))&&E(`Child node ${t.nodeType} is not contained within its parent ${e.nodeType}`),n&&t.start0&&(i=i.filter((e=>{if(3!==e.category&&4!==e.category)for(let t=e.range.start.line;t<=e.range.end.line;t++)if(this._typeIgnoreLines.has(t))return s.delete(t),!1;return!0})));const o=[];if("none"!==this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment){const e=tl(this._diagnosticRuleSet.reportUnnecessaryTypeIgnoreComment);0===r.filter((e=>0===e.category||1===e.category||2===e.category)).length&&void 0!==this._typeIgnoreAll&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(this._typeIgnoreAll.start,this._typeIgnoreAll.start+this._typeIgnoreAll.length,this._parseResults.tokenizerOutput.lines))),s.forEach((t=>{var n;(null===(n=this._parseResults)||void 0===n?void 0:n.tokenizerOutput.lines)&&o.push(new nl(e,ml.Diagnostic.unnecessaryTypeIgnore(),St(t.start,t.start+t.length,this._parseResults.tokenizerOutput.lines)))}))}if("none"!==this._diagnosticRuleSet.reportImportCycles&&this._circularDependencies.length>0){const e=tl(this._diagnosticRuleSet.reportImportCycles);this._circularDependencies.forEach((t=>{i.push(new nl(e,ml.Diagnostic.importCycleDetected()+"\n"+t.getPaths().map((e=>" "+e)).join("\n"),{start:{line:0,character:0},end:{line:0,character:0}}))}))}return void 0!==this._hitMaxImportDepth&&i.push(new nl(0,ml.Diagnostic.importDepthExceeded().format({depth:this._hitMaxImportDepth}),{start:{line:0,character:0},end:{line:0,character:0}})),e.ignore.find((e=>e.regExp.test(this._filePath)))&&(i=[]),this._diagnosticRuleSet.enableTypeIgnoreComments&&void 0!==this._typeIgnoreAll&&(i=i.filter((e=>0!==e.category&&1!==e.category&&2!==e.category))),i.push(...o),n||(i=i.filter((e=>3===e.category||4===e.category))),i}getImports(){return this._imports||[]}getBuiltinsImport(){return this._builtinsImport}getIPythonDisplayImport(){return this._ipythonDisplayImport}getModuleSymbolTable(){return this._moduleSymbolTable}didContentsChangeOnDisk(){if(this._clientDocument)return!1;if(void 0===this._lastFileContentLength)return!1;try{const e=this.fileSystem.readFileSync(this._filePath,"utf8");if(e.length!==this._lastFileContentLength)return!0;if(M(e)!==this._lastFileContentHash)return!0}catch(e){return!0}return!1}dropParseAndBindInfo(){this._parseResults=void 0,this._moduleSymbolTable=void 0,this._isBindingNeeded=!0}markDirty(e=!0){this._fileContentsVersion++,this._isCheckingNeeded=!0,this._isBindingNeeded=!0,this._indexingNeeded=e,this._moduleSymbolTable=void 0,this._cachedIndexResults=void 0}markReanalysisRequired(e){this._isCheckingNeeded=!0,this._parseResults&&(this._parseResults.containsWildcardImport||void 0!==Wt(this._parseResults.parseTree)||e)&&(this._parseTreeNeedsCleaning=!0,this._isBindingNeeded=!0,this._moduleSymbolTable=void 0)}getClientVersion(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.version}getOpenFileContents(){var e;return null===(e=this._clientDocument)||void 0===e?void 0:e.getText()}getFileContent(){const e=this.getOpenFileContents();if(e)return e;try{const e=this.fileSystem.statSync(this._filePath);if(e.size>52428800)throw this._console.error(`File length of "${this._filePath}" is ${e.size} which exceeds the maximum supported file size of 52428800`),new Error("File larger than max");return this.fileSystem.readFileSync(this._filePath,"utf8")}catch(e){return}}setClientVersion(e,t){if(null===e)this._clientDocument=void 0;else{this._clientDocument||(this._clientDocument=ic.create(this._filePath,"python",e,"")),this._clientDocument=ic.update(this._clientDocument,t,e);const n=this._clientDocument.getText(),i=M(n);n.length===this._lastFileContentLength&&i===this._lastFileContentHash||this.markDirty(),this._lastFileContentLength=n.length,this._lastFileContentHash=i,this._isFileDeleted=!1}}prepareForClose(){}isFileDeleted(){return this._isFileDeleted}isParseRequired(){return!this._parseResults||this._analyzedFileContentsVersion!==this._fileContentsVersion}isBindingRequired(){return!this._isBindingInProgress&&(!!this.isParseRequired()||this._isBindingNeeded)}isIndexingRequired(){return this._indexingNeeded}isCheckingRequired(){return this._isCheckingNeeded}getParseResults(){if(!this.isParseRequired())return this._parseResults}getCachedIndexResults(){return this._cachedIndexResults}cacheIndexResults(e){this._cachedIndexResults=e}addCircularDependency(e){let t=!1;this._circularDependencies.length<4&&(this._circularDependencies.some((t=>t.isEqual(e)))||(this._circularDependencies.push(e),t=!0)),t&&this._diagnosticVersion++}setHitMaxImportDepth(e){this._hitMaxImportDepth=e}parse(e,t,n){return this._logTracker.log(`parsing: ${this._getPathForLogging(this._filePath)}`,(i=>{var r;if(!this.isParseRequired())return i.suppress(),!1;const s=new kc;let o=this.getOpenFileContents();if(void 0===o)try{const e=Fn.readFileTime.totalTime;Fn.readFileTime.timeOperation((()=>{if(o=null!=n?n:this.getFileContent(),void 0===o)throw new Error("Can't get file content");this._lastFileContentLength=o.length,this._lastFileContentHash=M(o)})),i.add(`fs read ${Fn.readFileTime.totalTime-e}ms`)}catch(e){s.addError("Source file could not be read",{start:{line:0,character:0},end:{line:0,character:0}}),o="",this.fileSystem.existsSync(this._filePath)||(this._isFileDeleted=!0)}const a=e.findExecEnvironment(this._filePath),l=new Jc;l.ipythonMode=this._ipythonMode,this._filePath.endsWith("pyi")&&(l.isStubFile=!0),l.pythonVersion=a.pythonVersion,l.skipFunctionAndClassBody=null!==(r=e.indexGenerationMode)&&void 0!==r&&r;try{const n=(new Qc).parseSourceFile(o,l,s);w(void 0!==n&&void 0!==n.tokenizerOutput),this._parseResults=n,this._typeIgnoreLines=this._parseResults.tokenizerOutput.typeIgnoreLines,this._typeIgnoreAll=this._parseResults.tokenizerOutput.typeIgnoreAll,Fn.resolveImportsTime.timeOperation((()=>{const e=this._resolveImports(t,n.importedModules,a);this._imports=e.imports,this._builtinsImport=e.builtinsImportResult,this._ipythonDisplayImport=e.ipythonDisplayImportResult,this._parseDiagnostics=s.fetchAndClear()}));const i=void 0!==e.strict.find((e=>e.regExp.test(this._filePath)));this._diagnosticRuleSet=function(e,t,n){let i=(r=t,Object.assign({},r));var r;n&&wu(i);for(let t=0;t{if(!this._parseResults||!this.isIndexingRequired())return void n.suppress();this._indexingNeeded=!1;const i=Fc.indexSymbols(Vt(this._parseResults.parseTree),this._parseResults,e,t);return n.add(`found ${i.length}`),{privateOrProtected:Yt(he(de(this._filePath))),symbols:i}}))}getDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getTypeDefinitionsForPosition(e,t,n,i,r){if(this._parseResults)return Pc.getTypeDefinitionsForPosition(e,this._parseResults,t,n,i,r)}getDeclarationForNode(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForNode(e,this._filePath,t,n,i,r)}getDeclarationForPosition(e,t,n,i,r){if(this._parseResults)return tc.getDeclarationForPosition(e,this._parseResults,this._filePath,t,n,i,r)}addReferences(e,t,n,i){this._parseResults&&tc.addReferences(this._parseResults,this._filePath,e,t,n,i)}addHierarchicalSymbolsForDocument(e,t){(this._parseResults||this._cachedIndexResults)&&Fc.addHierarchicalSymbolsForDocument(this._parseResults?Vt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,e,t)}getSymbolsForDocument(e,t){return this._parseResults||this._cachedIndexResults?Fc.getSymbolsForDocument(this._parseResults?Vt(this._parseResults.parseTree):void 0,this.getCachedIndexResults(),this._parseResults,this._filePath,e,t):[]}getHoverForPosition(e,t,n,i,r){if(!this._isBindingNeeded&&this._parseResults)return class{static getHoverForPosition(e,t,n,i,r,s){ct(s);const o=xt(n,t.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(t.parseTree,o);if(void 0===a)return;const l={parts:[],range:{start:It(a.start,t.tokenizerOutput.lines),end:It(dt.getEnd(a),t.tokenizerOutput.lines)}};if(38===a.nodeType){const t=r.getDeclarationsForNameNode(a);if(t&&t.length>0){let n=t[0];6===n.type&&t.length>1&&(n=t[1]),this._addResultsForDeclaration(i,e,l.parts,n,a,r)}else if((!a.parent||37!==a.parent.nodeType)&&0===l.parts.length){const t=r.getType(a)||Ys.create();let n="";n=To(t)?"(module) "+a.value:a.value+": "+r.printType(t,!1),this._addResultsPart(l.parts,n,!0),this._addDocumentationPart(i,e,l.parts,a,r,void 0)}}return l.parts.length>0?l:void 0}static _addResultsForDeclaration(e,t,n,i,r,s){var o;const a=s.resolveAliasDeclaration(i,!0);if(a)switch(a.type){case 0:this._addResultsPart(n,r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 1:{let l=a.isConstant||a.isFinal?"constant":"variable",c=r;21===i.node.nodeType||23===i.node.nodeType?i.node.alias&&r!==i.node.alias&&38===a.node.nodeType&&(c=a.node):1===(null===(o=r.parent)||void 0===o?void 0:o.nodeType)&&r.parent.name===r&&38===i.node.nodeType&&(c=i.node);const u=s.getType(c);let p,d=!1;if(null==u?void 0:u.typeAliasInfo){const e=Do(u);(null==e?void 0:e.name)===c.value&&(bo(u)?(l=u.details.isParamSpec?"param spec":"type variable",p=u.details.name):(d=!0,l="type alias"))}const h=p||r.value+this._getTypeText(c,s,d);this._addResultsPart(n,`(${l}) ${h}`,!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 2:this._addResultsPart(n,"(parameter) "+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 4:case 5:if(this._addInitMethodInsteadIfCallNode(e,r,s,n,t,a))return;this._addResultsPart(n,"(class) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a);break;case 3:{let i="function";if(a.isMethod){const e=s.getTypeForDeclaration(a);i=e&&ua(e)?"property":"method"}const o=s.getType(r);o&&ko(o)?this._addResultsPart(n,`(${i})\n${Ol(o,s)}`,!0):this._addResultsPart(n,`(${i}) `+r.value+this._getTypeText(r,s),!0),this._addDocumentationPart(e,t,n,r,s,a);break}case 6:this._addResultsPart(n,"(module) "+r.value,!0),this._addDocumentationPart(e,t,n,r,s,a)}else this._addResultsPart(n,"(import) "+r.value+this._getTypeText(r,s),!0)}static _addInitMethodInsteadIfCallNode(e,t,n,i,r,s){let o=t;if(o.parent&&35===o.parent.nodeType&&t===o.parent.memberName&&(o=t.parent),!o||!o.parent||9!==o.parent.nodeType||o.parent.leftExpression!==o)return!1;const a=n.getType(t);if(!a||!_o(a))return!1;const l=va(a,"__init__",8);if(!l)return!1;const c=n.getType(o.parent),u=n.getTypeOfMember(l);if(!(c&&u&&vo(c)&&Eo(u)))return!1;const p=n.bindFunctionToClassOrObject(c,u);if(!p||!Eo(p))return!1;const d=n.printFunctionParts(p),h=`${t.value}(${d[0].join(", ")})`;return this._addResultsPart(i,"(class) "+h,!0),this._addDocumentationPartForType(e,r,i,p,s,n)||this._addDocumentationPartForType(e,r,i,a,s,n),!0}static _getTypeText(e,t,n=!1){const i=t.getType(e)||Ys.create();return": "+t.printType(i,n)}static _addDocumentationPart(e,t,n,i,r,s){const o=r.getType(i);o&&this._addDocumentationPartForType(e,t,n,o,s,r)}static _addDocumentationPartForType(e,t,n,i,r,s){const o=ql(t,i,r,s);let a=!1;for(const t of o)t&&(a=!0,this._addDocumentationResultsPart(e,n,t));return a}static _addDocumentationResultsPart(e,t,n){if(n)if(e===ot.MarkupKind.Markdown){const e=ds(n);t.length>0&&e.length>0&&t.push({text:"---\n"}),this._addResultsPart(t,e)}else e===ot.MarkupKind.PlainText?this._addResultsPart(t,hs(n)):E(`Unsupported markup type: ${e}`)}static _addResultsPart(e,t,n=!1){e.push({python:n,text:t})}}.getHoverForPosition(e,this._parseResults,t,n,i,r)}getDocumentHighlight(e,t,n,i){if(!this._isBindingNeeded&&this._parseResults)return class{static getDocumentHighlight(e,t,n,i){ct(i);const r=xt(t,e.tokenizerOutput.lines);if(void 0===r)return;const s=Tr(e.parseTree,r);return void 0!==s&&38===s.nodeType?Ml.collectFromNode(s,n,i,e.parseTree,!0).map((t=>({kind:38===t.node.nodeType&&$r(t.node)?ot.DocumentHighlightKind.Write:ot.DocumentHighlightKind.Read,range:St(t.range.start,dt.getEnd(t.range),e.tokenizerOutput.lines)}))):void 0}}.getDocumentHighlight(this._parseResults,t,n,i)}getSignatureHelpForPosition(e,t,n,i,r){if(this._parseResults)return class{static getSignatureHelpForPosition(e,t,n,i,r,s){var o;ct(s);const a=xt(t,e.tokenizerOutput.lines);if(void 0===a)return;let l=Tr(e.parseTree,a);const c=l,u=l?vr(l):0;let p=a-1;for(;p>=0&&","!==e.text.substr(p,1);){const t=Tr(e.parseTree,p);if(t&&t!==c){vr(t)>u&&(l=t);break}p--}if(void 0===l)return;const d=zr(l,a,e.tokenizerOutput.tokens);if(!d)return;const h=i.getCallSignatureInfo(d.callNode,d.activeIndex,d.activeOrFake);return h?{signatures:h.signatures.map((e=>this._makeSignature(h.callNode,e,n,i,r))),callHasParameters:!!(null===(o=h.callNode.arguments)||void 0===o?void 0:o.length)}:void 0}static _makeSignature(e,t,n,i,r){var s;const o=t.type,a=[],l=null!==(s=Ll(o,n,i))&&void 0!==s?s:this._getDocStringFromCallNode(e,n,i);let c=o.details.fullName+"(";const u=o.details.parameters.filter(((e,t)=>!(0===t&&"self"===e.name)));let p;u.forEach(((e,t)=>{const n=e.name||"";let i=e.name||"";1===e.category?i="*"+i:2===e.category&&(i="**"+i),e.hasDefault&&e.defaultValueExpression&&(i+="=",i+=xr(e.defaultValueExpression,1)),a.push({startOffset:c.length,endOffset:c.length+i.length,text:i,documentation:ps(l||"",n)}),c+=i,t0)return o.join("\n\n")}}}.getSignatureHelpForPosition(this._parseResults,e,t,n,i,r)}getCompletionsForPosition(e,t,n,i,r,s,o,a,l,c,u,p){if(!this._parseResults)return;const d=this.getOpenFileContents();return void 0!==d?new jl(t,this._parseResults,d,i,e,this._filePath,n,r,s,o,a,{nameMap:l,libraryMap:c,getModuleSymbolsMap:u},p).getCompletionsForPosition():void 0}resolveCompletionItem(e,t,n,i,r,s,o,a,l,c,u){const p=this.getOpenFileContents();if(!this._parseResults||void 0===p)return;const d=c.data;new jl(d.workspacePath,this._parseResults,p,t,d.position,this._filePath,e,n,i,r,s,{nameMap:o,libraryMap:a,getModuleSymbolsMap:l},u).resolveCompletionItem(c)}performQuickAction(e,t,n){if(this._parseResults&&void 0!==this.getClientVersion())return function(e,t,n,i){return"pyright.organizeimports"===e?new qc(n,i).sort():"pyright.addoptionalforparam"===e&&t.length>=1?function(e,t,n){ct(n);let i=Tr(e.parseTree,t);for(;i&&41!==i.nodeType;)i=i.parent;if(!i)return[];const r=i.typeAnnotation||i.typeAnnotationComment;if(!r)return[];const s=[],o=It(r.start,e.tokenizerOutput.lines),a=It(dt.getEnd(r),e.tokenizerOutput.lines);s.push({range:{start:o,end:o},replacementText:"Optional["}),s.push({range:{start:a,end:a},replacementText:"]"});const l=tn(e.parseTree),c=l.orderedImports.find((e=>"typing"===e.moduleName));if(c&&22===c.node.nodeType&&!c.node.isWildcardImport){const t=rn({name:"Optional"},c,e);s.push(...t)}else{const t=an({name:"Optional"},l,"typing",0,e,o);s.push(...t)}return s}(n,parseInt(t[0],10),i):[]}(e,t,this._parseResults,n)}bind(e,t,n){return w(!this.isParseRequired(),"Bind called before parsing"),w(this.isBindingRequired(),"Bind called unnecessarily"),w(!this._isBindingInProgress,"Bind called while binding in progress"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`binding: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.bindTime.timeOperation((()=>{this._cleanParseTreeIfRequired();const i=this._buildFileInfo(e,this._parseResults.text,t,n);!function(e,t){e.fileInfo=t}(this._parseResults.parseTree,i);const r=new ru(i,e.indexGenerationMode);this._isBindingInProgress=!0,r.bindModule(this._parseResults.parseTree),e.internalTestMode&&(new Pu).walk(this._parseResults.parseTree),this._bindDiagnostics=i.diagnosticSink.fetchAndClear();const s=Ft(this._parseResults.parseTree);w(void 0!==s,"Module scope not returned by binder"),this._moduleSymbolTable=s.symbolTable}))}catch(e){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalBindError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._bindDiagnostics=n.fetchAndClear()}finally{this._isBindingInProgress=!1}this._diagnosticVersion++,this._isCheckingNeeded=!0,this._indexingNeeded=!0,this._isBindingNeeded=!1}))}check(e){return w(!this.isParseRequired(),"Check called before parsing"),w(!this.isBindingRequired(),"Check called before binding"),w(!this._isBindingInProgress,"Check called while binding in progress"),w(this.isCheckingRequired(),"Check called unnecessarily"),w(void 0!==this._parseResults,"Parse results not available"),this._logTracker.log(`checking: ${this._getPathForLogging(this._filePath)}`,(()=>{try{Fn.typeCheckerTime.timeOperation((()=>{new Cu(this._parseResults.parseTree,e).check(),this._isCheckingNeeded=!1;const t=Vt(this._parseResults.parseTree);this._checkerDiagnostics=t.diagnosticSink.fetchAndClear()}))}catch(e){if(!lt.is(e)){const t=(e.stack?e.stack.toString():void 0)||("string"==typeof e.message?e.message:void 0)||JSON.stringify(e);this._console.error(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}));const n=new kc;n.addError(ml.Diagnostic.internalTypeCheckingError().format({file:this.getFilePath(),message:t}),{start:{line:0,character:0},end:{line:0,character:0}}),this._checkerDiagnostics=n.fetchAndClear(),this._isCheckingNeeded=!1}throw e}finally{this._circularDependencies=[],this._diagnosticVersion++}}))}test_enableIPythonMode(e){this._ipythonMode=e}_buildFileInfo(e,t,n,i){w(void 0!==this._parseResults,"Parse results not available");const r=new Dc(this._parseResults.tokenizerOutput.lines);return{importLookup:n,futureImports:this._parseResults.futureImports,builtinsScope:i,diagnosticSink:r,executionEnvironment:e.findExecEnvironment(this._filePath),diagnosticRuleSet:this._diagnosticRuleSet,fileContents:t,lines:this._parseResults.tokenizerOutput.lines,typingSymbolAliases:this._parseResults.typingSymbolAliases,filePath:this._filePath,moduleName:this._moduleName,isStubFile:this._isStubFile,isTypingStubFile:this._isTypingStubFile,isTypingExtensionsStubFile:this._isTypingExtensionsStubFile,isBuiltInStubFile:this._isBuiltInStubFile,isInPyTypedPackage:this._isThirdPartyPyTypedPresent,isIPythonMode:this._ipythonMode,accessedSymbolMap:new Map}}_cleanParseTreeIfRequired(){this._parseResults&&this._parseTreeNeedsCleaning&&(new Au(this._parseResults.parseTree).clean(),this._parseTreeNeedsCleaning=!1)}_resolveImports(e,t,n){const i=[],r=(t,r=!1)=>{const s=e.resolveImport(this._filePath,n,{leadingDots:0,nameParts:t,importedSymbols:void 0});if(!r||s.isImportFound)return 0===s.resolvedPaths.length||s.resolvedPaths[0]!==this._filePath?(i.push(s),s):void 0};let s;this._isThirdPartyImport||this._isStubFile||(s=r(["__builtins__"],!0)),s||(s=r(["builtins"]));const o=this._ipythonMode?r(["IPython","display"]):void 0;for(const r of t){const t=e.resolveImport(this._filePath,n,{leadingDots:r.leadingDots,nameParts:r.nameParts,importedSymbols:r.importedSymbols});i.push(t),a=t,r.nameNode.importInfo=a}var a;return{imports:i,builtinsImportResult:s,ipythonDisplayImportResult:o}}_getPathForLogging(e){return this.fileSystem.isMappedFilePath(e)?"[virtual] "+e:e}}function Fu(e){function t(e,t="'"){return e?`${t}${e}${t}`:""}e=e.map((e=>le(e))).sort(((e,t)=>e.localeCompare(t))).reverse();const n=/[\\/]/g;function i(t){if(t){if("string"==typeof t){for(const i of e)if(t.startsWith(i))return he(t.substring(i.length)).replace(n,".");return t}return t.nameParts.join(".")}return""}function o(e){var n,i,r,s,a,l;if(e)switch(e.category){case 2:return`Any ${t(null===(n=e.typeAliasInfo)||void 0===n?void 0:n.fullName)}`;case 7:return Ks.isInstantiable(e)?`Class '${e.details.name}' (${e.details.moduleName})`:`Object '${e.details.name}' (${e.details.moduleName})`;case 5:return`Function '${e.details.name}' (${e.details.moduleName})`;case 8:return`Module '${e.moduleName}' (${e.moduleName})`;case 4:return`Never ${t(null===(i=e.typeAliasInfo)||void 0===i?void 0:i.fullName)}`;case 3:return`None ${t(null===(r=e.typeAliasInfo)||void 0===r?void 0:r.fullName)}`;case 6:return`OverloadedFunction [${e.overloads.map((e=>t(o(e),'"'))).join(",")}]`;case 10:return`TypeVar '${e.details.name}' ${t(null===(s=e.typeAliasInfo)||void 0===s?void 0:s.fullName)}`;case 0:return`Unbound ${t(null===(a=e.typeAliasInfo)||void 0===a?void 0:a.fullName)}`;case 9:return`Union [${e.subtypes.map((e=>t(o(e),'"'))).join(",")}]`;case 1:return`Unknown ${t(null===(l=e.typeAliasInfo)||void 0===l?void 0:l.fullName)}`;default:k(e)}return""}function a(e){if(e)switch(e.type){case 6:return`Alias, ${l(e.node)} (${i(e.path)})`;case 4:return`Class, ${l(e.node)} (${i(e.path)})`;case 3:return`Function, ${l(e.node)} (${i(e.path)})`;case 0:return`Intrinsic, ${l(e.node)} ${e.intrinsicType} (${i(e.path)})`;case 2:return`Parameter, ${l(e.node)} (${i(e.path)})`;case 5:return`SpecialBuiltInClass, ${l(e.node)} (${i(e.path)})`;case 1:return`Variable, ${l(e.node)} (${i(e.path)})`;default:k(e)}return""}function l(e,n=!1){var r;if(!e)return"";const s=n?`(${i(null===(r=function(e){for(;36!==e.nodeType&&e.parent;)e=e.parent;return 36===e.nodeType?Vt(e):void 0}(e))||void 0===r?void 0:r.filePath)})`:"";if(yr(e))return t(function(e,t=30){return e.length "}(xr(e)),'"')+` ${s}`;switch(e.nodeType){case 21:return`importAs '${l(e.module)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 22:return`importFrom [${e.imports.map((e=>t(l(e),'"'))).join(",")}]`;case 23:return`ImportFromAs '${l(e.name)}' ${t(e.alias?l(e.alias):"")} ${s}`;case 36:return`module ${s}`;case 10:return`class '${l(e.name)}' ${s}`;case 28:return`function '${l(e.name)}' ${s}`;case 37:return`moduleName '${e.nameParts.map((e=>l(e))).join(".")}' ${s}`;case 1:return`argument '${e.name?l(e.name):"N/A"}' ${s}`;case 41:return`parameter '${e.name?l(e.name):"N/A"}' ${s}`;default:return`${function(e){switch(e){case 0:return"Error";case 1:return"Argument";case 2:return"Assert";case 3:return"Assignment";case 4:return"AssignmentExpression";case 5:return"AugmentedAssignment";case 6:return"Await";case 7:return"BinaryOperation";case 8:return"Break";case 9:return"Call";case 10:return"Class";case 11:return"Constant";case 12:return"Continue";case 13:return"Decorator";case 14:return"Del";case 15:return"Dictionary";case 16:return"DictionaryExpandEntry";case 17:return"DictionaryKeyEntry";case 18:return"Ellipsis";case 19:return"If";case 20:return"Import";case 21:return"ImportAs";case 22:return"ImportFrom";case 23:return"ImportFromAs";case 24:return"Index";case 25:return"Except";case 26:return"For";case 27:return"FormatString";case 28:return"Function";case 29:return"Global";case 30:return"Lambda";case 31:return"List";case 32:return"ListComprehension";case 33:return"ListComprehensionFor";case 34:return"ListComprehensionIf";case 35:return"MemberAccess";case 36:return"Module";case 37:return"ModuleName";case 38:return"Name";case 39:return"Nonlocal";case 40:return"Number";case 41:return"Parameter";case 42:return"Pass";case 43:return"Raise";case 44:return"Return";case 45:return"Set";case 46:return"Slice";case 47:return"StatementList";case 48:return"StringList";case 49:return"String";case 50:return"Suite";case 51:return"Ternary";case 52:return"Tuple";case 53:return"Try";case 54:return"TypeAnnotation";case 55:return"UnaryOperation";case 56:return"Unpack";case 57:return"While";case 58:return"With";case 59:return"WithItem";case 60:return"Yield";case 61:return"YieldFrom";case 62:return"FunctionAnnotation";case 63:return"Match";case 64:return"Case";case 65:return"PatternSequence";case 66:return"PatternAs";case 67:return"PatternLiteral";case 68:return"PatternClass";case 69:return"PatternCapture";case 70:return"PatternMapping";case 71:return"PatternMappingKeyEntry";case 72:return"PatternMappingExpandEntry";case 73:return"PatternValue";case 74:return"PatternClassArgument"}k(e)}(e.nodeType)} ${s}`}}return{print:function(e){return e?function(e){return e&&s(e.nodeType)}(e)?l(e,!0):function(e){const t=e;return t&&s(t.type)&&r(t.path)&&r(t.moduleName)}(e)?a(e):e instanceof qo?(t=e)?t.hasDeclarations()?`symbol ${a(t.getDeclarations()[0])}`:"":"":function(e){const t=e;return t&&s(t.category)&&s(t.flags)}(e)?o(e):void k(e):"";var t},printFileOrModuleName:i}}function Nu(e){return!!e.isIncompleteType}class Mu{constructor(){this._speculativeContextStack=[],this._speculativeTypeCache=new Map}enterSpeculativeContext(e,t){this._speculativeContextStack.push({speculativeRootNode:e,entriesToUndo:[],allowCacheRetention:t})}leaveSpeculativeContext(){w(this._speculativeContextStack.length>0),this._speculativeContextStack.pop().entriesToUndo.forEach((e=>{e.cache.delete(e.id)}))}isSpeculative(e){if(0===this._speculativeContextStack.length)return!1;if(!e)return!0;for(let t=this._speculativeContextStack.length-1;t>=0;t--)if(Mr(e,this._speculativeContextStack[t].speculativeRootNode))return!0;return!1}trackEntry(e,t){const n=this._speculativeContextStack.length;n>0&&this._speculativeContextStack[n-1].entriesToUndo.push({cache:e,id:t})}disableSpeculativeMode(){const e=this._speculativeContextStack;return this._speculativeContextStack=[],e}enableSpeculativeMode(e){w(0===this._speculativeContextStack.length),this._speculativeContextStack=e}addSpeculativeType(e,t,n){if(w(this._speculativeContextStack.length>0),this._speculativeContextStack.some((e=>!e.allowCacheRetention)))return;let i=this._speculativeTypeCache.get(e.id);i||(i=[],this._speculativeTypeCache.set(e.id,i)),i.push({type:t,expectedType:n})}getSpeculativeType(e,t){if(this._speculativeContextStack.some((t=>Mr(e,t.speculativeRootNode)))){const n=this._speculativeTypeCache.get(e.id);if(n)for(const e of n)if(t){if(e.expectedType&&Ao(t,e.expectedType))return e.type}else if(!e.expectedType)return e.type}}}class Ou{constructor(){this._trackerStack=[],this._isUndoTrackingEnabled=!1}trackEntry(e,t){this._isUndoTrackingEnabled&&this._trackerStack[this._trackerStack.length-1].push({cache:e,id:t})}enterTrackingScope(){this._trackerStack.push([])}exitTrackingScope(){this._trackerStack.pop().forEach((e=>{e.cache.delete(e.id)})),0===this._trackerStack.length&&(this._isUndoTrackingEnabled=!1)}enableUndoTracking(){this._trackerStack.length>0&&(this._isUndoTrackingEnabled=!0)}isUndoTrackingEnabled(){return this._isUndoTrackingEnabled}}function Lu(e,t,n,i){var r,s,o;const a=Vt(t);let l="namedtuple";if(0===n.length)e.addError(ml.Diagnostic.namedTupleFirstArg(),t);else{const i=n[0];0!==i.argumentCategory?e.addError(ml.Diagnostic.namedTupleFirstArg(),n[0].valueExpression||t):i.valueExpression&&48===i.valueExpression.nodeType&&(l=i.valueExpression.strings.map((e=>e.value)).join(""))}const c=n.find((e=>{var t;return"defaults"===(null===(t=e.name)||void 0===t?void 0:t.value)}));let u=0;if(c&&c.valueExpression){const t=e.getTypeOfExpression(c.valueExpression).type;u=vo(t)&&pa(t)&&!da(t)&&t.tupleTypeArguments?t.tupleTypeArguments.length:void 0}const p=e.getTypingType(t,"NamedTuple")||Ys.create(),d=Zs.createInstantiable(l,br(t,a.moduleName,l),a.moduleName,a.filePath,16777216,Ir(t),void 0,_o(p)?p.details.effectiveMetaclass:Ys.create());d.details.baseClasses.push(p),d.details.typeVarScopeId=e.getScopeIdForNode(t);const h=d.details.fields;h.set("__class__",qo.createWithType(68,d));const m=Aa(d,!0),f=Xs.createInstance("__new__","","",65);f.details.declaredReturnType=Fa(m),function(e){var t,n;if(9!==e.nodeType||!e.parent||3!==e.parent.nodeType||38!==e.parent.leftExpression.nodeType||!e.parent.parent||47!==e.parent.parent.nodeType)return!1;const i=e.parent.leftExpression.value,r=e.parent.parent;if(r.statements[0]!==e.parent||!r.parent||36!==r.parent.nodeType&&50!==r.parent.nodeType)return!1;const s=r.parent;let o=s.statements.findIndex((e=>e===r));if(o<0)return!1;for(o++;oe.value)).join("").split(/[,\s]+/),n=void 0===u?0:Math.max(0,e.length-u);e.forEach(((e,r)=>{if(e=e.trim()){const s=Ys.create(),o={category:0,name:e,type:s,hasDeclaredType:i,hasDefault:r>=n};Xs.addParameter(f,o);const l=qo.createWithType(8,s);g.push(e);const c=t.valueExpression,u={type:1,node:c,isRuntimeTypeExpression:!0,path:a.filePath,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};l.addDeclaration(u),h.set(e,l),v.push(s)}}))}else if(31===(null===(r=t.valueExpression)||void 0===r?void 0:r.nodeType)||52===(null===(s=t.valueExpression)||void 0===s?void 0:s.nodeType)){const n=t.valueExpression,r=new Map,s=31===(null===(o=t.valueExpression)||void 0===o?void 0:o.nodeType)?t.valueExpression.entries:t.valueExpression.expressions,l=void 0===u?0:Math.max(0,s.length-u);s.forEach(((t,n)=>{let s,o,c,u="";i?52===t.nodeType&&2===t.expressions.length?(c=t.expressions[0],s=t.expressions[1],o=Fa(e.getTypeForExpressionExpectingType(s,!1).type)):e.addError(ml.Diagnostic.namedTupleNameType(),t):(c=t,o=Ys.create()),c&&48===c.nodeType?(u=c.strings.map((e=>e.value)).join(""),u||e.addError(ml.Diagnostic.namedTupleEmptyName(),c)):_=!0,u||(u=`_${n.toString()}`),r.has(u)&&e.addError(ml.Diagnostic.namedTupleNameUnique(),c||t),r.set(u,u),o||(o=Ys.create());const p={category:0,name:u,type:o,hasDeclaredType:i,hasDefault:n>=l};Xs.addParameter(f,p),v.push(o),g.push(u);const d=qo.createWithType(8,o);if(c&&48===c.nodeType){const e={type:1,node:c,path:a.filePath,typeAnnotationNode:s,range:St(c.start,dt.getEnd(c),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};d.addDeclaration(e)}h.set(u,d)})),e.setTypeForNode(n)}else _=!0}_&&(f.details.parameters=[],Xs.addDefaultParameters(f),v.push(io.create(!1)),v.push(io.create(!0)));const T=Xs.createInstance("__init__","","",192);Xs.addParameter(T,y),Xs.addDefaultParameters(T),T.details.declaredReturnType=to.createInstance(),h.set("__new__",qo.createWithType(4,f)),h.set("__init__",qo.createWithType(4,T));const b=Xs.createInstance("keys","","",64),I=Xs.createInstance("items","","",64);b.details.declaredReturnType=e.getBuiltInObject(t,"list",[e.getBuiltInObject(t,"str")]),I.details.declaredReturnType=b.details.declaredReturnType,h.set("keys",qo.createWithType(8,b)),h.set("items",qo.createWithType(8,I));const S=Xs.createInstance("__len__","","",64);if(S.details.declaredReturnType=e.getBuiltInObject(t,"int"),Xs.addParameter(S,y),h.set("__len__",qo.createWithType(4,S)),_){const n=Xs.createInstance("__getattribute__","","",64);n.details.declaredReturnType=io.create(),Xs.addParameter(n,y),Xs.addParameter(n,{category:0,name:"name",type:e.getBuiltInObject(t,"str")}),h.set("__getattribute__",qo.createWithType(4,n))}const x=e.getBuiltInType(t,"tuple"),C=e.getBuiltInType(t,"str");if(!_&&C&&_o(C)&&x&&_o(x)){const e=g.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(C,e)),isUnbounded:!1}))),t=Zs.cloneAsInstance(Va(x,e));h.set("__match_args__",qo.createWithType(4,t))}return Ha(d),Uu(d,v,!_),d}function Uu(e,t,n){const i=e.details.mro.findIndex((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")));if(i<0||e.details.mro.length{o.push({type:e,isUnbounded:!1})})):o.push({type:t.length>0?Oo(t):Ys.create(),isUnbounded:!0});const a=Va(s,o,n),l=Zs.cloneForSpecialization(r,[],n);l.details={...l.details},l.details.mro=[...l.details.mro],l.details.mro[1]=a.details.mro[0],l.details.baseClasses=l.details.baseClasses.map((e=>_o(e)&&pa(e)?a:e)),e.details.mro[i]=l,e.details.mro[i+1]=a,e.details.baseClasses=e.details.baseClasses.map((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")?l:e))}function qu(e,t){const n={keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:[]},i=Vt(t);return t.arguments.forEach((t=>{if(t.name&&0===t.argumentCategory)switch(t.name.value){case"kw_only_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.keywordOnlyParams=r;break}case"eq_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateEq=r;break}case"order_default":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.generateOrder=r;break}case"transform_descriptor_types":{const r=Xc(t.valueExpression,i.executionEnvironment);if(void 0===r)return void e.addError(ml.Diagnostic.dataClassTransformExpectedBoolLiteral(),t.valueExpression);n.transformDescriptorTypes=r;break}case"field_descriptors":{const i=e.getTypeOfExpression(t.valueExpression).type;if(!vo(i)||!Zs.isBuiltIn(i,"tuple")||!i.tupleTypeArguments||i.tupleTypeArguments.some((e=>!_o(e.type)&&!Eo(e.type)&&!ko(e.type))))return void e.addError(ml.Diagnostic.dataClassTransformFieldDescriptor().format({type:e.printType(i)}),t.valueExpression);n.fieldDescriptorNames||(n.fieldDescriptorNames=[]),i.tupleTypeArguments.forEach((e=>{_o(e.type)||Eo(e.type)?n.fieldDescriptorNames.push(e.type.details.fullName):ko(e.type)&&n.fieldDescriptorNames.push(e.type.overloads[0].details.fullName)}));break}default:e.addError(ml.Diagnostic.dataClassTransformUnknownArgument().format({name:t.name.value}),t.valueExpression)}else e.addError(ml.Diagnostic.dataClassTransformPositionalParam(),t)})),n}function Vu(e){let t;if(Eo(e)?t=e:ko(e)&&(t=e.overloads[0]),t)return t.details.decoratorDataClassBehaviors?t.details.decoratorDataClassBehaviors:"dataclasses.dataclass"===t.details.fullName?{keywordOnlyParams:!1,generateEq:!0,generateOrder:!1,transformDescriptorTypes:!1,fieldDescriptorNames:["dataclasses.field","dataclasses.Field"]}:void 0}function Bu(e,t,n){n.forEach((n=>{n.valueExpression&&n.name&&function(e,t,n,i,r){const s=Vt(t),o=Xc(r,s.executionEnvironment);switch(i){case"order":!0===o?n.details.flags|=64:!1===o&&(n.details.flags&=-65);break;case"kw_only":!1===o?n.details.flags&=-2097153:!0===o&&(n.details.flags|=2097152);break;case"frozen":{let i=!1,r=!1;n.details.baseClasses.forEach((e=>{_o(e)&&Zs.isDataClass(e)&&(Zs.isFrozenDataClass(e)?r=!0:e.details.classDataClassTransform||e.details.declaredMetaclass&&_o(e.details.declaredMetaclass)&&e.details.declaredMetaclass.details.classDataClassTransform||(i=!0))})),(!0===o||r)&&(n.details.flags|=8,i&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassBaseClassNotFrozen(),t));break}case"init":!1===o?n.details.flags|=16:!0===o&&(n.details.flags&=-17);break;case"eq":!1===o?n.details.flags|=32:!0===o&&(n.details.flags&=-33);break;case"slots":!0===o?(n.details.flags|=33554432,n.details.localSlotsNames&&e.addDiagnostic(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dataClassSlotsOverwrite(),t)):!1===o&&(n.details.flags&=-33554433);break;case"hash":case"unsafe_hash":!0===o&&(n.details.flags|=67108864)}}(e,n.name,t,n.name.value,n.valueExpression)}))}function Wu(e,t){e.details.dataClassBehaviors=t,e.details.flags|=4,t.keywordOnlyParams&&(e.details.flags|=2097152),t.generateEq||(e.details.flags|=32),t.generateOrder&&(e.details.flags|=64)}function ju(e,t,n,i){Wu(t,n),(null==i?void 0:i.arguments)&&Bu(e,t,i.arguments)}function zu(e,t,n,i,r){return Eo(i)&&"functools.total_ordering"===i.details.fullName?function(e,t,n,i){if(1!==n.length)return i;const r=n[0].type;if(!r||!_o(r)||r.includeSubclasses)return i;const s=["__lt__","__le__","__gt__","__ge__"],o=Zs.cloneAsInstance(r),a=s.filter((e=>!_a(o,e,8)));if(a.length===s.length)return e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.totalOrderingMissingMethod(),t),i;const l=e.getBuiltInObject(t,"object");if(!l||!vo(l))return i;const c=e.getBuiltInObject(t,"bool");if(!c||!vo(c))return i;const u={category:0,name:"self",type:Aa(r,!1),hasDeclaredType:!0},p={category:0,name:"__value",type:l,hasDeclaredType:!0};return a.forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,u),Xs.addParameter(t,p),t.details.declaredReturnType=c,r.details.fields.set(e,qo.createWithType(4,t))})),i}(e,t,n,r):r}function $u(e,t,n){Xs.isStaticMethod(t)&&e.addDiagnostic(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.propertyStaticMethod(),n)}function Hu(e,t,n,i){const r=Vt(t),s=e.getBuiltInType(t,"type"),o=Zs.isBuiltIn(n,"property")?Ir(t):n.details.typeSourceId,a=Zs.createInstantiable(n.details.name,br(t,r.moduleName,`__property_${i.details.name}`),r.moduleName,r.filePath,2048,o,void 0,_o(s)?s:Ys.create());a.details.typeVarScopeId=n.details.typeVarScopeId,Ha(a);const l=a.details.fields;n.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||["__get__","__set__","__delete__","fget","fset","fdel"].some((e=>e===t))||l.set(t,e)}));const c=Zs.cloneAsInstance(a);a.isAsymmetricDescriptor=!1;const u=qo.createWithType(4,i);l.set("fget",u),Xs.isClassMethod(i)&&(a.details.flags|=4194304);const p=Xs.createInstance("__get__","","",320);Xs.addParameter(p,{category:0,name:"self",type:c,hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"obj",type:to.createInstance(),hasDeclaredType:!0}),Xs.addParameter(p,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),p.details.declaredReturnType=Xs.isClassMethod(i)?Xs.getSpecializedReturnType(i):c,p.details.declaration=i.details.declaration;const d=Xs.createInstance("__get__","","",320);Xs.addParameter(d,{category:0,name:"self",type:c,hasDeclaredType:!0});const h=i.details.parameters.length>0?i.details.parameters[0].type:io.create();Xs.addParameter(d,{category:0,name:"obj",type:h,hasDeclaredType:!0}),Xs.addParameter(d,{category:0,name:"objtype",type:io.create(),hasDeclaredType:!0,hasDefault:!0,defaultType:io.create()}),d.details.declaredReturnType=Xs.getSpecializedReturnType(i),d.details.declaration=i.details.declaration,d.details.typeVarScopeId=na(i);const m=eo.create([p,d]),f=qo.createWithType(4,m);return l.set("__get__",f),["getter","setter","deleter"].forEach((e=>{const t=Xs.createInstance(e,"","",64);Xs.addParameter(t,{category:0,name:"self",type:io.create(),hasDeclaredType:!0}),Xs.addParameter(t,{category:0,name:"accessor",type:io.create(),hasDeclaredType:!0}),t.details.declaredReturnType=c;const n=qo.createWithType(4,t);l.set(e,n)})),c}function Gu(e,t,n,i,r,s,o=0){const a=Zs.cloneAsInstance(i);let l=!0;return[{name:"fget",missingDiagMsg:ml.DiagnosticAddendum.missingGetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleGetter},{name:"fset",missingDiagMsg:ml.DiagnosticAddendum.missingSetter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleSetter},{name:"fdel",missingDiagMsg:ml.DiagnosticAddendum.missingDeleter,incompatibleDiagMsg:ml.DiagnosticAddendum.incompatibleDeleter}].forEach((i=>{const c=t.details.fields.get(i.name),u=c?e.getDeclaredTypeOfSymbol(c):void 0;if(u&&Eo(u)){const t=n.details.fields.get(i.name),c=t?e.getDeclaredTypeOfSymbol(t):void 0;if(!c||!Eo(c))return r&&r.addMessage(i.missingDiagMsg()),void(l=!1);const p=e.bindFunctionToClassOrObject(a,u,void 0,void 0,o),d=e.bindFunctionToClassOrObject(a,c,void 0,void 0,o);if(!p||!d||!e.canAssignType(p,d,null==r?void 0:r.createAddendum(),s,0,o))return r&&r.addMessage("getter type is incompatible"),void(l=!1)}})),l}const Ku={0:["__add__","__radd__",!1],33:["__sub__","__rsub__",!1],26:["__mul__","__rmul__",!1],13:["__floordiv__","__rfloordiv__",!1],10:["__truediv__","__rtruediv__",!1],24:["__mod__","__rmod__",!1],29:["__pow__","__rpow__",!1],22:["__matmul__","__rmatmul__",!1],3:["__and__","__rand__",!1],6:["__or__","__ror__",!1],8:["__xor__","__rxor__",!1],17:["__lshift__","__rlshift__",!1],31:["__rshift__","__rrshift__",!1],12:["__eq__","__ne__",!0],28:["__ne__","__eq__",!0],20:["__lt__","__ge__",!0],21:["__le__","__gt__",!0],15:["__gt__","__le__",!0],16:["__ge__","__lt__",!0]},Ju={36:!1,37:!1,39:!0,40:!0,41:!0,42:!0},Yu=new Map([["asyncio.futures.Future",De.V3_9],["asyncio.tasks.Task",De.V3_9],["builtins.dict",De.V3_9],["builtins.frozenset",De.V3_9],["builtins.list",De.V3_9],["builtins._PathLike",De.V3_9],["builtins.set",De.V3_9],["builtins.tuple",De.V3_9],["collections.ChainMap",De.V3_9],["collections.Counter",De.V3_9],["collections.defaultdict",De.V3_9],["collections.DefaultDict",De.V3_9],["collections.deque",De.V3_9],["collections.OrderedDict",De.V3_9],["queue.Queue",De.V3_9]]),Qu=new Map([["builtins.float",["builtins.int"]],["builtins.complex",["builtins.float","builtins.int"]],["builtins.bytes",["builtins.bytearray","builtins.memoryview"]]]);function Zu(e,t){const n=[],i=new Map,r=new Map,s=new Map,o=new Map,a=new Set,l=new Map,c=new Mu,u=new Map,p=[],d=new Ou,h=[];let m,f,g,y,_,v,T,b,I,S,x,C,k=!1;const D=[];let A;function P(){m&&ct(m)}function R(e){let t;return t=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==t}function F(e,n){let i;if(i=A&&L(e)?A.get(e.id):s.get(e.id),void 0!==i){if(t.verifyTypeCacheEvaluatorFlags&&void 0!==n){const t=o.get(e.id);void 0!==t&&n!==t&&E(`Type cache flag mismatch for node type ${e.nodeType}: cached flags = ${t}, access flags = ${n}`)}return w(!Nu(i)),i}}function N(e,n,i,r,a,l=!1){if(r)return void(C&&C.set(e.id,n));const u=A&&L(e)?A:s;u.set(e.id,n),t.verifyTypeCacheEvaluatorFlags&&u===s&&void 0!==i&&o.set(e.id,i),c.isSpeculative(e)&&(c.trackEntry(u,e.id),l&&c.addSpeculativeType(e,n,a)),d.trackEntry(u,e.id)}function M(e){(A&&L(e)?A:s).delete(e.id)}function O(e,t=Ys.create(),n=0){N(e,t,n,!1)}function L(e){const t=D.length;if(0===t)return!1;const n=D[t-1];let i=e;for(;i;){if(i===n.functionNode)return!0;i=i.parent}return!1}function U(e,t){return n.findIndex((n=>n.symbolId===e.id&&n.declaration===t))}function q(e,t){const i=U(e,t);if(i>=0){for(let e=i+1;e=0&&(n[r].partialType=i)}function W(e,t){const i=U(e,t);if(i>=0)return n[i].partialType}function j(e){var t;return null===(t=gn(e,(()=>{hn(e)})))||void 0===t?void 0:t.type}function z(e){k||(k=!0,y=Cn(e,"object"),_=xn(e,"type"),v=Cn(e,"function"),ce(e,"Collection"),f=function(e,t){return ue(e,"NoneType",["_typeshed"])}(e)||io.create(),T=xn(e,"tuple"),b=xn(e,"bool"),I=xn(e,"str"),S=xn(e,"dict"),x=ce(e,"_TypedDict"))}function $(e,n,i=0){var r;const s=F(e,i);if(s)return{type:s,node:e};{const t=c.getSpeculativeType(e,n);if(t)return{type:t,node:e}}P();const o=ta(n);let a;z(e);let u=0!=(64&i);switch(e.nodeType){case 38:a=function(e,n){const i=Vt(e),r=e.value;let s,o=!1;const a=0!=(4&n)||i.isStubFile;if(!t.analyzeUnannotatedFunctions){const t=kr(e);if(t&&function(e){return void 0===e.returnTypeAnnotation&&e.parameters.every((e=>void 0===e.typeAnnotation&&void 0===e.typeAnnotationComment))}(t))return{node:e,type:io.create(),isIncomplete:!1}}const l=wn(e,r,!a,a&&0!=(1024&n));if(l){let t=!a;4===l.scope.type&&(t=!1);const c=l.symbol,u=Mn(c,t?e:void 0),p=ta(u.type);u.isIncomplete&&(o=!0),u.isRecursiveDefinition&&pe(e)&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.recursiveDefinition().format({name:r}),e);const d=!!p&&_o(p)&&Zs.isSpecialBuiltIn(p);if(s=p,t&&!d){const t=l.isBeyondExecutionScope||!c.isInitiallyUnbound()?p:Js.create(),n=_n(e,c.id,t,!1);if(n.type&&(s=n.type),n.isIncomplete&&(o=!0),!n.type&&l.isBeyondExecutionScope){const t=function(e,t,n){if(!t.symbol.getDeclarations().every((e=>1===e.type||2===e.type)))return;const i=function(e,t){const n=[];let i=e;for(;i;){const e=zs(i);if(!e)return;if(0!==n.length&&n[n.length-1]===e||n.push(e),e===t)return n;i=i.parent}return t?void 0:n}(e,t.scope);if(i&&i.length>=2&&i.every((e=>1===e.type||3===e.type))){const r=function(e,t){let n,i=e,r=!1;for(;i;){if(Ft(i)===t)r=!0;else if(r)return n;n=i,i=i.parent}}(e,i[i.length-2]);if(r&&(28===r.nodeType||30===r.nodeType)){const i=Lt(r);if(i&&t.symbol.getDeclarations().every((e=>{if(2===e.type)return!0;const t=Lt(e.node);return!(!t||t!==i&&ci.isFlowNodeReachable(t,i))})))return _n(e,t.symbol.id,n,!1,r)}}}(e,l,p);(null==t?void 0:t.type)&&(s=t.type),(null==t?void 0:t.isIncomplete)&&(o=!0)}}s=Ae(e,s,n),we(i,c,e),0!=(1024&n)&&u.includesVariableDecl&&!s.typeAliasInfo&&(ea(s)||bo(s)||po(s)||i.isTypingStubFile||Ks.isInstantiable(s)&&0==(2&n)||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationVariable(),e),s=Ys.create()))}else{if("true"===r||"false"===r){const t=r.split("");t[0]=t[0].toUpperCase();const n=t.join("");_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.booleanIsLowerCase().format({name:r,booleanName:n}),e)}else"reveal_type"!==r&&"reveal_locals"!==r&&_e(i.diagnosticRuleSet.reportUndefinedVariable,$o.reportUndefinedVariable,ml.Diagnostic.symbolIsUndefined().format({name:r}),e);s=Ys.create()}if(wo(s)&&32&n&&(fe(ml.Diagnostic.paramSpecContext(),e),s=Ys.create()),bo(s)&&0==(64&n)&&s.details.name===r){const t=s.details.isVariadic?ce(e,"TypeVarTuple"):ce(e,"TypeVar");s=t&&_o(t)?Zs.cloneAsInstance(t):Ys.create()}return 0!=(64&n)&&0==(512&n)&&_o(s)&&Zs.isBuiltIn(s,"Generic")&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.genericNotAllowed(),e),bo(s)&&!s.details.isSynthesized&&(s=ke(e,s,n)),{type:s,node:e,isIncomplete:o}}(e,i);break;case 35:a=function(e,t){const n=2|572484&t,i=$(e.leftExpression,void 0,n);if(ea(i.type))return{node:e,type:Ys.create(),isIncomplete:!0};const r=Fe(e,i,{method:"get"},t);if(Dt(e)){N(e,r.type,t,!0),N(e.memberName,r.type,t,!0);let n=r.type,s=!!r.isIncomplete;if(mo(n)){const t=Ie(i.type);let r;_o(t)?r=va(t,e.memberName.value,1):vo(t)&&(r=_a(t,e.memberName.value,1)),r&&(n=Bn(r),s=!1)}const o=_n(e,0,n,s);o.type&&(r.type=o.type),o.isIncomplete&&(r.isIncomplete=!0),r.type=Ae(e,r.type,t),M(e),M(e.memberName)}return i.isIncomplete&&(r.isIncomplete=!0),r}(e,i),ea(a.type)||N(e.memberName,a.type,i,!!a.isIncomplete);break;case 24:a=function(e,t=0){const n=$(e.baseExpression,void 0,2|t);if(64&t&&48===e.baseExpression.nodeType){const t=Vt(e);!t.isStubFile&&t.executionEnvironment.pythonVersion{vo(e)&&(Zs.isBuiltIn(e)||Zs.isTypedDictClass(e))||(r=!1)})),r){N(e,i.type,t,!1);const r=_n(e,0,i.type,!!n.isIncomplete||!!i.isIncomplete);r.type&&(i.type=r.type),r.isIncomplete&&(i.isIncomplete=!0),M(e)}}return n.isIncomplete&&(i.isIncomplete=!0),0!=(1048576&t)&&_o(n.type)&&(Zs.isBuiltIn(n.type,"Required")?i.isRequired=!0:Zs.isBuiltIn(n.type,"NotRequired")&&(i.isNotRequired=!0)),i}(e,i);break;case 9:0!=(1024&i)?(ze(e,o),_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAnnotationCall(),e),a={node:e,type:Ys.create()}):a=ze(e,o);break;case 52:a=function(e,t,n){if(0!=(64&n)&&0===e.expressions.length&&!t)return{type:Ue([]),node:e,isEmptyTupleShorthand:!0};let i=t,r=t&&uo(t);if(t&&fo(t)){let n;Jo(t,(t=>{if(uo(t)&&(r=!0),!n){const i=kn(e,(()=>We(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){const t=We(e,i);if(t)return t}const s=function(e){const t=e.expressions.map((e=>$(e))),n=t.some((e=>e.isIncomplete));return T&&_o(T)?{type:Fa(Va(T,je(t))),node:e,isIncomplete:n}:{type:Ys.create(),node:e}}(e);return r&&(s.type=io.create()),s}(e,o,i);break;case 11:a=function(e,t){let n;if(26===e.constType?n=0!=(64&t)?to.createType():to.createInstance():33!==e.constType&&15!==e.constType&&9!==e.constType||(n=Cn(e,"bool"),n&&vo(n)&&(33===e.constType?n=Zs.cloneWithLiteral(n,!0):15===e.constType&&(n=Zs.cloneWithLiteral(n,!1)))),n)return{type:n,node:e}}(e,i);break;case 48:if(0==(8&i)||function(e){if(e.parent&&24===e.parent.nodeType){const t=$(e.parent.baseExpression).type;if(t&&_o(t)&&Zs.isSpecialBuiltIn(t,"Literal"))return!0}return!1}(e)){e.strings.forEach((e=>{27===e.nodeType&&e.expressions.forEach((e=>{$(e)}))}));const t=0!=(32&e.strings[0].token.flags);a=e.strings.some((e=>27===e.nodeType))?{node:e,type:Cn(e,t?"bytes":"str")}:{node:e,type:kt(e,t?"bytes":"str",e.strings.map((e=>e.value)).join(""))}}else{let t=68|i;if(0==(4194304&i)&&(t|=524288),e.typeAnnotation)a=$(e.typeAnnotation,void 0,t);else if(!e.typeAnnotation&&1===e.strings.length){const n=function(e){const t=Vt(e),n=new Qc,i=e.strings[0].value,r=e.strings[0].start+e.strings[0].token.prefixLength+e.strings[0].token.quoteMarkLength,s=new Jc;s.isStubFile=t.isStubFile,s.pythonVersion=t.executionEnvironment.pythonVersion;const o=n.parseTextExpression(t.fileContents,r,i.length,s,void 0,void 0,t.typingSymbolAliases);if(o.parseTree)return o.diagnostics.forEach((t=>{fe(t.message,e)})),o.parseTree.parent=e,o.parseTree}(e);n&&(a=$(n,void 0,t))}a||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedTypeNotString(),e),a={node:e,type:Ys.create()}),u=!1}break;case 40:a=e.isImaginary?{node:e,type:Cn(e,"complex")}:e.isInteger?{node:e,type:kt(e,"int",e.value)}:{node:e,type:Cn(e,"float")};break;case 18:a=0!=(1&i)?{type:io.create(!0),node:e}:0!=(256&i)?{type:Ys.create(),node:e}:{type:Cn(e,"ellipsis")||io.create(),node:e};break;case 55:a=function(e,t){const n=$(e.expression);let i=Ie(n.type);const r=n.isIncomplete;if(ao(i))return{node:e,type:no.createNever(),isIncomplete:r};const s={0:"__pos__",33:"__neg__",5:"__invert__"};let o;if(38!==e.operator&&Go(i)&&(_e(Vt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.expression),i=Fo(i)),!n.isIncomplete){const t=aa(i);"int"===t?0===e.operator?o=i:33===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,-t.literalValue)}))):"bool"===t&&38===e.operator&&(o=Ko(i,(e=>{const t=e;return Zs.cloneWithLiteral(t,!t.literalValue)})))}if(!o)if(38===e.operator)o=Cn(e,"bool"),o||(o=Ys.create());else if(o=ho(i)?i:gt(i,[],s[e.operator],e,t),!o){_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,t?ml.Diagnostic.typeNotSupportUnaryOperatorBidirectional().format({operator:Cr(e.operator),type:ai(i),expectedType:ai(t)}):ml.Diagnostic.typeNotSupportUnaryOperator().format({operator:Cr(e.operator),type:ai(i)}),e),o=Ys.create()}return{type:o,node:e,isIncomplete:r}}(e,o);break;case 7:a=ut(e,o,i);break;case 5:a=ht(e,o),xe(e.destExpression,a.type,!!a.isIncomplete,e.rightExpression);break;case 31:case 45:a=function(e,t){let n=t;if(t&&fo(t)){let i;Jo(t,(t=>{if(!i){const n=kn(e,(()=>bt(e,t)));n&&Jn(t,n.type)&&(i=t)}})),n=i}if(n){const t=bt(e,n);if(t)return t}return function(e,t){const n=31===e.nodeType?"list":"set";let i=!1,r=!1,s=[];e.entries.forEach(((e,n)=>{let i;i=32===e.nodeType?wt(e):$(e,t?no.createNever():void 0),i.isIncomplete&&(r=!0),n<64&&s.push(i.type)})),s=s.map((e=>Qo(e)));let o=t?io.create():Ys.create();if(s.length>0){const i=Vt(e);o="list"===n&&i.diagnosticRuleSet.strictListInference||"set"===n&&i.diagnosticRuleSet.strictSetInference||t?Oo(s,64):Yo(s,!0)?s[0]:o}else i=!0;const a=xn(e,n);return{type:_o(a)?Zs.cloneAsInstance(Zs.cloneForSpecialization(a,[o],!0,void 0,void 0,i)):Ys.create(),node:e,isIncomplete:r}}(e,void 0!==t)}(e,o);break;case 46:a=function(e){return e.startValue&&$(e.startValue),e.endValue&&$(e.endValue),e.stepValue&&$(e.stepValue),{type:Cn(e,"slice"),node:e}}(e);break;case 6:{const t=n?nn(e,n,!1):void 0,r=$(e.expression,t,i);a={type:oe(r.type,e.expression),node:e},r.isIncomplete&&(a.isIncomplete=!0);break}case 51:a=function(e,t,n){$(e.testExpression);const i=[];let r=!1;if(pe(e.ifExpression)){const s=$(e.ifExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}if(pe(e.elseExpression)){const s=$(e.elseExpression,n,t);i.push(s.type),s.isIncomplete&&(r=!0)}return{type:Oo(i),node:e,isIncomplete:r}}(e,i,o);break;case 32:a=function(e,t){let n=!1;const i=wt(e);i.isIncomplete&&(n=!0);const r=i.type;let s=e.forIfNodes.some((e=>33===e.nodeType&&e.isAsync||34===e.nodeType&&6===e.testExpression.nodeType)),o=Ys.create();6===e.expression.nodeType&&(s=!0),!s&&t&&vo(t)&&Zs.isBuiltIn(t,"AsyncGenerator")&&(s=!0);const a=ce(e,s?"AsyncGenerator":"Generator");return a&&_o(a)&&(o=Zs.cloneAsInstance(Zs.cloneForSpecialization(a,s?[r,to.createInstance()]:[r,to.createInstance(),to.createInstance()],!0))),{type:o,node:e,isIncomplete:n}}(e,o);break;case 15:a=function(e,t){let n,i=t;if(t&&fo(t)){let n;Jo(t,(t=>{if(!n){const i=kn(e,(()=>_t(e,t)));i&&Jn(t,i.type)&&(n=t)}})),i=n}if(i){n=new il;const t=_t(e,i,n);if(t)return t}return{...vt(e,!!t),expectedTypeDiagAddendum:n}}(e,o);break;case 30:a=function(e,t){const n=Xs.createInstance("","","",0);n.details.typeVarScopeId=Pe(e),N(e,n,0,!1);let i=[];if(t){Ko(t,(e=>{if(Eo(e)&&i.push(e),vo(e)){const t=_a(e,"__call__");if(t){const n=Bn(t);if(n&&Eo(n)){const t=ri(e,n);t&&i.push(t)}}}}));const n=e.parameters.filter((e=>0===e.category&&void 0===e.defaultValue)).length,r=e.parameters.filter((e=>0===e.category)).length;i=i.filter((e=>{const t=e.details.parameters.filter((e=>!!e.name&&!e.hasDefault)).length;return e.details.parameters.some((e=>!!e.name&&0!==e.category))||t>=n&&t<=r}))}const r=i.length>0?i[0]:void 0;e.parameters.forEach(((t,i)=>{let s=Ys.create();r&&i{n.inferredReturnType=$(e.expression,s).type}),!1):n.inferredReturnType=$(e.expression,s).type,{type:n,node:e}}(e,o);break;case 3:a=$(e.rightExpression),xe(e.leftExpression,a.type,!1,e.rightExpression,!0,!0);break;case 4:a=$(e.rightExpression),xe(e.name,a.type,!1,e.rightExpression,!0);break;case 60:a=function(e){let t,n,i=!1;const r=kr(e);if(r){const e=Gt(r);if(e){const i=Xs.getSpecializedReturnType(e.functionType);if(i){const e=za(i);e&&(e.length>=1&&(t=e[0]),e.length>=2&&(n=e[1]))}}}return e.expression&&$(e.expression,t).isIncomplete&&(i=!0),{type:n||Ys.create(),node:e,isIncomplete:i}}(e);break;case 61:a=function(e){const t=$(e.expression).type;let n,i=za(t);return i?n=i.length>=2?i[2]:Ys.create():vo(t)&&Zs.isBuiltIn(t,"Coroutine")?n=Ys.create():(i=za(le(t,!1,e)||Ys.create()),i&&(n=i.length>=2?i[2]:Ys.create())),{type:n||Ys.create(),node:e}}(e);break;case 56:{let t;if(o){const n=xn(e,"Iterable");n&&_o(n)&&(t=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[o],!0)))}const n=$(e.expression,t,i),r=n.type;a=0==(128&i)&&Io(r)&&!r.isVariadicUnpacked?{type:oo.cloneForUnpacked(r),node:e}:0!=(2097152&i)&&_o(r)&&Zs.isBuiltIn(r,"tuple")?{type:Zs.cloneForUnpacked(r),node:e}:{type:ae(r,!1,e)||Ys.create(),unpackedType:r,node:e,isIncomplete:n.isIncomplete};break}case 54:a=$(e.typeAnnotation,void 0,34024);break;case 0:En(e,(()=>{e.child&&$(e.child)})),a={type:Ys.create(),node:e}}return a||E(`Unhandled expression type '${xr(e)}'`),!u||a.isIncomplete||(128&i&&bo(a.type)&&a.type.details.isVariadic&&!a.type.isVariadicInUnion&&(fe(ml.Diagnostic.typeVarTupleContext(),e),a.type=Ys.create()),Ks.isInstantiable(a.type))||vo(a.type)&&Zs.isTupleClass(a.type)&&0===(null===(r=a.type.tupleTypeArguments)||void 0===r?void 0:r.length)||(ve(a.type,e),a.type=Ys.create()),65536&i&&ea(a.type)&&(a.type.details.illegalRecursionDetected=!0),ea(a.type)||(N(e,a.type,i,!!a.isIncomplete,n,!0),!n||ho(n)||ao(n)||l.set(e.id,n)),a}function H(e){return void 0!==e.futureImports.get("annotations")||e.executionEnvironment.pythonVersion>=De.V3_11||e.isStubFile}function G(e,t){return K(e,{associateTypeVarsWithScope:!0,allowTypeVarTuple:1===t,disallowRecursiveTypeAlias:!0,allowUnpackedTypedDict:2===t,allowUnpackedTuple:1===t})}function K(e,t){var n,i,r;const s=Vt(e);if(s.isTypingStubFile||s.isTypingExtensionsStubFile){const t=function(e){if(!e.parent||54!==e.parent.nodeType)return;if(38!==e.parent.valueExpression.nodeType)return;const t=e.parent.valueExpression.value,n=new Map([["Tuple",{alias:"tuple",module:"builtins"}],["Generic",{alias:"",module:"builtins"}],["Protocol",{alias:"",module:"builtins"}],["Callable",{alias:"",module:"builtins"}],["Type",{alias:"type",module:"builtins"}],["ClassVar",{alias:"",module:"builtins"}],["Final",{alias:"",module:"builtins"}],["Literal",{alias:"",module:"builtins"}],["TypedDict",{alias:"_TypedDict",module:"self"}],["Union",{alias:"",module:"builtins"}],["Optional",{alias:"",module:"builtins"}],["Annotated",{alias:"",module:"builtins"}],["TypeAlias",{alias:"",module:"builtins"}],["Concatenate",{alias:"",module:"builtins"}],["TypeGuard",{alias:"",module:"builtins"}],["StrictTypeGuard",{alias:"",module:"builtins"}],["Unpack",{alias:"",module:"builtins"}],["Required",{alias:"",module:"builtins"}],["NotRequired",{alias:"",module:"builtins"}],["Self",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["LiteralString",{alias:"",module:"builtins"}]]).get(t);if(n){const i=F(e,0);if(i)return w(_o(i)),i;const r=Bt(e,t,n);return N(e,r,0,!1),r}}(e);if(t)return t}let o=1097;(null==t?void 0:t.isVariableAnnotation)&&(o|=32768),(null==t?void 0:t.allowFinal)||(o|=16),(null==t?void 0:t.allowClassVar)||(o|=131072),(null==t?void 0:t.allowTypeVarTuple)?o|=2097152:o|=128,(null==t?void 0:t.allowParamSpec)||(o|=32),(null==t?void 0:t.associateTypeVarsWithScope)?o|=8192:o|=4096,(null==t?void 0:t.disallowRecursiveTypeAlias)&&(o|=65536),(null==t?void 0:t.allowUnpackedTypedDict)&&(o|=8388608),(null==t?void 0:t.allowUnpackedTuple)&&(o|=2097152),(null==t?void 0:t.notParsedByInterpreter)&&(o|=524288),H(s)&&(o|=4),3===(null===(n=null==e?void 0:e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.typeAnnotationComment===e?o|=524292:62===(null===(i=null==e?void 0:e.parent)||void 0===i?void 0:i.nodeType)?(e.parent.returnTypeAnnotation===e||e.parent.paramTypeAnnotations.some((t=>t===e)))&&(o|=524292):41===(null===(r=null==e?void 0:e.parent)||void 0===r?void 0:r.nodeType)&&e.parent.typeAnnotationComment===e&&(o|=524292);const a=$(e,void 0,o).type;return To(a)&&_e(s.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleAsType(),e),Fa(a)}function J(e,t){let n=Vt(e).isStubFile?4:0;9!==e.expression.nodeType&&(n|=2);const i=$(e.expression,void 0,n);if(_o(i.type)&&Zs.isBuiltIn(i.type,"classmethod")&&ua(t))return t;const r=[{argumentCategory:0,type:t}],s=et(e.expression,r,i.type,void 0,!0).returnType||Ys.create();return!Eo(s)||s.details.declaredReturnType||s.details.parameters.some(((e,t)=>!(e.name&&!e.hasDeclaredType&&(0!==e.category||0===t&&e.isTypeInferred))))?La(s)&&Eo(i.type)&&!i.type.details.parameters.find((e=>void 0!==e.typeAnnotation))&&void 0===i.type.details.declaredReturnType?t:s:t}function Y(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 0:case 1:case 2:case 4:case 3:return!0;case 9:return void 0!==Mo(e,(e=>Y(e,t)));case 5:case 6:case 8:case 10:return!1;case 7:{if(Ks.isInstantiable(e))return!1;if(pa(e)&&e.tupleTypeArguments)return da(e)||0===e.tupleTypeArguments.length;if(Zs.isBuiltIn(e,"bool")&&void 0!==e.literalValue)return!1===e.literalValue;if(Zs.isProtocolClass(e))return!0;if(_a(e,"__len__"))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!0===t.literalValue)return!1}return!0}return!1}}}function Q(e,t=0){if(t>Gs)return!0;switch(t++,e.category){case 1:case 5:case 6:case 8:case 10:case 4:case 2:return!0;case 9:return void 0!==Mo(e,(e=>Q(e,t)));case 0:case 3:return!1;case 7:{if(Ks.isInstantiable(e))return!0;if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return!1;if(!1===e.literalValue||0===e.literalValue||e.literalValue===BigInt(0)||""===e.literalValue)return!1;if(Zs.isProtocolClass(e))return!0;const t=_a(e,"__bool__");if(t){const e=Bn(t);if(Eo(e)&&e.details.declaredReturnType){const t=e.details.declaredReturnType;if(vo(t)&&Zs.isBuiltIn(t,"bool")&&!1===t.literalValue)return!1}}return!0}}}function Z(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?void 0:e;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!1)}if(Y(e))return e}))}function X(e){return Ko(e,(e=>{if(vo(e)){if(void 0!==e.literalValue)return e.literalValue?e:void 0;if(Zs.isBuiltIn(e,"bool"))return Zs.cloneWithLiteral(e,!0)}if(Q(e))return e}))}function ee(e,t,n,i={method:"get"},r,s=0,o){const a=Ne(e,Zs.cloneAsInstantiable(t),n,i,r,8|s,o);if(a)return{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}}function te(e,t,n,i={method:"get"},r,s=0,o){let a;if(Zs.isPartiallyConstructed(t))return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classDefinitionCycle().format({name:t.details.name}),e),{node:e,type:Ys.create()};if(0==(32&s)&&(a=Ne(e,t,n,i,r,1|s,o)),a&&a.classType&&a.symbol&&yo(a.classType)&&Zs.isProtocolClass(a.classType)){const t=Vo(a.symbol);t&&1===t.type&&!a.isClassVar&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.protocolMemberNotClassVar().format({memberName:n,className:a.classType.details.name}),e)}if(!a){const r=t.details.effectiveMetaclass;r&&_o(r)&&!Zs.isSameGenericClass(r,t)&&(a=Ne(e,r,n,i,void 0,s,t))}return a?{node:e,type:a.type,isIncomplete:!!a.isTypeIncomplete,isAsymmetricDescriptor:a.isAsymmetricDescriptor}:void 0}function ne(e,t,n=!1){const i=va(e,t,8);if(i){const t=Bn(i);if(Eo(t)||ko(t)){const i=ri(Zs.cloneAsInstance(e),t,void 0,void 0,void 0,n);if(i)return i}}}function ie(e,t){if(t>=e.parameters.length)return;const n=e.parameters[t];if(n.typeAnnotation)return n.typeAnnotation;if(n.typeAnnotationComment)return n.typeAnnotationComment;if(!e.functionAnnotationComment||e.functionAnnotationComment.isParamListEllipsis)return;let i=0;const r=e.functionAnnotationComment.paramTypeAnnotations;r.length=r.length?void 0:r[s]}function re(e){if(54===e.nodeType&&38===e.valueExpression.nodeType){const t=wn(e,e.valueExpression.value,!1);if(t)return void 0!==t.symbol.getDeclarations().find((e=>ss(e)))}return!1}function se(e,t){let n,i,r,s=!0;switch(e.nodeType){case 38:{const t=wn(e,e.value,!0);if(t&&(n=t.symbol,void 0===On(n)&&2===t.scope.type)){const t=Dr(e);if(t&&10===t.nodeType){const i=$t(t);if(i){const t=va(i.classType,e.value,24);t&&(n=t.symbol)}}}break}case 54:return se(e.valueExpression);case 35:{const t=Ie($(e.leftExpression,void 0,2).type);let o;vo(t)?(o=_a(t,e.memberName.value,16),i=t,r=null==o?void 0:o.classType,(null==o?void 0:o.isInstanceMember)&&(s=!1)):_o(t)&&(o=va(t,e.memberName.value,24),i=t,r=null==o?void 0:o.classType),o&&(n=o.symbol);break}case 24:{const n=se(e.baseExpression);if(n&&vo(n)){const i=va(n,"__setitem__");if(i){const t=Bn(i);if(Eo(t)){const r=ri(n,t,_o(i.classType)?i.classType:void 0,e,void 0,!1);if(r&&Eo(r)&&2===r.details.parameters.length){const e=Xs.getEffectiveParameterType(r,1);if(!ho(e))return e}}}else if(Zs.isTypedDictClass(n)){const i=vl(li,e,n,t||{method:"get"});if(i)return i.type}}break}}if(n){let t=On(n);if(t){if(ua(t)){const e=va(t,"fset"),n=e?Bn(e):void 0;if(!n||!Eo(n)||n.details.parameters.length<2)return;t=n.details.parameters[1].type}return i&&(r&&_o(r)&&(t=ha(t,r)),(Eo(t)||ko(t))&&s&&(t=ri(i,t,void 0,e))),t}}}function oe(e,t){return Ko(e,(e=>{if(ho(e))return e;if(vo(e)){const n=Ee(e,"__await__",t);if(n){if(ho(n))return n;if(vo(n)&&Ee(n,"__iter__",t)){const e=function(e){if(ho(e))return e;if(vo(e)&&Zs.isBuiltIn(e,"Generator")){const t=e.typeArguments;if(t&&t.length>=3)return t[2]}}(n);if(e)return e}}}return t&&_e(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotAwaitable().format({type:ai(e)}),t),Ys.create()}))}function ae(e,t,n){const i=t?"__aiter__":"__iter__",r=t?"__anext__":"__next__";let s=!0;Go(e=Ie(e))&&(n&&_e(Vt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const o=Ko(e,(e=>{if(ho(e=Ie(e)))return e;const o=new il;if(yo(e)){let s;if(Ks.isInstance(e)){if(pa(e)&&e.tupleTypeArguments&&0===e.tupleTypeArguments.length)return no.createNever();s=Ee(e,i,n)}else Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(s=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e));if(s){const e=new il,a=Se(s,void 0,(s=>{if(ho(s))return s;if(vo(s)){const i=Ee(s,r,n);if(i)return t?oe(i,n):i;e.addMessage(ml.Diagnostic.methodNotDefinedOnType().format({name:r,type:ai(s)}))}else e.addMessage(ml.Diagnostic.methodReturnsNonObject().format({name:i}))}));if(e.isEmpty())return a;o.addAddendum(e)}else{if(vo(e)){const t=Ee(e,"__getitem__",n);if(t)return t}o.addMessage(ml.Diagnostic.methodNotDefined().format({name:i}))}}n&&_e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)})+al(o),n),s=!1}));return s?o:void 0}function le(e,t,n){const i=t?"__aiter__":"__iter__";let r=!0;Go(e=Ie(e))&&(n&&_e(Vt(n).diagnosticRuleSet.reportOptionalIterable,$o.reportOptionalIterable,ml.Diagnostic.noneNotIterable(),n),e=Fo(e));const s=Ko(e,(e=>{if(ho(e))return e;if(yo(e)){let t;if(Ks.isInstance(e)?t=Ee(e,i,n):Ks.isInstantiable(e)&&e.details.effectiveMetaclass&&_o(e.details.effectiveMetaclass)&&(t=Ee(Zs.cloneAsInstance(e.details.effectiveMetaclass),i,n,e)),t)return Ie(t)}n&&_e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotIterable().format({type:ai(e)}),n),r=!1}));return r?s:void 0}function ce(e,t){return ue(e,t,["typing"])}function ue(t,n,i){const r=Vt(t),s=e({nameParts:i,importingFilePath:r.filePath});if(!s)return;const o=s.symbolTable.get(n);return o?Nn(o):void 0}function pe(e,t){const n=Lt(e);if(!n)return!!e.parent&&pe(e.parent,t);const i=t?Lt(t):void 0;return!!ci.isFlowNodeReachable(n,i)}function de(e){const t=function(e){return e.afterFlowNode}(e);return!!t&&!!ci.isFlowNodeReachable(t)&&!!function(e,t){return void 0!==vn(yn(e.id),t,void 0,void 0,Js.create(),!1).type}(e,t)}function he(e,t,n=!0){const i=Lt(e),r=Lt(t);return!(!i||!r)&&(i===r?n:ci.isFlowNodeReachable(r,i))}function me(e,t,n){return ge("information",e,t,n)}function fe(e,t,n){return ge("error",e,t,n)}function ge(e,t,n,i){if(!ye(n))return Vt(n).diagnosticSink.addDiagnosticWithTextRange(e,t,i||n)}function ye(e){return p.some((t=>Mr(e,t)))||c.isSpeculative(e)||d.isUndoTrackingEnabled()}function _e(e,t,n,i){if("none"===e)return;const r=ge(e,n,i);return r&&r.setRule(t),r}function ve(e,t){const n=Vt(t),i=new il;fo(e)&&Jo(e,(e=>{Ks.isInstantiable(e)||i.addMessage(ml.DiagnosticAddendum.typeNotClass().format({type:ai(e)}))})),_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeExpectedClass().format({type:ai(e)})+i.getString(),t)}function Te(e,t,n,i,r=!1,s){const o=e.value,a=wn(e,o,!1);if(!a)return;const l=a.symbol.getDeclarations();let c=On(a.symbol);const u=Vt(e);if(void 0===c&&2===a.scope.type){const t=Er(e);if(t){const n=$t(t);if(n){const t=va(n.classType,e.value,1);(null==t?void 0:t.isTypeDeclared)&&(c=Bn(t))}}}let p=t;if(c&&i){let n=new il;Jn(c,t,n)?p=ni(c,t):(s&&(n=s),_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(c)})+n.getString(),i||e),p=c)}else{const t=zs(e);2===(null==t?void 0:t.type)&&(!Ks.isInstance(p)||Zt(o)||Wo(a.symbol)||(p=Qo(p)))}const d=l.find((e=>1===e.type));d&&1===d.type&&i&&(d.isConstant?e!==l[0].node&&_e(u.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:o}),e):d.isFinal&&!r&&_e(u.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.finalReassigned().format({name:o}),e)),N(e,p,0,n,void 0,!1)}function be(e,t,n,i,r){const s=e.memberName.value,o=Vt(e),a=Er(e);if(!a)return;const l=$t(a);if(l&&_o(l.classType)){let a=va(l.classType,s,i?0:8);const c=l.classType.details.fields;if(a){const n=_o(a.classType)?a.classType:void 0,u=n&&Zs.isSameGenericClass(l.classType,n);if(u&&i&&(null==n?void 0:n.details.inheritedSlotsNames)&&(null==n?void 0:n.details.localSlotsNames)&&n.details.localSlotsNames.length>0&&!n.details.inheritedSlotsNames.some((e=>e===s))){const t=On(a.symbol);t&&ua(t)||_e(o.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.slotsAttributeError().format({name:s}),e.memberName)}if(u&&a.isInstanceMember===i){const t=c.get(s);w(void 0!==t);const n=t.getDeclarations();n.length>0&&1===n[0].type&&r&&e.memberName!==n[0].node&&n[0].isConstant&&_e(o.diagnosticRuleSet.reportConstantRedefinition,$o.reportConstantRedefinition,ml.Diagnostic.constantRedefinition().format({name:e.memberName.value}),e.memberName)}else{const n=On(a.symbol);n&&!ua(n)&&!a.isInstanceMember&&i&&(we(o,a.symbol,e.memberName),t=Oo([t,Bn(a)]))}}a=va(l.classType,s,16),a||!r||n||xt(o.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,t,e,!0)}}function Ie(e,t){return Ko(e,(e=>{if(wo(e)){if("args"===e.paramSpecAccess)return T&&_o(T)&&y&&vo(y)?Zs.cloneAsInstance(Va(T,[{type:y,isUnbounded:!0}])):Ys.create();if("kwargs"===e.paramSpecAccess)return S&&_o(S)&&I&&_o(I)&&y&&vo(y)?Zs.cloneAsInstance(Zs.cloneForSpecialization(S,[Fa(I),y],!0)):Ys.create()}if(Io(e)&&T&&_o(T))return Fa(Va(T,[],!0,!0,!0));if(bo(e)&&!e.details.recursiveTypeAliasName){if(e.details.boundType){const t=Ks.isInstantiable(e)?Na(e.details.boundType):e.details.boundType;return e.details.isSynthesized?t:Zo(t,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}if(e.details.recursiveTypeAliasName)return e;if(e.details.constraints.length>0){const n=[];return e.details.constraints.forEach(((i,r)=>{if(t){const n=oo.getNameWithScope(e),i=t.find((e=>e.typeVarName===n));if(i&&i.constraintIndex!==r)return}Ks.isInstantiable(e)&&(i=Na(i)),n.push(Zo(i,[{typeVarName:oo.getNameWithScope(e),constraintIndex:r,isConstrainedTypeVar:!0}]))})),Oo(n)}if(e.details.isExemptFromBoundCheck)return io.create();if(Ks.isInstantiable(e)){if(_&&_o(_))return e.details.isSynthesized?_:Zo(Zs.cloneAsInstance(_),[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}])}else if(y)return e.details.isSynthesized?y:Zo(y,[{typeVarName:oo.getNameWithScope(e),constraintIndex:0,isConstrainedTypeVar:!1}]);return io.create()}return e}))}function Se(e,t,n){const i=[];let r=!1;const s=e=>{let s=fo(e)?e:Ie(e);s=ta(s),Jo(s,(s=>{var o;if(t&&!ro.isCompatible(Xo(s),t))return;let a=n(s,e);if(a!==e&&(r=!0),a){const e=null===(o=Xo(s))||void 0===o?void 0:o.filter((e=>e.isConstrainedTypeVar));e&&e.length>0&&(a=Zo(a,e)),i.push(a)}}))};if(fo(e)?e.subtypes.forEach((e=>{s(e)})):s(e),!r)return e;const o=Oo(i);return 9===o.category&&so.addTypeAliasSource(o,e),o}function xe(e,t,n,i,r=!1,s=!1,o){if(bo(t)&&i&&9===i.nodeType){const n=$(i.leftExpression,void 0,2).type;_o(n)&&(Zs.isBuiltIn(n,"TypeVar")||Zs.isBuiltIn(n,"TypeVarTuple")||Zs.isBuiltIn(n,"ParamSpec"))&&(38===e.nodeType&&e.value===t.details.name||fe(t.details.isParamSpec?ml.Diagnostic.paramSpecAssignedName().format({name:oo.getReadableName(t)}):ml.Diagnostic.typeVarAssignedName().format({name:oo.getReadableName(t)}),e))}switch(t=Ro(t),e.nodeType){case 38:n||xt(Vt(e).diagnosticRuleSet.reportUnknownVariableType,$o.reportUnknownVariableType,e,t,e,r),Te(e,t,n,i,s,o);break;case 35:!function(e,t,n,i,r){const s=$(e.leftExpression,void 0,2),o=Ie(s.type);if(38===e.leftExpression.nodeType){const r=Er(e);if(r){const s=$t(r);if(s&&_o(s.classType)&&(vo(o)?Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!0,i):_o(o)&&Zs.isSameGenericClass(o,s.classType)&&be(e,t,n,!1,i),Zs.isProtocolClass(s.classType))){const t=s.classType.details.fields.get(e.memberName.value);t&&0===t.getDeclarations().filter((e=>!kr(e.node))).length&&fe(ml.Diagnostic.assignmentInProtocol(),e.memberName)}}}var l;Fe(e,s,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:r},0).isAsymmetricDescriptor&&(l=e,c.isSpeculative(void 0)||a.add(l.id)),N(e.memberName,t,0,n,void 0,!1),N(e,t,0,n,void 0,!1)}(e,t,n,i,o);break;case 24:{const r=$(e.baseExpression,void 0,2);Le(e,r.type,{method:"set",setType:t,setErrorNode:i,setExpectedTypeDiag:o},0),N(e,t,0,n);break}case 31:case 52:!function(e,t,n,i){const r=31===e.nodeType?e.entries:e.expressions,s=new Array(r.length);for(let e=0;e56===e.nodeType)),a=r.findIndex((e=>56===e.nodeType));t=Ie(t);const l=new il;if(Jo(t,(t=>{const n=ia(t);if(n&&n.tupleTypeArguments){const i=n.tupleTypeArguments.map((e=>Zo(e.type,Xo(t)))),c=n.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(c>=0)if(i.length>s.length)i.splice(c,1);else if(i.length0?i[c]:io.create();for(;i.length=0)if(i.length>s.length){let t=Oo(i.splice(o,i.length-s.length+1));31===e.nodeType&&(t=Qo(t)),i.splice(o,0,t)}else i.length===s.length-1&&i.splice(o,0,no.createNever());if(i.forEach(((e,t)=>{t=0?r.length-1:r.length,s=l.createAddendum();s.addMessage((31===e.nodeType?ml.DiagnosticAddendum.listAssignmentMismatch():ml.DiagnosticAddendum.tupleAssignmentMismatch()).format({type:ai(t)})),s.createAddendum().addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:n,received:i.length}))}}else{const e=ae(t,!1,i)||Ys.create();for(let n=0;n{const r=s[t];xe(e,0===r.length?Ys.create():Oo(r),n,i,!0)})),N(e,t,0,n)}(e,t,n,i);break;case 54:{const n=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});vo(n)&&(Zs.isBuiltIn(n,"Final")||Zs.isBuiltIn(n,"ClassVar"))||vo(n)&&Zs.isBuiltIn(n,"TypeAlias")||Jn(n,t)&&(vo(t)&&Zs.isEnumClass(t)||(t=ni(n,t))),xe(e.valueExpression,t,!1,i,r,s,o);break}case 56:38===e.expression.nodeType&&Te(e.expression,Cn(e.expression,"list",[t]),!1,i);break;case 0:e.child&&En(e.child,(()=>{$(e.child)}));break;default:fe(ml.Diagnostic.assignmentTargetExpr(),e)}}function Ce(e){switch(e.nodeType){case 38:$(e);break;case 35:{const t=$(e.leftExpression),n=Fe(e,t,{method:"del"},0);N(e.memberName,n.type,0,!1),N(e,n.type,0,!1);break}case 24:{const t=$(e.baseExpression,void 0,2);Le(e,t.type,{method:"del"},0),N(e,Js.create(),0,!1);break}case 52:e.expressions.forEach((e=>{Ce(e)}));break;case 0:e.child&&En(e.child,(()=>{$(e.child,void 0)}));break;default:_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.delTargetExpr(),e)}}function we(e,t,n){c.isSpeculative(n)||d.isUndoTrackingEnabled()||e.accessedSymbolMap.set(t.id,!0)}function Ee(e,t,n,i){const r=_a(e,t,8);if(!r)return;const s=Bn(r);if(ho(s))return s;if(Eo(s)){const t=ri(i||e,s,r&&_o(r.classType)?r.classType:void 0,n,void 0,!1,i);if(t)return Un(t)}}function ke(e,t,n){var i;if(Ks.isInstantiable(t)&&!ea(t)){const r=function(e,t){var n;let i=e,r=0;for(w(Ks.isInstantiable(t));i&&(i=Pr(i,35===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)),i);){let e;if(10===i.nodeType){const t=$t(i);t&&(e=t.classType.details.typeParameters),r++}else if(28===i.nodeType){const t=Gt(i);t&&(e=[],t.functionType.details.parameters.forEach((t=>{t.hasDeclaredType&&Ia(e,Sa(t.type))})),t.functionType.details.declaredReturnType&&Ia(e,Sa(t.functionType.details.declaredReturnType)))}else if(36===i.nodeType)break;if(e){const n=e.find((e=>e.details.name===t.details.name));if(n&&n.scopeId)return{type:r>1?t:Na(n),foundInterveningClass:r>1}}i=i.parent}for(i=e;i;){if(3===i.nodeType){const e=F(i.leftExpression,0);if(e&&bo(e)&&e.details.recursiveTypeAliasScopeId&&e.details.recursiveTypeAliasName)return{type:oo.cloneForScopeId(t,e.details.recursiveTypeAliasScopeId,e.details.recursiveTypeAliasName,2),foundInterveningClass:!1}}i=i.parent}return{type:t,foundInterveningClass:!1}}(e,t);if(t=r.type,0!=(2048&n)&&void 0!==t.scopeId)t.details.isSynthesized||t.details.isParamSpec||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else if(0!=(8192&n)){if(void 0===t.scopeId)if(r.foundInterveningClass)_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarUsedByOuterScope().format({name:t.details.name}),e);else{let n=Dr(e);if(n&&35===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.leftExpression===e){const i=e.parent.memberName.value;if("args"===i||"kwargs"===i){const i=Dr(n);28===(null==i?void 0:i.nodeType)?n=i:r.type.scopeId||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotUsedByOuterScope().format({name:t.details.name}),e)}}n?t=oo.cloneForScopeId(t,Pe(n),n.name.value,28===n.nodeType?1:0):E("AssociateTypeVarsWithCurrentScope flag was set but enclosing scope not found")}}else if(0!=(4096&n)&&(void 0===t.scopeId||r.foundInterveningClass)&&!t.details.isSynthesized){const n=wo(t)?ml.Diagnostic.paramSpecNotUsedByOuterScope():ml.Diagnostic.typeVarNotUsedByOuterScope();_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,n.format({name:t.details.name}),e)}}return t.isVariadicUnpacked&&(t=oo.cloneForPacked(t)),t}function Ae(e,t,n){return 0==(2&n)&&(_o(t)&&(0!=(64&n)&&((i=t).details.typeParameters.length>0?!i.details.typeParameters[0].details.isSynthesized:!(!Zs.isSpecialBuiltIn(i)||!["Tuple","Callable","Generic","Type","Optional","Union","Literal","Annotated","TypeGuard","StrictTypeGuard"].some((e=>e===(i.aliasName||i.details.name)))))&&!t.typeArguments&&_e(Vt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForClass().format({name:t.aliasName||t.details.name}),e),t.typeArguments||(t=Tn(t,void 0,n,e))),0!=(64&n)&&t.typeAliasInfo&&t.typeAliasInfo.typeParameters&&t.typeAliasInfo.typeParameters.length>0&&!t.typeAliasInfo.typeArguments&&(_e(Vt(e).diagnosticRuleSet.reportMissingTypeArgument,$o.reportMissingTypeArgument,ml.Diagnostic.typeArgsMissingForAlias().format({name:t.typeAliasInfo.name}),e),t=Ks.cloneForTypeAlias(t,t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,t.typeAliasInfo.typeParameters.map((e=>Ys.create()))))),t;var i}function Pe(e){let t="";return(10===e.nodeType||28===e.nodeType)&&(t=e.name.value),`${Vt(e).filePath}.${e.start.toString()}-${t}`}function Re(e){const t=[];let n=e;for(;n&&(n=Pr(n),n);)t.push(Pe(n)),n=n.parent;return t}function Fe(e,n,i,r){var s;let o=n.type;const a=e.memberName.value;let l=new il;const c=Vt(e);let u,p,d=!!n.isIncomplete;if(n.isIncomplete&&mo(n.type))return{type:Ys.create(),node:e,isIncomplete:!0};fo(o)&&Ks.isSpecialForm(o)&&y&&(o=y);const h=()=>{if(f&&_o(f))return ee(e.memberName,f,a,i,l,void 0,n.bindToType)};switch(wo(o)&&o.paramSpecAccess&&(o=Ie(o)),o.category){case 2:case 1:u=o;break;case 4:u=Ys.create();break;case 10:if(o.details.isParamSpec){if("args"===a){const t=jr(e);return t&&1===t.category?{type:oo.cloneForParamSpecAccess(o,"args"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecArgsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}if("kwargs"===a){const t=jr(e);return t&&2===t.category?{type:oo.cloneForParamSpecAccess(o,"kwargs"),node:e,isIncomplete:d}:(fe(ml.Diagnostic.paramSpecKwargsUsage(),e),{type:Ys.create(),node:e,isIncomplete:d})}return d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecUnknownMember().format({name:a}),e),{type:Ys.create(),node:e,isIncomplete:d}}return 64&r?(d||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNoMember().format({type:ai(o),name:a}),e.leftExpression),{type:Ys.create(),node:e,isIncomplete:d}):o.details.recursiveTypeAliasName?{type:Ys.create(),node:e,isIncomplete:!0}:Fe(e,{type:Ie(o),node:e,bindToType:o,isIncomplete:d},i,0);case 7:if(Ks.isInstantiable(o)){const t=te(e.memberName,o,a,i,l,0,n.bindToType);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else if(Zs.isBuiltIn(o,"type")&&y&&vo(y)&&!n.isSuperCall){const t=te(e.memberName,Zs.cloneAsInstantiable(y),a,i,l,0,n.bindToType?Fa(n.bindToType):void 0);u=null==t?void 0:t.type,(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}else{if(Zs.isBuiltIn(o,"LiteralString")&&I&&_o(I)&&(o=Zs.cloneAsInstance(I)),Zs.isEnumClass(o)){const t=o.literalValue;if(t instanceof Hs)if("name"===a||"_name_"===a){const n=xn(e,"str");if(_o(n))return{node:e,type:Zs.cloneAsInstance(Zs.cloneWithLiteral(n,t.itemName)),isIncomplete:d}}else if("value"===a||"_value_"===a)return{node:e,type:t.itemType,isIncomplete:d}}const t=ee(e.memberName,o,a,i,l,void 0,n.bindToType);t&&(u=Zo(t.type,Xo(o))),(null==t?void 0:t.isIncomplete)&&(d=!0),(null==t?void 0:t.isAsymmetricDescriptor)&&(p=!0)}break;case 8:{const n=Qs.getField(o,a);if(n&&!n.isExternallyHidden())"get"===i.method&&we(Vt(e),n,e.memberName),u=Mn(n,void 0,!0).type,bo(u)&&(u=ke(e,u,r)),mo(u)&&(u=Ys.create()),n.isPrivateMember()&&_e(Vt(e).diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:a}),e.memberName),n.isPrivatePyTypedImport()&&_e(Vt(e).diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:a,module:o.moduleName}),e.memberName);else{if("get"===i.method){const e=Qs.getField(o,"__getattr__");if(e&&(c.executionEnvironment.pythonVersion>=De.V3_7||e.getDeclarations().some((e=>e.path.toLowerCase().endsWith(".pyi"))))){const t=Mn(e);Eo(t.type)&&(u=Un(t.type),t.isIncomplete&&(d=!0))}}u||(d||_e(c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleUnknownMember().format({name:a,module:o.moduleName}),e.memberName),u=t.evaluateUnknownImportsAsAny?io.create():Ys.create())}break}case 9:u=Ko(o,(t=>{if(lo(t)){const t=h();return t?(u=Zo(t.type,Xo(o)),t.isIncomplete&&(d=!0),u):void(d||_e(Vt(e).diagnosticRuleSet.reportOptionalMemberAccess,$o.reportOptionalMemberAccess,ml.Diagnostic.noneUnknownMember().format({name:a}),e.memberName))}if(!mo(t)){const r=Fe(e,{type:t,node:e,isIncomplete:n.isIncomplete},i,0);return r.isIncomplete&&(d=!0),r.type}}));break;case 5:case 6:if("__defaults__"===a)u=io.create();else if("__self__"===a){const e=Eo(o)?o:o.overloads[0];void 0!==e.preBoundFlags&&0==(4&e.preBoundFlags)&&(u=e.boundToType)}else u=v?Fe(e,{type:v,node:e},i,r).type:io.create();break;case 3:{const e=h();e&&(u=Zo(e.type,Xo(o)),e.isIncomplete&&(d=!0));break}default:l.addMessage(ml.DiagnosticAddendum.typeUnsupported().format({type:ai(o)}))}if(!u){const t=Eo(o)||ko(o)||vo(o)&&Zs.isBuiltIn(o,"function");if(!n.isIncomplete){let n=ml.Diagnostic.memberAccess();"set"===i.method?n=ml.Diagnostic.memberSet():"del"===i.method&&(n=ml.Diagnostic.memberDelete()),i.setExpectedTypeDiag&&(l=i.setExpectedTypeDiag);const[r,s]=t?[c.diagnosticRuleSet.reportFunctionMemberAccess,$o.reportFunctionMemberAccess]:[c.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues];_e(r,s,n.format({name:a,type:ai(o)})+al(l),e.memberName)}u=t?io.create():Ys.create()}if(0==(2&r)&&_o(u)&&!u.typeArguments&&(u=Tn(u,void 0,r,e)),"get"===i.method){let t=d;if(_o(u)){const n=function(e,t){let n=e;for(;n;){if(n.nodeType===t)return n;n=n.parent}}(e,1);n&&9===(null===(s=null==n?void 0:n.parent)||void 0===s?void 0:s.nodeType)&&(t=!0)}t||xt(c.diagnosticRuleSet.reportUnknownMemberType,$o.reportUnknownMemberType,e.memberName,u,e,!1)}return{type:u,node:e,isIncomplete:d,isAsymmetricDescriptor:p}}function Ne(e,t,n,i,r,s,o){var a;let l=0;1&s&&(l|=8),2&s&&(l|=2),4&s&&(l|=4),256&s&&(l|=32),128&s&&(l|=1);let c=va(t,n,16|l);if(c||(c=va(t,n,l)),c){let l,u=!1;if(c.symbol.isInitVar())return void(r&&r.addMessage(ml.DiagnosticAddendum.memberIsInitVar().format({name:n})));if("get"!==i.method){const n=Er(e);if(n){const e=null===(a=$t(n))||void 0===a?void 0:a.classType;e&&_o(e)&&Zs.isSameGenericClass(e,t)&&(l=On(c.symbol)||Ys.create(),l&&_o(c.classType)&&(l=ha(l,c.classType)))}}if(!l){const n=function(e,t,n){if(_o(t.classType)){const i=Mn(t.symbol);if(i)return Ln(i.type),{node:e,type:ha(i.type,t.classType,n),isIncomplete:!!i.isIncomplete}}}(e,c,o?void 0:t);n?(l=n.type,n.isIncomplete&&(u=!0)):l=Ys.create()}if(Zs.isTypedDictClass(t)){const e=c.symbol.getTypedDeclarations();if(e.length>0&&1===e[0].type)return void(r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n})))}"get"===i.method&&_o(c.classType)&&Zs.isSameGenericClass(c.classType,t)&&we(Vt(e),c.symbol,e);const p=function(e,t,n,i,r,s,o,a,l,c){const u=0!=(16&s);let p=!0,d=!1;if(e=Ko(e,(e=>{const h=Ie(e);if(yo(h)){let e=h,u=!1;if(Ks.isInstantiable(h)&&(h.details.effectiveMetaclass&&_o(h.details.effectiveMetaclass)&&(r||"get"===l.method)?(e=Fa(h.details.effectiveMetaclass),u=!0):e=void 0),e){let m;m="get"===l.method?"__get__":"set"===l.method?"__set__":"__delete__";const f=va(e,m,8);if(Zs.isPropertyClass(e))if("set"===l.method){if(!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingSetter().format({name:a})),void(p=!1)}else if("del"===l.method&&!f)return c&&c.addMessage(ml.DiagnosticAddendum.propertyMissingDeleter().format({name:a})),void(p=!1);if(f){let a=Bn(f);const g=[{argumentCategory:0,type:Zs.isClassProperty(e)?n:r?i||Zs.cloneAsInstance(n):to.createInstance()}];if("get"===l.method?g.push({argumentCategory:0,type:n}):"set"===l.method&&g.push({argumentCategory:0,type:l.setType||Ys.create()}),Zs.isPropertyClass(e)&&t&&_o(t.classType)&&(Ln(a),a=ha(a,t.classType),0!=(1&s)&&Zs.isProtocolClass(n)&&(c&&c.addMessage(ml.DiagnosticAddendum.propertyAccessFromProtocolClass()),p=!1)),a&&(Eo(a)||ko(a))){const n=a,i=En(o,(()=>{let i;Zs.isPropertyClass(h)&&!u?t&&_o(t.classType)&&(i=t.classType):_o(f.classType)&&(i=f.classType);const r=ri(e,n,i,o,void 0,void 0,u?h:void 0);if(r&&(Eo(r)||ko(r))){const e=new jo(na(r));i&&e.addSolveForScope(na(i));const t=et(o,g,r,e,!0);if(t.argumentErrors){if("set"===l.method)if(l.setType&&Eo(r)&&r.details.parameters.length>=2){const e=Xs.getEffectiveParameterType(r,1);null==c||c.addMessage(ml.DiagnosticAddendum.typeIncompatible().format({destType:ai(e),sourceType:ai(l.setType)}))}else ko(r)&&(null==c||c.addMessage(ml.Diagnostic.noOverload().format({name:m})));return p=!1,io.create()}return"get"===l.method?t.returnType||Ys.create():io.create()}}));if("set"===l.method&&yo(f.classType)&&function(e){var t;if(void 0!==e.isAsymmetricDescriptor)return e.isAsymmetricDescriptor;let n=!1;const i=va(e,"__get__",2),r=va(e,"__set__",2);if(i&&r){const e=Nn(i.symbol),s=Nn(r.symbol);Eo(e)&&Eo(s)&&s.details.parameters.length>=3&&e.details.declaredReturnType&&(Ao(Xs.getEffectiveParameterType(s,2),null!==(t=Xs.getSpecializedReturnType(e))&&void 0!==t?t:Ys.create())||(n=!0))}else n=!1;return e.isAsymmetricDescriptor=n,n}(f.classType)&&(d=!0),i)return i}}}}else if((Eo(h)||ko(h))&&(!r||t&&!t.isInstanceMember))return ri(r?Zs.cloneAsInstance(n):n,h,t&&_o(t.classType)?t.classType:void 0,o,void 0,u,i);if("set"===l.method){if((null==t?void 0:t.symbol.isClassVar())&&8&s)return c&&c.addMessage(ml.DiagnosticAddendum.memberSetClassVar().format({name:a})),void(p=!1);const e=null==t?void 0:t.symbol.getDeclarations().find((e=>rs(e)));if(e&&!Mr(o,e.node)){const e=kr(o);if(!e||"__init__"!==e.name.value)return c&&c.addMessage(ml.Diagnostic.finalReassigned().format({name:a})),void(p=!1)}if((null==t?void 0:t.isInstanceMember)&&yo(t.classType)&&Zs.isReadOnlyInstanceVariables(t.classType))return c&&c.addMessage(ml.DiagnosticAddendum.readOnlyAttribute().format({name:a})),void(p=!1);let n=!1;if((t&&t.symbol.hasTypedDeclarations()||t&&!t.symbol.getDeclarations().some((e=>e.node===o)))&&(n=!0),n){let e=h;return r&&!t.isInstanceMember&&Eo(h)&&(Xs.isClassMethod(h)||Xs.isInstanceMethod(h))&&(e=Xs.clone(h,!0)),e}}return e})),p)return{type:e,isAsymmetricDescriptor:d}}(l,c,t,o,0==(1&s),s,e,n,i,r);if(!p)return;if(l=p.type,"set"===i.method&&i.setType){if(!Jn(l,i.setType,null==r?void 0:r.createAddendum()))return void(r&&r.addMessage(ml.DiagnosticAddendum.memberAssignment().format({type:ai(i.setType),name:n,classType:oi(t)})));if(_o(c.classType)&&Zs.isFrozenDataClass(c.classType)&&0==(1&s))return void(r&&r.addMessage(ml.DiagnosticAddendum.dataClassFrozen().format({name:ai(Zs.cloneAsInstance(c.classType))})))}return{symbol:c.symbol,type:l,isTypeIncomplete:u,isClassMember:!c.isInstanceMember,isClassVar:c.isClassVar,classType:c.classType,isAsymmetricDescriptor:p.isAsymmetricDescriptor}}if(0==(65&s)){const r=function(e,t,n,i){var r,s,o,a;if("get"===n.method){let n=null===(r=te(t,e,"__getattribute__",{method:"get"},void 0,68))||void 0===r?void 0:r.type;if(n||(n=null===(s=te(t,e,"__getattr__",{method:"get"},void 0,68))||void 0===s?void 0:s.type),n&&ko(n)){let e=io.create();I&&_o(I)&&(e=Zs.cloneWithLiteral(Zs.cloneAsInstance(I),i)),n=Ge(t,n,[{argumentCategory:0,type:io.create()},{argumentCategory:0,type:e}])}if(n&&Eo(n))return Un(n)}else if("set"===n.method){if(null===(o=te(t,e,"__setattr__",{method:"get"},void 0,68))||void 0===o?void 0:o.type)return io.create()}else if(w("del"===n.method),null===(a=te(t,e,"__detattr__",{method:"get"},void 0,68))||void 0===a?void 0:a.type)return io.create()}(t,e,i,n);if(r)return{symbol:void 0,type:r,isTypeIncomplete:!1,isClassMember:!1,isClassVar:!1,isAsymmetricDescriptor:!1}}r&&r.addMessage(ml.DiagnosticAddendum.memberUnknown().format({name:n}))}function Me(e,t,n){const i=t.findIndex((e=>Io(e)));if(i>=0&&T&&_o(T))if(i{Et(e,{allowEmptyTuple:0===t,allowVariadicTypeVar:!0,allowUnpackedTuples:!0})}));const r=[];1===n.length&&n[0].isEmptyTupleShorthand||n.forEach((e=>{xo(e.type)&&e.type.tupleTypeArguments?r.push(...e.type.tupleTypeArguments):r.push({type:Fa(e.type),isUnbounded:!1})}));const s=Fa(Va(T,r,!0,!0,!0));e=[...e.slice(0,i),{node:e[i].node,type:s},...e.slice(i+1+e.length-t.length,e.length)]}}else e.push({node:n,type:Fa(Va(T,[],!0,!0,!0))});return e}function Oe(e,t){return!!e.isVariadicUnpacked||(fe(ml.Diagnostic.unpackedTypeVarTupleExpected().format({name1:e.details.name,name2:e.details.name}),t),!1)}function Le(e,t,n,i){const r=function(e,t,n){var i,r;if(!(null===(i=t.typeAliasInfo)||void 0===i?void 0:i.typeParameters)||0===t.typeAliasInfo.typeParameters.length&&t.typeAliasInfo.typeArguments)return;if(!Ks.isInstantiable(t))return;if(t.typeAliasInfo.typeArguments)return;const s=t.typeAliasInfo.typeParameters;let o=Me(Be(e,n),s,e);1===s.length&&s[0].details.isParamSpec&&o&&o.every((e=>!ca(e.type)&&!e.typeList&&!wo(e.type)))&&(o=[{type:Ys.create(),node:o[0].node,typeList:o}]),o.length>s.length&&!s.some((e=>e.details.isVariadic))&&fe(ml.Diagnostic.typeArgsTooMany().format({name:ai(t),expected:s.length,received:o.length}),o[s.length].node);const a=new jo(t.typeAliasInfo.typeVarScopeId),l=new il;s.forEach(((e,t)=>{if(e.details.isParamSpec&&t{Xs.addParameter(n,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),Kn(e,n,l,a)}else if(wo(o[t].type))Kn(e,Fa(o[t].type),l,a);else if(ca(o[t].type)){const t=Xs.createInstantiable("","","",98304);Ks.setSpecialForm(t),Xs.addDefaultParameters(t),Kn(e,t,l,a)}else fe(ml.Diagnostic.typeArgListExpected(),o[t].node);else t{let t;if(wo(e)){const n=a.getParamSpec(e);t=n?Ja(n):Ys.create()}else t=a.getTypeVarType(e);c.push(t||Ys.create())})),{type:Ks.cloneForTypeAlias(fa(t,a),t.typeAliasInfo.name,t.typeAliasInfo.fullName,t.typeAliasInfo.typeVarScopeId,t.typeAliasInfo.typeParameters,c),node:e}}(e,t,i);if(r)return r;if(ea(t)){const n=Be(e,i).map((e=>Fa(e.type)));return{type:Ks.cloneForTypeAlias(t,t.details.recursiveTypeAliasName,"",t.details.recursiveTypeAliasScopeId,void 0,n),node:e}}let s=!1;const o=Se(t,void 0,((t,r)=>{var o;if(ho(t))return t;if(64&i&&bo(r))return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarNotSubscriptable().format({type:ai(r)}),e.baseExpression),Be(e,i,!1,!1),Ys.create();if(_o(t)){if(t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&!Zs.isBuiltIn(t.details.effectiveMetaclass,"type")&&te(e,t,qe(n),void 0,void 0,96))return Ve(e,t,n).type;if("set"===n.method?fe(ml.Diagnostic.genericClassAssigned(),e.baseExpression):"del"===n.method&&fe(ml.Diagnostic.genericClassDeleted(),e.baseExpression),Zs.isSpecialBuiltIn(t,"Literal"))return function(e,t){if(0===e.items.length)return fe(ml.Diagnostic.literalEmptyArgs(),e.baseExpression),Ys.create();const n=[];for(const t of e.items){let i;const r=t.valueExpression;if(0!==t.argumentCategory)fe(ml.Diagnostic.unpackedArgInTypeArgument(),r),i=Ys.create();else if(t.name)fe(ml.Diagnostic.keywordArgInTypeArgument(),r),i=Ys.create();else if(48===r.nodeType){i=Nt(e,0!=(32&r.strings[0].token.flags)?"bytes":"str",r.strings.map((e=>e.value)).join(""))}else 40===r.nodeType?!r.isImaginary&&r.isInteger&&(i=Nt(e,"int",r.value)):11===r.nodeType?33===r.constType?i=Nt(e,"bool",!0):15===r.constType?i=Nt(e,"bool",!1):26===r.constType&&(i=to.createType()):55===r.nodeType&&33===r.operator&&40===r.expression.nodeType&&!r.expression.isImaginary&&r.expression.isInteger&&(i=Nt(e,"int",-r.expression.value));if(!i){const e=$(r);if(vo(e.type)&&Zs.isEnumClass(e.type)&&void 0!==e.type.literalValue)i=Zs.cloneAsInstantiable(e.type);else{let t=!0;Jo(e.type,(e=>{_o(e)&&void 0!==e.literalValue||(t=!1)})),t&&(i=e.type)}}i||(fe(ml.Diagnostic.literalUnsupportedType(),t),i=Ys.create()),n.push(i)}return Oo(n)}(e);if(Zs.isBuiltIn(t,"InitVar")){const t=Be(e,i);return 1===t.length?t[0].type:(fe(ml.Diagnostic.typeArgsMismatchOne().format({received:t.length}),e.baseExpression),Ys.create())}if(Zs.isEnumClass(t))return Zs.cloneAsInstance(t);const r=_o(t)&&Zs.isBuiltIn(t,"Annotated"),s=_o(t)&&Zs.hasCustomClassGetItem(t),a=(null===(o=t.details.typeParameters)||void 0===o?void 0:o.length)>0||Zs.isSpecialBuiltIn(t)||Zs.isBuiltIn(t,"type")||Zs.isPartiallyConstructed(t),l=_o(t)&&Zs.isBuiltIn(t,"Final"),c=_o(t)&&Zs.isBuiltIn(t,"ClassVar");let u=Be(e,i,r,s||!a,l,c);return r||(u=Me(u,t.details.typeParameters,e)),s?t:t.typeArguments?(fe(ml.Diagnostic.classAlreadySpecialized().format({type:ai(Fa(t),!0)}),e.baseExpression),t):Tn(t,u,i,e)}if(vo(t)){const i=Ve(e,t,n);return i.isIncomplete&&(s=!0),i.type}return ao(t)?Ys.create():lo(t)?(_e(Vt(e).diagnosticRuleSet.reportOptionalSubscript,$o.reportOptionalSubscript,ml.Diagnostic.noneNotSubscriptable(),e.baseExpression),Ys.create()):(mo(t)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSubscriptable().format({type:ai(t)}),e.baseExpression),Ys.create())}));return e.items.forEach((e=>{R(e.valueExpression)||$(e.valueExpression,void 0,4&i)})),{type:o,node:e,isIncomplete:s}}function Ue(e,t=!1){return T&&_o(T)?Fa(Va(T,e.map((e=>({type:e,isUnbounded:t}))))):Ys.create()}function qe(e){return"get"===e.method?"__getitem__":"set"===e.method?"__setitem__":(w("del"===e.method),"__delitem__")}function Ve(e,t,n){var i,r;if(vo(t)&&Zs.isTypedDictClass(t)){const i=vl(li,e,t,n);if(i)return i}const s=qe(n),o=vo(t)?null===(i=ee(e,t,s,void 0,void 0,64))||void 0===i?void 0:i.type:null===(r=te(e,t,s,void 0,void 0,96))||void 0===r?void 0:r.type;if(!o)return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.methodNotDefinedOnType().format({name:s,type:ai(t)}),e.baseExpression),{node:e,type:Ys.create()};if(1===e.items.length&&!e.trailingComma&&!e.items[0].name&&0===e.items[0].argumentCategory&&vo(t)){const n=e.items[0].valueExpression,i=$(n).type;if(vo(i)&&Zs.isBuiltIn(i,"int")&&ra(i)&&"number"==typeof i.literalValue){const n=i.literalValue,r=ia(t);if(r&&r.tupleTypeArguments&&!da(r)){if(n>=0&&n=0)return{node:e,type:r.tupleTypeArguments[r.tupleTypeArguments.length+n].type}}}else if(vo(i)&&Zs.isBuiltIn(i,"slice")){const i=ia(t);if(i&&i.tupleTypeArguments&&!da(i)&&46===n.nodeType&&!n.stepValue){const t=(e,t)=>{let n=t;if(e){const t=$(e).type;vo(t)&&Zs.isBuiltIn(t,"int")&&ra(t)&&"number"==typeof t.literalValue?(n=t.literalValue,n<0&&(n=i.tupleTypeArguments.length+n)):n=-1}return n},r=t(n.startValue,0),s=t(n.endValue,i.tupleTypeArguments.length);if(r>=0&&s>0&&s<=i.tupleTypeArguments.length&&T&&_o(T))return{node:e,type:Zs.cloneAsInstance(Va(T,i.tupleTypeArguments.slice(r,s)))}}}}const a=e.items.filter((e=>0===e.argumentCategory&&!e.name)),l=e.items.filter((e=>1===e.argumentCategory)),c=e.items.filter((e=>0===e.argumentCategory&&!!e.name)),u=e.items.filter((e=>2===e.argumentCategory));let p;if(1!==a.length||0!==l.length||e.trailingComma)if(0===a.length&&0===l.length)p=T&&_o(T)?Fa(Va(T,[])):Ys.create();else{const e=[];a.forEach((t=>{e.push($(t.valueExpression).type)})),l.forEach((t=>{const n=ae($(t.valueExpression).type,!1,t)||Ys.create();e.push(n)})),p=Ue(e,l.length>0)}else p=$(a[0].valueExpression).type;let d,h=[{argumentCategory:0,type:p}];if("set"===n.method){let e=n.setType||io.create();bo(e)&&e.details.constraints.length>0&&(e=Ie(e,vo(t)?t.condition:void 0)),h.push({argumentCategory:0,type:e})}return c.forEach((e=>{h.push({argumentCategory:0,valueExpression:e.valueExpression,node:e,name:e.name})})),u.forEach((e=>{h.push({argumentCategory:2,valueExpression:e.valueExpression,node:e})})),kn(e,(()=>{if(d=et(e,h,o),d.argumentErrors&&vo(p)&&0===c.length&&0===u.length){const t=[...h];if(t[0]={...t[0]},ee(e,p,"__index__")){const n=Cn(e,"int");vo(n)&&(t[0].type=n)}d=et(e,t,o),d.argumentErrors||(h=t)}})),d=et(e,h,o),{node:e,type:d.returnType||Ys.create(),isIncomplete:!!d.isTypeIncomplete}}function Be(e,t,n=!1,i=!1,r=!1,s=!1){const o=[];let a=t;r||s?a|=131088:(a&=-1048739,n||(a|=131088),a|=2097152);const l=(e,t)=>{let r;return r=i||n&&t>0?$(e,void 0,131234):function(e,t){let n,i=1097|t;return Vt(e).isStubFile&&(i|=4),31===e.nodeType?(n={type:Ys.create(),typeList:e.entries.map((e=>$(e,void 0,i))),node:e},O(e)):(n=$(e,void 0,i),yo(n.type)&&Zs.isBuiltIn(n.type,"Protocol")&&fe(ml.Diagnostic.protocolNotAllowedInTypeArgument(),e),0!=(131072&t)&&yo(n.type)&&Zs.isBuiltIn(n.type,"ClassVar")&&fe(ml.Diagnostic.classVarNotAllowed(),e)),n}(e,a),r};return 1===e.items.length&&!e.trailingComma&&!e.items[0].name&&52===e.items[0].valueExpression.nodeType&&e.items[0].valueExpression.expressions.length>0?(e.items[0].valueExpression.expressions.forEach(((e,t)=>{o.push(l(e,t))})),O(e.items[0].valueExpression)):e.items.forEach(((e,t)=>{const n=l(e.valueExpression,t);0!==e.argumentCategory&&1===e.argumentCategory&&(Io(n.type)&&!n.type.isVariadicUnpacked?n.type=oo.cloneForUnpacked(n.type):_o(n.type)&&!n.type.includeSubclasses&&pa(n.type)&&(n.type=Zs.cloneForUnpacked(n.type))),e.name&&fe(ml.Diagnostic.keywordArgInTypeArgument(),e.valueExpression),o.push(n)})),o}function We(e,t){if(!vo(t=ta(t)))return;if(!T||!_o(T))return;let n=[];if(pa(t)&&t.tupleTypeArguments){n=t.tupleTypeArguments.map((e=>ta(e.type)));const i=t.tupleTypeArguments.findIndex((e=>e.isUnbounded));if(i>=0)if(n.length>e.expressions.length)n.splice(i,1);else for(;n.length$(e,tsa(e)));return{type:Fa(Va(T,je(i),!0,!r)),node:e}}function je(e){const t=[];for(const n of e){let e;if(n.unpackedType?e=n.unpackedType:Co(n.type)&&(e=n.type),e&&vo(e)&&e.tupleTypeArguments){const n=e.tupleTypeArguments;n?t.push(...n):t.push({type:Ys.create(),isUnbounded:!0})}else t.push({type:n.type,isUnbounded:!!n.unpackedType})}if(t.filter((e=>e.isUnbounded)).length>1){const e=t.findIndex((e=>e.isUnbounded)),n=t.splice(e);t.push({type:Oo(n.map((e=>e.type))),isUnbounded:!0})}return t}function ze(e,t){const n=$(e.leftExpression,void 0,2),i=e.arguments.map((e=>({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,node:e,name:e.name})));let r={node:e,type:Ys.create()};if(ea(n.type))r.isIncomplete=!0;else{if(38===e.leftExpression.nodeType&&"super"===e.leftExpression.value)r=function(e){let t,n;if(e.arguments.length>2&&fe(ml.Diagnostic.superCallArgCount(),e.arguments[2]),e.arguments.length>0){t=$(e.arguments[0].valueExpression).type;const n=Ie(t);ho(n)||_o(n)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallFirstArg().format({type:ai(t)}),e.arguments[0].valueExpression)}else{const n=Er(e);if(n){const e=$t(n);t=e?e.classType:Ys.create()}else fe(ml.Diagnostic.superCallZeroArgForm(),e.leftExpression),t=Ys.create()}if(e.arguments.length>1){const i=Ie($(e.arguments[1].valueExpression).type);let r=!1;ho(i)||(vo(i)?(_o(t)&&(Da(Zs.cloneAsInstantiable(i),t,!0)||(r=!0)),n=i):_o(i)?(_o(t)&&(Da(i,t,!0)||(r=!0)),n=i):r=!0),r&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.superCallSecondArg().format({type:ai(t)}),e.arguments[1].valueExpression)}else{const i=kr(e);let r;if(i){const e=Gt(i);if(e){const t=e.functionType;Xs.isClassMethod(t)?t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(t.details.parameters[0].type)):Xs.isInstanceMethod(t)&&t.details.parameters.length>0&&t.details.parameters[0].hasDeclaredType&&(r=Ie(Na(t.details.parameters[0].type)))}}r&&_o(r)?n=r:_o(t)&&(n=t)}let i=!0;if(e.arguments.length<=1){const t=kr(e);if(t){const e=Gt(t);e&&(Xs.isStaticMethod(e.functionType)||Xs.isConstructorMethod(e.functionType)||Xs.isClassMethod(e.functionType))&&(i=!1)}}const r=e.parent;if(35===r.nodeType){const s=va(t,r.memberName.value,1);if(s&&_o(s.classType))return{type:i?Zs.cloneAsInstance(s.classType):s.classType,node:e,bindToType:i&&n&&_o(n)?Zs.cloneAsInstance(n):n,isSuperCall:!0}}if(_o(t)){if(t.details.mro.some((e=>ho(e))))return{type:Ys.create(),isSuperCall:!0,node:e};const n=t.details.baseClasses;if(n.length>0){const t=n[0];if(_o(t))return{type:i?Zs.cloneAsInstance(t):t,isSuperCall:!0,node:e}}}return{type:Ys.create(),isSuperCall:!0,node:e}}(e);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_type"===e.leftExpression.value)r=$e(e,t);else if(Eo(n.type)&&"reveal_type"===n.type.details.builtInName)r=$e(e,t);else if(ho(n.type)&&38===e.leftExpression.nodeType&&"reveal_locals"===e.leftExpression.value)0===e.arguments.length?r.type=function(e){let t,n=e;for(;n&&(t=zs(n),!t||0===t.type);)n=n.parent;const i=[];return t&&t.symbolTable.forEach(((e,t)=>{if(!e.isIgnoredForProtocolMatch()){const n=Nn(e);i.push(ml.DiagnosticAddendum.typeOfSymbol().format({name:t,type:ai(n,!0)}))}})),i.length>0?me(i.join("\n"),e):me(ml.Diagnostic.revealLocalsNone(),e),to.createInstance()}(e):fe(ml.Diagnostic.revealLocalsArgs(),e);else{const s=et(e,i,n.type,void 0,!1,t);r.type=s.returnType||Ys.create(),s.argumentErrors&&(r.typeErrors=!0,t&&(r.isIncomplete=!0)),s.isTypeIncomplete&&(r.isIncomplete=!0)}n.isIncomplete&&(r.isIncomplete=!0)}return _o(n.type)&&Zs.isBuiltIn(n.type,"TypeVar")&&Vt(e).isTypingStubFile||i.forEach((e=>{e.valueExpression&&48!==e.valueExpression.nodeType&&!R(e.valueExpression)&&$(e.valueExpression)})),r}function $e(e,t){let n,i,r,s,o;if(e.arguments.forEach(((e,t)=>{if(0===t)0!==e.argumentCategory||e.name||(n=e.valueExpression);else if(0===e.argumentCategory&&e.name)if("expected_text"===e.name.value){s=e.valueExpression;const t=$(e.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&"string"==typeof t.literalValue?o=t.literalValue:fe(ml.Diagnostic.revealTypeExpectedTextArg(),e.valueExpression)}else"expected_type"===e.name.value&&(i=e.valueExpression,r=Fa(In(e).type));else n=void 0})),!n)return fe(ml.Diagnostic.revealTypeArgs(),e),{node:e,type:Ys.create()};const a=$(n,t),l=a.type,c=xr(n),u=ai(l,!0);if(void 0!==o&&o!==u&&fe(ml.Diagnostic.revealTypeExpectedTextMismatch().format({expected:o,received:u}),null!=s?s:n),r&&!Ao(r,l)){const e=ai(r);fe(ml.Diagnostic.revealTypeExpectedTypeMismatch().format({expected:e,received:u}),null!=i?i:n)}return me(ml.DiagnosticAddendum.typeOfSymbol().format({name:c,type:u}),e.arguments[0]),{node:e,type:l,isIncomplete:a.isIncomplete}}function He(e,t,n,i,r,s){const o=[],a=[];let l=!1;for(let r=0;rvoid 0!==e));for(let t=0;t{if(!u[t])return e;const n={...e};return n.argType=u[t],n})));const h=i?i.clone():new jo(na(r));h.addSolveForScope(na(r));const m=kn(e,(()=>nt(e,d,h,!0,s)));if(m.isTypeIncomplete&&(l=!0),!m.argumentErrors&&m.returnType){c=r,a.push({overload:c,matchResults:d,typeVarMap:h}),o.push(m.returnType);break}}if(!c)return{argumentErrors:!0,isTypeIncomplete:l}}if(i)for(let n=0;n(i.addSolveForScope(na(t)),i.unlock(),nt(e,r,i,!0,s))))}a[0].typeVarMap.unlock();const c=nt(e,a[0].matchResults,a[0].typeVarMap,r,s);return c.isTypeIncomplete&&(l=!0),{argumentErrors:!1,returnType:Oo(o),isTypeIncomplete:l,specializedInitSelfType:c.specializedInitSelfType}}function Ge(e,t,n){let i,r=0,s=[];return t.overloads.forEach((t=>{kn(e,(()=>{if(Xs.isOverloaded(t)){const i=tt(e,n,t,r);i.argumentErrors||s.push(i),r++}}))})),s=Ke(s),s.forEach(((t,n)=>{void 0===i&&kn(e,(()=>{const r=it(e,t,new jo(na(t.overload)),!0);r&&!r.argumentErrors&&(i=n)}))})),void 0===i?void 0:s[i].overload}function Ke(e){return e.sort(((e,t)=>e.relevance!==t.relevance?t.relevance-e.relevance:e.overloadIndex-t.overloadIndex))}function Je(e,t){let n,i=e.length-1;for(;i>=0&&!t[0][i];)i--;if(i++,i>=e.length)return;for(;i{Jo(n,(t=>{const n=[...e];n[i]=t,r.push(n)}))})),r}function Ye(e,t,n,i,r){var s;let o,a=!1,l=!1,u=!1,p=!1;const d=e=>Eo(e)&&Xs.isSkipConstructorCheck(e),h=null===(s=ee(e,Zs.cloneAsInstance(n),"__init__",{method:"get"},void 0,68))||void 0===s?void 0:s.type;if(h&&!d(h)){if(r&&(o=Ko(r,(r=>{r=ta(r);const s=new jo(na(n));if(Xe(Zs.cloneAsInstance(n),r,s,Re(e))){let o;if(kn(e,(()=>{o=et(e,t,h,s.clone(),i,to.createInstance())})),!(null==o?void 0:o.argumentErrors))return et(e,t,h,s,i,to.createInstance()).isTypeIncomplete&&(u=!0),Qe(n,r,s)}})),ao(o)&&(o=void 0)),!o){const r=n.typeArguments?wa(n,!1):new jo(na(n));r.addSolveForScope(na(h));const s=et(e,t,h,r,i);if(s.argumentErrors)l=!0;else{let e=n;s.specializedInitSelfType&&vo(s.specializedInitSelfType)&&Zs.isSameGenericClass(s.specializedInitSelfType,n)&&(e=Zs.cloneAsInstantiable(s.specializedInitSelfType)),o=Ze(e,void 0,r),s.isTypeIncomplete&&(u=!0)}}a=!0,i=!0}if(!l){const s=n.details.effectiveMetaclass;let c;if(s&&_o(s)&&!Zs.isSameGenericClass(s,n)&&(c=Ne(e,s,"__call__",{method:"get"},void 0,352,n),c&&(p=!0)),c||(c=Ne(e,n,"__new__",{method:"get"},void 0,21,n)),c&&!d(c.type)){const s=new jo(na(n));n.typeAliasInfo&&s.addSolveForScope(n.typeAliasInfo.typeVarScopeId),s.addSolveForScope(na(c.type));const p=et(e,t,c.type,s,i);if(p.argumentErrors)l=!0;else{let e=p.returnType;p.isTypeIncomplete&&(u=!0),e&&(vo(e)&&Zs.isSameGenericClass(e,n)?(La(e)||$a(e))&&void 0!==o||(vo(e)&&Zs.isTupleClass(e)&&!e.tupleTypeArguments&&e.typeArguments&&1===e.typeArguments.length&&(e=Va(e,[{type:e.typeArguments[0],isUnbounded:!0}])),o=e):o||po(e)||(o=e))}o?vo(o)&&pa(o)&&!o.tupleTypeArguments&&(o=function(e,t){let n=e;return t&&vo(t)&&pa(t)&&t.tupleTypeArguments&&(n=Va(e,t.tupleTypeArguments)),n}(o,r)):o=Ze(n,r,s),a=!0}}if(a||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),!a&&t.length>0&&(n.details.effectiveMetaclass&&_o(n.details.effectiveMetaclass)&&!Zs.isBuiltIn(n.details.effectiveMetaclass)||p||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.constructorNoArgs().format({type:n.aliasName||n.details.name}),e)),!o)if(!r&&n.typeArguments)o=Fa(n);else{const t=new jo(na(n));r&&Xe(Zs.cloneAsInstance(n),r,t,Re(e)),o=Ze(n,r,t)}if(!l){const i=function(e,t,n,i,r){return"functools.partial"===i.details.fullName?function(e,t,n,i){if(!vo(i.returnType)||"functools.partial"!==i.returnType.details.fullName)return i;const r=_a(i.returnType,"__call__");if(!r||!Ao(Fa(r.classType),i.returnType))return i;const s=e.getTypeOfMember(r);if(!Eo(s)||s.details.parameters.length<1)return i;if(n.length<1)return i;const o=e.getTypeForArgument(n[0]).type;if(e.inferReturnTypeIfNecessary(o),!Eo(o))return i;if(n.some((e=>0!==e.argumentCategory)))return i;const a=new Map,l=Ho(o);let c=!1,u=!1;const p=new jo(na(o));n.slice(1).forEach(((n,i)=>{var r,s,d,h,m,f,g,y;const _=e.getTypeForArgument(n);if(n.name){const i=l.params.find((e=>{var t;return e.param.name===(null===(t=n.name)||void 0===t?void 0:t.value)&&e.source!==zo.PositionOnly}));if(i){const r=i.param.name,s=Xs.getEffectiveParameterType(o,i.index);if(a.has(r))e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:n.name.value}),n.name),c=!0;else{const i=new il;e.canAssignType(s,_.type,i,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(s),functionName:o.details.name,paramName:r}),null!==(y=n.valueExpression)&&void 0!==y?y:t),c=!0),a.set(r,!0)}}else if(void 0===l.kwargsIndex)e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),n.name),c=!0;else{const i=Xs.getEffectiveParameterType(o,l.params[l.kwargsIndex].index),r=new il;e.canAssignType(i,_.type,r,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(f=l.params[l.kwargsIndex].param.name)&&void 0!==f?f:""}),null!==(g=n.valueExpression)&&void 0!==g?g:t),c=!0)}}else if(i>=l.params.length||l.params[i].source===zo.KeywordOnly)if(void 0!==l.argsIndex){const i=Xs.getEffectiveParameterType(o,l.params[l.argsIndex].index),a=new il;e.canAssignType(i,_.type,a,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(i),functionName:o.details.name,paramName:null!==(r=l.params[l.argsIndex].param.name)&&void 0!==r?r:""}),null!==(s=n.valueExpression)&&void 0!==s?s:t),c=!0)}else u||e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===l.positionParamCount?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:l.positionParamCount}),null!==(d=n.valueExpression)&&void 0!==d?d:t),u=!0,c=!0;else{const r=Xs.getEffectiveParameterType(o,i),s=new il,u=null!==(h=l.params[i].param.name)&&void 0!==h?h:"";e.canAssignType(r,_.type,s,p)||(e.addDiagnostic(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.argAssignmentParamFunction().format({argType:e.printType(_.type),paramType:e.printType(r),functionName:o.details.name,paramName:u}),null!==(m=n.valueExpression)&&void 0!==m?m:t),c=!0),a.set(u,!1)}}));const d=fa(o,p);if(!Eo(d))return i;const h=d.details.parameters.map(((e,t)=>{const n={...e};return n.type=Xs.getEffectiveParameterType(d,t),e.name&&a.get(e.name)&&(n.hasDefault=!0),n})),m=[...h.filter((e=>!(2===e.category||1!==e.category&&e.name&&a.has(e.name)))),...h.filter((e=>e.name&&a.get(e.name))),...h.filter((e=>2===e.category))],f=Xs.createInstance(s.details.name,s.details.fullName,s.details.moduleName,s.details.flags,d.details.docString);s.details.parameters.length>0&&Xs.addParameter(f,s.details.parameters[0]),m.forEach((e=>{Xs.addParameter(f,e)})),f.details.declaredReturnType=d.details.declaredReturnType?Xs.getSpecializedReturnType(d):d.inferredReturnType,f.details.declaration=s.details.declaration,f.details.typeVarScopeId=d.details.typeVarScopeId;const g=Zs.cloneForSymbolTableUpdate(i.returnType);return g.details.fields.set("__call__",qo.createWithType(4,f)),{returnType:g,isTypeIncomplete:!1,argumentErrors:c}}(e,t,n,r):r}(li,e,t,n,{argumentErrors:l,returnType:o,isTypeIncomplete:u});o=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return{argumentErrors:l,returnType:o,isTypeIncomplete:u}}function Qe(e,t,n){const i=fa(Zs.cloneAsInstance(e),n);if(Jn(t,i))return uo(t)?t:i}function Ze(e,t,n){if(t){const i=Ko(t,(t=>Qe(e,t,n)));if(!ao(i))return i}const i=fa(e,n,!0);return Zs.cloneAsInstance(i)}function Xe(e,t,n,i){if(uo(t))return e.details.typeParameters.forEach((e=>{n.setTypeVarType(e,t)})),!0;if(!yo(t))return!1;const r=t.typeArguments;if(!r)return Jn(e,t,void 0,n,1024);if(Zs.isSameGenericClass(t,e)){const i=wa(t);return i.getTypeVars().forEach((t=>{const r=i.getTypeVarType(t.typeVar);r&&(bo(r)&&r.scopeId===e.details.typeVarScopeId||n.setTypeVarType(t.typeVar,1===t.typeVar.details.variance?void 0:r,2===t.typeVar.details.variance?void 0:r,t.retainLiteral))})),!0}const s=na(t),o=Zs.getTypeParameters(t).map(((e,t)=>{const n=oo.createInstance(`__dest${t}`);return n.details.isSynthesized=!0,n.details.variance=0,n.scopeId=s,n})),a=Zs.cloneForSpecialization(t,o,!0),l=Zs.getTypeParameters(e).map(((e,t)=>{const n=oo.createInstance(`__source${t}`);return n.details.isSynthesized=!0,n.details.synthesizedIndex=t,n.details.isExemptFromBoundCheck=!0,n})),c=Zs.cloneForSpecialization(e,l,!0),u=new jo(s);if(Jn(a,c,void 0,u,1024)){let e=!0;return o.forEach(((t,s)=>{const o=u.getTypeVarType(t);if(o&&bo(o)&&o.details.isSynthesized&&void 0!==o.details.synthesizedIndex){const a=Zs.getTypeParameters(c)[o.details.synthesizedIndex];if(si.scopeId===e))?e:void 0):new Za(t,n).apply(e);var i}(o,n,i)),o?n.setTypeVarType(a,1===t.details.variance?void 0:o,2===t.details.variance?void 0:o):e=!1}}})),e}return!1}function et(e,t,n,i,r=!1,s,o=0){let a,l=!1,u=!1;if(o>Gs)return{returnType:Ys.create(),argumentErrors:!0};if(o++,Ks.isSpecialForm(n)){const t=9===e.nodeType?e.leftExpression:e;return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotCallable().format({expression:xr(t),type:ai(n,!0)}),t),{returnType:Ys.create(),argumentErrors:!0}}const p=Se(n,void 0,((n,p)=>{var d,h,m;switch(n.category){case 1:case 2:return t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&bn(e)})),n;case 5:{if("namedtuple"===n.details.builtInName)return _e(Vt(e).diagnosticRuleSet.reportUntypedNamedTuple,$o.reportUntypedNamedTuple,ml.Diagnostic.namedTupleNoTypes(),e),Lu(li,e,t,!1);let o=i;o||(o=new jo(na(n)),!o.getSolveForScopes()&&Xs.isConstructorMethod(n)&&o.addSolveForScope($s));const c=rt(e,t,n,o,r,s);if(c.isTypeIncomplete&&(u=!0),c.argumentErrors)l=!0;else{a=c.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:c.argumentErrors,returnType:null!==(d=c.returnType)&&void 0!==d?d:Ys.create(),isTypeIncomplete:u});c.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return c.argumentErrors||"NewType"!==n.details.builtInName?"__import__"===n.details.builtInName?io.create():c.returnType:at(e,t)}case 6:{if("cast"===n.overloads[0].details.builtInName&&2===t.length){const n=In(t[0]).type,i=bn(t[1]).type;return _o(n)&&vo(i)&&Ao(n,Zs.cloneAsInstantiable(i),!0)&&_e(Vt(e).diagnosticRuleSet.reportUnnecessaryCast,$o.reportUnnecessaryCast,ml.Diagnostic.unnecessaryCast().format({type:ai(i)}),e),Fa(n)}const o=function(e,t,n,i,r,s){let o=[],a=[];if(kn(e,(()=>{let i=0;n.overloads.forEach((n=>{if(Xs.isOverloaded(n)){const r=tt(e,t,n,i);r.argumentErrors||o.push(r),i++}})),a=t.map((e=>{if(e.type)return e.type;if(e.valueExpression){const t=e.valueExpression;return kn(t,(()=>$(t).type))}return io.create()}))})),o=Ke(o),0===o.length){if(!ye(e)){const i=n.overloads[0].details.name||"",r=new il,s=t.map((e=>ai(bn(e).type)));r.addMessage(ml.DiagnosticAddendum.argumentTypes().format({types:s.join(", ")})),_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.noOverload().format({name:i})+al(r),e)}return{argumentErrors:!0,isTypeIncomplete:!1}}const l=t=>{const n=o.reduce(((e,t)=>t.overloadIndex>e.overloadIndex?t:e)),r=null!=i?i:new jo;return r.addSolveForScope(na(n.overload)),r.unlock(),nt(e,n,r,t,s)};if(1===o.length)return l(!1);let c=[t.map((e=>{}))],u=!1;for(;;){const t=He(e,c,o,i,r,s);if(t.isTypeIncomplete&&(u=!0),!t.argumentErrors)return t;if(c=Je(a,c),!c||c.length>64)break}if(!ye(e)&&!u){const e=l(!0);return e.returnType=Ys.create(),e}return{argumentErrors:!0,isTypeIncomplete:!1}}(e,t,n,i,r,s);if(o.isTypeIncomplete&&(u=!0),o.argumentErrors)l=!0;else{a=o.specializedInitSelfType;const i=zu(li,e,t,n,{argumentErrors:o.argumentErrors,returnType:null!==(h=o.returnType)&&void 0!==h?h:Ys.create(),isTypeIncomplete:u});o.returnType=i.returnType,i.isTypeIncomplete&&(u=!0),i.argumentErrors&&(l=!0)}return o.returnType||Ys.create()}case 7:if(Ks.isInstantiable(n)){if(void 0!==n.literalValue)return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.literalNotCallable(),e),l=!0,Ys.create();if(Zs.isBuiltIn(n)){const i=n.aliasName||n.details.name;if("type"===i)return Ye(e,t,n,r,s),1===t.length?Ko(bn(t[0]).type,(e=>vo(e)||bo(e)&&Ks.isInstance(e)||lo(e)?Na(Qo(e)):io.create())):t.length>=2&&function(e,t){const n=Vt(e),i=bn(t[0]).type;if(!vo(i)||!Zs.isBuiltIn(i,"str"))return;const r=i.literalValue||"_",s=bn(t[1]).type;if(!vo(s)||!pa(s)||void 0===s.tupleTypeArguments)return;const o=Zs.createInstantiable(r,br(e,n.moduleName,r),n.moduleName,n.filePath,0,Ir(e),void 0,s.details.effectiveMetaclass);return s.tupleTypeArguments.forEach((n=>{_o(n.type)||ho(n.type)?o.details.baseClasses.push(n.type):ve(n.type,t[1].valueExpression||e)})),Ha(o)||fe(ml.Diagnostic.methodOrdering(),e),o}(e,t)||io.create();if("TypeVar"===i)return function(e,t){var n,i,r;let s,o="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const a=t[0];a.valueExpression&&48===a.valueExpression.nodeType?o=a.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),a.valueExpression||e);const l=oo.createInstantiable(o,!1);for(let o=1;o0)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const i=null!==(n=t[o].type)&&void 0!==n?n:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(i,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),l.details.boundType=Fa(i)}else"covariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(2===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=1):"contravariant"===c?t[o].valueExpression&&ot(t[o].valueExpression)&&(1===l.details.variance?fe(ml.Diagnostic.typeVarVariance(),t[o].valueExpression):l.details.variance=2):fe(ml.Diagnostic.typeVarUnknownParam().format({name:c}),(null===(i=t[o].node)||void 0===i?void 0:i.name)||t[o].valueExpression||e);u.set(c,c)}else if(l.details.boundType)fe(ml.Diagnostic.typeVarBoundAndConstrained(),t[o].valueExpression||e);else{const n=null!==(r=t[o].type)&&void 0!==r?r:Sn(t[o].valueExpression,void 0,void 0,!0).type;$a(n,!0)&&fe(ml.Diagnostic.typeVarGeneric(),t[o].valueExpression||e),oo.addConstraint(l,Fa(n)),void 0===s&&(s=t[o])}}return 1===l.details.constraints.length&&s&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarSingleConstraint(),s.valueExpression||e),l}(e,t);if("TypeVarTuple"===i)return function(e,t){var n,i;let r="";if(0===t.length)return void fe(ml.Diagnostic.typeVarFirstArg(),e);const s=t[0];s.valueExpression&&48===s.valueExpression.nodeType?r=s.valueExpression.strings.map((e=>e.value)).join(""):fe(ml.Diagnostic.typeVarFirstArg(),s.valueExpression||e);const o=oo.createInstantiable(r,!1);o.details.isVariadic=!0;for(let r=1;re.value)).join(""):fe(ml.Diagnostic.paramSpecFirstArg(),r.valueExpression||e);const o=oo.createInstantiable(s,!0);for(let r=1;re.value)).join("")}const s=Zs.createInstantiable(r,br(e,i.moduleName,r),i.moduleName,i.filePath,1048576,Ir(e),void 0,t.details.effectiveMetaclass);s.details.baseClasses.push(t),Ha(s);const o=s.details.fields;if(o.set("__class__",qo.createWithType(68,s)),!(n.length<2)){{const t=n[1];if(0!==t.argumentCategory||!t.valueExpression||48!==t.valueExpression.nodeType)return;t.valueExpression.strings.map((e=>e.value)).join("").split(" ").forEach((n=>{if(n=n.trim()){const i=Ys.create(),r=qo.createWithType(4,i),s=t.valueExpression;w(48===s.nodeType);const a=Vt(e),l={type:1,node:s,isRuntimeTypeExpression:!0,path:a.filePath,range:St(s.start,dt.getEnd(s),a.lines),moduleName:a.moduleName,isInExceptSuite:!1};r.addDeclaration(l),o.set(n,r)}}))}return s}}(e,n,t);if("TypedDict"===i)return function(e,t,n,i){const r=Vt(t);let s="TypedDict";if(0===i.length)e.addError(ml.Diagnostic.typedDictFirstArg(),t);else{const n=i[0];0===n.argumentCategory&&n.valueExpression&&48===n.valueExpression.nodeType?s=n.valueExpression.strings.map((e=>e.value)).join(""):e.addError(ml.Diagnostic.typedDictFirstArg(),i[0].valueExpression||t)}const o=Zs.createInstantiable(s,br(t,r.moduleName,s),r.moduleName,r.filePath,128,Ir(t),void 0,n.details.effectiveMetaclass);o.details.baseClasses.push(n),Ha(o);const a=o.details.fields;a.set("__class__",qo.createWithType(68,o));let l=!1;if(i.length<2)e.addError(ml.Diagnostic.typedDictSecondArgDict(),t);else{const n=i[1],s=new Map;if(0===n.argumentCategory&&n.valueExpression&&15===n.valueExpression.nodeType){l=!0;const t=n.valueExpression;t.entries.forEach((t=>{if(17!==t.nodeType)return void e.addError(ml.Diagnostic.typedDictSecondArgDictEntry(),t);if(48!==t.keyExpression.nodeType)return void e.addError(ml.Diagnostic.typedDictEntryName(),t.keyExpression);const n=t.keyExpression.strings.map((e=>e.value)).join("");if(!n)return void e.addError(ml.Diagnostic.typedDictEmptyName(),t.keyExpression);if(s.has(n))return void e.addError(ml.Diagnostic.typedDictEntryUnique(),t.keyExpression);s.set(n,!0);const i=e.getTypeForExpressionExpectingType(t.valueExpression,!0,!0),o=new qo(8),l={type:1,node:t.keyExpression,path:r.filePath,typeAnnotationNode:t.valueExpression,isRequired:i.isRequired,isNotRequired:i.isNotRequired,isRuntimeTypeExpression:!0,range:St(t.keyExpression.start,dt.getEnd(t.keyExpression),r.lines),moduleName:r.moduleName,isInExceptSuite:!1};o.addDeclaration(l),a.set(n,o)})),e.setTypeForNode(t)}else if(n.name)for(let n=1;n=3&&(!i[2].name||"total"!==i[2].name.value||!i[2].valueExpression||11!==i[2].valueExpression.nodeType||15!==i[2].valueExpression.constType&&33!==i[2].valueExpression.constType?e.addError(ml.Diagnostic.typedDictTotalParam(),i[2].valueExpression||t):15===i[2].valueExpression.constType&&(o.details.flags|=256)),i.length>3&&e.addError(ml.Diagnostic.typedDictExtraArgs(),i[3].valueExpression||t)),fl(e,t,o),o}(li,e,n,t);if("auto"===i&&0===t.length)return Cn(e,"int")}if(Zs.supportsAbstractMethods(n)){const t=ii(n);if(t.length>0&&!n.includeSubclasses&&!bo(p)){const i=new il,r=2;t.forEach(((e,n)=>{if(n===r)i.addMessage(ml.DiagnosticAddendum.memberIsAbstractMore().format({count:t.length-r}));else if(n_o(e)&&Zs.isBuiltIn(e,"type")))){let i="__class_"+o.details.name;if(3===t.length){const e=bn(t[0]).type;vo(e)&&Zs.isBuiltIn(e,"str")&&"string"==typeof e.literalValue&&(i=e.literalValue)}const r=Zs.createInstantiable(i,"","",Vt(e).filePath,0,Ir(e),Zs.cloneAsInstantiable(o),Zs.cloneAsInstantiable(o));return r.details.baseClasses.push(xn(e,"object")),r.details.effectiveMetaclass=n,Ha(r),r}return o}{let a=null===(m=ee(e,n,"__call__"))||void 0===m?void 0:m.type;if(a&&(Eo(a)||ko(a))){a=Ba(a);const n=et(e,t,a,i,r,s,o);return n.argumentErrors&&(l=!0),n.returnType||Ys.create()}return a&&ho(a)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.objectNotCallable().format({type:ai(n)}),e),Ys.create()}case 3:return void _e(Vt(e).diagnosticRuleSet.reportOptionalCall,$o.reportOptionalCall,ml.Diagnostic.noneNotCallable(),e);case 10:{n=ta(n);const a=et(e,t,n,i,r,s,o);return a.argumentErrors&&(l=!0),a.returnType||Ys.create()}case 8:return void _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.moduleNotCallable(),e)}}));return{argumentErrors:l,returnType:ao(p)&&!p.isNoReturn?void 0:p,isTypeIncomplete:u,specializedInitSelfType:a}}function tt(e,t,n,i){var r;const s=Ho(n);let o=0,a=!1,l=!1,u=!1,p=!1;const d=new Map;s.params.forEach((e=>{const t=e.param;t.name&&0===t.category&&d.set(t.name,{argsNeeded:0!==t.category||t.hasDefault?0:1,argsReceived:0,isPositionalOnly:e.source===zo.PositionOnly})}));let h=s.positionOnlyParamCount,m=null!==(r=s.firstKeywordOnlyIndex)&&void 0!==r?r:s.params.length;const f=s.argsIndex,g=s.kwargsIndex;let y,_,v=!1;if(void 0!==f&&void 0!==g){w(s.params[f],"varArgListParamIndex params entry is undefined");const e=s.params[f].param;w(s.params[g],"varArgDictParamIndex params entry is undefined");const t=s.params[g].param;wo(e.type)&&"args"===e.type.paramSpecAccess&&wo(t.type)&&"kwargs"===t.type.paramSpecAccess&&e.type.details.name===t.type.details.name&&(v=!0,e.type.scopeId===n.details.typeVarScopeId?(y=[],_=oo.cloneForParamSpecAccess(e.type,void 0)):h=f)}t.forEach((e=>{if(e.name){const t=s.params.findIndex((t=>t.param.name===e.name.value&&0===t.param.category));t>=0&&t>=h&&(m<0||t2===e.argumentCategory||void 0!==e.name));b<0&&(b=t.length);let I,S=[];function x(e,t){e.active&&(I=t)}let C=void 0!==t.find((e=>1===e.argumentCategory)),E=0,k=0;for(;o=m){C&&1===t[o].argumentCategory||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0);break}if(E>=s.params.length)break;w(s.params[E],"paramIndex params entry is undefined");const i=s.params[E].type;if(1===t[o].argumentCategory){if(!t[o].valueExpression)break;const r=1===s.params[E].param.category&&Io(i);let c=!1;const h=bn(t[o]),f=h.type;let g,_=!1;n.details.paramSpec&&E0&&kt>o&&1===e.argumentCategory)),k++,k>=v.tupleTypeArguments.length&&(k=0,_=!0)):r&&Io(f)?(g=f,c=!0,_=!0,p=!0):vo(f)&&pa(f)&&f.tupleTypeArguments&&1===f.tupleTypeArguments.length&&Io(f.tupleTypeArguments[0].type)?(g=f.tupleTypeArguments[0].type,c=!0,_=!0,p=!0):wo(f)&&"args"===f.paramSpecAccess?g=void 0:(g=ae(f,!1,t[o].valueExpression)||Ys.create(),1!==s.params[E].param.category&&(a=!0));const b=g?{argumentCategory:0,type:g}:void 0;b&&h.isIncomplete&&(u=!0);const I=s.params[E].param.name;r&&!c?(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedArgWithVariadicParam(),t[o].valueExpression||e),l=!0):(y&&y.push(t[o]),b&&S.push({paramCategory:s.params[E].param.category,paramType:i,requiresTypeVarMatching:$a(i),argument:b,errorNode:t[o].valueExpression||e,paramName:s.params[E].param.isNameSynthesized?void 0:I})),x(t[o],s.params[E].param),I&&0===s.params[E].param.category&&d.has(I)&&d.get(I).argsReceived++,(_||1===s.params[E].param.category)&&o++,(p||1!==s.params[E].param.category)&&E++}else if(1===s.params[E].param.category)if(x(t[o],s.params[E].param),y)y.push(t[o]),o++;else{let n=s.params[E].param.category,r=i;const a=s.params[E].param.name;xo(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.length>0&&(r=i.tupleTypeArguments[0].type),n=Io(r)?1:0;const c=b-o,u=m-E-1;c<=u?(c=0&&Ee.param.hasDefault)),i=(n>=0&&n0&&(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===i?ml.Diagnostic.argMorePositionalExpectedOne():ml.Diagnostic.argMorePositionalExpectedCount().format({expected:i}),t.length>b&&t[b].valueExpression||e),l=!0)}if(!l){let i;for(;o{const a=d.get(i);if(a&&!a.isPositionalOnly)if(a.argsReceived>0)r.addMessage(ml.Diagnostic.paramAlreadyAssigned().format({name:i}));else{a.argsReceived++;const r=s.params.findIndex((e=>e.param.name===i));w(r>=0);const l=s.params[r].type;S.push({paramCategory:0,paramType:l,requiresTypeVarMatching:$a(l),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i})}else if(void 0!==s.kwargsIndex){const r=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:r,requiresTypeVarMatching:$a(r),argument:{argumentCategory:0,type:n.valueType},errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}else r.addMessage(ml.Diagnostic.paramNameMissing().format({name:i}))})),r.isEmpty()||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedTypedDictArgument()+r.getString(),t[o].valueExpression||e),l=!0)}else if(wo(n)&&"kwargs"===n.paramSpecAccess)i=io.create();else{const r=ce(e,"Mapping"),s=Cn(e,"str");if(r&&_o(r)&&s&&vo(s)){const a=new jo(na(r));let c=!1;if(bo(n))c=!0;else if(Jn(Zs.cloneAsInstance(r),n,void 0,a)){const e=fa(r,a).typeArguments;e&&e.length>=2?(Jn(s,e[0])&&(c=!0),i=e[1]):(c=!0,i=Ys.create())}c||(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackedDictArgumentNotMapping(),t[o].valueExpression||e),l=!0)}}y&&y.push(t[o])}else{const n=t[o].name;if(n){const i=n.value,r=d.get(i);if(r&&!r.isPositionalOnly)if(r.argsReceived>0)_e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAlreadyAssigned().format({name:i}),n),l=!0;else{r.argsReceived++;const n=s.params.findIndex((e=>e.param.name===i));w(n>=0);const a=s.params[n].type;S.push({paramCategory:0,paramType:a,requiresTypeVarMatching:$a(a),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),x(t[o],s.params[n].param)}else if(void 0!==s.kwargsIndex){if(y)y.push(t[o]);else{const n=s.params[s.kwargsIndex].type;S.push({paramCategory:2,paramType:n,requiresTypeVarMatching:$a(n),argument:t[o],errorNode:t[o].valueExpression||e,paramName:i}),d.set(i,{argsNeeded:1,argsReceived:1,isPositionalOnly:!1})}w(s.params[s.kwargsIndex],"paramDetails.kwargsIndex params entry is undefined"),x(t[o],s.params[s.kwargsIndex].param)}else _e(Vt(n).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.value}),n),l=!0}else 0===t[o].argumentCategory&&(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===m?ml.Diagnostic.argPositionalExpectedOne():ml.Diagnostic.argPositionalExpectedCount().format({expected:m}),t[o].valueExpression||e),l=!0)}o++}if(!i||C&&void 0===s.argsIndex||s.params.forEach(((n,r)=>{var o,a;const l=n.param;if(r>=s.firstPositionOrKeywordIndex&&0===l.category&&l.name&&!l.hasDefault&&d.has(l.name)&&0===d.get(l.name).argsReceived){const n=s.params[r].type;S.push({paramCategory:0,paramType:n,requiresTypeVarMatching:$a(n),argument:{argumentCategory:0,type:i},errorNode:null!==(a=null===(o=t.find((e=>2===e.argumentCategory)))||void 0===o?void 0:o.valueExpression)&&void 0!==a?a:e,paramName:l.isNameSynthesized?void 0:l.name}),d.get(l.name).argsReceived=1}})),!i&&!Xs.isDefaultParameterCheckDisabled(n)){const t=[...d.keys()].filter((e=>{const t=d.get(e);return!t||t.argsReceived0){const n=t.map((e=>`"${e}"`)).join(", ");_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),l=!0}s.params.forEach((t=>{const n=t.param;if(0===n.category&&n.name){const t=d.get(n.name);0===t.argsNeeded&&0===t.argsReceived&&n.defaultType&&!ca(n.defaultType)&&$a(n.type)&&S.push({paramCategory:n.category,paramType:n.type,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:n.defaultType},errorNode:e,paramName:n.isNameSynthesized?void 0:n.name})}}))}}if((!l||!c.isSpeculative(void 0))&&void 0!==s.argsIndex&&s.argsIndex>=0&&s.params[s.argsIndex].param.hasDeclaredType&&!p){const t=s.params[s.argsIndex].type,n=S.filter((e=>e.mapsToVarArgList));if(bo(t)&&t.details.isVariadic&&T&&_o(T)){const i=n.map((t=>{var n;const i=bn(t.argument).type;return(So(i)||vo(i)&&pa(i)&&i.tupleTypeArguments&&i.tupleTypeArguments.some((e=>So(e.type))))&&1!==t.argument.argumentCategory&&_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarTupleMustBeUnpacked(),null!==(n=t.argument.valueExpression)&&void 0!==n?n:e),{type:Qo(i),isUnbounded:1===t.argument.argumentCategory}})),r={paramCategory:1,paramType:t,requiresTypeVarMatching:!0,argument:{argumentCategory:0,type:Zs.cloneAsInstance(Va(T,i,!0,!0,!0))},errorNode:e,paramName:s.params[s.argsIndex].param.name,mapsToVarArgList:!0};S=[...S.filter((e=>!e.mapsToVarArgList)),r]}}let D=0;return a&&D--,["isinstance","issubclass"].some((e=>e===n.details.builtInName))&&2===S.length&&(S[1].expectingType=!0),{overload:n,overloadIndex:i,argumentErrors:l,isTypeIncomplete:u,argParams:S,paramSpecTarget:_,paramSpecArgList:y,activeParam:I,relevance:D}}function nt(e,t,n,i=!1,r){const s=t.overload;if(!r||ho(r)||ao(r)||$a(r)||!s.details.declaredReturnType)return it(e,t,n,i);const o=Un(s);let a=r,l=4;if(oa(a,!0)&&(l|=128),fo(r)){let r;kn(e,(()=>{const s=n.clone();Jn(o,a,void 0,s,1024|l),r=it(e,t,s,i)})),r&&r.argumentErrors&&(a=void 0)}if(a){if(vo(o)&&vo(a)&&!Zs.isSameGenericClass(o,a)){const t=new jo(na(o));Xe(o,a,t,Re(e));const n=Zs.cloneForSpecialization(o,void 0,!1);a=fa(n,t)}Jn(o,a,void 0,n,1024|l)}return it(e,t,n,i)}function it(e,t,n,i=!1){const r=t.overload;let s,o=t.isTypeIncomplete,a=!1;const l=Xo(r);if(r.boundTypeVarScopeId&&(void 0!==r.preBoundFlags&&r.boundToType&&$a(r.boundToType)&&6&r.preBoundFlags&&n.addSolveForScope(r.boundTypeVarScopeId),"__init__"===r.details.name&&Xs.isOverloaded(r)&&r.strippedFirstParamType&&r.boundToType&&vo(r.strippedFirstParamType)&&vo(r.boundToType)&&Zs.isSameGenericClass(r.strippedFirstParamType,r.boundToType)&&r.strippedFirstParamType.typeArguments)){const e=r.strippedFirstParamType.details.typeParameters;s=r.strippedFirstParamType,r.strippedFirstParamType.typeArguments.forEach(((t,i)=>{ie===r.details.builtInName))&&(i=!0);const c=t.argParams.filter((e=>e.requiresTypeVarMatching)).length;if(c>0){let s=Math.min(c,2);for(let a=0;a{t.argParams.forEach((e=>{if(e.requiresTypeVarMatching){const t=st(e,n,r,i,0===a,s>1&&0===a,l);t.isTypeIncomplete&&(o=!0),0===a&&t.skippedOverloadArg&&s++}}))}));n.lock()}t.argParams.forEach((e=>{const t=st(e,n,r,i,!1,!1,l);t.isCompatible||(a=!0),t.isTypeIncomplete&&(o=!0)})),t.paramSpecArgList&&t.paramSpecTarget&&(function(e,t,n,i,r){var s;const o=i.getParamSpec(n);if(!o)return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramSpecNotBound().format({type:ai(n)}),(null===(s=t[0])||void 0===s?void 0:s.valueExpression)||e),!1;i.addSolveForScope(o.typeVarScopeId);let a=!1;const l=new Map,c=o.parameters;c.forEach((e=>{e.name&&l.set(e.name,e)}));let u=0,p=c.findIndex((e=>0!==e.category));p<0&&(p=c.length);const d=c.find((e=>1===e.category)),h=c.find((e=>2===e.category));if(t.forEach((t=>{if(0===t.argumentCategory){let n;if(t.name){const i=l.get(t.name.value);i?(n=i.type,l.delete(t.name.value)):h?n=h.type:(_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:t.name.value}),t.valueExpression||e),a=!0)}else{if(u{const t=l.get(e);return 0===t.category&&!t.hasDefault})),t.length>0&&!o.paramSpec){const n=t.map((e=>`"${e}"`)).join(", ");_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===t.length?ml.Diagnostic.argMissingForParam().format({name:n}):ml.Diagnostic.argMissingForParams().format({names:n}),e),a=!0}}return!a}(e,t.paramSpecArgList,t.paramSpecTarget,n,l)||(a=!0));const u=Un(r,t.argParams);let p=!0,d=e;for(;;){const e=Pr(d);if(!e)break;const t=Pe(e);n.hasSolveForScope(t)&&(p=!1),d=e}(Eo(u)||ko(u))&&(p=!1);let h=Zo(fa(u,n,!1,!1,p),l);return xo(h)&&(h=Zs.cloneForUnpacked(h,!1)),vo(h)&&Zs.isBuiltIn(h,["TypeGuard","StrictTypeGuard"])&&h.typeArguments&&h.typeArguments.length>0&&b&&_o(b)&&(h=Zs.cloneAsInstance(Zs.cloneForTypeGuard(b,h.typeArguments[0],Zs.isBuiltIn(h,"StrictTypeGuard")))),Eo(h)&&!h.details.name&&(h.details={...h.details,typeVarScopeId:$s}),s&&(s=fa(s,n)),{argumentErrors:a,returnType:h,isTypeIncomplete:o,activeParam:t.activeParam,specializedInitSelfType:s}}function rt(e,t,n,i,r=!1,s){const o=tt(e,t,n,0);return o.argumentErrors?(d.isUndoTrackingEnabled()||t.forEach((e=>{e.valueExpression&&!c.isSpeculative(e.valueExpression)&&$(e.valueExpression)})),{argumentErrors:!0,activeParam:o.activeParam}):nt(e,o,i,r,s)}function st(e,t,n,i,r,s,o){let a,l,u=!1,p=!0;const d=null==n?void 0:n.details.name;if(e.argument.valueExpression){let i=bo(e.paramType)&&void 0!==n&&e.paramType.scopeId===n.details.typeVarScopeId?void 0:fa(e.paramType,t,!1,s);if(i&&po(i)&&(i=void 0),e.argType)a=e.argType;else{const t=e.expectingType?168:0,n=$(e.argument.valueExpression,i,t);a=n.type,n.isIncomplete&&(u=!0),n.typeErrors&&(p=!1),l=n.expectedTypeDiagAddendum}e.argument&&e.argument.name&&!c.isSpeculative(e.errorNode)&&N(e.argument.name,i||a,0,u)}else if(e.argType)a=e.argType;else if(e.expectingType&&!e.argument.type&&e.argument.valueExpression){const t=$(e.argument.valueExpression,void 0,168);a=t.type,t.isIncomplete&&(u=!0)}else{const t=bn(e.argument);a=t.type,t.isIncomplete&&(u=!0)}2===e.paramCategory&&bo(e.paramType)&&(a=Qo(a)),o&&(a=Se(a,o,(e=>e)));let h=new il;if(wo(e.paramType)&&void 0!==e.paramType.paramSpecAccess)return{isCompatible:p,isTypeIncomplete:u};if(r){if(ko(a))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0};const t=Ie(e.paramType);if(Eo(t)||ko(t)){if(_o(a)){const e=Zn(a);if(e&&ko(e))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}if(vo(a)){const e=_a(a,"__call__");if(e&&ko(Bn(e)))return{isCompatible:p,isTypeIncomplete:u,skippedOverloadArg:!0}}}}if(!Jn(e.paramType,a,h.createAddendum(),t)){if("none"!==Vt(e.errorNode).diagnosticRuleSet.reportGeneralTypeIssues&&!ye(e.errorNode)){const t=Vt(e.errorNode),n=ai(a),i=ai(e.paramType);let r;r=e.paramName?d?ml.Diagnostic.argAssignmentParamFunction().format({argType:n,paramType:i,functionName:d,paramName:e.paramName}):ml.Diagnostic.argAssignmentParam().format({argType:n,paramType:i,paramName:e.paramName}):d?ml.Diagnostic.argAssignmentFunction().format({argType:n,paramType:i,functionName:d}):ml.Diagnostic.argAssignment().format({argType:n,paramType:i}),l&&(h=l),_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,r+al(h),e.errorNode)}return{isCompatible:!1,isTypeIncomplete:u}}if(!i){const t=Ro(a),n=Vt(e.errorNode),i=()=>{const t=new il;return e.paramName&&t.addMessage((d?ml.DiagnosticAddendum.argParamFunction().format({paramName:e.paramName,functionName:d}):ml.DiagnosticAddendum.argParam().format({paramName:e.paramName}))+t.getString()),t};if("none"!==n.diagnosticRuleSet.reportUnknownArgumentType&&!uo(e.paramType)&&!u)if(po(t)){const t=i();_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypeUnknown()+t.getString(),e.errorNode)}else if(La(t,!0)){let r=!1;if(_o(t)&&(r=!0),La(e.paramType)&&(r=!0),vo(t)&&t.isEmptyContainer&&(r=!0),!r){const r=i();r.addMessage(ml.DiagnosticAddendum.argumentType().format({type:ai(t,!0)})),_e(n.diagnosticRuleSet.reportUnknownArgumentType,$o.reportUnknownArgumentType,ml.Diagnostic.argTypePartiallyUnknown()+r.getString(),e.errorNode)}}}return{isCompatible:p,isTypeIncomplete:u}}function ot(e){if(11===e.nodeType){if(15===e.constType)return!1;if(33===e.constType)return!0}return fe(ml.Diagnostic.expectedBoolLiteral(),e),!1}function at(e,t){const n=Vt(e);let i="_";if(t.length>=1){const e=t[0];0===e.argumentCategory&&e.valueExpression&&48===e.valueExpression.nodeType&&(i=e.valueExpression.strings.map((e=>e.value)).join(""))}if(t.length>=2){const r=In(t[1]).type;if(_o(r)){Zs.isProtocolClass(r)?fe(ml.Diagnostic.newTypeProtocolClass(),t[1].node||e):void 0!==r.literalValue&&fe(ml.Diagnostic.newTypeLiteral(),t[1].node||e);const s=-4&r.details.flags,o=Zs.createInstantiable(i,br(e,n.moduleName,i),n.moduleName,n.filePath,s,Ir(e),void 0,r.details.effectiveMetaclass);o.details.baseClasses.push(r),Ha(o);const a=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"self",type:Zs.cloneAsInstance(o),hasDeclaredType:!0}),Xs.addParameter(a,{category:0,name:"_x",type:Zs.cloneAsInstance(r),hasDeclaredType:!0}),a.details.declaredReturnType=to.createInstance(),o.details.fields.set("__init__",qo.createWithType(4,a));const l=Xs.createInstance("__new__","","",65);return Xs.addParameter(l,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(l),l.details.declaredReturnType=Zs.cloneAsInstance(o),o.details.fields.set("__new__",qo.createWithType(4,l)),o}ho(r)||fe(ml.Diagnostic.newTypeNotAClass(),t[1].node||e)}}function lt(e){return!(!Ku[e]||!Ku[e][2])||!!Ju[e]}function ut(e,t,n){const i=e.leftExpression;let r=e.rightExpression,s=!1;lt(e.operator)&&7===r.nodeType&&!r.parenthesized&<(r.operator)&&(ut(r,t,n),r=r.leftExpression);let o,a=37===e.operator||36===e.operator?t:void 0;26===e.operator&&t&&vo(t)&&Zs.isBuiltIn(t,"list")&&t.typeArguments&&t.typeArguments.length>=1&&31===e.leftExpression.nodeType&&(o=t);const l=$(i,a||o,n);let c=l.type;a||(37===e.operator||36===e.operator||0===e.operator&&31===e.rightExpression.nodeType||6===e.operator)&&(a=c);const u=$(r,a,n);let p=u.type;if((l.isIncomplete||u.isIncomplete)&&(s=!0),6===e.operator&&!pt(c,"__or__")&&!pt(p,"__ror__")){let t=p;if(!lo(c)&&lo(p)&&Ks.isInstance(p)&&(t=to.createType()),function(e){let t=3;for(const n of e)t&=n.flags;return 0!=(1&t)&&0==(2&t)}([c,t])){const i=Vt(e);i.isStubFile||0!=(4&n)||i.executionEnvironment.pythonVersion>=De.V3_10||ho(c)||fe(ml.Diagnostic.unionSyntaxIllegal(),e,e.operatorToken);const r=Oo([c,t]);return fo(r)&&Ks.setSpecialForm(r),{type:r,node:e}}}let d=!1;void 0===Ju[e.operator]&&(12===e.operator||28===e.operator?c=Fo(c):d=Go(c),12!==e.operator&&28!==e.operator||(p=Fo(p)));const h=new il,m=!l.isIncomplete&&!u.isIncomplete;let f=mt(e.operator,c,p,e,t,h,m);if(!h.isEmpty()||!f){if(!s){const t=Vt(e);d&&1===h.getMessages().length?_e(Vt(e).diagnosticRuleSet.reportOptionalOperand,$o.reportOptionalOperand,ml.Diagnostic.noneOperator().format({operator:Cr(e.operator)}),e.leftExpression):_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(c),rightType:ai(p)})+al(h),e)}f=Ys.create()}return{type:f,node:e,isIncomplete:s}}function pt(e,t){if(!_o(e))return!1;const n=e.details.effectiveMetaclass;if(!n||!_o(n))return!1;if(Zs.isBuiltIn(n,"type"))return!1;const i=va(n,t);return!(!i||_o(i.classType)&&Zs.isBuiltIn(i.classType,"type"))}function ht(e,t){const n={1:["__iadd__",0],34:["__isub__",33],27:["__imul__",26],14:["__ifloordiv__",13],11:["__itruediv__",10],25:["__imod__",24],30:["__ipow__",29],23:["__imatmul__",22],4:["__iand__",3],7:["__ior__",6],9:["__ixor__",8],18:["__ilshift__",17],32:["__irshift__",31]};let i;const r=new il,s=$(e.leftExpression),o=s.type;let a;7===e.operator&&(a=o);const l=$(e.rightExpression,a),c=l.type,u=!!l.isIncomplete||!!s.isIncomplete;return ao(o)||ao(c)?{node:e,type:no.createNever(),isIncomplete:u}:(i=Se(o,void 0,((i,o)=>Se(c,Xo(i),((a,c)=>{if(ho(o)||ho(c))return po(o)||po(c)?Ys.create():io.create();const u=n[e.operator][0];let p=gt(o,[c],u,e,t);if(p||o===i||(p=gt(i,[c],u,e,t)),p||c===a||(p=gt(i,[a],u,e,t)),!p){const i=n[e.operator][1],a=!s.isIncomplete&&!l.isIncomplete;p=mt(i,o,c,e,t,r,a)}return p})))),r.isEmpty()&&i&&!ao(i)||(u||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e.operator),leftType:ai(o),rightType:ai(c)})+al(r),e),i=Ys.create()),{node:e,type:i,isIncomplete:u})}function mt(e,t,n,i,r,s,o){let a,l=Ie(t);if(void 0!==Ju[e]){if(36===e){if(!Q(l))return t;if(!Y(l))return n;l=Z(l)}else if(37===e){if(!Y(l))return t;if(!Q(l))return n;l=X(l)}if(ao(t)||ao(n))return no.createNever();41===e||42===e?(a=Se(n,void 0,((t,n)=>Se(l,Xo(t),(r=>{if(ho(r)||ho(n))return po(r)||po(n)?Ys.create():io.create();let o=gt(t,[r],"__contains__",i,void 0);if(!o){const e=ae(t,!1,void 0);e&&Jn(e,r)&&(o=Cn(i,"bool"))}return o||s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(r),rightType:ai(t)})),o})))),a&&!ao(a)&&(a=Cn(i,"bool"))):a=Se(l,void 0,((t,r)=>Se(n,Xo(t),((t,n)=>36===e||37===e?Oo([r,n]):Cn(i,"bool")))))}else if(Ku[e]){if(ao(t)||ao(n))return no.createNever();if(o){const i=aa(t);if(i&&!Xo(t)){const r=64;if(i===aa(n)&&!Xo(n)&&la(t)*la(n)Ko(n,(t=>{const n=e,i=t;return Zs.cloneWithLiteral(n,n.literalValue+i.literalValue)})))));else if("int"===i&&(0===e||33===e||26===e||13===e||24===e)){let i=!0;a=Ko(t,(t=>Ko(n,(n=>{try{const r=t,s=n,o=BigInt(r.literalValue),a=BigInt(s.literalValue);let l;return 0===e?l=o+a:33===e?l=o-a:26===e?l=o*a:13===e?a!==BigInt(0)&&(l=o/a):24===e&&a!==BigInt(0)&&(l=o%a),void 0===l||"number"==typeof l&&isNaN(l)?void(i=!1):(l===BigInt(Number(l))&&(l=Number(l)),Zs.cloneWithLiteral(r,l))}catch{return void(i=!1)}})))),i||(a=void 0)}}}a||(a=Se(t,void 0,((t,o)=>Se(n,Xo(t),((n,a)=>{if(ho(o)||ho(a))return po(o)||po(a)?Ys.create():io.create();if(0===e&&vo(t)&&pa(t)&&t.tupleTypeArguments&&!da(t)&&vo(n)&&pa(n)&&n.tupleTypeArguments&&!da(n)&&T&&_o(T))return Zs.cloneAsInstance(Va(T,[...t.tupleTypeArguments,...n.tupleTypeArguments]));const l=Ku[e][0];let c=gt(yt(o),[a],l,i,r);if(c||o===t||(c=gt(yt(t),[a],l,i,r)),c||a===n||(c=gt(yt(t),[n],l,i,r)),!c){const s=Ku[e][1];c=gt(yt(a),[o],s,i,r),c||a===n||(c=gt(yt(n),[o],s,i,r)),c||o===t||(c=gt(yt(n),[t],s,i,r))}return c||(r?s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperatorBidirectional().format({operator:Cr(e),leftType:ai(t),rightType:ai(n),expectedType:ai(r)})):s.addMessage(ml.Diagnostic.typeNotSupportBinaryOperator().format({operator:Cr(e),leftType:ai(t),rightType:ai(n)}))),c})))))}return a&&ao(a)?void 0:a}function gt(e,t,n,i,r){let s=!0;const o=e=>{var o,a;let l;const c=Ie(e);if(vo(c)?l=null===(o=ee(i,c,n,void 0,void 0,64,e))||void 0===o?void 0:o.type:_o(c)&&(l=null===(a=te(i,c,n,void 0,void 0,96))||void 0===a?void 0:a.type),l){const e=t.map((e=>({argumentCategory:0,type:e})));let n;return kn(i,(()=>{n=et(i,e,l,void 0,!0,r)})),n.argumentErrors&&(s=!1),n.returnType}s=!1},a=Ko(e,(e=>{if(ho(e))return e;if(vo(e)||_o(e)||bo(e))return o(e);if(lo(e)){const e=Cn(i,"object");if(vo(e))return o(e)}s=!1}));if(s)return a}function yt(e){return(Eo(e)||ko(e))&&y?y:e}function _t(e,t,n){if(!vo(t=ta(t)))return;const i=[],r=[];let s=!1;if(Zs.isTypedDictClass(t)){if(Tt(e,i,r,!0,void 0,void 0,gl(li,t),n)&&(s=!0),Zs.isTypedDictClass(t)){const o=function(e,t,n,i,r){w(vo(t)),w(Zs.isTypedDictClass(t)),w(n.length===i.length);let s=!0;const o=new Map,a=gl(e,t);if(n.forEach(((n,l)=>{if(vo(n)&&Zs.isBuiltIn(n,"str")&&ra(n)){const c=n.literalValue,u=a.get(c);u?(e.canAssignType(u.valueType,i[l])||(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldTypeMismatch().format({name:n.literalValue,type:e.printType(i[l])})),s=!1),u.isRequired||o.set(c,{valueType:i[l],isRequired:!1,isProvided:!0}),u.isProvided=!0):(s=!1,r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldUndefined().format({name:n.literalValue,type:e.printType(Zs.cloneAsInstance(t))})))}else s=!1})),s&&(a.forEach(((n,i)=>{n.isRequired&&!n.isProvided&&(r&&r.addMessage(ml.DiagnosticAddendum.typedDictFieldRequired().format({name:i,type:e.printType(t)})),s=!1)})),s))return 0===o.size?t:Zs.cloneForNarrowedTypedDictEntries(t,o)}(li,t,i,r,n);if(o)return{type:o,node:e,isIncomplete:s}}return}const o=Cn(e,"dict");if(!vo(o))return;const a=new jo(na(o));if(!Xe(o,t,a,Re(e)))return;const l=fa(Zs.cloneAsInstantiable(o),a);if(!l.typeArguments||2!==l.typeArguments.length)return;const c=l.typeArguments[0],u=l.typeArguments[1];Tt(e,i,r,!0,c,u,void 0,n)&&(s=!0);const p=vo(t)&&(Zs.isBuiltIn(t,"dict")||Zs.isBuiltIn(t,"MutableMapping")),d=It(c,i,!1),h=It(u,r,!p);return d&&h?{type:Cn(e,"dict",[d,h]),node:e,isIncomplete:s}:void 0}function vt(e,t){const n=t?io.create():Ys.create();let i=n,r=n,s=[],o=[],a=!1,l=!1;Tt(e,s,o,t)&&(l=!0),s=s.map((e=>Qo(e))),o=o.map((e=>Qo(e))),i=s.length>0?Oo(s):n,o.length>0?r=Vt(e).diagnosticRuleSet.strictDictionaryInference||t?Oo(o):Yo(o,!0)?o[0]:n:(r=n,a=!0);const c=xn(e,"dict");return{type:_o(c)?Zs.cloneAsInstance(Zs.cloneForSpecialization(c,[i,r],!0,void 0,void 0,a)):Ys.create(),node:e,isIncomplete:l}}function Tt(e,t,n,i,r,s,o,a){let l=!1;return e.entries.forEach(((c,u)=>{var p;let d=!0;if(17===c.nodeType){const e=$(c.keyExpression,null!=r?r:i?no.createNever():void 0);e.isIncomplete&&(l=!0);let p,h=e.type;if(r){const e=Ie(r);ho(e)||Jn(e,h)&&(h=e)}p=o&&vo(h)&&Zs.isBuiltIn(h,"str")&&ra(h)&&o.has(h.literalValue)?$(c.valueExpression,o.get(h.literalValue).valueType):$(c.valueExpression,null!=s?s:i?no.createNever():void 0),a&&p.expectedTypeDiagAddendum&&a.addAddendum(p.expectedTypeDiagAddendum);const m=p.type;p.isIncomplete&&(l=!0),(i||u<64)&&(t.push(h),n.push(m)),d=!1}else if(16===c.nodeType){const r=$(c.expandExpression);r.isIncomplete&&(l=!0);const s=r.type;if(ho(s))d=!1;else{const r=ce(e,"Mapping");if(r&&_o(r)){const o=new jo(na(r));if(Jn(Zs.cloneAsInstance(r),s,void 0,o)){const e=fa(r,o).typeArguments;e&&e.length>=2&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}else _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.dictUnpackIsNotMapping(),c)}}}else if(32===c.nodeType){const e=wt(c,s,r),o=e.type;if(e.isIncomplete&&(l=!0),vo(o)&&pa(o)){const e=null===(p=o.tupleTypeArguments)||void 0===p?void 0:p.map((e=>e.type));e&&2===e.length&&((i||u<64)&&(t.push(e[0]),n.push(e[1])),d=!1)}}d&&(i||u<64)&&(t.push(Ys.create()),n.push(Ys.create()))})),l}function bt(e,t){const n=31===e.nodeType?"list":"set";t=ta(t);let i=!1;if(!vo(t))return;const r=Cn(e,n);if(!vo(r))return;const s=new jo(na(r));if(!Xe(r,t,s,Re(e)))return;const o=fa(Zs.cloneAsInstantiable(r),s);if(!o.typeArguments||1!==o.typeArguments.length)return;const a=o.typeArguments[0],l=[];e.entries.forEach((e=>{let t;t=32===e.nodeType?wt(e,a):$(e,a),l.push(t.type),t.isIncomplete&&(i=!0)}));const c=vo(t)&&Zs.isBuiltIn(t,n),u=It(a,l,!c);return u?{type:Cn(e,n,[u]),node:e,isIncomplete:i}:void 0}function It(e,t,n){const i=oo.createInstance("__typeArg");i.details.isSynthesized=!0,i.details.boundType=e,i.scopeId="__typeArgScopeId";let r=new jo($s);if(r.setTypeVarType(i,n?void 0:e,e),!t.some((e=>!Jn(i,Qo(e),void 0,r)))||(r=new jo($s),r.setTypeVarType(i,n?void 0:e,e,!0),!t.some((e=>!Jn(i,e,void 0,r)))))return fa(i,r)}function xt(e,t,n,i,r,s){if("none"===e)return;const o=n.value,a=Ro(i);if(po(a))_e(e,t,ml.Diagnostic.typeUnknown().format({name:o}),r);else if(La(a)&&(!s||!vo(i)||!i.isEmptyContainer)){const n=new il;n.addMessage(ml.DiagnosticAddendum.typeOfSymbol().format({name:o,type:ai(a,!0)})),_e(e,t,ml.Diagnostic.typePartiallyUnknown().format({name:o})+n.getString(),r)}}function Ct(e){let t=!1;if(33===e.nodeType){const n=$(e.iterableExpression);n.isIncomplete&&(t=!0);const i=ae(Qo(n.type),!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,i,!!n.isIncomplete,e.iterableExpression)}else w(34===e.nodeType),c.isSpeculative(e.testExpression)||$(e.testExpression);return t}function wt(e,t,n){let i=!1;for(const t of e.forIfNodes)Ct(t)&&(i=!0);let r=Ys.create();if(17===e.expression.nodeType){const s=$(e.expression.keyExpression,n);s.isIncomplete&&(i=!0);let o=s.type;n&&oa(n)||(o=Qo(o));const a=$(e.expression.valueExpression,t);a.isIncomplete&&(i=!0);let l=a.type;t&&oa(t)||(l=Qo(l)),r=Ue([o,l])}else if(16===e.expression.nodeType)$(e.expression.expandExpression,t);else if(yr(e)){const n=$(e.expression,t);n.isIncomplete&&(i=!0),r=n.type}return{type:r,node:e,isIncomplete:i}}function Et(e,t){if(e.typeList){if(!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.typeArgListNotAllowed(),e.node),!1;e.typeList.forEach((e=>{Et(e)}))}if(ca(e.type)&&!(null==t?void 0:t.allowTypeArgList))return fe(ml.Diagnostic.ellipsisContext(),e.node),!1;if(To(e.type))return fe(ml.Diagnostic.moduleAsType(),e.node),!1;if(wo(e.type)&&!(null==t?void 0:t.allowParamSpec))return fe(ml.Diagnostic.paramSpecContext(),e.node),!1;if(Io(e.type)&&!e.type.isVariadicInUnion){if(!(null==t?void 0:t.allowVariadicTypeVar))return fe(ml.Diagnostic.typeVarTupleContext(),e.node),!1;Oe(e.type,e.node)}return!(null==t?void 0:t.allowEmptyTuple)&&e.isEmptyTupleShorthand?(fe(ml.Diagnostic.zeroLengthTupleNotAllowed(),e.node),!1):!(xo(e.type)&&!(null==t?void 0:t.allowUnpackedTuples)&&(fe(ml.Diagnostic.unpackedArgInTypeArgument(),e.node),1))}function kt(e,t,n){const i=Cn(e,t);return vo(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Nt(e,t,n){const i=xn(e,t);return _o(i)?Zs.cloneWithLiteral(i,n):Ys.create()}function Ot(e,t,n,i=!1,r=!1){const s=Zs.isTupleClass(e);if(t)if(s&&1===t.length&&t[0].isEmptyTupleShorthand)t=[];else{let e=!1;const r=t=>{e&&(o||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),t.node),o=!0)),e=!0};let o=!1;t.forEach(((e,o)=>{ca(e.type)?s?2!==t.length||1!==o?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):bo(t[0].type)&&Io(t[0].type)&&!t[0].type.isVariadicInUnion&&fe(ml.Diagnostic.typeVarTupleContext(),t[0].node):fe(ml.Diagnostic.ellipsisContext(),e.node):wo(e.type)&&i||(Io(e.type)&&void 0===n?(r(e),Oe(e.type,e.node)):void 0===n&&Co(e.type)?(r(e),Et(e,{allowUnpackedTuples:!0})):Et(e))}))}let o,a=t?t.map((e=>Fa(e.type))):[];if(void 0!==n)if(t&&a.length>n)fe(ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:n,received:a.length}),t[n].node),a=a.slice(0,n);else if(a.length{1===t&&ca(a[t])?1!==n.length||n[0].isUnbounded?fe(ml.Diagnostic.ellipsisSecondArg(),e.node):n[0]={type:n[0].type,isUnbounded:!0}:xo(e.type)&&e.type.tupleTypeArguments?n.push(...e.type.tupleTypeArguments):n.push({type:a[t],isUnbounded:!1})})):n.push({type:Ys.create(),isUnbounded:!0}),o=Va(e,n,void 0!==t,!1)}else o=Zs.cloneForSpecialization(e,a,void 0!==t);return r||Ks.setSpecialForm(o),o}function Ut(e,t){var n,i,r,s;const o=Er(e,!0);if(o){const l=$t(o);if(l&&Zs.isEnumClass(l.classType)){let o=3===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)&&e.parent.leftExpression===e||54===(null===(i=e.parent)||void 0===i?void 0:i.nodeType)&&e.parent.valueExpression===e&&3===(null===(r=e.parent.parent)||void 0===r?void 0:r.nodeType)||Vt(e).isStubFile&&54===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&e.parent.valueExpression===e;(a=e.value).length>2&&a.startsWith("_")&&a.endsWith("_")&&(o=!1),"name"!==e.value&&"value"!==e.value||(o=!1);const c=t();if(vo(c)&&c.details.fields.get("__get__")&&(o=!1),o)return Zs.cloneAsInstance(Zs.cloneWithLiteral(l.classType,new Hs(l.classType.details.name,e.value,c)))}}var a}function qt(e,t,n){if(!Ks.isInstantiable(e))return e;if(ea(e))return e;let i=[];bo(e)&&!Ks.isAnnotated(e)||Jo(e,(e=>{Ia(i,Sa(e))})),i=i.filter((e=>!e.details.isSynthesized)),i=i.map((e=>Ks.isInstance(e)?e:Fa(e)));const r=i.filter((e=>Io(e)));r.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyAlias().format({names:r.map((e=>`"${e.details.name}"`)).join(", ")}),n);const s=Vt(t),o=Pe(t),a=i.filter((e=>e.scopeId!==o&&0===e.scopeType));return a.length>0&&fe(ml.Diagnostic.genericTypeAliasBoundTypeVar().format({names:a.map((e=>`${e.details.name}`)).join(", ")}),n),Ks.cloneForTypeAlias(e,t.value,`${s.moduleName}.${t.value}`,o,i.length>0?i:void 0)}function Bt(e,t,n){const i=Vt(e);let r=Zs.createInstantiable(t,br(e,i.moduleName,t),i.moduleName,i.filePath,3,0,void 0,void 0);i.isTypingExtensionsStubFile&&(r.details.flags|=65536);const s=n.alias||"object";let o;if("builtins"===n.module)o=xn(e,s);else if("collections"===n.module)o=ue(e,s,["collections"]);else if("self"===n.module){const t=wn(e,s,!1);t&&(o=Nn(t.symbol),_o(o)&&Zs.isBuiltIn(o,"_TypedDict")&&(o.details.flags&=-513))}return o&&_o(o)?n.alias?r=Zs.cloneForTypingAlias(o,t):(r.details.baseClasses.push(o),r.details.effectiveMetaclass=o.details.effectiveMetaclass,Ha(r)):(r.details.baseClasses.push(Ys.create()),r.details.effectiveMetaclass=Ys.create(),Ha(r)),r}function Wt(e){var t;const n=Vt(e);if(F(e,0))return;let i,r=F(e.rightExpression,0),s=!1;if(!r&&((n.isTypingStubFile||n.isTypingExtensionsStubFile)&&(r=function(e){if(38!==e.leftExpression.nodeType)return;const t=e.leftExpression.value;if("Any"===t)return io.create();const n=new Map([["overload",{alias:"",module:"builtins"}],["TypeVar",{alias:"",module:"builtins"}],["_promote",{alias:"",module:"builtins"}],["no_type_check",{alias:"",module:"builtins"}],["NoReturn",{alias:"",module:"builtins"}],["Never",{alias:"",module:"builtins"}],["Counter",{alias:"Counter",module:"collections"}],["List",{alias:"list",module:"builtins"}],["Dict",{alias:"dict",module:"builtins"}],["DefaultDict",{alias:"defaultdict",module:"collections"}],["Set",{alias:"set",module:"builtins"}],["FrozenSet",{alias:"frozenset",module:"builtins"}],["Deque",{alias:"deque",module:"collections"}],["ChainMap",{alias:"ChainMap",module:"collections"}],["OrderedDict",{alias:"OrderedDict",module:"collections"}]]).get(t);return n?($(e.rightExpression),Bt(e,t,n)):void 0}(e),r&&N(e.rightExpression,r,0,!1)),!r)){const l=se(e.leftExpression,{method:"set"});let c,u=0;n.isStubFile&&(u|=256),38!==e.rightExpression.nodeType&&35!==e.rightExpression.nodeType||(u|=2);let p,d=!1;if(re(e.leftExpression))u|=232,u&=-3,c=e.leftExpression.valueExpression;else if(38===e.leftExpression.nodeType){const t=wn(e.leftExpression,e.leftExpression.value,!1);if(t){const n=t.symbol.getDeclarations();1===n.length&&os(n[0])&&(c=e.leftExpression,d=!0)}}if(c){p=oo.createInstantiable(`__type_alias_${c.value}`),p.details.isSynthesized=!0,p.details.recursiveTypeAliasName=c.value;const t=Pe(c);p.details.recursiveTypeAliasScopeId=t,p.scopeId=t,N(e,p,void 0,!1),N(e.leftExpression,p,void 0,!1),54===e.leftExpression.nodeType&&N(e.leftExpression.valueExpression,p,void 0,!1)}const h=$(e.rightExpression,l,u);let m=h.type;i=h.expectedTypeDiagAddendum,h.isIncomplete&&(s=!0);const f=Xc(e.rightExpression,n.executionEnvironment);if(void 0!==f){const t=Cn(e,"bool");vo(t)&&(m=Zs.cloneWithLiteral(t,f))}l&&Jn(l,m)&&(ho(m)||(m=ni(l,m))),r=m,38!==e.leftExpression.nodeType||e.typeAnnotationComment||(r=Ut(e.leftExpression,(()=>r))||r),c&&(M(e),M(e.leftExpression),54===e.leftExpression.nodeType&&M(e.leftExpression.valueExpression),(!d||Ks.isInstantiable(r)&&!po(r))&&(r=qt(r,c,e.rightExpression),o=p,(9!==(a=r).category?a===o||mo(a)&&a.typeAliasInfo&&a.typeAliasInfo.name===o.details.recursiveTypeAliasName:void 0!==Mo(a,(e=>Ao(o,e))))&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveDirect().format({name:c.value}),e.rightExpression),p.details.boundType=r,p.details.recursiveTypeParameters=null===(t=r.typeAliasInfo)||void 0===t?void 0:t.typeParameters),p.details.illegalRecursionDetected&&_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeAliasIsRecursiveIndirect().format({name:c.value}),e.leftExpression))}var o,a;xe(e.leftExpression,r,s,e.rightExpression,!0,!0,i),N(e,r,0,s)}function jt(e){if(F(e,0))return;const t=ht(e,void 0);xe(e.destExpression,t.type,!!t.isIncomplete,e.rightExpression),N(e,t.type,0,!!t.isIncomplete)}function $t(e){const t=F(e.name,0);if(t){if(!_o(t))return;return{classType:t,decoratedType:F(e,0)||Ys.create()}}const n=zs(e),i=Vt(e);let r=0;(4===(null==n?void 0:n.type)||i.isTypingStubFile||i.isTypingExtensionsStubFile||i.isBuiltInStubFile)&&(r|=1,i.isTypingExtensionsStubFile&&(r|=65536),"property"===e.name.value&&(r|=2048),"tuple"===e.name.value&&(r|=524288)),i.isStubFile&&(r|=8388608);const s=Zs.createInstantiable(e.name.value,br(e,i.moduleName,e.name.value),i.moduleName,i.filePath,r,0,void 0,void 0,qr(e.suite.statements));s.details.typeVarScopeId=Pe(e);const o=null==n?void 0:n.lookUpSymbol(e.name.value);let a;const l=Mt(e);l&&(a=l),a&&o&&B(o,a,s),s.details.flags|=131072,N(e,s,void 0,!1),N(e.name,s,void 0,!1);const c=[];let u;const p=[];let d,h=272960;i.isStubFile&&(h|=4),e.arguments.forEach((e=>{if(e.name)if("metaclass"===e.name.value)d?fe(ml.Diagnostic.metaclassDuplicate(),e):d=e.valueExpression;else if("total"===e.name.value&&Zs.isTypedDictClass(s)){const t=Xc(e.valueExpression,i.executionEnvironment);void 0===t?fe(ml.Diagnostic.typedDictTotalParam(),e.valueExpression):t||(s.details.flags|=256)}else p.push({argumentCategory:0,node:e,name:e.name,valueExpression:e.valueExpression});else{let t=$(e.valueExpression,void 0,h).type;if(fo(t)&&(t=Ro(t)),ho(t)||mo(t)||(_o(t)?(Zs.isBuiltIn(t,"Protocol")&&(!i.isStubFile&&!Zs.isTypingExtensionClass(t)&&i.executionEnvironment.pythonVersion=De.V3_6&&Zs.isBuiltIn(t,"NamedTuple")&&(s.details.flags|=16777220),Zs.isBuiltIn(t,"TypedDict")||Zs.isTypedDictClass(t)?s.details.flags|=128:Zs.isTypedDictClass(s)&&!Zs.isTypedDictClass(t)&&fe(ml.Diagnostic.typedDictBaseClass(),e),Da(t,s,!0)&&(fe(ml.Diagnostic.baseClassCircular(),e),t=Ys.create())):(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.baseClassInvalid(),e),t=Ys.create())),po(t)&&_e(i.diagnosticRuleSet.reportUntypedBaseClass,$o.reportUntypedBaseClass,ml.Diagnostic.baseClassUnknown(),e),s.details.baseClasses.some((e=>_o(e)&&_o(t)&&Zs.isSameGenericClass(t,e)))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.duplicateBaseClass(),e.name||e),s.details.baseClasses.push(t),_o(t)&&(Zs.isEnumClass(t)&&(s.details.flags|=1048576),(Zs.supportsAbstractMethods(t)||Zs.isProtocolClass(t)&&!Zs.isBuiltIn(t))&&(s.details.flags|=512),Zs.isPropertyClass(t)&&(s.details.flags|=2048),Zs.isFinal(t))){const n=oi(t);fe(ml.Diagnostic.baseClassFinal().format({type:n}),e.valueExpression)}Ia(c,Sa(t)),_o(t)&&Zs.isBuiltIn(t,"Generic")&&(u||(u=[],Ia(u,Sa(t))))}})),s.details.baseClasses.length>1&&s.details.baseClasses.some((e=>_o(e)&&Zs.isBuiltIn(e,"NamedTuple")))&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.namedTupleMultipleInheritance(),e.name),Zs.isBuiltIn(s,"object")||0!==s.details.baseClasses.filter((e=>yo(e))).length||s.details.baseClasses.push(xn(e,"object")),u&&function(e,t,n){const i=t.filter((e=>!n.some((t=>t.details.name===e.details.name))));if(i.length>0){const t=new il;t.addMessage(ml.DiagnosticAddendum.typeVarsMissing().format({names:i.map((e=>`"${e.details.name}"`)).join(", ")})),_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarsNotInGeneric()+t.getString(),e)}}(e.name,c,u),s.details.typeParameters=u||c;const m=s.details.typeParameters.filter((e=>Io(e)));m.length>1&&fe(ml.Diagnostic.variadicTypeParamTooManyClass().format({names:m.map((e=>`"${e.details.name}"`)).join(", ")}),e.name,dt.combine(e.arguments)||e.name),Ha(s)||fe(ml.Diagnostic.methodOrdering(),e.name);const f=zs(e.suite);s.details.fields=(null==f?void 0:f.symbolTable)||new Map;const y=null==f?void 0:f.getSlotsNames();if(y&&(s.details.localSlotsNames=y),Zs.isTypedDictClass(s)&&fl(li,e,s),!i.isStubFile&&0===s.details.typeParameters.length){const t=s.details.fields.get("__init__");if(t){const n=t.getTypedDeclarations();if(1===n.length&&3===n[0].type){const t=n[0].node,i=t.parameters;if(i.length>1&&!i.some(((e,n)=>!!ie(t,n)))){const n=i.filter(((e,t)=>t>0&&e.name&&0===e.category));n.length>0&&(s.details.flags|=16384,s.details.typeParameters=n.map((n=>{const i=oo.createInstance(`__type_of_${n.name.value}`);return i.details.isSynthesized=!0,i.scopeId=Pe(t),i.details.boundType=Ys.create(),oo.cloneForScopeId(i,Pe(e),e.name.value,0)})))}}}}if(0!==s.details.typeParameters.length||Zs.isBuiltIn(s,"type")||(s.details.baseClasses.some((e=>_o(e)&&Zs.hasCustomClassGetItem(e)))||s.details.fields.has("__class_getitem__"))&&(s.details.flags|=262144),d){const e=$(d,void 0,h).type;(_o(e)||po(e))&&($a(e)&&_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassIsGeneric(),d),s.details.declaredMetaclass=e,_o(e)&&(Zs.isBuiltIn(e,"EnumMeta")?s.details.flags|=1048576:Zs.isBuiltIn(e,"ABCMeta")&&(s.details.flags|=512)))}let v=s.details.declaredMetaclass,T=!1;if(!v||_o(v))for(const t of s.details.baseClasses){if(!_o(t)){v=Ys.create();break}{const n=t.details.effectiveMetaclass||_;if(!n||!_o(n)){v=n?Ys.create():void 0;break}v?Da(n,v,!1)?v=n:Da(v,n,!1)||T||(_e(i.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.metaclassConflict(),e.name),T=!0):v=n}}if(!v){const t=xn(e,"type");v=t&&_o(t)?t:Ys.create()}s.details.effectiveMetaclass=v;let b,I=s,S=!1;for(let t=e.decorators.length-1;t>=0;t--){const n=e.decorators[t],r=Ht(I,s,n);Oa(r)?S||(_e(i.diagnosticRuleSet.reportUntypedClassDecorator,$o.reportUntypedClassDecorator,ml.Diagnostic.classDecoratorTypeUnknown(),e.decorators[t].expression),S=!0):I=r}if(_o(v)&&v.details.classDataClassTransform)b=v.details.classDataClassTransform;else{const e=s.details.mro.find((e=>yo(e)&&void 0!==e.details.classDataClassTransform));e&&(b=e.details.classDataClassTransform)}if(b&&(Wu(s,b),Bu(li,s,p)),s.details.flags&=-131073,Zs.isDataClass(s)){const t=Zs.isSkipSynthesizedDataClassInit(s);let n=t;if(!t){const e=va(s,"__init__",2);if(e){const t=Bn(e);Eo(t)&&Xs.isSynthesizedMethod(t)||(n=!0)}}let i=!1;const r=va(s,"__hash__",2);if(r){const e=Bn(r);Eo(e)&&!Xs.isSynthesizedMethod(e)&&(i=!0)}!function(e,t,n,i,r,s){w(Zs.isDataClass(n));const o=Aa(n,!0),a=Xs.createInstance("__new__","","",65),l=Xs.createInstance("__init__","","",64);Xs.addParameter(a,{category:0,name:"cls",type:o,hasDeclaredType:!0}),Xs.addDefaultParameters(a),a.details.declaredReturnType=Fa(o);const c={category:0,name:"self",type:Aa(n,!1),hasDeclaredType:!0};Xs.addParameter(l,c),l.details.declaredReturnType=to.createInstance();const u=[],p=[],d=function(e,t){let n=!0;for(let i=e.details.mro.length-1;i>=0;i--){const r=e.details.mro[i];if(_o(r)){const e=wa(r,!1);Zs.getDataClassEntries(r).forEach((n=>{const i=t.findIndex((e=>e.name===n.name)),r={...n};r.type=fa(r.type,e),n.isClassVar?i>=0&&t.splice(i,1):i>=0?t[i]=r:t.push(r)}))}else n=!1}return n}(n,p);d||Xs.addDefaultParameters(l);const h=[];let m=!1;t.suite.statements.forEach((r=>{47===r.nodeType&&r.statements.forEach((r=>{var s;let o,a,l,c,d=!1,f=Zs.isDataClassKeywordOnlyParams(n)||m,g=!0;if(3===r.nodeType){if(54===r.leftExpression.nodeType&&38===r.leftExpression.valueExpression.nodeType&&(o=r.leftExpression.valueExpression,l=()=>e.getTypeOfAnnotation(r.leftExpression.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0})),d=!0,c=r.rightExpression,9===r.rightExpression.nodeType){const i=e.getTypeOfExpression(r.rightExpression.leftExpression,void 0,2).type;if(function(e,t){let n;return Eo(e)?n=e.details.fullName:ko(e)?n=e.overloads[0].details.fullName:_o(e)&&(n=e.details.fullName),!!n&&t.some((e=>e===n))}(i,(null===(s=n.details.dataClassBehaviors)||void 0===s?void 0:s.fieldDescriptorNames)||[])){const n=r.rightExpression.arguments.find((e=>{var t;return"init"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(n&&n.valueExpression)!1===Xc(n.valueExpression,Vt(t).executionEnvironment)&&(g=!1);else{let t;if(Eo(i))t=i;else if(ko(i))t=e.getBestOverloadForArguments(r.rightExpression,i,r.rightExpression.arguments);else if(_o(i)){const n=e.getBoundMethod(i,"__init__");n&&(Eo(n)?t=n:ko(n)&&(t=e.getBestOverloadForArguments(r.rightExpression,n,r.rightExpression.arguments)))}if(t){const e=t.details.parameters.find((e=>"init"===e.name));e&&e.defaultValueExpression&&e.hasDeclaredType&&yo(e.type)&&Zs.isBuiltIn(e.type,"bool")&&ra(e.type)&&!1===e.type.literalValue&&(g=!1)}}const s=r.rightExpression.arguments.find((e=>{var t;return"kw_only"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(s&&s.valueExpression){const e=Xc(s.valueExpression,Vt(t).executionEnvironment);!1===e?f=!1:!0===e&&(f=!0)}const o=r.rightExpression.arguments.find((e=>{var t,n,i;return"default"===(null===(t=e.name)||void 0===t?void 0:t.value)||"default_factory"===(null===(n=e.name)||void 0===n?void 0:n.value)||"factory"===(null===(i=e.name)||void 0===i?void 0:i.value)}));d=!!o,(null==o?void 0:o.valueExpression)&&(c=o.valueExpression);const l=r.rightExpression.arguments.find((e=>{var t;return"alias"===(null===(t=e.name)||void 0===t?void 0:t.value)}));if(l){const t=e.getTypeOfExpression(l.valueExpression).type;vo(t)&&Zs.isBuiltIn(t,"str")&&ra(t)&&(a=t.literalValue)}}}}else if(54===r.nodeType&&38===r.valueExpression.nodeType&&(o=r.valueExpression,l=()=>e.getTypeOfAnnotation(r.typeAnnotation,{isVariableAnnotation:!0,allowFinal:!0,allowClassVar:!0}),"_"===r.valueExpression.value)){const e=l();vo(e)&&Zs.isBuiltIn(e,"KW_ONLY")&&(m=!0,o=void 0,l=void 0)}if(o&&l){const t=o.value,r=n.details.fields.get(t),s=null==r?void 0:r.getDeclarations().some((e=>1===e.type&&e.isFinal));if((null==r?void 0:r.isClassVar())&&!s){const e=p.findIndex((e=>e.name===t));e>=0&&p.splice(e,1);const i={name:t,classType:n,alias:a,isKeywordOnly:!1,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!0};u.push(i)}else{const r={name:t,classType:n,alias:a,isKeywordOnly:f,hasDefault:d,defaultValueExpression:c,includeInInit:g,type:Ys.create(),isClassVar:!1};h.push({entry:r,evaluator:l});let s=u.findIndex((e=>e.name===t));if(s>=0?u[s]=r:u.push(r),s=p.findIndex((e=>e.name===t)),s>=0){const e=p[s];!r.hasDefault&&e.hasDefault&&(r.hasDefault=!0,r.defaultValueExpression=e.defaultValueExpression,d=!0),p[s]=r}else p.push(r),s=p.length-1;if(!f&&g&&!i&&!d){const t=p.findIndex((e=>e.hasDefault&&e.includeInInit&&!e.isKeywordOnly));t>=0&&t{e.entry.type=e.evaluator()}));const f=n.details.fields,g=[];i||r||!d||(p.forEach((t=>{var i;if(t.includeInInit){let r=t.type;if(t.classType!==n&&$a(r)){const e=new jo(na(t.classType));ma(e,t.classType,n),r=fa(r,e)}(null===(i=n.details.dataClassBehaviors)||void 0===i?void 0:i.transformDescriptorTypes)&&(r=function(e,t){if(!vo(t))return t;const n=_a(t,"__set__");if(!n)return t;const i=e.getTypeOfMember(n);if(!Eo(i))return t;const r=e.bindFunctionToClassOrObject(t,i);return!r||!Eo(r)||r.details.parameters.length<2?t:Xs.getEffectiveParameterType(r,1)}(e,r));const s={category:0,name:t.alias||t.name,hasDefault:t.hasDefault,defaultValueExpression:t.defaultValueExpression,type:r,hasDeclaredType:!0};t.isKeywordOnly?g.push(s):Xs.addParameter(l,s)}})),g.length>0&&(Xs.addParameter(l,{category:1,type:io.create()}),g.forEach((e=>{Xs.addParameter(l,e)}))),f.set("__init__",qo.createWithType(4,l)),f.set("__new__",qo.createWithType(4,a)));const y=e.getBuiltInType(t,"str"),_=e.getBuiltInType(t,"tuple");if(_&&_o(_)&&y&&_o(y)&&!f.has("__match_args__")){const e=[];p.forEach((t=>{t.includeInInit&&!t.isKeywordOnly&&e.push(t.name)}));const t=e.map((e=>({type:Zs.cloneAsInstance(Zs.cloneWithLiteral(y,e)),isUnbounded:!1}))),n=Zs.cloneAsInstance(Va(_,t));f.set("__match_args__",qo.createWithType(4,n))}const v=(n,i)=>{const r=Xs.createInstance(n,"","",64);Xs.addParameter(r,c),Xs.addParameter(r,{category:0,name:"other",type:i,hasDeclaredType:!0}),r.details.declaredReturnType=e.getBuiltInObject(t,"bool"),f.set(n,qo.createWithType(4,r))};if(Zs.isSkipSynthesizedDataClassEq(n)||v("__eq__",e.getBuiltInObject(t,"object")),Zs.isSynthesizedDataclassOrder(n)){const e=Zs.cloneAsInstance(n);["__lt__","__le__","__gt__","__ge__"].forEach((t=>{v(t,e)}))}let T=!Zs.isSkipSynthesizedDataClassEq(n)&&Zs.isFrozenDataClass(n);const b=!Zs.isSkipSynthesizedDataClassEq(n)&&!Zs.isFrozenDataClass(n);if(s&&(T=!1),Zs.isSynthesizeDataClassUnsafeHash(n)&&(T=!0),T){const n=Xs.createInstance("__hash__","","",64);Xs.addParameter(n,c),n.details.declaredReturnType=e.getBuiltInObject(t,"int"),f.set("__hash__",qo.createWithType(4,n))}else b&&!s&&f.set("__hash__",qo.createWithType(4,to.createInstance()));let I=e.getBuiltInType(t,"dict");_o(I)&&(I=Zs.cloneAsInstance(Zs.cloneForSpecialization(I,[e.getBuiltInObject(t,"str"),io.create()],!0))),f.set("__dataclass_fields__",qo.createWithType(4,I)),Zs.isGeneratedDataClassSlots(n)&&void 0===n.details.localSlotsNames&&(n.details.localSlotsNames=u.map((e=>e.name))),Uu(n,p.map((e=>e.type)),!0)}(li,e,s,t,n,i)}if(s.details.localSlotsNames){let e=!0;const t=[...s.details.localSlotsNames];s.details.baseClasses.forEach((n=>{_o(n)?Zs.isBuiltIn(n,"object")||Zs.isBuiltIn(n,"type")||Zs.isBuiltIn(n,"Generic")||(void 0===n.details.inheritedSlotsNames?e=!1:t.push(...n.details.inheritedSlotsNames)):e=!1})),e&&(s.details.inheritedSlotsNames=t)}return N(e.name,s,0,!1),N(e,I,0,!1),function(e,t,n){const i=n.length>0?n[0].node.name:e.name,r=Ne(i,t,"__init_subclass__",{method:"get"},void 0,133,t);if(r){const e=r.type;e&&et(i,n,e,void 0,!1,to.createInstance())}else if(t.details.effectiveMetaclass&&yo(t.details.effectiveMetaclass)){const r=va(t.details.effectiveMetaclass,"__new__",32);if(r){const t=Bn(r);if(Eo(t)){const r=Ho(t);if(void 0!==r.firstKeywordOnlyIndex){const s=new Map;for(let e=r.firstKeywordOnlyIndex;e{var o,a,l;if(0===n.argumentCategory&&n.name){const c=null!==(o=s.get(n.name.value))&&void 0!==o?o:r.kwargsIndex;if(void 0!==c){const e=r.params[c];st({paramCategory:e.param.category,paramType:Xs.getEffectiveParameterType(t,e.index),requiresTypeVarMatching:!1,argument:n,errorNode:null!==(a=n.valueExpression)&&void 0!==a?a:i},new jo,t,!0,!0,!1,void 0),s.delete(n.name.value)}else _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramNameMissing().format({name:n.name.value}),null!==(l=n.name)&&void 0!==l?l:i)}}));const o=[];if(s.forEach(((e,t)=>{r.params[e].param.hasDefault||o.push(t)})),o.length>0){const e=o.map((e=>`"${e}"`)).join(", ");_e(Vt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,1===o.length?ml.Diagnostic.argMissingForParam().format({name:e}):ml.Diagnostic.argMissingForParams().format({names:e}),i)}}}}}n.forEach((e=>{e.valueExpression&&$(e.valueExpression)}))}(e,s,p),Zs.isBuiltIn(s,"UnionType")&&(g=Zs.cloneAsInstance(s)),{classType:s,decoratedType:I}}function Ht(e,t,n){let i=Vt(n).isStubFile?4:0;9!==n.expression.nodeType&&(i|=2);const r=$(n.expression,void 0,i).type;if(9===n.expression.nodeType){const e=$(n.expression.leftExpression,void 0,2|i).type;Eo(e)&&("__dataclass_transform__"!==e.details.name&&"dataclass_transform"!==e.details.builtInName||(t.details.classDataClassTransform=qu(li,n.expression)))}if(ko(r)){const n=Vu(r);if(n)return ju(li,t,n,void 0),e}else if(Eo(r)){if("final"===r.details.builtInName)return t.details.flags|=4096,e;if("runtime_checkable"===r.details.builtInName)return t.details.flags|=32768,e;let s,o;if(9===n.expression.nodeType?(o=n.expression,s=Vu($(o.leftExpression,void 0,2|i).type)):s=Vu($(n.expression,void 0,i).type),s)return ju(li,t,s,o),e}return J(n,e)}function Gt(e){const t=Vt(e),n=F(e.name,0);if(n){if(!Eo(n))return;return{functionType:n,decoratedType:F(e,0)||Ys.create()}}let i;const r=Mt(e);r&&(i=r);const s=Er(e,!0);let o;if(s){const e=$t(s);if(!e)return;o=e.classType}let a=en(e,!!s);(null==i?void 0:i.isGenerator)&&(a|=16),s&&"__class_getitem__"===e.name.value&&(a|=2),t.isStubFile?a|=2048:t.isInPyTypedPackage&&(a|=4096),e.isAsync&&(a|=512);const l=Xs.createInstance(e.name.value,function(e,t,n){const i=[n];let r=e;for(;r;)r=Dr(r),r&&i.push(r.name.value);return i.push(t),i.reverse().join(".")}(e,t.moduleName,e.name.value),t.moduleName,a,qr(e.suite.statements));l.details.typeVarScopeId=Pe(e),(t.isBuiltInStubFile||t.isTypingStubFile||t.isTypingExtensionsStubFile)&&(l.details.builtInName=e.name.value),l.details.declaration=i;const c=zs(e),u=null==c?void 0:c.lookUpSymbolRecursive(e.name.value);i&&u&&B(u.symbol,i,l),N(e,l,void 0,!1),N(e.name,l,void 0,!1);const p=o&&Zs.isPseudoGenericClass(o)&&"__init__"===e.name.value,d=[];let h=0,m=0;if(o&&0==(4&l.details.flags)&&(m=1),e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=e.parameters.length-m,n=e.functionAnnotationComment.paramTypeAnnotations.length;m>0&&n===e.parameters.length?m=0:n!==t&&fe(ml.Diagnostic.annotatedParamCountMismatch().format({expected:t,received:n}),e.functionAnnotationComment)}const f=e=>{if(e.name){const n=wn(e.name,e.name.value,!1);n&&we(t,n.symbol,e.name)}};let g=!0;if(e.parameters.forEach(((n,i)=>{let r,s,a,c,u=!1;if(n.name&&(0===i&&o&&(Xs.isClassMethod(l)||Xs.isInstanceMethod(l)||Xs.isConstructorMethod(l))||Xs.isAbstractMethod(l)||o&&Zs.isProtocolClass(o))&&f(n),n.typeAnnotation)a=n.typeAnnotation;else if(n.typeAnnotationComment)a=n.typeAnnotationComment;else if(e.functionAnnotationComment&&!e.functionAnnotationComment.isParamListEllipsis){const t=i-m;t>=0&&t0&&0===n.category&&n.name&&(s=o.details.typeParameters[h],h++),s){const e=Jt(n,s);e!==s&&(s=e,u=!0)}if(n.defaultValue&&(c=$(n.defaultValue,s,1).type),s){if(n.defaultValue&&c){const i=new il,r=new jo(l.details.typeVarScopeId);if(o&&void 0!==o.details.typeVarScopeId&&("__init__"!==e.name.value&&"__new__"!==e.name.value||r.addSolveForScope(o.details.typeVarScopeId)),!Jn(s,c,i,r)){const e=_e(t.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.paramAssignmentMismatch().format({sourceType:ai(c),paramType:ai(s)})+i.getString(),n.defaultValue);if(u&&a){const t={action:"pyright.addoptionalforparam",offsetOfTypeNode:a.start+1};e&&e.addAction(t)}}}r=s}const y=0===n.category&&n.name&&Kt(n.name.value),_=0===n.category&&!n.name;i>0&&g&&!y&&!_&&Xs.addParameter(l,{category:0,type:Ys.create()}),y&&!_||(g=!1);let v=!1;r||(v=!0,r=Qt(e,l.details.flags,i,o));const T={category:n.category,name:n.name?n.name.value:void 0,hasDefault:!!n.defaultValue,defaultValueExpression:n.defaultValue,defaultType:c,type:null!=r?r:Ys.create(),typeAnnotation:a,hasDeclaredType:!!a,isTypeInferred:v};if(Xs.addParameter(l,T),n.name){const t=Xt(e,n.category,T.type);d.push(t)}else d.push(T.type)})),g&&l.details.parameters.length>0&&Xs.addParameter(l,{category:0,type:Ys.create()}),d.forEach(((t,n)=>{const i=e.parameters[n].name;i&&(po(t)&&(l.details.flags|=16384),N(i,t,0,!1))})),d.length>=2){const e=d[d.length-2],t=d[d.length-1];wo(e)&&"args"===e.paramSpecAccess&&wo(t)&&"kwargs"===t.paramSpecAccess&&(l.details.flags|=32768)}if(e.returnTypeAnnotation){l.details.declaredReturnType=Ys.create();const t=K(e.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else if(e.functionAnnotationComment){l.details.declaredReturnType=Ys.create();const t=K(e.functionAnnotationComment.returnTypeAnnotation,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});l.details.declaredReturnType=t}else t.isStubFile&&("__init__"===e.name.value?l.details.declaredReturnType=to.createInstance():l.details.declaredReturnType=Ys.create());(t.isStubFile||Or(e.suite))&&l.details.declaredReturnType&&vo(l.details.declaredReturnType)&&Zs.isBuiltIn(l.details.declaredReturnType,["Generator","AsyncGenerator","AwaitableGenerator"])&&(l.details.flags|=16);let y=e.isAsync?function(e,t){const n=Xs.clone(t);return t.details.declaredReturnType&&(n.details.declaredReturnType=nn(e,t.details.declaredReturnType,Xs.isGenerator(t))),n.details.flags|=1024,n}(e,l):l,_=!1;for(let n=e.decorators.length-1;n>=0;n--){const i=e.decorators[n],r=tn(y,l,i,e);Oa(r)?_||(_e(t.diagnosticRuleSet.reportUntypedFunctionDecorator,$o.reportUntypedFunctionDecorator,ml.Diagnostic.functionDecoratorTypeUnknown(),e.decorators[n].expression),_=!0):y=r}return Eo(y)&&(Xs.isOverloaded(y)&&e.parameters.forEach((e=>{f(e)})),y=function(e,t){let n;const i=Mt(e);i&&(n=i);const r=wn(e,e.name.value,!1);if(r){const i=r.symbol.getDeclarations(),s=i.findIndex((e=>e===n));if(s>0){for(let e=0;e{var i,r;const s=e.parameters[n];return(null===(i=s.name)||void 0===i?void 0:i.value)===(null===(r=t.name)||void 0===r?void 0:r.value)&&s.category===t.category}))){const t=i.parameters[n],s=null!==(r=t.typeAnnotation)&&void 0!==r?r:t.typeAnnotationComment;if(s){let t=G(s,e.parameters[n].category);const i=Vt(e);return i.isInPyTypedPackage&&!i.isStubFile&&(t=Ks.cloneForAmbiguousType(t)),t}}}}}const s=e.parameters[n].defaultValue;if(s){const t=$(s,void 0,1).type;let n;if(lo(t)?n=Oo([to.createInstance(),Ys.create()]):vo(t)&&Zs.isBuiltIn(t,["tuple","list","set","dict"])||(n=Qo(t)),n){const t=Vt(e);t.isInPyTypedPackage&&!t.isStubFile&&(n=Ks.cloneForAmbiguousType(n))}return n}}function Xt(e,t,n){switch(t){case 0:return n;case 1:return bo(n)&&n.paramSpecAccess?n:xo(n)?Zs.cloneForUnpacked(n,!1):T&&_o(T)?Zs.cloneAsInstance(Va(T,[{type:n,isUnbounded:!Io(n)}],!0,!0)):Ys.create();case 2:{if(bo(n)&&n.paramSpecAccess)return n;if(vo(n)&&Zs.isTypedDictClass(n)&&n.isUnpacked)return n;const t=xn(e,"dict"),i=Cn(e,"str");return _o(t)&&vo(i)?Zs.cloneAsInstance(Zs.cloneForSpecialization(t,[i,n],!0)):Ys.create()}}}function en(e,t){const n=Vt(e);let i=0;"__new__"===e.name.value&&t&&(i|=1),"__init_subclass__"===e.name.value&&t&&(i|=2);for(const r of e.decorators){let e=n.isStubFile?4:0;9!==r.expression.nodeType&&(e|=2);const s=$(r.expression,void 0,e).type;Eo(s)?"abstractmethod"===s.details.builtInName?t&&(i|=8):"final"===s.details.builtInName&&(i|=8192):_o(s)&&(Zs.isBuiltIn(s,"staticmethod")?t&&(i|=4):Zs.isBuiltIn(s,"classmethod")&&t&&(i|=2))}return i}function tn(e,t,n,i){let r=Vt(n).isStubFile?4:0;9!==n.expression.nodeType&&(r|=2);const s=$(n.expression,void 0,r).type;if((_o(s)&&Zs.isSpecialBuiltIn(s,"overload")||Eo(s)&&"overload"===s.details.builtInName)&&Eo(e))return e.details.flags|=256,t.details.flags|=256,e;if(9===n.expression.nodeType){const i=$(n.expression.leftExpression,void 0,2|r).type;if(Eo(i)&&("__dataclass_transform__"===i.details.name||"dataclass_transform"===i.details.builtInName))return t.details.decoratorDataClassBehaviors=qu(li,n.expression),e}let o=J(n,e);if(Eo(s)){if("abstractmethod"===s.details.builtInName)return e;if(35===n.expression.nodeType){const t=$(n.expression.leftExpression,void 0,2|r).type;if(ua(t)){const r=n.expression.memberName.value;if("setter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){if(!ua(t))return t;const r=t,s=r.details.flags;let o=!!r.isAsymmetricDescriptor;const a=Vt(i);if(i.parameters.length>=2){const t=e.getTypeAnnotationForParameter(i,1);if(t){const n=e.getGetterTypeFromProperty(r,!1);if(n&&!ho(n)){const i=e.getTypeOfAnnotation(t,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if("none"!==a.diagnosticRuleSet.reportPropertyTypeMismatch){const r=new il;e.canAssignType(n,i,r)||e.addDiagnostic(a.diagnosticRuleSet.reportPropertyTypeMismatch,$o.reportPropertyTypeMismatch,ml.Diagnostic.setterGetterTypeMismatch()+r.getString(),t)}Ao(n,i)||(o=!0)}}}const l=Zs.createInstantiable(r.details.name,r.details.fullName,r.details.moduleName,Vt(i).filePath,s,r.details.typeSourceId,r.details.declaredMetaclass,r.details.effectiveMetaclass);l.details.typeVarScopeId=r.details.typeVarScopeId,Ha(l);const c=Zs.cloneAsInstance(l);l.isAsymmetricDescriptor=o;const u=l.details.fields;r.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||u.set(t,e)}));const p=qo.createWithType(4,n);u.set("fset",p);const d=Xs.createInstance("__set__","","",64);Xs.addParameter(d,{category:0,name:"self",type:t,hasDeclaredType:!0});let h=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(h)&&h.details.isSynthesizedSelf&&(h=e.makeTopLevelTypeVarsConcrete(h)),Xs.addParameter(d,{category:0,name:"obj",type:Oo([h,to.createInstance()]),hasDeclaredType:!0}),d.details.declaredReturnType=to.createInstance();let m=Ys.create();n.details.parameters.length>=2&&0===n.details.parameters[1].category&&n.details.parameters[1].name&&(m=n.details.parameters[1].type),Xs.addParameter(d,{category:0,name:"value",type:m,hasDeclaredType:!0});const f=qo.createWithType(4,d);return u.set("__set__",f),c}(li,t,e,i)):e;if("deleter"===r)return Eo(e)?($u(li,e,n),function(e,t,n,i){var r;if(!ua(t))return t;const s=t,o=Zs.createInstantiable(s.details.name,s.details.fullName,s.details.moduleName,Vt(i).filePath,s.details.flags,s.details.typeSourceId,s.details.declaredMetaclass,s.details.effectiveMetaclass);o.details.typeVarScopeId=s.details.typeVarScopeId,Ha(o);const a=Zs.cloneAsInstance(o);o.isAsymmetricDescriptor=null!==(r=s.isAsymmetricDescriptor)&&void 0!==r&&r;const l=o.details.fields;s.details.fields.forEach(((e,t)=>{e.isIgnoredForProtocolMatch()||l.set(t,e)}));const c=qo.createWithType(4,n);l.set("fdel",c);const u=Xs.createInstance("__delete__","","",64);Xs.addParameter(u,{category:0,name:"self",type:t,hasDeclaredType:!0});let p=n.details.parameters.length>0?n.details.parameters[0].type:io.create();bo(p)&&p.details.isSynthesizedSelf&&(p=e.makeTopLevelTypeVarsConcrete(p)),Xs.addParameter(u,{category:0,name:"obj",type:Oo([p,to.createInstance()]),hasDeclaredType:!0}),u.details.declaredReturnType=to.createInstance();const d=qo.createWithType(4,u);return l.set("__delete__",d),a}(li,t,e,i)):e}}}else if(_o(s)){if(Zs.isBuiltIn(s))switch(s.details.name){case"classmethod":case"staticmethod":{const t="classmethod"===s.details.name?2:4;if(Eo(e)&&0==(e.details.flags&t)){const n=Xs.clone(e);return n.details.flags&=-8,n.details.flags|=t,n}return e}}if(Zs.isPropertyClass(s)){if(Eo(e))return $u(li,e,n),Hu(li,n,s,e);if(vo(e)){const t=_a(e,"__call__");if(t){const i=Bn(t);if(Eo(i)||ko(i)){const t=ri(e,i);if(t&&Eo(t))return Hu(li,n,s,t)}}return Ys.create()}}}return Eo(e)&&Eo(o)&&(o=Xs.clone(o),Xs.isOverloaded(e)&&(o.details.flags|=256),o.details.docString||(o.details.docString=e.details.docString)),o}function nn(e,t,n){let i;if(vo(t)&&Zs.isBuiltIn(t))if("Generator"===t.details.name){const n=ce(e,"AsyncGenerator");if(n&&_o(n)){const e=[],r=t.typeArguments;r&&r.length>0&&e.push(r[0]),r&&r.length>1&&e.push(r[1]),i=Zs.cloneAsInstance(Zs.cloneForSpecialization(n,e,!0))}}else["AsyncGenerator","AsyncIterator","AsyncIterable"].some((e=>e===t.details.name))&&(i=t);if(!i||!n){const n=ce(e,"Coroutine");i=n&&_o(n)?Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[io.create(),io.create(),t],!0)):Ys.create()}return i}function rn(e,t){var n;if(e.returnTypeAnnotation||(null===(n=e.functionAnnotationComment)||void 0===n?void 0:n.returnTypeAnnotation))return;let r=F(e.suite,0);if(r)return r;if(!i.has(e.id)){i.set(e.id,!0);try{let n;const s=Mt(e);s&&(n=s);const o=!de(e),a=de(e.suite);if(Vt(e).isStubFile)r=Ys.create();else{if(o)r=t||function(e){if(!e||!e.isMethod||e.returnStatements||e.yieldStatements||!e.raiseStatements)return!1;for(const t of e.raiseStatements){if(!t.typeExpression||t.valueExpression)return!1;const e=$(t.typeExpression).type,n=_o(e)||vo(e)?e:void 0;if(!n||!Zs.isBuiltIn(n,"NotImplementedError"))return!1}return!0}(n)?Ys.create():no.createNoReturn();else{const e=[];(null==n?void 0:n.returnStatements)&&n.returnStatements.forEach((t=>{if(pe(t))if(t.returnExpression){const n=$(t.returnExpression).type;e.push(n||Ys.create())}else e.push(to.createInstance())})),!o&&a&&e.push(to.createInstance()),r=Oo(e),r=Ro(r)}if(null==n?void 0:n.isGenerator){const t=[];let i=!1;n.yieldStatements&&n.yieldStatements.forEach((e=>{if(pe(e))if(61===e.nodeType){const n=$(e.expression).type;if(vo(n)&&Zs.isBuiltIn(n,"Coroutine"))t.push(),i=!0;else{const i=ae(n,!1,e);t.push(i||Ys.create())}}else if(e.expression){const n=$(e.expression).type;t.push(n||Ys.create())}else t.push(to.createInstance())})),0===t.length&&t.push(to.createInstance());const s=Oo(t),o=ce(e,i?"AwaitableGenerator":"Generator");if(o&&_o(o)){const e=[];i&&e.push(io.create()),e.push(s,to.createInstance(),ao(r)?to.createInstance():r),r=Zs.cloneAsInstance(Zs.cloneForSpecialization(o,e,!0))}else r=Ys.create()}}N(e.suite,r,0,!1)}finally{i.delete(e.id)}}return r}function sn(e){if(F(e,0))return;const t=$(e.iterableExpression),n=ae(t.type,!!e.isAsync,e.iterableExpression)||Ys.create();xe(e.targetExpression,n,!!t.isIncomplete,e.targetExpression),N(e,n,0,!!t.isIncomplete)}function on(e){if(w(void 0!==e.typeExpression),F(e,0))return;function t(e,t){return ho(e=Ie(e))?e:_o(e)?Zs.cloneAsInstance(e):vo(e)?Ko(ae(e,!1,t)||Ys.create(),(e=>ho(e)?e:Ys.create())):Ys.create()}const n=Ko($(e.typeExpression).type,(n=>{const i=ia(n);return i&&i.tupleTypeArguments?Oo(i.tupleTypeArguments.map((n=>t(n.type,e.typeExpression)))):t(n,e.typeExpression)}));e.name&&xe(e.name,n,!1,e.name),N(e,n,0,!1)}function an(e){if(F(e,0))return;const t=$(e.expression);let n=t.type;const i=e.parent&&58===e.parent.nodeType&&!!e.parent.isAsync;Go(n)&&(_e(Vt(e).diagnosticRuleSet.reportOptionalContextManager,$o.reportOptionalContextManager,ml.Diagnostic.noneNotUsableWith(),e.expression),n=Fo(n));const r=i?"__aenter__":"__enter__",s=Ko(n,(t=>{var n;if(ho(t=Ie(t)))return t;const s=new il,o=new il;if(vo(t)){const a=null===(n=ee(e.expression,t,r,{method:"get"},s))||void 0===n?void 0:n.type;if(a){let t;return t=Eo(a)?Un(a):Ys.create(),i&&(t=oe(t,e)),t}i||ee(e.expression,t,"__aenter__",{method:"get"},s)&&o.addMessage(ml.DiagnosticAddendum.asyncHelp())}return _e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:r})+o.getString(),e.expression),Ys.create()})),o=i?"__aexit__":"__exit__";Jo(n,(t=>{if(ho(t=Ie(t)))return;const n=new il;vo(t)&&ee(e.expression,t,o,{method:"get"},n)||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeNotUsableWith().format({type:ai(t),method:o}),e.expression)})),e.target&&xe(e.target,s,!!t.isIncomplete,e.target),N(e,s,0,!!t.isIncomplete)}function ln(e){if(F(e,0))return;let t;if(t=e.alias?e.alias:e.module.nameParts[0],!t)return;let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function cn(t){var n;if(F(t,0))return;const i=t.alias||t.name,r=Vt(t);if((null===(n=t.alias)||void 0===n?void 0:n.value)===t.name.value){const e=wn(t,t.name.value,!0);e&&we(r,e.symbol,t)}let s=dn(t,i.value);if(!s){const n=t.parent;w(n&&22===n.nodeType),w(!n.isWildcardImport);const i=Rt(n.module);if(i&&i.isImportFound&&!i.isNativeLib){const n=i.resolvedPaths[i.resolvedPaths.length-1],o=e(n);let a=!1;if(o){if(a=!0,r.executionEnvironment.pythonVersion>=De.V3_7||r.isStubFile){const e=o.symbolTable.get("__getattr__");if(e){const t=Nn(e);Eo(t)&&(s=Un(t),a=!1)}}}else n||(a=!0);a&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.importSymbolUnknown().format({name:t.name.value,moduleName:i.importName}),t.name)}s||(s=Ys.create())}Te(i,s,!1),N(t,s,0,!1)}function un(e){if(F(e,0))return;if(!e.parent||63!==e.parent.nodeType)return void E("Expected parent of case statement to be match statement");const t=$(e.parent.subjectExpression);let n=t.type;for(const t of e.parent.cases){if(t===e)break;t.guardExpression||(n=fu(li,n,t.pattern,!1))}let i=!1;Jo(Ie(n),(e=>{vo(e)&&Zs.isBuiltIn(e,"object")&&(i=!0)})),n=fu(li,n,e.pattern,!0),bu(li,n,!!t.isIncomplete,i,e.pattern),N(e,n,0,!!t.isIncomplete)}function pn(e){if(F(e,0))return;const t=e.module.nameParts[0];let n=dn(e,t.value)||Ys.create();const i=F(e,0);i&&To(i)&&n&&Ao(n,i)&&(n=i),Te(t,n,!1),N(e,n,0,!1)}function dn(e,n){const i=wn(e,n,!0);if(!i)return;const r=i.symbol.getDeclarations().filter((t=>Mr(e,t.node)&&6===t.type));let s=r.length>0?r[r.length-1]:void 0;if(s||(s=i.symbol.getDeclarations().find((e=>6===e.type))),!s)return;w(6===s.type);const o=Vt(e),a=Fn(s,!0,o.isStubFile);if(a){if(!a.declaration)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();if(23===e.nodeType&&(a.isPrivate&&_e(o.diagnosticRuleSet.reportPrivateUsage,$o.reportPrivateUsage,ml.Diagnostic.privateUsedOutsideOfModule().format({name:e.name.value}),e.name),a.privatePyTypedImporter)){const t=new il;a.privatePyTypedImported&&t.addMessage(ml.DiagnosticAddendum.privateImportFromPyTypedSource().format({module:a.privatePyTypedImported})),_e(o.diagnosticRuleSet.reportPrivateImportUsage,$o.reportPrivateImportUsage,ml.Diagnostic.privateImportFromPyTypedModule().format({name:e.name.value,module:a.privatePyTypedImporter})+t.getString(),e.name)}return Pn(i.symbol,s)}}function hn(e){var t,n,i;let r=e,s=e;function o(e){var t,n,i,r,s;return 41===e.nodeType&&30===(null===(t=e.parent)||void 0===t?void 0:t.nodeType)||1===e.nodeType&&(9===(null===(n=e.parent)||void 0===n?void 0:n.nodeType)||24===(null===(i=e.parent)||void 0===i?void 0:i.nodeType))||54===(null===(r=e.parent)||void 0===r?void 0:r.nodeType)||41===(null===(s=e.parent)||void 0===s?void 0:s.nodeType)&&(e===e.parent.typeAnnotation||e===e.parent.typeAnnotationComment)||9===e.nodeType||24===e.nodeType||15===e.nodeType||27===e.nodeType||31===e.nodeType||30===e.nodeType||35===e.nodeType||45===e.nodeType||49===e.nodeType||48===e.nodeType||52===e.nodeType||56===e.nodeType||17===e.nodeType||16===e.nodeType||32===e.nodeType||33===e.nodeType||34===e.nodeType||65===e.nodeType||67===e.nodeType||68===e.nodeType||74===e.nodeType||66===e.nodeType||69===e.nodeType||70===e.nodeType||73===e.nodeType||71===e.nodeType||72===e.nodeType}if(38===e.nodeType&&e.parent){if(28===e.parent.nodeType&&e.parent.name===e)return void Gt(e.parent);if(10===e.parent.nodeType&&e.parent.name===e)return void $t(e.parent);if(29===e.parent.nodeType||39===e.parent.nodeType)return void $(e,void 0,4)}for(;s;){const e=o(s);if(!e&&!yr(s))break;e&&(r=s),s=s.parent}const a=r.parent;if(3===a.nodeType)return void(r===a.typeAnnotationComment?K(r,{isVariableAnnotation:!0,allowFinal:Fr(a.leftExpression),allowClassVar:Nr(a.leftExpression)}):Wt(a));if(14===a.nodeType)return void Ce(r);if(5===a.nodeType)return void jt(a);if(13===a.nodeType)return void(10===(null===(t=a.parent)||void 0===t?void 0:t.nodeType)?$t(a.parent):28===(null===(n=a.parent)||void 0===n?void 0:n.nodeType)&&Gt(a.parent));const l=e=>{const t=e.parent;if(3===(null==t?void 0:t.nodeType)&&t.leftExpression===a)Wt(t);else{const t=K(e.typeAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(e.valueExpression),allowClassVar:Nr(e.valueExpression)});N(e.valueExpression,t,0,!1)}};if(64===a.nodeType&&r!==a.guardExpression)return void un(a);if(54===a.nodeType)return void l(a);if(41===a.nodeType&&r!==a.defaultValue)return void mn(a);if(28===a.nodeType&&(r===a.returnTypeAnnotation||r===a.functionAnnotationComment))return void K(r,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});if(37===a.nodeType)return;if(1===a.nodeType&&r===a.name)return;if(1===a.nodeType&&10===(null===(i=a.parent)||void 0===i?void 0:i.nodeType))return void $t(a.parent);if(44===a.nodeType&&a.returnExpression){const t=kr(e),n=t?Vn(t):void 0;return void $(a.returnExpression,n,0)}const c=yr(a)&&0!==a.nodeType?a:r;54===c.nodeType?l(c):$(c,void 0,Vt(c).isStubFile?4:0)}function mn(e){if(!e.name)return;const t=e.parent;if(30===t.nodeType)return void hn(t);w(28===t.nodeType);const n=t,i=n.parameters.findIndex((t=>t===e)),r=ie(n,i);if(r){const t=n.parameters[i],s=G(r,n.parameters[i].category),o=Xt(e,e.category,Jt(t,s));return void N(e.name,o,0,!1)}const s=Er(n,!0);if(s){const t=$t(s);if(t){const r=Qt(n,en(n,!0),i,t.classType);if(r)return void N(e.name,Xt(e,e.category,r),0,!1)}}N(e.name,Xt(e,e.category,Ys.create()),0,!1)}function fn(e){z(e);let t=e;for(;t;){switch(t.nodeType){case 3:if(!t.parent||3!==t.parent.nodeType&&4!==t.parent.nodeType&&5!==t.parent.nodeType||t.parent.rightExpression!==t)return void Wt(t);break;case 4:return void $(t);case 5:return void jt(t);case 10:return void $t(t);case 41:return void mn(t);case 30:return void hn(t);case 28:return void Gt(t);case 26:return void sn(t);case 25:return void on(t);case 59:return void an(t);case 33:{const e=t.parent;if(w(32===e.nodeType),t===e.expression)hn(e);else for(const n of e.forIfNodes)if(Ct(n),n===t)break;return}case 21:return void ln(t);case 23:return void cn(t);case 22:return void pn(t);case 64:return void un(t)}t=t.parent}E("Unexpected statement")}function gn(e,t){let n=F(e,void 0);if(n)return{node:e,type:n};const i=C;try{if(C=new Map,t(),n=F(e,void 0),n)return{node:e,type:n};if(n=C.get(e.id),n)return{node:e,type:n,isIncomplete:!0};C=i}catch(e){throw C=i,e}}function yn(e){let t=r.get(e);return t||(t=ci.createCodeFlowAnalyzer(),r.set(e,t)),t}function _n(e,t,n,i,r){var s;const o=At(e),a=Rr(null!==(s=null==r?void 0:r.parent)&&void 0!==s?s:e),l=a.codeFlowExpressions;if(!l||!l.has(o))return{type:void 0,isIncomplete:!1};let c;c=L(a)?function(){const e=D.length;return w(e>0),D[e-1].codeFlowAnalyzer}():yn(a.id);const u=Lt(null!=r?r:e);return void 0===u?{type:void 0,isIncomplete:!1}:vn(c,u,e,t,n,i)}function vn(e,t,n,i,r,s){let o;d.enterTrackingScope();try{o=e.getTypeFromCodeFlow(t,n,i,r,s),d.exitTrackingScope()}catch(e){throw d.exitTrackingScope(),e}return o.isIncomplete&&d.enableUndoTracking(),o}function Tn(e,t,n,i){if(Zs.isSpecialBuiltIn(e)){const r=e.aliasName||e.details.name;switch(r){case"Callable":return function(e,t){const n=Xs.createInstantiable("","","",0);Ks.setSpecialForm(n),n.details.declaredReturnType=Ys.create();const i=Dr(t);if(n.details.typeVarScopeId=i?Pe(i):$s,e&&e.length>0){if(e[0].typeList){const t=e[0].typeList;let i=!1,r=!1;const s=e=>{i&&(r||(fe(ml.Diagnostic.variadicTypeArgsTooMany(),e.node),r=!0)),i=!0};t.forEach(((e,t)=>{let i=e.type,r=0;const o=`__p${t.toString()}`;Io(i)?(Oe(i,e.node),r=1,s(e)):Et(e,{allowUnpackedTuples:!0})?xo(i)&&(r=1,s(e)):i=Ys.create(),Xs.addParameter(n,{category:r,name:o,isNameSynthesized:!0,type:Fa(i),hasDeclaredType:!0})})),Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()})}else if(ca(e[0].type))Xs.addDefaultParameters(n),n.details.flags|=32768;else if(wo(e[0].type))n.details.paramSpec=e[0].type;else if(_o(e[0].type)&&Zs.isBuiltIn(e[0].type,"Concatenate")){const t=e[0].type.typeArguments;t&&t.length>0&&t.forEach(((e,i)=>{i===t.length-1?(Xs.addParameter(n,{category:0,isNameSynthesized:!1,type:Ys.create()}),wo(e)&&(n.details.paramSpec=e)):Xs.addParameter(n,{category:0,name:`__p${i}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})}))}else fe(ml.Diagnostic.callableFirstArg(),e[0].node);if(e.length>1){let t=e[1].type;Et(e[1])||(t=Ys.create()),n.details.declaredReturnType=Fa(t)}else _e(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.callableSecondArg(),t),n.details.declaredReturnType=Ys.create();e.length>2&&fe(ml.Diagnostic.callableExtraArgs(),e[2].node)}else Xs.addDefaultParameters(n,!0),n.details.flags|=32768;return n}(t,i);case"Never":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"Never"}),t[0].node),no.createNever();case"NoReturn":return t&&t.length>0&&fe(ml.Diagnostic.typeArgsExpectingNone().format({name:"NoReturn"}),t[0].node),no.createNoReturn();case"Optional":return function(e,t,n,i){if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create()):e;if(n.length>1)return fe(ml.Diagnostic.optionalExtraArgs(),t),Ys.create();let r=n[0].type;Et(n[0])?Ks.isInstantiable(r)||(ve(r,n[0].node),r=Ys.create()):r=Ys.create();const s=Oo([r,to.createType()]);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Type":{if(1===(null==t?void 0:t.length)&&ho(t[0].type)&&_&&_o(_))return _;let n=Ot(e,t,1);return _o(n)&&(n=Ua(n)),n}case"ClassVar":return function(e,t,n,i){var r;if(131072&i)return fe(ml.Diagnostic.classVarNotAllowed(),t),io.create();if(!n)return e;if(0===n.length)return fe(ml.Diagnostic.classVarFirstArgMissing(),t),Ys.create();if(n.length>1)return fe(ml.Diagnostic.classVarTooManyArgs(),n[1].node),Ys.create();const s=n[0].type;return $a(s,!0,!0)&&_e(Vt(t).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.classVarWithTypeVar(),null!==(r=n[0].node)&&void 0!==r?r:t),s}(e,i,t,n);case"Protocol":return Ot(e,t,void 0,!0);case"Tuple":return Ot(e,t,void 0);case"Union":return function(e,t,n,i){const r=[];if(!n)return 0!=(1024&i)?(fe(ml.Diagnostic.unionTypeArgCount(),t),no.createNever()):e;for(const e of n){let t=e.type;Et(e,{allowVariadicTypeVar:!0,allowUnpackedTuples:!0})?Ks.isInstantiable(t)||(ve(t,e.node),t=Ys.create()):t=Ys.create(),xo(e.type)&&e.type.tupleTypeArguments?e.type.tupleTypeArguments.forEach((e=>{r.push(Na(e.type))})):(bo(t)&&Io(t)&&t.isVariadicUnpacked&&(t=oo.cloneForUnpacked(t,!0)),r.push(t))}1===r.length&&(Io(r[0])||Co(r[0])||lo(r[0])||fe(ml.Diagnostic.unionTypeArgCount(),t));const s=Oo(r);return fo(s)&&Ks.setSpecialForm(s),s}(e,i,t,n);case"Generic":return function(e,t,n,i){if(!n)return 0!=(263168&i)&&fe(ml.Diagnostic.genericTypeArgMissing(),t),e;const r=[];return n&&(0===n.length&&fe(ml.Diagnostic.genericTypeArgMissing(),t),n.forEach((e=>{bo(e.type)?(r.some((t=>Ao(t,e.type)))&&fe(ml.Diagnostic.genericTypeArgUnique(),e.node),r.push(e.type)):fe(ml.Diagnostic.genericTypeArgTypeVar(),e.node)}))),Ot(e,n,void 0,!0)}(e,i,t,n);case"Final":return function(e,t,n,i){return 16&i?(fe(ml.Diagnostic.finalContext(),t),io.create()):n&&0!==n.length?(n.length>1&&fe(ml.Diagnostic.finalTooManyArgs(),t),n[0].type):e}(e,i,t,n);case"Annotated":return function(e,t){return t&&t.length<2&&fe(ml.Diagnostic.annotatedTypeArgMissing(),e),t&&0!==t.length?Ks.cloneForAnnotated(t[0].type):io.create()}(i,t);case"Concatenate":return function(e,t,n){return n&&0!==n.length?n.forEach(((e,t)=>{t===n.length-1?wo(e.type)||fe(ml.Diagnostic.concatenateParamSpecMissing(),e.node):wo(e.type)&&fe(ml.Diagnostic.paramSpecContext(),e.node)})):fe(ml.Diagnostic.concatenateTypeArgsMissing(),e),Ot(t,n,void 0,!0)}(i,e,t);case"TypeGuard":case"StrictTypeGuard":return function(e,t,n,i){if(!n)return 0!=(1024&i)&&fe(ml.Diagnostic.typeGuardArgCount(),e),t;if(1!==n.length)return fe(ml.Diagnostic.typeGuardArgCount(),e),Ys.create();const r=n.map((e=>Fa(Et(e)?e.type:Ys.create())));return Zs.cloneForSpecialization(t,r,!0)}(i,e,t,n);case"Unpack":return function(e,t,n){if(!t||1!==t.length)return fe(ml.Diagnostic.unpackArgCount(),e),Ys.create();let i=t[0].type;fo(i)&&1===i.subtypes.length&&(i=i.subtypes[0]);const r=Vt(e);return 0!=(2097152&n)?_o(i)&&!i.includeSubclasses&&pa(i)?Zs.cloneForUnpacked(i):Io(i)&&!i.isVariadicUnpacked?oo.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypeVarTuple(),e),Ys.create()):0!=(8388608&n)?_o(i)&&Zs.isTypedDictClass(i)?Zs.cloneForUnpacked(i):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackExpectedTypedDict(),e),Ys.create()):(_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.unpackNotAllowed(),e),Ys.create())}(i,t,n);case"Required":case"NotRequired":return function(e,t,n,i,r){var s;if(!i&&0==(1024&r))return e;if(!i||1!==i.length)return fe(n?ml.Diagnostic.requiredArgCount():ml.Diagnostic.notRequiredArgCount(),t),e;const o=i[0].type,a=Er(t,!0),l=a?$t(a):void 0;let c=!1;return l&&_o(l.classType)&&Zs.isTypedDictClass(l.classType)&&54===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&t.parent.typeAnnotation===t&&(c=!0),0!=(1048576&r)&&(c=!0),c?o:(fe(n?ml.Diagnostic.requiredNotInTypedDict():ml.Diagnostic.notRequiredNotInTypedDict(),t),Zs.cloneForSpecialization(e,[Fa(o)],!!i))}(e,i,"Required"===r,t,n);case"Self":return function(e,t,n){var i;const r=Vt(t);n&&_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.details.name}),null!==(i=n[0].node)&&void 0!==i?i:t);const s=Er(t),o=s?$t(s):void 0;if(!o)return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();const a=kr(t);if(a){if(4&en(a,!0))return _e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeContext(),t),Ys.create();if(a.parameters.length>0){const e=ie(a,0);if(e&&!Mr(t,e)){const n=K(e,{associateTypeVarsWithScope:!0,disallowRecursiveTypeAlias:!0});bo(n)&&n.details.isSynthesizedSelf||_e(r.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.selfTypeWithTypedSelfOrCls(),t)}}}return Aa(o.classType,!0)}(e,i,t);case"LiteralString":return Ot(e,t,0)}}const r=Vt(i);if(r.isStubFile||r.executionEnvironment.pythonVersion>=De.V3_9||H(Vt(i))||0!=(4&n)){if(Zs.isBuiltIn(e,"type")&&t){if(1===t.length&&ho(t[0].type))return e;const n=ce(i,"Type");if(n&&_o(n)){let e=Ot(n,t,1,void 0,!0);return _o(e)&&(e=Ua(e)),e}}if(pa(e))return Ot(e,t,void 0,void 0,!0)}let s=t?t.length:0;const o=Zs.isPseudoGenericClass(e)?[]:Zs.getTypeParameters(e);if(0===o.length&&0===s)return e;const a=o.findIndex((e=>Io(e)));if(t){if(s>o.length){if(!Zs.isPartiallyConstructed(e)&&!Zs.isTupleClass(e)){const n=Vt(i);0===o.length?_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsExpectingNone().format({name:e.aliasName||e.details.name}),t[o.length].node):1===o.length&&wo(o[0])||_e(n.diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeArgsTooMany().format({name:e.aliasName||e.details.name,expected:o.length,received:s}),t[o.length].node)}s=o.length}else s0?t[0].node.parent:i);t.forEach(((e,t)=>{if(t===a){if(vo(e.type)&&pa(e.type))return;if(Io(e.type))return void Oe(e.type,e.node)}const n=t!ca(e.type)&&!e.typeList&&!wo(e.type))))1===t.length&&_o(t[0].type)&&Zs.isBuiltIn(t[0].type,"Concatenate")||(t=[{type:Ys.create(),node:t[0].node,typeList:t}]);else if(t.length>1){const e=t.find((e=>wo(e.type)));e&&fe(ml.Diagnostic.paramSpecContext(),e.node);const n=t.find((e=>!!e.typeList));n&&fe(ml.Diagnostic.typeArgListNotAllowed(),n.node)}return c.forEach(((e,n)=>{if(t&&n{Xs.addParameter(i,{category:0,name:`__p${t}`,isNameSynthesized:!0,type:Fa(e.type),hasDeclaredType:!0})})),void l.push(i);if(_o(e.type)&&Zs.isBuiltIn(e.type,"Concatenate")){const t=e.type.typeArguments;return t&&t.length>0&&t.forEach(((e,n)=>{n===t.length-1?wo(e)&&(i.details.paramSpec=e):Xs.addParameter(i,{category:0,name:`__p${n}`,isNameSynthesized:!0,hasDeclaredType:!0,type:e})})),void l.push(i)}}l.push(Fa(t[n].type))}else l.push(Ys.create())})),l=l.map(((e,n)=>{if(nGs)return t;if(r++,ho(t))return t;let s=t;if(bo(t)){if(Ao(t,e,void 0,void 0,r))return t;s=Ie(t)}if(e.details.boundType&&!Jn(e.details.boundType,s,n.createAddendum(),void 0,i,r))return void(e.details.isSynthesized||n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(s),destType:ai(e.details.boundType),name:oo.getReadableName(e)})));if(e.details.isParamSpec)return wo(t)||Eo(t)&&Xs.isParamSpecValue(t)||vo(t)&&Zs.isBuiltIn(t,"Concatenate")?t:void n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:oo.getReadableName(e)}));if(bo(t)&&t.details.isParamSpec)return void n.addMessage(ml.Diagnostic.paramSpecContext());const o=e.details.constraints;if(0===o.length)return t;if(bo(t)&&t.details.constraints.length>0){if(t.details.constraints.every((e=>o.some((t=>Jn(t,e,void 0,void 0,void 0,r))))))return t}else{let e;for(const t of o)Jn(t,s,void 0,void 0,void 0,r)&&(e&&!Jn(e,t,void 0,void 0,void 0,r)||(e=t));if(e)return e}n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:oo.getReadableName(e)}))}(o[n],e,i);r?e=r:vo(e)&&Zs.isPartiallyConstructed(e)||_e(Vt(t[n].node).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.typeVarAssignmentMismatch().format({type:ai(e),name:oo.getReadableName(o[n])})+i.getString(),t[n].node)}return e})),Zs.cloneForSpecialization(e,l,void 0!==t)}function bn(e){return e.type?{type:e.type}:e.valueExpression?$(e.valueExpression):{type:Ys.create()}}function In(e){return e.type?{type:e.type}:Sn(e.valueExpression)}function Sn(e,t=!1,n=!1,i=!1){let r=131304;return Vt(e).isStubFile?r|=4:r|=4194304,t||(r|=16),n&&(r|=1048576),$(e,void 0,r)}function xn(e,t){const n=zs(e);if(n){const e=function(e){let t=e;for(;4!==t.type;)t=t.parent;return t}(n).lookUpSymbol(t);if(e)return Nn(e)}return Ys.create()}function Cn(e,t,n){const i=xn(e,t);if(_o(i)){let e=i;return n&&(e=Zs.cloneForSpecialization(e,n,void 0!==n)),Zs.cloneAsInstance(e)}return i}function wn(e,t,n,i=!1){var r;const s=zs(e);let o=null==s?void 0:s.lookUpSymbolRecursive(t);const a=null!==(r=null==s?void 0:s.type)&&void 0!==r?r:3;if(o&&n&&1!==a&&0!==a&&0===o.symbol.getDeclarations().filter((t=>{if(6!==t.type&&0!==t.type){const n=Rr(e),i=4===t.type||3===t.type?t.node.name:t.node;if(n===Rr(i)&&!he(i,e)){const t=Lt(e);return!(t&&ci.isFlowNodeReachable(t))}}return!0})).length&&(o=1!==o.scope.type&&o.scope.parent?o.scope.parent.lookUpSymbolRecursive(t,o.isOutsideCallerModule||3===o.scope.type,o.isBeyondExecutionScope||o.scope.isIndependentlyExecutable()):void 0),o&&i){let e=o;for(;3!==e.scope.type&&4!==e.scope.type&&e.scope.parent&&(e=e.scope.parent.lookUpSymbolRecursive(t,e.isOutsideCallerModule,e.isBeyondExecutionScope||e.scope.isIndependentlyExecutable()),e););3!==(null==e?void 0:e.scope.type)&&4!==(null==e?void 0:e.scope.type)||(o=e)}return o}function En(e,t){p.push(e);try{const e=t();return p.pop(),e}catch(e){throw p.pop(),e}}function kn(e,t,n=!0){c.enterSpeculativeContext(e,n);try{const e=t();return c.leaveSpeculativeContext(),e}catch(e){throw c.leaveSpeculativeContext(),e}}function Dn(e,t){if(Eo(e)&&e.details.declaration){const n=e.details.declaration;if(3===n.type){const e=Ft(n.node);if(e){const n=e.lookUpSymbol(t);if(n)return n.getDeclarations().find((e=>2===e.type))}}}}function An(e){var t,n;switch(e.type){case 0:{if("Any"===e.intrinsicType)return io.create();if("class"===e.intrinsicType){const t=$t(Er(e.node));return t?t.classType:void 0}const t=Cn(e.node,"str"),n=Cn(e.node,"int");if(vo(n)&&vo(t)){if("str"===e.intrinsicType)return t;if("str | None"===e.intrinsicType)return Oo([t,to.createInstance()]);if("int"===e.intrinsicType)return n;if("Iterable[str]"===e.intrinsicType){const n=xn(e.node,"Iterable");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t],!0))}if("Dict[str, Any]"===e.intrinsicType){const n=xn(e.node,"dict");if(_o(n))return Zs.cloneAsInstance(Zs.cloneForSpecialization(n,[t,io.create()],!0))}}return Ys.create()}case 4:{const t=$t(e.node);return t?t.decoratedType:void 0}case 5:return K(e.node.typeAnnotation);case 3:{const t=Gt(e.node);return t?t.decoratedType:void 0}case 2:{let n=e.node.typeAnnotation||e.node.typeAnnotationComment;if(!n&&28===(null===(t=e.node.parent)||void 0===t?void 0:t.nodeType)){const t=e.node.parent;if(t.functionAnnotationComment&&!t.functionAnnotationComment.isParamListEllipsis){const i=t.parameters.findIndex((t=>t===e.node));n=ie(t,i)}}if(n){const t=G(n,e.node.category);return Xt(e.node,e.node.category,Jt(e.node,t))}return}case 1:{const t=e.typeAnnotationNode;if(t){const i=re(t)?function(e){let t=e,n=e.parent;for(;n;){if(54===n.nodeType){if(n.typeAnnotation===t)return n;break}t=n,n=n.parent}}(t):void 0;let r;if(e.isRuntimeTypeExpression)r=Fa(Sn(t,!0,!0).type);else{const i=e.isDefinedByMemberAccess&&35===(null===(n=e.node.parent)||void 0===n?void 0:n.nodeType)?e.node.parent:e.node;r=K(t,{isVariableAnnotation:!0,allowClassVar:Nr(i),allowFinal:Fr(i)})}if(r)return 38===e.node.nodeType&&(r=Ut(e.node,(()=>r))||r),i&&38===i.valueExpression.nodeType&&(r=qt(r,i.valueExpression,e.node)),r}return}case 6:return}}function Pn(n,i){var r,s;const o=Rn(i,!0,Vt(i.node).isStubFile);if(!o)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();function a(e,n,i){if(n.path&&n.loadSymbolsFromPath){const r=i(n.path);if(!r)return t.evaluateUnknownImportsAsAny?io.create():Ys.create();e.fields=r.symbolTable,e.docString=r.docString}return n.implicitImports&&n.implicitImports.forEach(((t,n)=>{const r=e.moduleName?e.moduleName+"."+n:"",s=a(Qs.create(r,t.path),t,i),o=qo.createWithType(0,s);e.loaderFields.set(n,o)})),e}if(6===o.type){let t=o.moduleName;if(6===i.type&&(i.symbolName&&(t+="."+i.symbolName),t.startsWith("."))){const e=Vt(i.node).moduleName.split(".");for(t=t.substr(1);t.startsWith(".")&&e.length>0;)t=t.substr(1),e.pop();t=e.join(".")+"."+t}const n=Qs.create(t,o.path);return o.symbolName&&o.submoduleFallback?a(n,o.submoduleFallback,e):a(n,o,e)}const l=An(o);if(l)return l;const c=Vt(o.node);let u=!c.isInPyTypedPackage||c.isStubFile;if(!u&&1===o.type){const e=Er(o.node,!0);if(e){const t=$t(e);t&&Zs.isEnumClass(t.classType)&&(u=!0)}(o.isFinal||o.isConstant)&&(u=!0)}if(2===o.type)return null===(r=gn(o.node.name,(()=>{mn(o.node)})))||void 0===r?void 0:r.type;if(1===o.type&&o.inferredTypeSource){const e=o.typeAliasName&&o.inferredTypeSource.parent?o.inferredTypeSource.parent:o.inferredTypeSource;let t=null===(s=gn(o.node,(()=>{fn(e)})))||void 0===s?void 0:s.type;if(t&&38===o.node.nodeType){const e=Ut(o.node,(()=>{var e;return(null===(e=gn(o.inferredTypeSource,(()=>{fn(o.inferredTypeSource)})))||void 0===e?void 0:e.type)||Ys.create()}));e&&(t=e)}return t&&o.typeAliasName&&(!Ks.isInstantiable(t)||po(t)||ca(t)||(t=qt(t,o.typeAliasName,o.node),u=!0)),t&&c.isInPyTypedPackage&&!c.isStubFile&&(u||function(e,t,n){var i;const r=e.getDeclarations().filter((e=>1!==e.type||!e.isInferenceAllowedInPyTyped));if(r.length>1)return!1;if(1!==t.type)return!1;if(0===r.length)return!0;if(bo(n))return!0;let s;const o=t.node.parent;if(o&&(3===o.nodeType?s=o:35===o.nodeType&&3===(null===(i=o.parent)||void 0===i?void 0:i.nodeType)&&(s=o.parent)),!s)return!1;const a=$(s.rightExpression).type;return!(!vo(a)||!ra(a))||38===s.rightExpression.nodeType&&!Ks.isAmbiguous(a)}(n,i,t)&&(u=!0),u||(t=Ks.cloneForAmbiguousType(t))),t}}function Rn(t,n,i=!1){var r;return null===(r=Rc(e,t,n,i))||void 0===r?void 0:r.declaration}function Fn(t,n,i=!1){return Rc(e,t,n,i)}function Nn(e){return Mn(e).type}function Mn(e,t,n=!1){if(e.hasTypedDeclarations()){const n=On(e,t);return{type:n||Ys.create(),isIncomplete:!1,includesVariableDecl:e.getTypedDeclarations().some((e=>1===e.type)),isRecursiveDefinition:!n}}let i=u.get(e.id);const r=t?t.id:void 0;if(i)for(const e of i)if(e.usageNodeId===r&&e.useLastDecl===n)return e.result;const s=[],o=e.getDeclarations(),a=Wo(e);let l,p=!1,d=!1,h=!1;if(n&&o.forEach(((e,t)=>{e.isInExceptSuite||(l=t)})),o.forEach(((n,i)=>{var r,o;let u=void 0===l||i===l;if(void 0!==t&&6!==n.type&&Rr(t)===Rr(n.node)&&(he(n.node,t)||(u=!1)),u){const t=ss(n);if((t||os(n))&&1===n.type&&3===(null===(o=null===(r=n.inferredTypeSource)||void 0===r?void 0:r.parent)||void 0===o?void 0:o.nodeType)&&(Wt(n.inferredTypeSource.parent),n.typeAliasAnnotation&&K(n.typeAliasAnnotation,{isVariableAnnotation:!0,allowFinal:Fr(n.node),allowClassVar:Nr(n.node)})),q(e,n))try{let i=Pn(e,n);if(V(e)||(p=!0),i){if(1===n.type){d=!0;let e=1===n.type&&!!n.isConstant;vo(i)&&Zs.isEnumClass(i)&&function(e){const t=Er(e.node,!0);if(!t)return!1;const n=$t(t);return!!n&&Zs.isEnumClass(n.classType)}(n)&&(e=!0),!Ks.isInstance(i)||t||e||a||(i=Qo(i))}s.push(i),c.isSpeculative(n.node)&&(h=!0)}else p=!0}catch(t){throw V(e),t}else p=!0}})),s.length>0){const t={type:Oo(s),isIncomplete:!1,includesVariableDecl:d,isRecursiveDefinition:!1};return h||(i||(i=[],u.set(e.id,i)),i.push({usageNodeId:r,useLastDecl:n,result:t})),t}return{type:Js.create(),isIncomplete:p,includesVariableDecl:d,isRecursiveDefinition:!1}}function On(e,t){const n=e.getSynthesizedType();if(n)return n;let i=e.getTypedDeclarations();if(0===i.length)return;if(i.length>1&&t){const e=i.filter((e=>!(6!==e.type&&Rr(t)===Rr(e.node)&&!he(e.node,t,!1))));e.length>0&&(i=e)}let r=i.length-1;for(;r>=0;){const t=i[r],n=W(e,t);if(n)return n;if(U(e,t)<0&&q(e,t))try{const n=An(t);if(V(e)||4===t.type)return n}catch(t){throw V(e),t}r--}}function Ln(e){Eo(e)?Un(e):ko(e)&&e.overloads.forEach((e=>{Un(e)}))}function Un(e,t,n=!0){return Xs.getSpecializedReturnType(e)||(n?qn(e,t):Ys.create())}function qn(e,n){var i;let r;if(Xs.isStubDefinition(e))return Ys.create();if(e.inferredReturnType)r=e.inferredReturnType;else{if(Xs.isInstanceMethod(e)&&"__init__"===e.details.name)r=to.createInstance();else if(e.details.declaration){const n=e.details.declaration.node;if(t.analyzeUnannotatedFunctions){const t=function(e){var t;return null!==(t=e.codeFlowComplexity)&&void 0!==t?t:0}(n);(e.details.parameters.length<=1||e.details.parameters.some((e=>e.hasDeclaredType))||t<15)&&(function(t){const i=c.disableSpeculativeMode();try{r=rn(n,Xs.isAbstractMethod(e)),c.enableSpeculativeMode(i)}catch(e){throw c.enableSpeculativeMode(i),e}}(),r&&Xs.isWrapReturnTypeInAwait(e)&&(r=nn(n,r,!!(null===(i=e.details.declaration)||void 0===i?void 0:i.isGenerator))))}}r||(r=Ys.create()),e.inferredReturnType=r}if(t.analyzeUnannotatedFunctions&&La(r)&&Xs.hasUnannotatedParams(e)&&!Xs.isStubDefinition(e)&&!Xs.isPyTypedDefinition(e)&&n){const t=function(e,t){var n;let i;if(!e.details.declaration)return;const r=e.details.declaration.node;if(t.some((e=>!e.paramName)))return;if(D.some((e=>e.functionNode===r)))return;const s=Gt(r);return s&&!(t.length>6||D.length>=2)?(En(r,(()=>{const n=A;D.push({functionNode:r,codeFlowAnalyzer:ci.createCodeFlowAnalyzer()});try{A=new Map;let o=!0;r.parameters.forEach(((e,n)=>{if(e.name){let i;const a=t.find((t=>e.name.value===t.paramName));a&&a.argument.valueExpression?(i=$(a.argument.valueExpression).type,po(i)||(o=!1)):e.defaultValue?(i=$(e.defaultValue).type,po(i)||(o=!1)):0===n&&(Xs.isInstanceMethod(s.functionType)||Xs.isClassMethod(s.functionType))&&s.functionType.details.parameters.length>0&&r.parameters[0].name&&(i=s.functionType.details.parameters[0].type),i||(i=Ys.create()),N(e.name,i,0,!1)}})),o||(i=rn(r,Xs.isAbstractMethod(e)))}finally{D.pop(),A=n}})),i?(i=Ro(i),Xs.isWrapReturnTypeInAwait(e)&&!ao(i)&&(i=nn(r,i,!!(null===(n=e.details.declaration)||void 0===n?void 0:n.isGenerator))),i):void 0):void 0}(e,n);t&&(r=t)}return r}function Vn(e){const t=Gt(e);return t?Xs.isAbstractMethod(t.functionType)?io.create():Xs.isGenerator(t.functionType)?Pa(t.functionType):t.functionType.details.declaredReturnType:io.create()}function Bn(e){return _o(e.classType)?ha(Nn(e.symbol),e.classType):Ys.create()}function Wn(e,t,n,i,r,s,o){if(o>Gs)return!0;if(o++,h.some((n=>Ao(n.srcType,t)&&Ao(n.destType,e))))return!0;h.push({srcType:t,destType:e});let a=!0;try{a=function(e,t,n,i,r,s,o){const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e)),u=new jo(na(e));ma(u,e,t),Zs.isTypedDictClass(t)&&x&&_o(x)&&(t=x);let p=!0;const d=wa(t),h=oa(t,!0)?128:0;if(a.forEach(((e,i)=>{if(e.isClassMember()&&!e.isIgnoredForProtocolMatch()){let r,a=!1;if(!s&&"__class_getitem__"===i)return;if("__slots__"===i)return;if(s&&t.details.effectiveMetaclass&&_o(t.details.effectiveMetaclass)&&(r=va(t.details.effectiveMetaclass,i),r&&(d.addSolveForScope(na(t.details.effectiveMetaclass)),a=!0)),r||(r=va(t,i)),r){let l=On(e);if(l){let d=_o(r.classType)?ha(Nn(r.symbol),r.classType,t):Ys.create();if(Eo(d)||ko(d)){if(a){const e=ri(t,d,void 0,void 0,o,!1,t);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(t,l,void 0,void 0,o,!1,t);e&&(l=Ba(e))}}else if(_o(r.classType)){l=fa(l,u);const e=ri(s?t:Zs.cloneAsInstance(t),d,r.classType,void 0,o);if(e&&(d=Ba(e)),Eo(l)||ko(l)){const e=ri(Zs.cloneAsInstance(t),l,r.classType,void 0,o);e&&(l=Ba(e))}}}else l=fa(l,u);const m=null==n?void 0:n.createAddendum();if(vo(l)&&Zs.isPropertyClass(l))if(vo(d)&&Zs.isPropertyClass(d)&&!s)Gu(li,Zs.cloneAsInstantiable(l),Zs.cloneAsInstantiable(d),t,null==m?void 0:m.createAddendum(),c,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);else{const e=Hn(l,!0);e&&Jn(e,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1)}else Jn(l,d,null==m?void 0:m.createAddendum(),c,h,o)||(m&&m.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:i})),p=!1);const f=e.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal));f!==r.symbol.getTypedDeclarations().some((e=>1===e.type&&!!e.isFinal))&&(f?m&&m.addMessage(ml.DiagnosticAddendum.memberIsFinalInProtocol().format({name:i})):m&&m.addMessage(ml.DiagnosticAddendum.memberIsNotFinalInProtocol().format({name:i})),p=!1)}e.isClassVar()&&!r.symbol.isClassMember()&&(n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberClassVar().format({name:i})),p=!1)}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:i})),p=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||Wn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s,o)||(p=!1)})),p&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,o)||(p=!1)}return p}(e,t,n,i,r,s,o)}catch(e){throw h.pop(),e}return h.pop(),a}function jn(e,t,n,i,r,s){if(s>Gs)return!0;s++;let o=!0;const a=e.details.fields,l=Zs.cloneForSpecialization(e,void 0,!1),c=new jo(na(e));if(a.forEach(((i,r)=>{if(i.isClassMember()&&!i.isIgnoredForProtocolMatch()){const a=t.fields.get(r);if(a){let t=On(i);if(t){const i=Nn(a);if((Eo(i)||ko(i))&&(Eo(t)||ko(t))){const n=ri(Zs.cloneAsInstance(e),t,e,void 0,s);n&&(t=n)}const l=null==n?void 0:n.createAddendum();Jn(t,i,null==l?void 0:l.createAddendum(),c,0,s)||(l&&l.addMessage(ml.DiagnosticAddendum.memberTypeMismatch().format({name:r})),o=!1)}}else n&&n.addMessage(ml.DiagnosticAddendum.protocolMemberMissing().format({name:r})),o=!1}})),e.details.baseClasses.forEach((a=>{!_o(a)||Zs.isBuiltIn(a,"object")||Zs.isBuiltIn(a,"Protocol")||jn(ka(e,a),t,null==n?void 0:n.createAddendum(),i,r,s)||(o=!1)})),o&&e.details.typeParameters.length>0&&e.typeArguments){const t=fa(l,c);Gn(e,t,n,i,r,s)||(o=!1)}return o}function zn(e,t,n,i,r,s,o){if(Zs.isTypedDictClass(e)&&Zs.isTypedDictClass(t))return!!_l(li,e,t,n,s)&&(Zs.isFinal(e)!==Zs.isFinal(t)?(n&&n.addMessage(ml.DiagnosticAddendum.typedDictFinalMismatch().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1):!(0!=(1&r)&&!Zs.isSameGenericClass(e,t))||_l(li,t,e,void 0,s));const a=Qu.get(e.details.fullName);if(a&&a.some((e=>t.details.mro.some((t=>yo(t)&&e===t.details.fullName))))&&0==(1&r))return!0;const l=[],c=Zs.isDerivedFrom(t,e,l);if(Zs.isProtocolClass(e)&&!c)return!!Wn(e,t,null==n?void 0:n.createAddendum(),i,r,!1,s)||(n&&n.addMessage(ml.DiagnosticAddendum.protocolIncompatible().format({sourceType:ai(Fa(t)),destType:ai(Fa(e))})),!1);if((0==(1&r)||Zs.isSameGenericClass(t,e))&&c)return w(l.length>0),function(e,t,n,i,r,s,o){let a=t,l=r||new jo(na(e)),c=s;r||(c&=-9);for(let t=n.length-1;t>=0;t--){const r=n[t];if(po(r))return!0;if(Zs.isBuiltIn(r,"object"))return!0;if(t0&&a.typeArguments&&!r.isLocked()){const t=a.typeArguments;for(let n=0;nIo(e.type))),p=l.findIndex((e=>e.isUnbounded)),d=c.findIndex((e=>e.isUnbounded));if(d>=0){const e=u>=0||p>=0?l.length-1:l.length,t=c.length>0?c[d].type:io.create();for(;c.length=0&&d>=0)return n&&n.addMessage(ml.DiagnosticAddendum.typeVarTupleRequiresKnownLength()),!1;if(p>=0||u>=0){const e=c.length-l.length+1;if(e>=0)if(u>=0){if(T&&_o(T)){const t=c.splice(u,e),n=Fa(Va(T,t.map((e=>({type:Qo(e.type),isUnbounded:!1}))),!0,!0,!0));c.splice(u,0,{type:n,isUnbounded:!1})}}else{const t=c.splice(p,e);c.splice(p,0,{type:t.length>0?Oo(t.map((e=>e.type))):io.create(),isUnbounded:!1})}}if(c.length===l.length)for(let e=0;e=0))return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatch().format({expected:l.length,received:c.length})),!1;if(!e.isUnpacked)return n&&n.addMessage(ml.DiagnosticAddendum.tupleSizeMismatchIndeterminate().format({expected:l.length})),!1}return!0}function Hn(e,t){if(!Zs.isPropertyClass(e))return;const n=e.details.fields.get("fget");if(n){const e=On(n);if(e&&Eo(e))return Un(e,void 0,t)}}function Gn(e,t,n,i,r,s){var o,a,l;w(Zs.isSameGenericClass(e,t));const c=Zs.getTypeParameters(e);let u,p;if(!e.typeArguments||!t.typeArguments)return!0;if(Zs.isTupleClass(e)?(u=null!==(a=null===(o=e.tupleTypeArguments)||void 0===o?void 0:o.map((e=>e.type)))&&void 0!==a?a:[],p=null===(l=t.tupleTypeArguments)||void 0===l?void 0:l.map((e=>e.type))):(u=e.typeArguments,p=t.typeArguments),p)for(let t=0;t=u.length?u.length-1:t,l=a>=0?u[a]:Ys.create(),d=a({category:e.category,name:e.name,isNameSynthesized:e.isNameSynthesized,hasDefault:!!e.hasDefault,type:Xs.getEffectiveParameterType(n,t)}))),o=i.getParamSpec(e);if(!o)return!i.isLocked()&&i.hasSolveForScope(e.scopeId)&&i.setParamSpec(e,{parameters:s,typeVarScopeId:t.details.typeVarScopeId,flags:t.details.flags,docString:t.details.docString,paramSpec:void 0}),!0;if(!o.paramSpec&&o.parameters.length===s.length&&!o.parameters.some(((e,t)=>{const n=s[t];return e.category!==n.category||e.name!==n.name||e.hasDefault!==n.hasDefault||!Ao(e.type,n.type,void 0,void 0,r)})))return!0}else if(ho(t))return!0;return n&&n.addMessage(ml.DiagnosticAddendum.typeParamSpec().format({type:ai(t),name:e.details.name})),!1}(e,t,n,i,s);e.details.isVariadic&&(Co(t)||(t=T&&_o(T)?Fa(Va(T,[{type:t,isUnbounded:!1}],!0,!0,!0)):Ys.create())),Ks.isInstantiable(e)&&vo(t)&&Zs.isBuiltIn(t,"type")&&!t.typeArguments&&(t=io.create());const c=i.getTypeVar(e),u=null==c?void 0:c.narrowBound,p=null!==(o=null==c?void 0:c.wideBound)&&void 0!==o?o:e.details.boundType;if(e.details.constraints.length>0){let r;const o=Ie(t);if(bo(t))Jn(e,o,void 0,new jo(e.scopeId),void 0,s)&&(r=t,Ks.isInstantiable(t)&&(r=Fa(t)));else{let t,n=!0;r=Ko(o,(i=>{let r,o;return ho(i)?i:(e.details.constraints.forEach(((t,n)=>{const a=Ks.isInstantiable(e)?Na(t):t;Jn(a,i,void 0,void 0,void 0,s)&&(r&&!Jn(r,a,void 0,void 0,void 0,s)||(r=Zo(t,Xo(i)),o=n))})),r||l||(n=!1),void 0===o||Xo(i)||(void 0!==t&&t!==o&&(n=!1),t=o),r)})),!ao(r)&&n||(r=void 0),!r&&fo(o)&&(r=e.details.constraints.find((t=>Jn(Ks.isInstantiable(e)?Na(t):t,o,void 0,void 0,void 0,s))))}if(!r)return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(t),name:e.details.name})),!1;if(u&&!ho(u)){if(!Jn(u,r,void 0,void 0,void 0,s)){if(!Jn(r,u,void 0,void 0,void 0,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeConstrainedTypeVar().format({type:ai(r),name:ai(u)})),!1;!i.isLocked()&&a&&i.setTypeVarType(e,r)}}else!i.isLocked()&&a&&i.setTypeVarType(e,r);return!0}let d=u,h=p;const m=n?new il:void 0,f=0!=(128&r)||i.getRetainLiterals(e)||e.details.boundType&&oa(e.details.boundType)||e.details.constraints.some((e=>oa(e)));let g=f?t:Qo(t);if(Ks.isInstantiable(e)){if(!Ra(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(e)})),!1;g=Fa(g)}if(l||0!=(4&r)){if(p){if(!Ao(p,g,void 0,void 0,s))if(Jn(p,Ie(g),m,void 0,512&r,s))h=g;else if(!Jn(g,p,m,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),n.addAddendum(m)),!1}else h=g;if(u&&!Jn(h,u,void 0,void 0,512&r,s))return n&&m&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(u)})),n.addAddendum(m)),!1}else{if(u){if(!Ao(u,g,void 0,void 0,s))if(Jn(u,g,m,i,r,s))d=La(u)&&!po(g)&&Jn(g,u,void 0,i,512&r,s)?g:u;else{if(i.isLocked()||bo(g))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;if(Io(e))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(u),destType:ai(g)})),!1;d=Jn(g,u,void 0,i,512&r,s)?g:fo(u)&&u.subtypes.length>64&&void 0!==e.details.boundType&&y&&vo(y)?Oo([u,y]):Oo([u,g])}}else d=g;if(p&&d&&!Ao(p,d,void 0,void 0,s)){let e=!0;if(bo(p)&&(Ao(d,p)||fo(d)&&d.subtypes.some((e=>Ao(e,p))))&&(e=!1),!Jn(e?Ie(p):p,d,void 0,i,512&r,s))return n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(g),destType:ai(p)})),!1}}if(e.details.boundType){const o=d||h;if(Ks.isInstantiable(e)&&!Ks.isInstantiable(t))return!1;if(!Jn(e.details.boundType,Ie(o),null==n?void 0:n.createAddendum(),i,512&r,s))return e.details.isSynthesized||n&&n.addMessage(ml.DiagnosticAddendum.typeBound().format({sourceType:ai(o),destType:ai(e.details.boundType),name:oo.getReadableName(e)})),!1}return!i.isLocked()&&a&&i.setTypeVarType(e,d,h,f),!0}function Jn(e,t,n,i,r=0,s=0){var o,a;if(fo(e)&&1===e.subtypes.length&&Io(e.subtypes[0])&&(e=e.subtypes[0]),fo(t)&&1===t.subtypes.length&&Io(t.subtypes[0])&&(t=t.subtypes[0]),e===t)return!bo(e)||e.details.isParamSpec||e.details.isVariadic||0!==e.scopeType||!i||i.isLocked()||!i.hasSolveForScope(e.scopeId)||i.getTypeVar(e)||0!=(10&r)||i.setTypeVarType(e,t),!0;if(s>Gs)return!0;if(s++,bo(e)&&e.details.recursiveTypeAliasScopeId&&bo(t)&&t.details.recursiveTypeAliasScopeId){if((null===(o=e.typeAliasInfo)||void 0===o?void 0:o.typeArguments)&&(null===(a=t.typeAliasInfo)||void 0===a?void 0:a.typeArguments)&&e.details.recursiveTypeAliasScopeId===t.details.recursiveTypeAliasScopeId){let o=!0;const a=t.typeAliasInfo.typeArguments;return e.typeAliasInfo.typeArguments.forEach(((e,t)=>{Jn(e,t{var i;if(Ao(e,t,!0,void 0,n))return!1;const r=oo.getNameWithScope(e),s=(null!==(i=Xo(t))&&void 0!==i?i:[]).filter((e=>e.typeVarName===r));return 0===s.length||!s.some((i=>e.details.boundType?(w(0===i.constraintIndex,"Expected constraint for bound TypeVar to have index of 0"),Jn(e.details.boundType,t,void 0,void 0,void 0,n)):!(e.details.constraints.length>0)||(w(i.constraintIndex{Kn(t,e,n,i,4|l,s)&&(o=!0)})),o}return Jn(Ie(e),Ie(t),n,void 0,l,s)}if(0!=(1&r))return!!ho(e)||!!(wo(t)&&Eo(e)&&Xs.shouldSkipArgsKwargsCompatibilityCheck(e)&&e.details.parameters.length<=2)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(ho(e))return!0;if(ho(t)){if(i){const n=ca(t)?io.create():t;Ca(e,n,i,s)}if(0==(16&r))return!0}if(ao(t))return i&&Ca(e,Ys.create(),i,s),!0;if(fo(t)&&Ks.isSpecialForm(t)&&(t=g||y||io.create()),fo(e))if(fo(t)){if(Yn(e,t,void 0,i,l,s))return!0}else{const n=i?i.clone():void 0;if(Qn(e,t,void 0,n,l,s))return i&&n&&i.copyFromClone(n),!0}const c=Ie(t);if(fo(c))return Yn(e,c,n,i,l,s);if(fo(e))return Qn(e,t,n,i,l,s);if(lo(e)&&lo(t))return!0;if(co(e)){if(co(t))return!0;if(_o(t)&&Zs.isBuiltIn(t,"NoneType"))return!0}if(vo(t)&&Zs.isBuiltIn(t,"type")){const o=t.typeArguments;if(o&&o.length>=1){if(ho(o[0]))return!(!vo(e)||!Zs.isBuiltIn(t,"type"))||Ks.isInstantiable(e);if(vo(o[0])||bo(o[0]))return!!Jn(e,Na(o[0]),null==n?void 0:n.createAddendum(),i,r,s)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}}if(_o(e)){const o=Ie(t);if(_o(o))return Zs.isProtocolClass(e)&&Zs.isProtocolClass(o)&&_o(t)&&!t.includeSubclasses?(n&&n.addMessage(ml.DiagnosticAddendum.protocolSourceIsNotConcrete().format({sourceType:ai(Fa(t)),destType:ai(e)})),!1):!!zn(e,o,n,i,r,s,!1)||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}if(vo(e)){if(Zs.isBuiltIn(e,"Type")){const o=e.typeArguments;if(o&&o.length>=1&&Ks.isInstance(o[0])&&Ks.isInstantiable(t))return Jn(o[0],Fa(t),n,i,r,s)}else if(Zs.isBuiltIn(e,"type")){if(Ks.isInstantiable(t))return!(yo(t)&&void 0!==t.literalValue)}else if(Zs.isBuiltIn(e,["TypeGuard","StrictTypeGuard"])&&0!=(64&l)&&vo(t)&&Zs.isBuiltIn(t,"bool"))return!0;const o=Ie(t);if(yo(o)&&Ks.isInstance(o)){if(void 0!==e.literalValue&&(void 0===o.literalValue||!Zs.isLiteralValueSame(o,e)))return n&&n.addMessage(ml.DiagnosticAddendum.literalAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1;if(Zs.isBuiltIn(e,"LiteralString")&&Zs.isBuiltIn(o,"str")){if(void 0!==o.literalValue)return!0}else if(Zs.isBuiltIn(o,"LiteralString")&&Zs.isBuiltIn(e,"str")&&void 0===e.literalValue)return!0;return!!zn(Zs.cloneAsInstantiable(e),Zs.cloneAsInstantiable(o),n,i,r,s,!0)}if(Eo(o)||ko(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(y&&vo(y))return Jn(e,y,n,i,r,s)}else if(To(o)){if(Zs.isBuiltIn(e,"ModuleType"))return!0;if(Zs.isProtocolClass(e))return jn(Zs.cloneAsInstantiable(e),o,n,i,r,s)}else if(_o(o)){const t=Xn(e);if(t)return Jn(t,o,n,i,r,s);if(Zs.isProtocolClass(e))return Wn(Zs.cloneAsInstantiable(e),o,n,i,r,!0,s);const a=o.details.effectiveMetaclass;if(a)return!!ho(a)||zn(Zs.cloneAsInstantiable(e),a,n,i,r,s,!1)}else{if(ho(o))return 0==(16&r);if(fo(o))return Jn(e,o,n,i,r,s)}}if(Eo(e)){let o,a=Ie(t);if(vo(a)){const e=_a(a,"__call__");if(e){const t=Bn(e);if(Eo(t)||ko(t)){const e=ri(a,t,void 0,void 0,s);e&&(a=Ba(e))}}}if(_o(a)&&void 0===a.literalValue){const e=Zn(a,s);e&&(a=e)}if(ko(a)){if(e.details.paramSpec)return n&&n.addMessage(ml.DiagnosticAddendum.paramSpecOverload()),!1;const t=a.overloads,l=t.findIndex((t=>{if(!Xs.isOverloaded(t))return!1;const o=i?i.clone():void 0;return Jn(e,t,null==n?void 0:n.createAddendum(),o,r,s)}));if(l<0)return n&&n.addMessage(ml.DiagnosticAddendum.noOverloadAssignable().format({type:ai(e)})),!1;o=t[l]}else if(Eo(a))o=a;else if(ho(a))return 0==(16&r);if(o&&function(e,t,n,i,r,s){var o,a,l,c,u,p,d,h,m;let f=!0;const g=0==(32&r);r&=-33,e=Wa(e),t=Wa(t);const y=Ho(e),_=Ho(t);!function(e,t){var n;if(void 0===t.argsIndex)return;if(e.params.lengthn>=t.argsIndex&&e.source===zo.KeywordOnly));i<0&&(i=e.params.length);const r=(null!==(n=t.firstKeywordOnlyIndex)&&void 0!==n?n:t.params.length)-t.argsIndex-1,s=e.params.slice(t.argsIndex,i-r),o=[];if(s.forEach((e=>{1===e.param.category?So(e.type)?o.push({type:e.type,isUnbounded:!1}):xo(e.type)&&e.type.tupleTypeArguments?o.push(...e.type.tupleTypeArguments):o.push({type:e.type,isUnbounded:!0}):o.push({type:e.type,isUnbounded:!1})})),1!==o.length||!Io(o[0].type)){let n;n=T&&_o(T)?Fa(Va(T,o,!0,!0,!0)):Ys.create(),e.params=[...e.params.slice(0,t.argsIndex),{param:{category:1,name:"_arg_combined",isNameSynthesized:!0,hasDeclaredType:!0,type:n},type:n,index:-1,source:zo.PositionOrKeyword},...e.params.slice(t.argsIndex+s.length,e.params.length)];const i=e.params.findIndex((e=>1===e.param.category));e.argsIndex=i>=0?i:void 0;const r=e.params.findIndex((e=>2===e.param.category));e.kwargsIndex=r>=0?r:void 0;const a=e.params.findIndex((e=>e.source===zo.KeywordOnly));e.firstKeywordOnlyIndex=a>=0?a:void 0}}(_,y);const v=0==(2&r)?i:new jo(na(e)),I=0!=(2&r)?i:new jo(na(t)),S=0!=(2&r)?!!t.details.paramSpec:!!e.details.paramSpec,x=null!==(a=null!==(o=y.argsIndex)&&void 0!==o?o:y.firstKeywordOnlyIndex)&&void 0!==a?a:y.params.length,C=null!==(c=null!==(l=_.argsIndex)&&void 0!==l?l:_.firstKeywordOnlyIndex)&&void 0!==c?c:_.params.length,w=Math.min(x,C);for(let i=0;i!!e.param.name&&!e.param.hasDefault&&0===e.param.category)).length;if(void 0===y.argsIndex)x0&&y.firstPositionOrKeywordIndex{n>=y.firstKeywordOnlyIndex&&e.param.name&&0===e.param.category&&t.set(e.param.name,e)}));let i=void 0!==_.firstKeywordOnlyIndex?_.firstKeywordOnlyIndex:_.params.length;x=0&&_.params.forEach(((e,o)=>{if(o>=i&&e.param.name&&0===e.param.category){const i=t.get(e.param.name),o=null==n?void 0:n.createAddendum(),a=e.type;if(i){const l=i.type,c=v?fa(l,v):l;Jn(a,c,null==o?void 0:o.createAddendum(),void 0,r,s)||(o&&o.addMessage(ml.DiagnosticAddendum.namedParamTypeMismatch().format({name:e.param.name,sourceType:ai(c),destType:ai(a)})),f=!1),i.param.hasDefault&&!e.param.hasDefault&&(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.functionParamDefaultMissing().format({name:e.param.name})),f=!1),t.delete(e.param.name)}else void 0!==y.kwargsIndex||e.param.hasDefault?void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,a,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)):(o&&o.addMessage(ml.DiagnosticAddendum.namedParamMissingInDest().format({name:e.param.name})),f=!1)}})),t.forEach(((e,i)=>{void 0!==_.kwargsIndex&&e.param.name?(ei(e.param.type,_.params[_.kwargsIndex].type,e.index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1),t.delete(i)):(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.namedParamMissingInSource().format({name:i})),f=!1)})),void 0!==_.kwargsIndex&&void 0!==y.kwargsIndex&&(ei(y.params[y.kwargsIndex].type,_.params[_.kwargsIndex].type,y.params[y.kwargsIndex].index,null==n?void 0:n.createAddendum(),v,I,r,s)||(f=!1)),Xs.shouldSkipArgsKwargsCompatibilityCheck(e)||void 0!==_.kwargsIndex||void 0===y.kwargsIndex||(n&&n.createAddendum().addMessage(ml.DiagnosticAddendum.kwargsParamMissing().format({paramName:y.params[y.kwargsIndex].param.name})),f=!1)}if(S&&(null===(h=t.details.paramSpec)||void 0===h?void 0:h.nameWithScope)===(null===(m=e.details.paramSpec)||void 0===m?void 0:m.nameWithScope)){const n=t.details.parameters.length,i=e.details.parameters.length;n!==i&&(n!==i-1||0!==e.details.parameters[i-1].category||e.details.parameters[i-1].name)&&(f=!1)}if(i&&!i.isLocked()){const n=0==(2&r)?I:v;if(n.getTypeVars().forEach((e=>{Jn(e.typeVar,n.getTypeVarType(e.typeVar),void 0,i,void 0,s)})),i.getTypeVars().forEach((e=>{if(e.narrowBound){const t=fa(e.narrowBound,i);t!==e.narrowBound&&i.setTypeVarType(e.typeVar,t,e.wideBound,e.retainLiteral)}})),S){const n=0==(2&r)?e:t,s=0==(2&r)?t:e;if(n.details.paramSpec){const e=n.details.parameters.filter((e=>!(!e.name||0===e.category&&wo(e.type)))).length;let t=0;const r=[];s.details.parameters.forEach(((n,i)=>{t!Xs.isOverloaded(e)||(i&&i.addSolveForScope(na(e)),Jn(e,t,null==o?void 0:o.createAddendum(),i||new jo(na(e)),r,s))))||(o&&o.addMessage(ml.DiagnosticAddendum.overloadNotAssignable().format({name:e.overloads[0].details.name})),!1)}return!(!vo(e)||!Zs.isBuiltIn(e,"object")||0!=(1&r))||(lo(t)&&vo(e)&&Zs.isProtocolClass(e)&&f&&_o(f)?Wn(Zs.cloneAsInstantiable(e),f,n,i,r,!1,s):lo(e)?(n&&n.addMessage(ml.DiagnosticAddendum.assignToNone()),!1):(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1))}function Yn(e,t,n,i,r,s){if(Ao(t,e,void 0,void 0,s))return!0;if(fo(e)){if(0!=(4&r)){const n=e.subtypes.filter((e=>!ho(e)));if(1===n.length&&bo(n[0]))return Jn(n[0],t,void 0,i,r,s),!0}const o=[];let a=[...t.subtypes],l=!1;if(e.subtypes.forEach((e=>{if($a(e))o.push(e);else{const t=a.findIndex((t=>Ao(t,e,void 0,void 0,s)));t>=0?a.splice(t,1):l=!0}})),l||[...a].forEach((e=>{const t=o.findIndex((t=>yo(e)&&yo(t)&&Ks.isInstance(e)===Ks.isInstance(t)&&Zs.isSameGenericClass(e,t)));t>=0&&(Jn(o[t],e,null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),o.splice(t,1),a=a.filter((t=>t!==e)))})),l||0===o.length&&0===a.length||1===o.length&&bo(o[0])&&Jn(o[0],Oo(a),null==n?void 0:n.createAddendum(),i,r,s)||(l=!0),!l)return!0}let o=!1;return Jo(t,(t=>{Jn(e,t,void 0,i,r,s)||Jn(e,Ie(t),null==n?void 0:n.createAddendum(),i,r,s)||(o=!0)})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}function Qn(e,t,n,i,r,s){if(1&r){let o=!1;return Jo(e,((a,l)=>{if(!o&&!Jn(a,t,null==n?void 0:n.createAddendum(),i,r,s)){let t=!1;ho(a)||Jo(e,((e,n)=>{l===n||t||Jn(e,a,void 0,void 0,0,s)&&(t=!0)})),t||(o=!0)}})),!o||(n&&n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),!1)}const o=n?new il:void 0;let a=!1;if(lo(t)&&Go(e))a=!0;else{let n,l;if(vo(t)&&ra(t)&&so.containsType(e,t,s))return!0;Jo(e,(e=>{const c=null==i?void 0:i.clone();if(Jn(e,t,null==o?void 0:o.createAddendum(),c,r,s)&&(a=!0,c)){const e=c.getScore();(void 0===l||l<=e)&&(l=e,n=c)}})),i&&n&&i.copyFromClone(n)}return a||bo(t)&&t.details.constraints.length>0&&(a=Jn(e,Ie(t),null==o?void 0:o.createAddendum(),i,r,s)),!!a||(n&&o&&(n.addMessage(ml.DiagnosticAddendum.typeAssignmentMismatch().format({sourceType:ai(t),destType:ai(e)})),n.addAddendum(o)),!1)}function Zn(e,t=0){const n=va(e,"__init__",12);if(n){const i=Bn(n),r=Zs.cloneAsInstance(e),s=e=>{let n=ri(r,e,void 0,void 0,t);return n&&(n=Xs.clone(n),n.details.declaredReturnType=r,n.specializedTypes&&(n.specializedTypes.returnType=r)),n};if(Eo(i))return s(i);if(ko(i)){const e=[];if(i.overloads.forEach((t=>{const n=s(t);n&&e.push(n)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const i=va(e,"__new__",12);if(i){const t=Bn(i),n=t=>ri(e,t,void 0,void 0,void 0,!0);if(Eo(t))return n(t);if(ko(t)){const e=[];if(t.overloads.forEach((t=>{const i=n(t);i&&e.push(i)})),0===e.length)return;return 1===e.length?e[0]:eo.create(e)}}const r=Xs.createInstance("__new__","","",65);return r.details.declaredReturnType=Zs.cloneAsInstance(e),Xs.addDefaultParameters(r),r}function Xn(e){if(!vo(e)||!Zs.isProtocolClass(e))return;for(const t of e.details.mro)if(yo(t)&&Zs.isProtocolClass(t))for(const e of t.details.fields)if("__call__"!==e[0]&&!e[1].isIgnoredForProtocolMatch()){let t=!1;if(v&&yo(v)&&v.details.fields.has(e[0])&&(t=!0),!t)return}const t=_a(e,"__call__");if(!t)return;const n=Bn(t);if(Eo(n)||ko(n)){const t=ri(e,n);if(t)return Ba(t)}}function ei(e,t,n,i,r,s,o,a){if(bo(e)&&e.details.isSynthesized&&e.details.boundType&&vo(e.details.boundType)&&Zs.isProtocolClass(e.details.boundType))return!0;if(Io(e)&&!Co(t))return!1;let l=t,c=e,u=!1;if(0==(2&o))c=fa(e,r),$a(c)&&(u=!Jn(l,c,void 0,r,642|o,a),c=fa(e,r));else if(l=fa(t,s),$a(l)&&$a(l)&&(u=!Jn(l,c,void 0,s,-3&o|512,a),l=fa(t,s)),u)return i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),!1;return bo(c)&&c.details.isSynthesizedSelf||bo(l)&&l.details.isSynthesizedSelf&&l.details.boundType&&(l=fa(l.details.boundType,new jo(na(l)),!0)),!(!Jn(l,c,null==i?void 0:i.createAddendum(),0==(2&o)?s:r,o,a)&&!Ao(e,t)&&(i&&i.addMessage(ml.DiagnosticAddendum.paramAssignment().format({index:n+1,sourceType:ai(e),destType:ai(t)})),1))}function ti(e,t){if(t.details.typeParameters.length>0&&t.typeArguments&&t.typeArguments.length<=t.details.typeParameters.length){const n=new jo(na(t));Xe(Zs.cloneForSpecialization(t,void 0,!1),e,n,[]);let i=!1;const r=t.typeArguments.map(((e,r)=>{const s=t.details.typeParameters[r],o=n.getTypeVarType(s);return o&&(uo(o)||ho(e))?(i=!0,o):e}));if(i)return Zs.cloneForSpecialization(t,r,!0)}}function ni(e,t){const n=new il,i=Ko(t,(t=>{const i=Ko(e,(i=>{if(ho(e))return e;if(Jn(i,t,n)){if(_o(i)&&_o(t)){const e=ti(i,t);e&&(t=e)}else if(vo(i)&&vo(t)){const e=ti(Zs.cloneAsInstantiable(i),Zs.cloneAsInstantiable(t));e&&(t=Zs.cloneAsInstance(e))}else{if(!bo(i)&&bo(t))return i;if(ho(t))return i}return t}}));return ao(i)?t:i}));return ho(t)?e:i}function ii(e){const t=new Map;e.details.mro.forEach((e=>{_o(e)&&e.details.fields.forEach(((n,i)=>{if(n.isClassMember()){let r;const s=Vo(n);r=!(!s||3!==s.type)&&!!(8&en(s.node,!0)),t.has(i)||t.set(i,{symbol:n,symbolName:i,isAbstract:r,classType:e})}}))}));const n=[];return t.forEach((e=>{e.isAbstract&&n.push(e)})),n}function ri(e,t,n,i,r=0,s=!1,o){if(Eo(t)){if(!e)return Xs.clone(t,!0);if(Xs.isInstanceMethod(t)){const s=vo(e)?e:Zs.cloneAsInstance(xa(e));return si(e,t,n||Zs.cloneAsInstantiable(s),i,r,o||s,vo(e))}if(Xs.isClassMethod(t)||s&&Xs.isConstructorMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e),a=o?_o(e)?o:Na(o):s;return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,a,!0)}if(Xs.isStaticMethod(t)){const s=_o(e)?e:Zs.cloneAsInstantiable(e);return si(Ks.isInstance(e)?Zs.cloneAsInstantiable(e):e,t,n||s,i,r,void 0,!1)}}else if(ko(t)){const a=eo.create([]);return t.overloads.forEach((t=>{if(Xs.isOverloaded(t)){const i=ri(e,t,n,void 0,r,s,o);i&&eo.addOverload(a,i)}})),1===a.overloads.length?a.overloads[0]:0===a.overloads.length?void(i&&t.overloads.forEach((t=>{ri(e,t,n,i,r,s,o)}))):a}return t}function si(e,t,n,i,r,s,o=!0){const a=new jo(na(n));if(s&&t.details.parameters.length>0){const n=t.details.parameters[0],o=Xs.getEffectiveParameterType(t,0),l=Qo(s);a.addSolveForScope(na(t));const c=new il;if(bo(o)&&o.details.boundType&&vo(o.details.boundType)&&Zs.isProtocolClass(o.details.boundType))a.isLocked()||a.setTypeVarType(o,Ks.isInstantiable(o)?Fa(l):l);else if(!Jn(o,l,c,a,void 0,r)&&n.name&&!n.isNameSynthesized&&n.hasDeclaredType){if(!i)return;{const r=t.details.name||"(unnamed)";_e(Vt(i).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.bindTypeMismatch().format({type:ai(e),methodName:r,paramName:n.name})+c.getString(),i)}}}Un(t);const l=fa(t,a);return Xs.clone(l,o,e,na(e))}function oi(e){return Fl(e,t.printTypeFlags,Un)}function ai(e,n=!1){let i=t.printTypeFlags;return n&&(i|=32),Pl(e,i,Un)}const li={runWithCancellationToken:function(e,t){try{return m=e,t()}finally{m=void 0}},getType:j,getTypeOfExpression:$,getTypeOfAnnotation:K,getTypeOfClass:$t,getTypeOfFunction:Gt,getTypeForExpressionExpectingType:Sn,getExpectedType:function(e){hn(e);let t=e;for(;void 0!==t;){const e=l.get(t.id);if(e)return{type:e,node:t};t=t.parent}},evaluateTypeForSubnode:gn,evaluateTypesForStatement:fn,evaluateTypesForMatchNode:function(e){if(F(e,0))return;const t=$(e.subjectExpression);let n=t.type;for(const t of e.cases)t.guardExpression||(n=fu(li,n,t.pattern,!1));N(e,n,0,!!t.isIncomplete)},evaluateTypesForCaseNode:un,evaluateTypeOfParameter:mn,canBeTruthy:Q,canBeFalsy:Y,removeTruthinessFromType:Z,removeFalsinessFromType:X,verifyRaiseExceptionType:function(e){const t=xn(e,"BaseException");if(e.typeExpression){const n=$(e.typeExpression).type;if(n&&t&&_o(t)){const i=new il;Jo(n,(n=>{const r=Ie(n);if(!ho(r))if(_o(r)&&void 0===r.literalValue)if(Da(r,t,!1)){let t;En(e.typeExpression,(()=>{t=Ye(e.typeExpression,[],r,!1,void 0)})),t&&t.argumentErrors&&i.addMessage(ml.Diagnostic.exceptionTypeNotInstantiable().format({type:ai(n,!1)}))}else i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}));else vo(r)&&Da(Zs.cloneAsInstantiable(r),t,!1)||i.addMessage(ml.Diagnostic.exceptionTypeIncorrect().format({type:ai(n,!1)}))})),i.isEmpty()||_e(Vt(e).diagnosticRuleSet.reportGeneralTypeIssues,$o.reportGeneralTypeIssues,ml.Diagnostic.expectedExceptionClass()+i.getString(),e.typeExpression)}}},verifyDeleteExpression:Ce,isAfterNodeReachable:de,isNodeReachable:pe,isAsymmetricDescriptorAssignment:function(e){return a.has(e.id)},suppressDiagnostics:En,getDeclarationsForNameNode:function(e){var t;if(zt(e))return;const n=[];if(e.parent&&23===e.parent.nodeType&&e.parent.alias&&e===e.parent.name){const t=zs(e);if(t){const i=t.lookUpSymbolRecursive(e.parent.alias.value);if(i){const t=i.symbol.getDeclarations().filter((t=>6===t.type&&t.node===e.parent));n.push(...ls(t))}}}else if(e.parent&&35===e.parent.nodeType&&e===e.parent.memberName){let t=j(e.parent.leftExpression);if(t){t=Ie(t);const i=e.parent.memberName.value;Jo(t,(e=>{let t;if(_o(e=Ie(e))){let n=va(e,i,16);if(n||(n=va(e,i)),!n){const t=e.details.effectiveMetaclass;t&&_o(t)&&(n=va(t,i))}n&&(t=n.symbol)}else if(vo(e)){let n=_a(e,i,16);n||(n=_a(e,i)),n&&(t=n.symbol)}else To(e)&&(t=Qs.getField(e,i));if(t){const e=t.getTypedDeclarations();e.length>0?n.push(...e):n.push(...t.getDeclarations())}}))}}else if(e.parent&&37===e.parent.nodeType){const t=e.parent.nameParts.findIndex((t=>t===e)),i=Rt(e.parent);t>=0&&i&&!i.isNativeLib&&t{const t=Dn(e,r);t&&n.push(t)}));else if(_o(e)){const s=null===(t=ee(i.parent.leftExpression,Zs.cloneAsInstance(e),"__init__",{method:"get"},void 0,4))||void 0===t?void 0:t.type;if(s&&Eo(s)){const t=Dn(s,r);if(t)n.push(t);else if(Zs.isDataClass(e)){const t=va(e,r);t&&n.push(...t.symbol.getDeclarations())}}}}}else{const t=Vt(e),i=function(e,t){let n,i=e,r=!1;for(;i;){if(41===i.nodeType&&(n===i.typeAnnotation||n===i.typeAnnotationComment))return r||!t;if(28===i.nodeType&&n===i.returnTypeAnnotation)return r||!t;if(28===i.nodeType&&n===i.functionAnnotationComment)return!0;if(54===i.nodeType&&n===i.typeAnnotation)return r||!t;if(3===i.nodeType&&n===i.typeAnnotationComment)return!0;if(48===i.nodeType&&n===i.typeAnnotation&&(r=!0),30===i.nodeType||28===i.nodeType||10===i.nodeType||36===i.nodeType)return!1;n=i,i=i.parent}return!1}(e,!H(Vt(e))),r=i||t.isStubFile,s=wn(e,e.value,!r,i);s&&n.push(...s.symbol.getDeclarations())}return n},getTypeForDeclaration:An,resolveAliasDeclaration:Rn,resolveAliasDeclarationWithInfo:Fn,getTypeFromIterable:le,getTypeFromIterator:ae,getGetterTypeFromProperty:Hn,getTypeForArgument:bn,markNamesAccessed:function(e,t){const n=Vt(e),i=zs(e);i&&t.forEach((t=>{const r=i.lookUpSymbolRecursive(t);r&&we(n,r.symbol,e)}))},getScopeIdForNode:Pe,makeTopLevelTypeVarsConcrete:Ie,mapSubtypesExpandTypeVars:Se,populateTypeVarMapBasedOnExpectedType:Xe,lookUpSymbolRecursive:wn,getDeclaredTypeOfSymbol:On,getEffectiveTypeOfSymbol:Nn,getEffectiveTypeOfSymbolForUsage:Mn,getInferredTypeOfDeclaration:Pn,getDeclaredTypeForExpression:se,getFunctionDeclaredReturnType:Vn,getFunctionInferredReturnType:qn,getBestOverloadForArguments:Ge,getBuiltInType:xn,getTypeOfMember:Bn,getTypeFromObjectMember:ee,getBoundMethod:ne,getTypeFromMagicMethodReturn:gt,bindFunctionToClassOrObject:ri,getCallSignatureInfo:function(e,t,n){const i=e.leftExpression,r=j(i);if(void 0===r)return;const s=[];let o=0;function a(){s.push({argumentCategory:o,type:Ys.create(),active:!0})}e.arguments.forEach(((e,i)=>{let r=!1;i===t&&(n?r=!0:a()),o=e.argumentCategory,s.push({valueExpression:e.valueExpression,argumentCategory:e.argumentCategory,name:e.name,active:r})})),e.arguments.length{n=rt(i,s,t,new jo(na(t)),!0)})),l.push({type:t,activeParam:null==n?void 0:n.activeParam})}function u(e){Eo(e)?c(e):e.overloads.forEach((e=>{Xs.isOverloaded(e)&&c(e)}))}return Jo(r,(e=>{switch(e.category){case 5:case 6:u(e);break;case 7:if(Ks.isInstantiable(e)){let t;t=ne(e,"__init__");const n=!!t&&Eo(t)&&"builtins.object.__init__"===t.details.fullName,i=!!t&&Eo(t)&&Xs.isSkipConstructorCheck(t);if(!t||n||i){const n=ne(e,"__new__",!0);n&&(Eo(n)&&"builtins.object.__new__"===n.details.fullName||(t=n))}t&&u(t)}else{const t=ne(e,"__call__");t&&u(t)}}})),0!==l.length?{callNode:e,signatures:l}:void 0},getTypeAnnotationForParameter:ie,getAbstractMethods:ii,narrowConstrainedTypeVar:function(e,t){const n=Lt(e);if(n)return ci.narrowConstrainedTypeVar(n,t)},canAssignType:Jn,canOverrideMethod:function(e,t,n,i=!0){if(ko(e)&&(e=e.overloads[e.overloads.length-1],Xs.isOverloaded(e)))return!0;if(!Eo(e))return n.addMessage(ml.DiagnosticAddendum.overrideType().format({type:ai(e)})),!1;const r=Ho(e),s=Ho(t);let o=!0,a=!1;if(s.params.lengthr.params.length)for(let e=r.params.length;e=r.positionOnlyParamCount&&!Yt(l.name||"")&&0===l.category&&l.name!==c.name)0===c.category&&i&&(s.params[a].source===zo.PositionOnly?n.addMessage(ml.DiagnosticAddendum.overrideParamNamePositionOnly().format({index:a+1,baseName:l.name||"*"})):n.addMessage(ml.DiagnosticAddendum.overrideParamName().format({index:a+1,baseName:l.name||"*",overrideName:c.name||"*"})),o=!1);else{const i=Xs.getEffectiveParameterType(e,a),r=Xs.getEffectiveParameterType(t,a),s=bo(i)&&i.details.isSynthesized,u=bo(r)&&r.details.isSynthesized;s||u||l.category===c.category&&Jn(r,i,n.createAddendum(),new jo(na(t)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideParamType().format({index:a+1,baseType:ai(i),overrideType:ai(r)})),o=!1)}}const c=Un(e),u=Un(t);return Jn(c,u,n.createAddendum(),new jo(na(e)),8)||(n.addMessage(ml.DiagnosticAddendum.overrideReturnType().format({baseType:ai(c),overrideType:ai(u)})),o=!1),o},canAssignProtocolClassToSelf:function e(t,n,i=0){w(Zs.isProtocolClass(t)),w(Zs.isProtocolClass(n)),w(Zs.isSameGenericClass(t,n)),w(t.details.typeParameters.length>0);const r=new il,s=new jo;let o=!0;return t.details.fields.forEach(((e,a)=>{if(o&&e.isClassMember()&&!e.isIgnoredForProtocolMatch()){const l=va(n,a);w(void 0!==l);let c=On(e);if(c){const a=Bn(l);if(c=ha(c,t),vo(c)&&Zs.isPropertyClass(c)&&vo(a)&&Zs.isPropertyClass(a))Gu(li,Zs.cloneAsInstantiable(c),Zs.cloneAsInstantiable(a),n,r,s,i)||(o=!1);else{const t=e.getDeclarations()[0],n=1!==(null==t?void 0:t.type)||t.isFinal?0:1;Jn(c,a,r,s,n,i)||(o=!1)}}}})),t.details.baseClasses.forEach((r=>{_o(r)&&Zs.isProtocolClass(r)&&!Zs.isBuiltIn(r,"object")&&!Zs.isBuiltIn(r,"Protocol")&&r.details.typeParameters.length>0&&(e(ka(t,r),ka(n,r),i)||(o=!1))})),o},assignTypeToExpression:xe,getBuiltInObject:Cn,getTypingType:ce,inferReturnTypeIfNecessary:Ln,addError:fe,addWarning:function(e,t,n){return ge("warning",e,t,n)},addInformation:me,addUnusedCode:function(e,t){ye(e)||Vt(e).diagnosticSink.addUnusedCodeWithTextRange(ml.Diagnostic.unreachableCode(),t)},addDeprecated:function(e,t){ye(t)||Vt(t).diagnosticSink.addDeprecatedWithTextRange(e,t)},addDiagnostic:_e,addDiagnosticForTextRange:function(e,t,n,i,r){if("none"===t)return;const s=e.diagnosticSink.addDiagnosticWithTextRange(t,i,r);return n&&s.setRule(n),s},printType:ai,printFunctionParts:function(e){return Nl(e,t.printTypeFlags,Un)},getTypeCacheSize:function(){return s.size},useSpeculativeMode:kn,setTypeForNode:O,checkForCancellation:P},ci=function(e,t){const n=new Map,i=new Map,r=new Map;let s=0,o=1;function a(e,t){const i=new Set;if(n.has(e.id))return!0;n.set(e.id,!0);try{return function e(t,n,r=0){if(r>64)return!0;r++;let s=t;for(;;){if(i.has(s.id))return!1;if(i.add(s.id),s.flags&ft.Unreachable)return!1;if(s===n)return!0;if(s.flags&(ft.VariableAnnotation|ft.Assignment|ft.TrueCondition|ft.FalseCondition|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch))s=s.antecedent;else{if(!(s.flags&ft.Call)){if(s.flags&(ft.BranchLabel|ft.LoopLabel)){if(s.flags&ft.PostContextManager){const e=s;if(!e.expressions.some((t=>u(t,e.isAsync))))return!1}const t=s;for(const i of t.antecedents)if(e(i,n,r))return!0;return!1}if(s.flags&ft.Start)return!n;if(s.flags&ft.PreFinallyGate)return!s.isGateClosed;if(s.flags&ft.PostFinally){const t=s,i=t.preFinallyGate.isGateClosed;try{return t.preFinallyGate.isGateClosed=!0,e(t.antecedent,n,r)}finally{t.preFinallyGate.isGateClosed=i}}return E("Unexpected flow node flags"),!1}{const e=s;if(c(e.node))return!1;s=e.antecedent}}}}(e,t)}finally{n.delete(e.id)}}function l(e,t){let n=!0;return Jo(e,(e=>{bo(e)?Ao(e,t)||(n=!1):e.condition&&e.condition.some((e=>e.isConstrainedTypeVar&&e.typeVarName===t.nameWithScope))||(n=!1)})),n}function c(t){if(i.has(t.id))return i.get(t.id);i.set(t.id,!1);let n=0,r=0;const s=h(t.leftExpression);s&&Jo(s,(i=>{var s;let o;if(r++,_o(i)){if(i.details.effectiveMetaclass&&yo(i.details.effectiveMetaclass)&&!Zs.isBuiltIn(i.details.effectiveMetaclass,"type")&&va(i.details.effectiveMetaclass,"__call__",12))return;let t=va(i,"__init__",12);if(void 0===t&&(t=va(i,"__new__",12)),t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}else if(vo(i)){const t=va(i,"__call__",8);if(t){const n=e.getTypeOfMember(t);if(n&&(Eo(n)||ko(n))){const t=e.bindFunctionToClassOrObject(void 0,n);t&&(i=t)}}}if(Eo(i))o=i;else if(ko(i)){const e=i;o=e.overloads[e.overloads.length-1]}if(o){const i=o.details.declaredReturnType;if(Xs.isAsync(o))i&&vo(i)&&Zs.isBuiltIn(i,"Coroutine")&&i.typeArguments&&i.typeArguments.length>=3&&ao(i.typeArguments[2])&&6===(null===(s=t.parent)||void 0===s?void 0:s.nodeType)&&n++;else if(i)ao(i)&&n++;else if(o.details.declaration&&!(o.details.declaration.yieldStatements||Xs.isAbstractMethod(o)||Xs.isStubDefinition(o)||Xs.isPyTypedDefinition(o))){const t=o.details.declaration.node.suite.statements;let i=!1;for(const e of t){if(47!==e.nodeType||1!==e.statements.length)break;const t=e.statements[0];if(48!==t.nodeType){if(43===t.nodeType&&t.typeExpression){const e=e=>38===(null==e?void 0:e.nodeType)&&"NotImplementedError"===e.value;(e(t.typeExpression)||9===t.typeExpression.nodeType&&e(t.typeExpression.leftExpression))&&(i=!0)}break}}i||e.isAfterNodeReachable(o.details.declaration.node)||n++}}}));const o=r>0&&n===r;return i.set(t.id,o),o}function u(t,n){var i;if(r.has(t.id))return r.get(t.id);r.set(t.id,!1);let s,o=!1;if(9===t.nodeType){const e=h(t.leftExpression);if(e)if(_o(e))s=Fa(e);else if(Eo(e))s=e.details.declaredReturnType;else if(ko(e)){const t=e.overloads.find((e=>Xs.isOverloaded(e)));t&&(s=t.details.declaredReturnType)}}else 38===t.nodeType&&(s=e.getDeclaredTypeForExpression(t));if(s&&vo(s)){const r=n?"__aexit__":"__exit__",a=null===(i=e.getTypeFromObjectMember(t,s,r))||void 0===i?void 0:i.type;if(a&&Eo(a)&&a.details.declaredReturnType){const e=a.details.declaredReturnType;o=vo(e)&&Zs.isBuiltIn(e,"bool")}}return r.set(t.id,o),o}function p(t,n){const i=Rt(t.node.module);w(void 0!==i&&i.isImportFound),w(t.node.isWildcardImport);const r=e.lookUpSymbolRecursive(t.node,n,!1);w(void 0!==r);const s=r.symbol.getDeclarations().find((e=>e.node===t.node));return s&&e.getInferredTypeOfDeclaration(r.symbol,s)||Ys.create()}function d(t,n){var i;const r=e.getDeclaredTypeOfSymbol(t);if(r)return r;const s=t.getDeclarations().filter((e=>!e.isInExceptSuite));if(0===s.length)return;const o=s[s.length-1];return 2===o.type?null===(i=e.evaluateTypeForSubnode(o.node.name,(()=>{e.evaluateTypeOfParameter(o.node)})))||void 0===i?void 0:i.type:6===o.type||n?e.getInferredTypeOfDeclaration(t,o):void 0}function h(t){if(38===t.nodeType){const n=e.lookUpSymbolRecursive(t,t.value,!1);if(!n)return;return d(n.symbol,n.isBeyondExecutionScope)}if(35===t.nodeType){const n=t.memberName.value;let i=h(t.leftExpression);if(!i)return;i=e.makeTopLevelTypeVarsConcrete(i);const r=Ko(i,(e=>{var t;let i;if(To(e))i=Qs.getField(e,n);else if(yo(e)){const t=va(e,n);i=t?t.symbol:void 0}return i&&null!==(t=d(i,!1))&&void 0!==t?t:Ys.create()}));if(!ao(r))return r}if(9===t.nodeType){const e=h(t.leftExpression);if(!e)return;if(e&&_o(e))return Fa(e);if(Eo(e))return e.details.declaredReturnType}}return{createCodeFlowAnalyzer:function(){const n=new Map;return{getTypeFromCodeFlow:function(i,r,l,d,h){const m=void 0!==r?At(r):void 0;let f;const g=void 0!==m&&void 0!==l?m+`.${l.toString()}`:".";let y=n.get(g);function _(e,n,i){if(i){const t=y.get(e.id);if(void 0===t)o++;else if(n&&t.isIncompleteType){const e=t;e.type&&!Ao(e.type,n)&&o++}}else o++;const r=i?{isIncompleteType:!0,type:n,incompleteSubtypes:[],generationCount:o}:n;return y.set(e.id,r),t.trackEntry(y,e.id),{type:n,isIncomplete:i,generationCount:o,incompleteSubtypes:i?[]:void 0}}function v(e,t,n,i,r){const s=y.get(e.id);void 0!==s&&Nu(s)||E("setIncompleteSubtype can be called only on a valid incomplete cache entry");const a=s.incompleteSubtypes;if(t0){const e=[];t.incompleteSubtypes.forEach((t=>{t.type&&e.push(t.type)})),n=e.length>0?Oo(e):void 0}return{type:n,isIncomplete:!0,incompleteSubtypes:t.incompleteSubtypes,generationCount:t.generationCount}}function S(e){y.delete(e.id)}function x(t){let n=t.node;const i=t.node.parent;return i&&(28!==i.nodeType&&10!==i.nodeType||(n=i)),e.evaluateTypeForSubnode(n,(()=>{e.evaluateTypesForStatement(t.node)}))}return y||(y=new Map,n.set(g,y)),i?function t(n,i,r,l,d){var h;let g=n;const y=s;for(s++,e.checkForCancellation();;){const C=I(g);if(C){if(!C.isIncomplete)return C;if(C.generationCount===o)return{type:(null==C?void 0:C.type)?Po(C.type):void 0,isIncomplete:!0}}if(g.flags&ft.Unreachable)return _(g,void 0,!1);if(g.flags&ft.VariableAnnotation)g=g.antecedent;else if(g.flags&ft.Call){const e=g;if(c(e.node))return _(g,void 0,!1);g=e.antecedent}else if(g.flags&ft.Assignment){const t=g;if(i){if(r===t.targetSymbolId&&Lr(i,t.node)){if(g.flags&ft.Unbind)return _(g,Js.create(),!1);if(C&&void 0===C.type)return{type:void 0,isIncomplete:!0};_(g,i?void 0:l,!0);let n=x(t);return n&&(ea(n.type)||35===i.nodeType&&e.isAsymmetricDescriptorAssignment(t.node))&&(n=void 0),_(g,null==n?void 0:n.type,!!(null==n?void 0:n.isIncomplete))}if(Ur(i,t.node))return{type:l,isIncomplete:d}}g=t.antecedent}else{if(g.flags&ft.BranchLabel){const e=g;if(g.flags&ft.PostContextManager){const e=g;if(e.expressions.some((t=>u(t,e.isAsync)))===e.blockIfSwallowsExceptions)return _(g,void 0,!1)}if(i&&e.preBranchAntecedent&&e.affectedExpressions&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t)))&&a(g,e.preBranchAntecedent))){g=e.preBranchAntecedent;continue}const n=g,o=[];let c=!1;_(g,i?void 0:l,!0),n.antecedents.forEach((e=>{const n=t(e,i,r,l,d);n.isIncomplete&&(c=!0),n.type&&o.push(n.type)}));const p=i||o.length>0?Oo(o):void 0;return s-y>16384&&(c=!1),_(g,p,c)}if(g.flags&ft.LoopLabel){const e=g;if(i&&(f||(f=Pt(i)),!f.some((t=>e.affectedExpressions.has(t))))){g=e.antecedents[0];continue}let o,a=!1,c=I(g);void 0===c?c=_(g,i?void 0:l,!0):o=c.type;const u=void 0!==c.incompleteSubtypes&&c.incompleteSubtypes.some((e=>e.isPending)),p=T(g);if(u&&(null===(h=c.incompleteSubtypes)||void 0===h?void 0:h.every((e=>e.isPending))))return{type:c.type,isIncomplete:!0};if(e.antecedents.forEach(((e,n)=>{var s;c=I(g);const o=void 0!==c.incompleteSubtypes&&n=64?c.incompleteSubtypes[0].isIncomplete:void 0!==i;return s-y>16384&&(e=!1),{type:c.type,isIncomplete:e}}return a&&o&&c.type&&(Ao(o,c.type)?b(n)>2&&(a=!1):b(n,!0)),a?{type:(null==c?void 0:c.type)?Po(c.type):void 0,isIncomplete:!1}:_(g,c.type,!1)}if(g.flags&(ft.TrueCondition|ft.FalseCondition)){const n=g;if(i){_(g,i?void 0:l,!0);try{const s=ou(e,i,n.expression,!!(n.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(s){const e=t(n.antecedent,i,r,l,d);let o=e.type;return o&&(o=s(o)),_(g,o,e.isIncomplete)}S(g)}catch(e){throw S(g),e}}g=n.antecedent}else if(g.flags&(ft.TrueNeverCondition|ft.FalseNeverCondition)){const t=g;if(t.reference&&At(t.reference)!==m){const n=e.lookUpSymbolRecursive(t.reference,t.reference.value,!1);if(n&&n.symbol.getTypedDeclarations().length>0){_(g,i?void 0:l,!0);try{const n=ou(e,t.reference,t.expression,!!(t.flags&(ft.TrueCondition|ft.TrueNeverCondition)));if(n){const i=e.getTypeOfExpression(t.reference);if(ao(n(i.type)||i.type))return _(g,void 0,!!i.isIncomplete)}S(g)}catch(e){throw S(g),e}}}g=t.antecedent}else if(g.flags&ft.ExhaustedMatch){const t=g,n=e.evaluateTypeForSubnode(t.node,(()=>{e.evaluateTypesForMatchNode(t.node)}));if(n&&ao(n.type))return _(g,void 0,!!n.isIncomplete);g=t.antecedent}else if(g.flags&ft.NarrowForPattern){const t=g;if(!i||Lr(i,t.subjectExpression)){const n=e.evaluateTypeForSubnode(t.statement,(()=>{64===t.statement.nodeType?e.evaluateTypesForCaseNode(t.statement):e.evaluateTypesForMatchNode(t.statement)}));if(n){if(i)return _(g,n.type,!!n.isIncomplete);if(ao(n.type))return _(g,void 0,!!n.isIncomplete)}}g=t.antecedent}else{if(g.flags&ft.PreFinallyGate){const e=g;if(e.isGateClosed)return{type:void 0,isIncomplete:!1};_(g,i?void 0:l,!0);try{const n=t(e.antecedent,i,r,l,d);return S(g),{type:n.type,isIncomplete:n.isIncomplete}}catch(e){throw S(g),e}}if(g.flags&ft.PostFinally){const n=g,s=n.preFinallyGate.isGateClosed;try{let o;return n.preFinallyGate.isGateClosed=!0,e.useSpeculativeMode(n.finallyNode,(()=>{o=t(n.antecedent,i,r,l,d)})),o.isIncomplete?o:_(g,o.type,!1)}finally{n.preFinallyGate.isGateClosed=s}}if(g.flags&ft.Start)return _(g,l,d);if(!(g.flags&ft.WildcardImport))return E("Unexpected flow node flags"),_(g,void 0,!1);{const e=g;if(i&&38===i.nodeType){const t=i.value;if(e.names.some((e=>e===t))){_(g,i?void 0:l,!0);try{const n=p(e,t);return _(g,n,!1)}catch(e){throw S(g),e}}}g=e.antecedent}}}}}(i,r,l,d,h):{type:d,isIncomplete:h}}}},isFlowNodeReachable:a,narrowConstrainedTypeVar:function(t,n){w(!n.details.isParamSpec),w(!n.details.isVariadic),w(!n.details.boundType),w(n.details.constraints.length>0);const i=new Set,r=[];for(const e of n.details.constraints){if(!vo(e))return;r.push(e)}const s=function t(n,s){let o=n;for(;;){if(i.has(o.id))return r;if(o.flags&(ft.Unreachable|ft.Start))return r;if(o.flags&(ft.VariableAnnotation|ft.Assignment|ft.WildcardImport|ft.TrueNeverCondition|ft.FalseNeverCondition|ft.NarrowForPattern|ft.ExhaustedMatch|ft.PostFinally|ft.PreFinallyGate|ft.Call))o=o.antecedent;else{if(!(o.flags&(ft.TrueCondition|ft.FalseCondition))){if(o.flags&(ft.BranchLabel|ft.LoopLabel)){const e=o,n=[];i.add(o.id);for(const i of e.antecedents){const e=t(i,s);for(const t of e)n.some((e=>Ao(e,t)))||n.push(t)}return i.delete(o.id),n}return E("Unexpected flow node flags"),r}{const n=o,r=n.expression,a=0!=(o.flags&ft.TrueCondition);if(9===r.nodeType&&38===r.leftExpression.nodeType&&"isinstance"===r.leftExpression.value&&2===r.arguments.length){const c=r.arguments[0].valueExpression;if(l(e.getTypeOfExpression(c).type,s)){i.add(o.id);const l=t(n.antecedent,s);i.delete(o.id);const c=r.arguments[1].valueExpression,u=e.getTypeOfExpression(c,void 0,168).type;if(_o(u))return l.filter((e=>Zs.isSameGenericClass(e,u)?a:!a))}}o=n.antecedent}}}}(t,n);return 1===s.length?s[0]:void 0}}}(li,c);return li}class Xu{constructor(e){this.importName=e,this.isAccessed=!1}}class ep extends Xu{constructor(e,t,n){super(e),this.alias=t,this.symbol=n}}class tp extends Xu{constructor(e,t,n){super(e),this.isWildcardImport=t,this.node=n,this.symbols=[]}addSymbol(e,t,n,i=!1){this.symbols.find((e=>e.name===t))||this.symbols.push({symbol:e,name:t,alias:n,isAccessed:i})}}class np extends _r{constructor(e,t){super(),this._accessedImportedSymbols=e,this._treatStringsAsSymbols=t}analyze(e){this.walk(e)}walk(e){zt(e)||super.walk(e)}visitName(e){return this._accessedImportedSymbols.set(e.value,!0),!0}visitMemberAccess(e){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);return t&&this._accessedImportedSymbols.set(`${t}.${e.memberName.value}`,!0),!0}visitString(e){return this._treatStringsAsSymbols&&this._accessedImportedSymbols.set(e.value,!0),!0}_getRecursiveModuleAccessExpression(e){if(38===e.nodeType)return e.value;if(35===e.nodeType){const t=this._getRecursiveModuleAccessExpression(e.leftExpression);if(!t)return;return`${t}.${e.memberName.value}`}}}class ip extends _r{constructor(e,t,n){super(),this._stubPath=e,this._sourceFile=t,this._evaluator=n,this._indentAmount=0,this._includeAllImports=!1,this._typeStubText="",this._lineEnd="\n",this._tab=" ",this._classNestCount=0,this._functionNestCount=0,this._ifNestCount=0,this._emittedSuite=!1,this._emitDocString=!0,this._trackedImportAs=new Map,this._trackedImportFrom=new Map,this._accessedImportedSymbols=new Map,this._stubPath.endsWith("__init__.pyi")&&(this._includeAllImports=!0)}write(){const e=this._sourceFile.getParseResults();this._lineEnd=e.tokenizerOutput.predominantEndOfLineSequence,this._tab=e.tokenizerOutput.predominantTabSequence,this.walk(e.parseTree),this._writeFile()}walk(e){zt(e)||super.walk(e)}visitClass(e){const t=e.name.value;this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n=`class ${t}`;const i=e.arguments.filter((e=>void 0!==e.name||0!==e.argumentCategory||38!==e.valueExpression.nodeType||"object"!==e.valueExpression.value));return i.length>0&&(n+=`(${i.map((e=>{let t="";return e.name&&(t=e.name.value+"="),t+=this._printExpression(e.valueExpression),t})).join(", ")})`),n+=":",this._emitLine(n),this._emitSuite((()=>{this._classNestCount++,this.walk(e.suite),this._classNestCount--})),this._emitLine(""),this._emitLine(""),!1}visitFunction(e){const t=e.name.value;if(0===this._functionNestCount&&!Yt(t)){this._emittedSuite=!0,this._emitDocString=!0,this._emitDecorators(e.decorators);let n,i=e.isAsync?"async ":"";if(i+=`def ${t}`,i+=`(${e.parameters.map(((t,n)=>this._printParameter(t,e,n))).join(", ")})`,e.returnTypeAnnotation?n=this._printExpression(e.returnTypeAnnotation,!0):e.functionAnnotationComment?n=this._printExpression(e.functionAnnotationComment.returnTypeAnnotation,!0):"__init__"===e.name.value?n="None":"__str__"===e.name.value?n="str":["__int__","__hash__"].some((t=>t===e.name.value))?n="int":["__eq__","__ne__","__gt__","__lt__","__ge__","__le__"].some((t=>t===e.name.value))&&(n="bool"),n&&(i+=" -> "+n),i+=":",!n){const t=this._evaluator.getTypeOfFunction(e);if(t&&Eo(t.functionType)){let e=this._evaluator.getFunctionInferredReturnType(t.functionType);e=Po(e),ao(e)||po(e)||(i+=` # -> ${this._evaluator.printType(e,!1)}:`)}}this._emitLine(i),this._emitSuite((()=>{this._functionNestCount++,this.walk(e.suite),this._functionNestCount--})),this._emitLine("")}return!1}visitWhile(e){return this._emitDocString=!1,!1}visitFor(e){return this._emitDocString=!1,!1}visitTry(e){return this._emitDocString=!1,!1}visitWith(e){return this._emitDocString=!1,!1}visitIf(e){if(this._emitDocString=!1,0===this._functionNestCount&&0===this._ifNestCount){this._ifNestCount++,this._emittedSuite=!0,this._emitLine("if "+this._printExpression(e.testExpression)+":"),this._emitSuite((()=>{this.walkMultiple(e.ifSuite.statements)}));const t=e.elseSuite;t&&(this._emitLine("else:"),this._emitSuite((()=>{19===t.nodeType?this.walkMultiple([t.testExpression,t.ifSuite,t.elseSuite]):this.walkMultiple(t.statements)}))),this._ifNestCount--}return!1}visitAssignment(e){let t=!1,n="";if(38===e.leftExpression.nodeType){if("__all__"===e.leftExpression.value)return 0===this._functionNestCount&&0===this._ifNestCount&&(this._emittedSuite=!0,n=this._printExpression(e.leftExpression),n+=" = ",n+=this._printExpression(e.rightExpression),this._emitLine(n)),!1;if(0===this._functionNestCount){n=this._printExpression(e.leftExpression),e.typeAnnotationComment&&(n+=": "+this._printExpression(e.typeAnnotationComment,!0));const i=this._evaluator.getType(e.leftExpression);if(null==i?void 0:i.typeAliasInfo)t=!0;else if(9===e.rightExpression.nodeType){const n=this._evaluator.getType(e.rightExpression.leftExpression);n&&_o(n)&&Zs.isBuiltIn(n,["TypeVar","TypeVarTuple","ParamSpec","NewType"])&&(t=!0)}}}else if(54===e.leftExpression.nodeType){const t=e.leftExpression.valueExpression;38===t.nodeType&&0===this._functionNestCount&&(n=`${this._printExpression(t)}: ${this._printExpression(e.leftExpression.typeAnnotation,!0)}`)}return n&&(this._emittedSuite=!0,n+=" = ",n+=t?this._printExpression(e.rightExpression):"...",this._emitLine(n)),!1}visitAugmentedAssignment(e){if(38===e.leftExpression.nodeType&&"__all__"===e.leftExpression.value&&1===e.operator&&0===this._functionNestCount&&0===this._ifNestCount){let t=this._printExpression(e.leftExpression);t+=" += ",t+=this._printExpression(e.rightExpression),this._emitLine(t)}return!1}visitTypeAnnotation(e){if(0===this._functionNestCount){let t="";if(38===e.valueExpression.nodeType)t=this._printExpression(e.valueExpression);else if(35===e.valueExpression.nodeType){const n=e.valueExpression.leftExpression;38===n.nodeType&&"self"===n.value&&(Yt(e.valueExpression.memberName.value)||(t=this._printExpression(e.valueExpression)))}t&&(t+=": "+this._printExpression(e.typeAnnotation,!0),this._emitLine(t))}return!1}visitImport(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);return t&&e.list.forEach((e=>{const n=this._printModuleName(e.module);if(!this._trackedImportAs.has(n)){const i=e.alias?e.alias.value:e.module.nameParts.length>0?e.module.nameParts[0].value:"",r=t.lookUpSymbolRecursive(i);if(r){const t=new ep(n,e.alias?e.alias.value:void 0,r.symbol);this._trackedImportAs.set(n,t)}}})),!1}visitImportFrom(e){if(this._functionNestCount>0||this._classNestCount>0)return!1;const t=zs(e);if(t){const n=this._printModuleName(e.module);let i=this._trackedImportFrom.get(n);i||(i=new tp(n,e.isWildcardImport,e),this._trackedImportFrom.set(n,i)),e.imports.forEach((e=>{const n=e.alias?e.alias.value:e.name.value,r=t.lookUpSymbolRecursive(n);r&&i.addSymbol(r.symbol,e.name.value,e.alias?e.alias.value:void 0,!1)}))}return!1}visitStatementList(e){return e.statements.length>0&&48===e.statements[0].nodeType&&!this._emittedSuite&&this._emitDocString&&this._emitLine(this._printExpression(e.statements[0])),this._emitDocString=!1,this.walkMultiple(e.statements),!1}_emitSuite(e){this._increaseIndent((()=>{const t=this._emittedSuite;this._emittedSuite=!1,e(),this._emittedSuite||this._emitLine("..."),this._emittedSuite=t}))}_increaseIndent(e){this._indentAmount++,e(),this._indentAmount--}_emitDecorators(e){e.forEach((e=>{this._emitLine("@"+this._printExpression(e.expression))}))}_printHeaderDocString(){return'"""'+this._lineEnd+"This type stub file was generated by pyright."+this._lineEnd+'"""'+this._lineEnd+this._lineEnd}_emitLine(e){for(let e=0;ee.value)).join("."),t}_printParameter(e,t,n){let i="";1===e.category?i+="*":2===e.category&&(i+="**"),e.name&&(i+=e.name.value);const r=this._evaluator.getTypeAnnotationForParameter(t,n);let s="";return r&&(s=this._printExpression(r,!0)),s&&(i+=": "+s),e.defaultValue&&(i+=s?" = ...":"=..."),i}_printExpression(e,t=!1,n=!1){return new np(this._accessedImportedSymbols,n).analyze(e),xr(e,t?1:0)}_printTrackedImports(){let e="",t=!1;return this._trackedImportAs.forEach((n=>{this._accessedImportedSymbols.get(n.alias||n.importName)&&(n.isAccessed=!0),(n.isAccessed||this._includeAllImports)&&(e+=`import ${n.importName}`,n.alias&&(e+=` as ${n.alias}`),e+=this._lineEnd,t=!0)})),this._trackedImportFrom.forEach((n=>{n.symbols.forEach((e=>{this._accessedImportedSymbols.get(e.alias||e.name)&&(e.isAccessed=!0)})),n.isWildcardImport&&(e+=`from ${n.importName} import *`+this._lineEnd,t=!0);const i=n.symbols.filter((e=>e.isAccessed||this._includeAllImports)).sort(((e,t)=>e.namet.name?1:0));i.length>0&&(e+=`from ${n.importName} import `,e+=i.map((e=>{let t=e.name;return e.alias&&(t+=" as "+e.alias),t})).join(", "),e+=this._lineEnd,t=!0)})),t&&(e+=this._lineEnd),e}_writeFile(){let e=this._printHeaderDocString();e+=this._printTrackedImports(),e+=this._typeStubText,this._sourceFile.fileSystem.writeFileSync(this._stubPath,e,"utf8")}}class rp{constructor(e,t,n,i,r,s){this._extension=i,this._disableChecker=s,this._sourceFileList=[],this._sourceFileMap=new Map,this._parsedFileCount=0,this._lookUpImport=e=>{var t;let n;if("string"==typeof e)n=this._getSourceFileInfoFromPath(e);else{const t=this._importResolver.resolveImport(e.importingFilePath,this._configOptions.findExecEnvironment(e.importingFilePath),{leadingDots:0,nameParts:e.nameParts,importedSymbols:void 0});if(t.isImportFound&&!t.isNativeLib&&t.resolvedPaths.length>0){let e=t.resolvedPaths[t.resolvedPaths.length-1];e&&(n=this._getSourceFileInfoFromPath(e),n||(e=ke(this._fs,e),this.addTrackedFile(e),n=this._getSourceFileInfoFromPath(e)))}}if(!n)return;n.sourceFile.isBindingRequired()&&Fn.typeCheckerTime.subtractFromTime((()=>{this._bindFile(n)}));const i=n.sourceFile.getModuleSymbolTable();if(!i)return;const r=n.sourceFile.getParseResults(),s=r.parseTree,o=Wt(r.parseTree);return{symbolTable:i,dunderAllNames:null==o?void 0:o.names,usesUnsupportedDunderAllForm:null!==(t=null==o?void 0:o.usesUnsupportedDunderAllForm)&&void 0!==t&&t,get docString(){return qr(s.statements)}}},this._console=n||new Un,this._logTracker=null!=r?r:new Bn(n,"FG"),this._importResolver=e,this._configOptions=t,this._createNewEvaluator()}get evaluator(){return this._evaluator}setConfigOptions(e){this._configOptions=e,this._createNewEvaluator()}setImportResolver(e){this._importResolver=e,this._createNewEvaluator()}setTrackedFiles(e){if(this._sourceFileList.length>0){const t=new Map;e.forEach((e=>{t.set(ke(this._fs,e),e)})),this._sourceFileList.forEach((e=>{const n=ke(this._fs,e.sourceFile.getFilePath());t.has(n)||(e.isTracked=!1)}))}return this.addTrackedFiles(e),this._removeUnneededFiles()}setPreCheckCallback(e){this._preCheckCallback=e}setAllowedThirdPartyImports(e){this._allowedThirdPartyImports=e}addTrackedFiles(e,t=!1,n=!1){e.forEach((e=>{this.addTrackedFile(e,t,n)}))}addTrackedFile(e,t=!1,n=!1){let i=this._getSourceFileInfoFromPath(e);if(i)return i.isTracked=!0,i.sourceFile;const r=this._getImportNameForFile(e),s=new Ru(this._fs,e,r,t,n,this._console,this._logTracker);return i={sourceFile:s,isTracked:!0,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:t,isThirdPartyPyTypedPresent:n,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(i),s}setFileOpened(e,t,n,i){var r,s;let o=this._getSourceFileInfoFromPath(e);if(o)o.isOpenByClient=!0,o.diagnosticsVersion=0;else{const t=this._getImportNameForFile(e),n=new Ru(this._fs,e,t,!1,!1,this._console,this._logTracker,null!==(r=null==i?void 0:i.ipythonMode)&&void 0!==r&&r),a=null==i?void 0:i.chainedFilePath;o={sourceFile:n,isTracked:null!==(s=null==i?void 0:i.isTracked)&&void 0!==s&&s,chainedSourceFile:a?this._getSourceFileInfoFromPath(a):void 0,isOpenByClient:!0,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(o)}o.sourceFile.setClientVersion(t,n)}setFileClosed(e){const t=this._getSourceFileInfoFromPath(e);return t&&(t.isOpenByClient=!1,t.sourceFile.setClientVersion(null,[]),t.sourceFile.didContentsChangeOnDisk()&&(t.sourceFile.markDirty(),this._markFileDirtyRecursive(t,new Map))),this._removeUnneededFiles()}markAllFilesDirty(e,t=!0){const n=new Map;this._sourceFileList.forEach((i=>{e?i.sourceFile.markDirty(t):i.sourceFile.didContentsChangeOnDisk()&&(i.sourceFile.markDirty(t),this._markFileDirtyRecursive(i,n))})),n.size>0&&this._createNewEvaluator()}markFilesDirty(e,t,n=!0){const i=new Map;e.forEach((e=>{const r=this._getSourceFileInfoFromPath(e);if(r){const s=de(e);if("builtins.pyi"===s||"__builtins__.pyi"===s)return void this.markAllFilesDirty(t,n);(t||!r.isOpenByClient&&r.sourceFile.didContentsChangeOnDisk())&&(r.sourceFile.markDirty(n),this._markFileDirtyRecursive(r,i))}})),i.size>0&&this._createNewEvaluator()}getFileCount(){return this._sourceFileList.length}getTracked(){return this._sourceFileList.filter((e=>e.isTracked))}getOpened(){return this._sourceFileList.filter((e=>e.isOpenByClient))}getFilesToAnalyzeCount(){let e=0;return this._disableChecker||this._sourceFileList.forEach((t=>{t.sourceFile.isCheckingRequired()&&this._shouldCheckFile(t)&&e++})),e}isCheckingOnlyOpenFiles(){return this._configOptions.checkOnlyOpenFiles||!1}getSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return t.sourceFile}getBoundSourceFile(e){const t=this._getSourceFileInfoFromPath(e);if(t)return this._bindFile(t),this.getSourceFile(e)}analyze(e,t=ot.CancellationToken.None){return this._runEvaluatorWithCancellationToken(t,(()=>{const t=new Pn,n=this._sourceFileList.filter((e=>e.isOpenByClient&&e.sourceFile.isCheckingRequired()));if(n.length>0){const i=e?e.openFilesTimeInMs:Number.MAX_VALUE;for(const e of n)if(this._checkTypes(e)&&t.getDurationInMilliseconds()>i)return!0;if(void 0!==e)return!0}if(!this._configOptions.checkOnlyOpenFiles){const n=e?e.noOpenFilesTimeInMs:Number.MAX_VALUE;for(const e of this._sourceFileList)if(this._isUserCode(e)&&this._checkTypes(e)&&t.getDurationInMilliseconds()>n)return!0}return!1}))}indexWorkspace(e,t){return this._configOptions.indexing?this._runEvaluatorWithCancellationToken(t,(()=>{const i=new Set;for(const e of this._sourceFileList)e.sourceFile.isParseRequired()||i.add(e);let r=0;for(const s of this._sourceFileList){if(!this._isUserCode(s)||!s.sourceFile.isIndexingRequired())continue;this._bindFile(s);const o=s.sourceFile.index({indexingForAutoImportMode:!1},t);if(o){if(++r>2e3)return this._console.warn("Workspace indexing has hit its upper limit: 2000 files"),n(this._sourceFileList,i),r;e(s.sourceFile.getFilePath(),o)}this._handleMemoryHighUsage()}return n(this._sourceFileList,i),r})):0;function n(e,t){for(const n of e)n.sourceFile.isParseRequired()||t.has(n)||n.sourceFile.dropParseAndBindInfo()}}printDependencies(e,t){const n=this._sourceFileList.filter((e=>!e.isTypeshedFile)).sort(((e,t)=>e.sourceFile.getFilePath(){this._console.info("");let r=n.sourceFile.getFilePath();const s=Y(r,e);s&&(r=s),this._console.info(`${r}`),this._console.info(` Imports ${n.imports.length} file`+(1===n.imports.length?"":"s")),t&&n.imports.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),this._console.info(` Imported by ${n.importedBy.length} file`+(1===n.importedBy.length?"":"s")),t&&n.importedBy.forEach((e=>{this._console.info(` ${e.sourceFile.getFilePath()}`)})),0===n.importedBy.length&&i.push(n.sourceFile)})),i.length>0&&(this._console.info(""),this._console.info(`${i.length} file${1===i.length?"":"s"} not explicitly imported`),i.forEach((e=>{this._console.info(` ${e.getFilePath()}`)})))}writeTypeStub(e,t,n,i){for(const r of this._sourceFileList){ct(i);const s=Y(r.sourceFile.getFilePath(),e);if(void 0!==s){let e=me(te(n,s));e=t?te($(e),"__init__.pyi"):he(e)+".pyi";const o=$(e);try{Q(this._fs,o,n)}catch(e){throw new Error(`Could not create directory for '${o}'`)}this._bindFile(r),this._runEvaluatorWithCancellationToken(i,(()=>{new ip(e,r.sourceFile,this._evaluator).write()})),this._handleMemoryHighUsage()}}}getTypeForSymbol(e){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).getEffectiveTypeOfSymbol(e)}printType(e,t){return this._handleMemoryHighUsage(),(this._evaluator||this._createNewEvaluator()).printType(e,t)}static _getPrintTypeFlags(e){let t=0;return e.diagnosticRuleSet.printUnknownAsAny&&(t|=1),e.diagnosticRuleSet.omitConditionalConstraint&&(t|=64),e.diagnosticRuleSet.omitTypeArgsIfAny&&(t|=2),e.diagnosticRuleSet.omitUnannotatedParamType&&(t|=4),e.diagnosticRuleSet.pep604Printing&&(t|=8),t}get _fs(){return this._importResolver.fileSystem}_getImportNameForFile(e){return this._importResolver.getModuleNameForImport(e,this._configOptions.getDefaultExecEnvironment()).moduleName}_addShadowedFile(e,t){let n=this._getSourceFileInfoFromPath(t);if(!n){const e=this._getImportNameForFile(t);n={sourceFile:new Ru(this._fs,t,e,!1,!1,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:!1,isThirdPartyImport:!1,isThirdPartyPyTypedPresent:!1,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(n)}return n.shadows.includes(e)||n.shadows.push(e),e.shadowedBy.includes(n)||e.shadowedBy.push(n),n.sourceFile}_createNewEvaluator(){return this._evaluator=function(e,t,n,i){if(!t.logCalls&&o())return Zu(e,t);function r(e,r,s){return t.logCalls?n.log(e,(e=>(e.add(null==i?void 0:i.print(s)),Fn.typeEvaluationTime.timeOperation(r))),t.minimumLoggingThreshold,!0):Fn.typeEvaluationTime.timeOperation(r)}const s=Zu(t.logCalls?r=>n.log("import lookup",(t=>(t.add(null==i?void 0:i.printFileOrModuleName(r)),e(r))),t.minimumLoggingThreshold,!0):e,t);return{runWithCancellationToken:s.runWithCancellationToken,getType:e=>r("getType",(()=>s.getType(e)),e),getTypeOfExpression:(e,t,n)=>r("getTypeOfExpression",(()=>s.getTypeOfExpression(e,t,n)),e),getTypeOfAnnotation:s.getTypeOfAnnotation,getTypeOfClass:e=>r("getTypeOfClass",(()=>s.getTypeOfClass(e)),e),getTypeOfFunction:e=>r("getTypeOfFunction",(()=>s.getTypeOfFunction(e)),e),getTypeForExpressionExpectingType:s.getTypeForExpressionExpectingType,evaluateTypeForSubnode:s.evaluateTypeForSubnode,evaluateTypesForStatement:e=>r("evaluateTypesForStatement",(()=>s.evaluateTypesForStatement(e)),e),evaluateTypesForMatchNode:s.evaluateTypesForMatchNode,evaluateTypesForCaseNode:s.evaluateTypesForCaseNode,evaluateTypeOfParameter:s.evaluateTypeOfParameter,canBeTruthy:s.canBeTruthy,canBeFalsy:s.canBeFalsy,removeTruthinessFromType:s.removeTruthinessFromType,removeFalsinessFromType:s.removeFalsinessFromType,getExpectedType:e=>r("getExpectedType",(()=>s.getExpectedType(e)),e),verifyRaiseExceptionType:e=>r("verifyRaiseExceptionType",(()=>s.verifyRaiseExceptionType(e)),e),verifyDeleteExpression:e=>r("verifyDeleteExpression",(()=>s.verifyDeleteExpression(e)),e),isAfterNodeReachable:e=>r("isAfterNodeReachable",(()=>s.isAfterNodeReachable(e)),e),isNodeReachable:(e,t)=>r("isNodeReachable",(()=>s.isNodeReachable(e,t)),e),isAsymmetricDescriptorAssignment:s.isAsymmetricDescriptorAssignment,suppressDiagnostics:(e,t)=>r("suppressDiagnostics",(()=>s.suppressDiagnostics(e,t))),getDeclarationsForNameNode:e=>r("getDeclarationsForNameNode",(()=>s.getDeclarationsForNameNode(e)),e),getTypeForDeclaration:e=>r("getTypeForDeclaration",(()=>s.getTypeForDeclaration(e)),e),resolveAliasDeclaration:(e,t,n)=>r("resolveAliasDeclaration",(()=>s.resolveAliasDeclaration(e,t,n)),e),resolveAliasDeclarationWithInfo:(e,t,n)=>r("resolveAliasDeclarationWithInfo",(()=>s.resolveAliasDeclarationWithInfo(e,t,n)),e),getTypeFromIterable:(e,t,n)=>r("getTypeFromIterable",(()=>s.getTypeFromIterable(e,t,n)),e),getTypeFromIterator:(e,t,n)=>r("getTypeFromIterator",(()=>s.getTypeFromIterator(e,t,n)),e),getGetterTypeFromProperty:(e,t)=>r("getGetterTypeFromProperty",(()=>s.getGetterTypeFromProperty(e,t)),e),getTypeForArgument:s.getTypeForArgument,markNamesAccessed:(e,t)=>r("markNamesAccessed",(()=>s.markNamesAccessed(e,t)),e),getScopeIdForNode:s.getScopeIdForNode,makeTopLevelTypeVarsConcrete:e=>r("makeTopLevelTypeVarsConcrete",(()=>s.makeTopLevelTypeVarsConcrete(e)),e),mapSubtypesExpandTypeVars:s.mapSubtypesExpandTypeVars,populateTypeVarMapBasedOnExpectedType:s.populateTypeVarMapBasedOnExpectedType,lookUpSymbolRecursive:s.lookUpSymbolRecursive,getDeclaredTypeOfSymbol:s.getDeclaredTypeOfSymbol,getEffectiveTypeOfSymbol:e=>r("getEffectiveTypeOfSymbol",(()=>s.getEffectiveTypeOfSymbol(e)),e),getEffectiveTypeOfSymbolForUsage:(e,t,n)=>r("getEffectiveTypeOfSymbolForUsage",(()=>s.getEffectiveTypeOfSymbolForUsage(e,t,n)),e),getInferredTypeOfDeclaration:s.getInferredTypeOfDeclaration,getDeclaredTypeForExpression:s.getDeclaredTypeForExpression,getFunctionDeclaredReturnType:e=>r("getFunctionDeclaredReturnType",(()=>s.getFunctionDeclaredReturnType(e)),e),getFunctionInferredReturnType:(e,t)=>r("getFunctionInferredReturnType",(()=>s.getFunctionInferredReturnType(e,t)),e),getBestOverloadForArguments:(e,t,n)=>s.getBestOverloadForArguments(e,t,n),getBuiltInType:(e,t)=>r("getBuiltInType",(()=>s.getBuiltInType(e,t)),e),getTypeOfMember:e=>r("getTypeOfMember",(()=>s.getTypeOfMember(e)),e.symbol),getTypeFromObjectMember:s.getTypeFromObjectMember,getBoundMethod:s.getBoundMethod,getTypeFromMagicMethodReturn:s.getTypeFromMagicMethodReturn,bindFunctionToClassOrObject:s.bindFunctionToClassOrObject,getCallSignatureInfo:(e,t,n)=>r("getCallSignatureInfo",(()=>s.getCallSignatureInfo(e,t,n)),e),getTypeAnnotationForParameter:(e,t)=>r("getTypeAnnotationForParameter",(()=>s.getTypeAnnotationForParameter(e,t)),e),getAbstractMethods:e=>r("getAbstractMethods",(()=>s.getAbstractMethods(e)),e),narrowConstrainedTypeVar:s.narrowConstrainedTypeVar,canAssignType:(e,t,n,i,o)=>r("canAssignType",(()=>s.canAssignType(e,t,n,i,o)),e),canOverrideMethod:(e,t,n,i)=>r("canOverrideMethod",(()=>s.canOverrideMethod(e,t,n,i)),t),canAssignProtocolClassToSelf:(e,t)=>r("canAssignProtocolClassToSelf",(()=>s.canAssignProtocolClassToSelf(e,t))),assignTypeToExpression:s.assignTypeToExpression,getBuiltInObject:s.getBuiltInObject,getTypingType:s.getTypingType,inferReturnTypeIfNecessary:s.inferReturnTypeIfNecessary,addError:(e,t)=>r("addError",(()=>s.addError(e,t)),t),addWarning:(e,t)=>r("addWarning",(()=>s.addWarning(e,t)),t),addInformation:(e,t)=>r("addInformation",(()=>s.addInformation(e,t)),t),addUnusedCode:(e,t)=>r("addUnusedCode",(()=>s.addUnusedCode(e,t)),e),addDeprecated:(e,t)=>r("addDeprecated",(()=>s.addDeprecated(e,t)),t),addDiagnostic:(e,t,n,i)=>r("addDiagnostic",(()=>s.addDiagnostic(e,t,n,i)),i),addDiagnosticForTextRange:(e,t,n,i,o)=>r("addDiagnosticForTextRange",(()=>s.addDiagnosticForTextRange(e,t,n,i,o))),printType:(e,t)=>r("printType",(()=>s.printType(e,t)),e),printFunctionParts:e=>r("printFunctionParts",(()=>s.printFunctionParts(e)),e),getTypeCacheSize:s.getTypeCacheSize,useSpeculativeMode:s.useSpeculativeMode,setTypeForNode:s.setTypeForNode,checkForCancellation:s.checkForCancellation}}(this._lookUpImport,{printTypeFlags:rp._getPrintTypeFlags(this._configOptions),logCalls:this._configOptions.logTypeEvaluationTime,minimumLoggingThreshold:this._configOptions.typeEvaluationTimeThreshold,analyzeUnannotatedFunctions:this._configOptions.analyzeUnannotatedFunctions,evaluateUnknownImportsAsAny:!!this._configOptions.evaluateUnknownImportsAsAny,verifyTypeCacheEvaluatorFlags:!!this._configOptions.internalTestMode},this._logTracker,this._configOptions.logTypeEvaluationTime?Fu(this._importResolver.getImportRoots(this._configOptions.findExecEnvironment(this._configOptions.projectRoot))):void 0),this._evaluator}_parseFile(e,t){if(this._isFileNeeded(e)&&e.sourceFile.isParseRequired()&&(e.sourceFile.parse(this._configOptions,this._importResolver,t)&&(this._parsedFileCount++,this._updateSourceFileImports(e,this._configOptions)),e.sourceFile.isFileDeleted())){e.isTracked=!1;const t=new Map;this._markFileDirtyRecursive(e,t),this._importResolver.invalidateCache()}}_bindFile(e,t){var n,i;if(!this._isFileNeeded(e)||!e.sourceFile.isBindingRequired())return;this._parseFile(e,t);const r=t=>{if(!t||t===e)return;if(this._bindFile(t),t.sourceFile.isFileDeleted())return;const n=t.sourceFile.getParseResults();if(!n)return;const i=Ft(n.parseTree);return w(void 0!==i),i};let s;e.builtinsImport&&e.builtinsImport!==e&&(s=null!==(i=null!==(n=r(e.chainedSourceFile))&&void 0!==n?n:r(e.ipythonDisplayImport))&&void 0!==i?i:r(e.builtinsImport)),e.sourceFile.bind(this._configOptions,this._lookUpImport,s)}_buildModuleSymbolsMap(e,t,n,i){return function(e,t,n){const i=new Map;return ct(n),e.forEach((e=>{if(e.shadows.length>0)return;const n=e.sourceFile.getFilePath(),r=e.sourceFile.getModuleSymbolTable();if(r){if(Yt(he(de(n))))return;return void i.set(n,{forEach(e){r.forEach(((t,n)=>{if(t.isExternallyHidden())return;const i=t.getDeclarations();if(!i||0===i.length)return;const r=i[0];if(!r)return;if(6===r.type)return;const s=1!==r.type||r.isConstant||r.isFinal?void 0:ot.SymbolKind.Variable;e({symbol:t,kind:s},n,!1)}))}})}const s=e.sourceFile.getCachedIndexResults();s&&t&&!s.privateOrProtected&&i.set(n,Gl(s,!1))})),i}(this._sourceFileList.filter((n=>n!==e&&(!t||this._isUserCode(n)))),n,i)}_shouldCheckFile(e){return!!e.isOpenByClient||!(this._configOptions.checkOnlyOpenFiles||!e.isTracked)}_checkTypes(e){return this._logTracker.log(`analyzing: ${e.sourceFile.getFilePath()}`,(t=>{if(!this._isFileNeeded(e))return t.suppress(),!1;if(!e.sourceFile.isCheckingRequired())return t.suppress(),!1;if(!this._shouldCheckFile(e))return t.suppress(),!1;if(this._bindFile(e),this._preCheckCallback){const t=e.sourceFile.getParseResults();t&&this._preCheckCallback(t,this._evaluator)}if(this._disableChecker||e.sourceFile.check(this._evaluator),this._handleMemoryHighUsage(),"none"!==this._configOptions.diagnosticRuleSet.reportImportCycles&&!this._allowedThirdPartyImports){const t=new Map;this._getImportsRecursive(e,t,0),t.forEach((e=>{Fn.cycleDetectionTime.timeOperation((()=>{this._detectAndReportImportCycles(e)}))}))}return!0}))}_getImportsRecursive(e,t,n){const i=ke(this._fs,e.sourceFile.getFilePath());if(!t.has(i))if(n>256)e.sourceFile.setHitMaxImportDepth(256);else{t.set(i,e);for(const i of e.imports)this._getImportsRecursive(i,t,n+1)}}_detectAndReportImportCycles(e,t=[],n=new Map){if(e.sourceFile.isStubFile()||e.isThirdPartyImport)return;const i=ke(this._fs,e.sourceFile.getFilePath());if(n.has(i))t.length>1&&e===t[0]&&this._logImportCycle(t);else{if(n.has(i))return;n.set(i,!0),t.push(e);for(const i of e.imports)this._detectAndReportImportCycles(i,t,n);n.set(i,!1),t.pop()}}_logImportCycle(e){const t=new _c;e.forEach((e=>{t.appendPath(e.sourceFile.getFilePath())})),t.normalizeOrder();const n=t.getPaths()[0],i=this._getSourceFileInfoFromPath(n);w(void 0!==i),i.sourceFile.addCircularDependency(t)}_markFileDirtyRecursive(e,t,n=!1){const i=ke(this._fs,e.sourceFile.getFilePath());t.has(i)||(e.sourceFile.markReanalysisRequired(n),t.set(i,!0),e.importedBy.forEach((n=>{const i=n.chainedSourceFile===e;this._markFileDirtyRecursive(n,t,i)})))}getTextOnRange(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;const r=i.sourceFile,s=r.getOpenFileContents();return void 0!==s?this._runEvaluatorWithCancellationToken(n,(()=>{this._parseFile(i);const e=r.getParseResults(),n=Ct(t,e.tokenizerOutput.lines);if(n)return s.substr(n.start,n.length)})):void 0}getAutoImports(e,t,n,i,r,s,o,a){const l=this._getSourceFileInfoFromPath(e);if(!l)return[];const c=l.sourceFile,u=c.getOpenFileContents();return void 0===u?[]:this._runEvaluatorWithCancellationToken(a,(()=>{this._bindFile(l);const p=c.getParseResults(),d=Ct(t,p.tokenizerOutput.lines);if(!d)return[];const h=Tr(p.parseTree,d.start);if(!h)return[];const m=u.substr(d.start,d.length),f=this._buildModuleSymbolsMap(l,!!r,!0,a),g=new Hl(this._configOptions.findExecEnvironment(e),this._importResolver,p,t.start,new $l,f,{lazyEdit:s,allowVariableInAll:o,libraryMap:r,patternMatcher:(e,t)=>function(e,t){if(t.startsWith(e))return 1;const n=t.toLocaleLowerCase(),i=e.toLocaleLowerCase();if(n.startsWith(i))return.75;let r=n.length,s=Number.MAX_VALUE;for(;r>0;){const e=F()(n.substr(0,r),i);e=e.length?0:(e.length-s)/e.length*.5}(e,t)>n}),y=[],_=zs(h);if(_){const e=null==i?void 0:i.get(m);e&&y.push(...g.getAutoImportCandidatesForAbbr(m,e,a)),y.push(...g.getAutoImportCandidates(m,n,void 0,a).filter((e=>!_.lookUpSymbolRecursive(e.name))))}return y}))}getDiagnostics(e){const t=this._removeUnneededFiles();return this._sourceFileList.forEach((n=>{if(this._shouldCheckFile(n)){const i=n.sourceFile.getDiagnostics(e,n.diagnosticsVersion);void 0!==i&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:i}),n.diagnosticsVersion=n.sourceFile.getDiagnosticVersion())}else!n.isOpenByClient&&e.checkOnlyOpenFiles&&void 0!==n.diagnosticsVersion&&(t.push({filePath:n.sourceFile.getFilePath(),version:n.sourceFile.getClientVersion(),diagnostics:[]}),n.diagnosticsVersion=void 0)})),t}getDiagnosticsForRange(e,t){const n=this.getSourceFile(e);if(!n)return[];const i=n.getDiagnostics(this._configOptions);return i?i.filter((e=>yt(e.range,t))):[]}getDefinitionsForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getDefinitionsForPosition(this._createSourceMapper(s),t,n,this._evaluator,i)}))}getTypeDefinitionsForPosition(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getTypeDefinitionsForPosition(this._createSourceMapper(r,!1,!0),t,this._evaluator,e,n)}))}reportReferencesForPosition(e,t,n,i,r){this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;const o=this._isUserCode(s);this._bindFile(s);const a=this._configOptions.findExecEnvironment(e),l=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(a),t,this._evaluator,i,r);if(l)if(l.requiresGlobalSearch){for(const e of this._sourceFileList)if(ct(r),e.isOpenByClient||!o||this._isUserCode(e)){const t=e.sourceFile.getFileContent();(!t||t.search(l.symbolName)>=0)&&(this._bindFile(e),e.sourceFile.addReferences(l,n,this._evaluator,r)),this._handleMemoryHighUsage()}if(n)for(const e of l.declarations){if(ct(r),l.locations.some((t=>t.path===e.path)))continue;const t=this._getSourceFileInfoFromPath(e.path);if(!t)continue;const i=new Xl(l.requiresGlobalSearch,l.nodeAtOffset,l.symbolName,l.declarations);t.sourceFile.addReferences(i,n,this._evaluator,r);for(const t of i.locations)t.path===e.path&&_t(e.range,t.range)&&l.addLocations(t)}}else s.sourceFile.addReferences(l,n,this._evaluator,r)}))}getFileIndex(e,t,n){if(!t.indexingForAutoImportMode||!Yt(he(de(e))))return this._handleMemoryHighUsage(),this._runEvaluatorWithCancellationToken(n,(()=>{var i;const r=this._getSourceFileInfoFromPath(e);if(!r)return;const s=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";return t.indexingForAutoImportMode&&!r.sourceFile.isStubFile()&&!r.sourceFile.isThirdPartyPyTypedPresent()&&s.indexOf("__all__")<0?void 0:(this._bindFile(r,s),r.sourceFile.index(t,n))}))}addSymbolsForDocument(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);i&&(i.sourceFile.getCachedIndexResults()||this._bindFile(i),i.sourceFile.addHierarchicalSymbolsForDocument(t,n))}))}reportSymbolsForWorkspace(e,t,n){this._runEvaluatorWithCancellationToken(n,(()=>{if(e)for(const i of this._sourceFileList){if(!this._isUserCode(i))continue;i.sourceFile.getCachedIndexResults()||this._bindFile(i);const r=i.sourceFile.getSymbolsForDocument(e,n);r.length>0&&t(r),this._handleMemoryHighUsage()}}))}getHoverForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getHoverForPosition(this._createSourceMapper(s,!0),t,n,this._evaluator,i)}))}getDocumentHighlight(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e);return i.sourceFile.getDocumentHighlight(this._createSourceMapper(r),t,this._evaluator,n)}))}getSignatureHelpForPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=this._configOptions.findExecEnvironment(e);return r.sourceFile.getSignatureHelpForPosition(t,this._createSourceMapper(s,!0),this._evaluator,n,i)}))}async getCompletionsForPosition(e,t,n,i,r,s,o){var a,l;const c=this._getSourceFileInfoFromPath(e);if(!c)return;const u=this._logTracker.log(`completion at ${e}:${t.line}:${t.character}`,(a=>{var l,u;const p=this._runEvaluatorWithCancellationToken(o,(()=>{this._bindFile(c);const a=this._configOptions.findExecEnvironment(e);return c.sourceFile.getCompletionsForPosition(t,n,this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,i,this._createSourceMapper(a,!0),r,s,(()=>this._buildModuleSymbolsMap(c,!!s,!1,o)),o)}));return a.add(`found ${null!==(u=null===(l=null==p?void 0:p.completionMap)||void 0===l?void 0:l.size)&&void 0!==u?u:"null"} items`),p})),p={completionList:Ln.CompletionList.create(null===(a=null==u?void 0:u.completionMap)||void 0===a?void 0:a.toArray()),memberAccessInfo:null==u?void 0:u.memberAccessInfo,autoImportInfo:null==u?void 0:u.autoImportInfo,extensionInfo:null==u?void 0:u.extensionInfo};if(!(null==u?void 0:u.completionMap)||!(null===(l=this._extension)||void 0===l?void 0:l.completionListExtension))return p;const d=c.sourceFile.getParseResults();if((null==d?void 0:d.parseTree)&&(null==d?void 0:d.text)){const e=xt(t,d.tokenizerOutput.lines);void 0!==e&&await this._extension.completionListExtension.updateCompletionResults(p,d,e,o)}return p}resolveCompletionItem(e,t,n,i,r,s){return this._runEvaluatorWithCancellationToken(s,(()=>{const o=this._getSourceFileInfoFromPath(e);if(!o)return;this._bindFile(o);const a=this._configOptions.findExecEnvironment(e);o.sourceFile.resolveCompletionItem(this._configOptions,this._importResolver,this._lookUpImport,this._evaluator,n,this._createSourceMapper(a,!0),i,r,(()=>this._buildModuleSymbolsMap(o,!!r,!1,s)),t,s)}))}renameModule(e,t,n){return this._runEvaluatorWithCancellationToken(n,(()=>{if(ge(this._fs,e)&&!this._getSourceFileInfoFromPath(e))return;const i=gc.createForModule(this._importResolver,this._configOptions,this._evaluator,e,t,n);return i?(this._processModuleReferences(i,i.lastModuleName,e),i.getEdits()):void 0}))}moveSymbolAtPosition(e,t,n,i){return this._runEvaluatorWithCancellationToken(i,(()=>{const r=this._getSourceFileInfoFromPath(e);if(!r)return;this._bindFile(r);const s=r.sourceFile.getParseResults();if(!s)return;const o=xt(n,s.tokenizerOutput.lines);if(void 0===o)return;const a=Tr(s.parseTree,o);if(void 0===a)return;if(38!==a.nodeType)return;const l=this._configOptions.findExecEnvironment(e),c=Ml.getDeclarationsForNode(a,this._evaluator,!1,i,this._createSourceMapper(l)),u=gc.createForSymbol(this._importResolver,this._configOptions,this._evaluator,e,t,c,i);return u?(this._processModuleReferences(u,a.value,e),{edits:u.getEdits(),fileOperations:[]}):void 0}))}renameSymbolAtPosition(e,t,n,i,r){return this._runEvaluatorWithCancellationToken(r,(()=>{const s=this._getSourceFileInfoFromPath(e);if(!s)return;this._bindFile(s);const o=this._configOptions.findExecEnvironment(e),a=s.sourceFile.getDeclarationForPosition(this._createSourceMapper(o),t,this._evaluator,void 0,r);if(!a)return;if(m(a.declarations,(e=>{var t;return!(!Gn(e)||e.usesLocalName&&e.node&&22!==e.node.nodeType&&(null===(t=e.node.alias)||void 0===t?void 0:t.value)===a.symbolName)})),0===a.declarations.length)return;if(!i&&a.declarations.some((e=>!this._isUserCode(this._getSourceFileInfoFromPath(e.path)))))return;if(a.requiresGlobalSearch&&!i)for(const e of this._sourceFileList)this._isUserCode(e)&&(this._bindFile(e),e.sourceFile.addReferences(a,!0,this._evaluator,r)),this._handleMemoryHighUsage();else(i||this._isUserCode(s))&&s.sourceFile.addReferences(a,!0,this._evaluator,r);const l=[];return a.locations.forEach((e=>{l.push({filePath:e.path,range:e.range,replacementText:n})})),l}))}getCallForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getCallForDeclaration(s.symbolName,o,this._evaluator,n)}getIncomingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);let a=[];for(const e of this._sourceFileList)if(this._isUserCode(e)||e.isOpenByClient){this._bindFile(e);const t=Jl.getIncomingCallsForDeclaration(e.sourceFile.getFilePath(),s.symbolName,o,e.sourceFile.getParseResults(),this._evaluator,n);t&&(a=a.concat(...t)),this._handleMemoryHighUsage()}return a}getOutgoingCallsForPosition(e,t,n){const i=this._getSourceFileInfoFromPath(e);if(!i)return;this._bindFile(i);const r=this._configOptions.findExecEnvironment(e),s=i.sourceFile.getDeclarationForPosition(this._createSourceMapper(r),t,this._evaluator,void 0,n);if(!s||0===s.declarations.length)return;const o=Jl.getTargetDeclaration(s.declarations,s.nodeAtOffset);return Jl.getOutgoingCallsForDeclaration(o,i.sourceFile.getParseResults(),this._evaluator,n)}performQuickAction(e,t,n,i){const r=this._getSourceFileInfoFromPath(e);if(r)return this._bindFile(r),r.sourceFile.performQuickAction(t,n,i)}getApiDocs(e,t){const n=[...t,Ln.MarkupKind.PlainText].map((e=>{switch(e){case Ln.MarkupKind.Markdown:return ds;case Ln.MarkupKind.PlainText:return hs;default:return}})).filter(Boolean)[0],i=e=>e?n(e):void 0,r=Object.create(null);for(const t of e){const e={leadingDots:0,nameParts:t.split("."),importedSymbols:[]},n=this._importResolver.resolveImport("",this._configOptions.findExecEnvironment("."),e);if(n.isImportFound){const e=n.resolvedPaths[n.resolvedPaths.length-1];this.addTrackedFiles([e],!0,!1);const s=this.getBoundSourceFile(e);if(s){const e=s.getParseResults().parseTree,n={id:t,name:t,kind:"module",fullName:t,docString:i(qr(e.statements)),children:[]};r[t]=n;const o=zs(e),a=(e,t,n)=>{n.forEach(((n,r)=>{if(!n.isExternallyHidden()&&!n.isPrivateMember()){const s=this.getTypeForSymbol(n),o=n.getDeclarations(),l=e=>o.some((t=>t.type===e));if(l(4)&&yo(s)){const n=s.details.fullName;e.push({id:n,name:r,children:[],docString:i(s.details.docString),fullName:n,kind:"class",baseClasses:s.details.baseClasses.map((e=>({name:e.details.name,fullName:e.details.fullName}))).filter((e=>"builtins.object"!==e.fullName))}),a(e[e.length-1].children,[...t,r],s.details.fields)}else if(l(3)&&Eo(s)){const t=s.details.fullName;e.push({id:t,name:r,docString:i(s.details.docString),fullName:t,kind:"function",params:this.apiDocsParamsInfo(s)})}else if(l(3)&&ko(s)){let t=1;for(const n of s.overloads){const s=n.details.fullName;e.push({id:`${s}-${t++}`,name:r,docString:i(n.details.docString),fullName:s,kind:"function",params:this.apiDocsParamsInfo(n)})}}else if(l(1)){const n=o.find((e=>1===e.type)),s=[...t,r].join(".");e.push({id:s,name:r,fullName:s,kind:"variable",docString:i(n.docString)})}else if(l(6)&&To(s)){const n=s.moduleName;e.push({id:n,name:r,children:[],docString:i(s.docString),fullName:n,kind:"module"}),a(e[e.length-1].children,[...t,r],s.fields)}}}))};a(n.children,[t],o.symbolTable)}}}return this._removeUnneededFiles(),r}apiDocsParamsInfo(e){return e.details.parameters.map((e=>({name:e.name,defaultValue:e.defaultValueExpression?xr(e.defaultValueExpression,0):void 0,category:0===e.category?"simple":1===e.category?"varargList":"varargDict"})))}test_createSourceMapper(e){return this._createSourceMapper(e,!1)}_processModuleReferences(e,t,n){var i;for(const r of this._sourceFileList){if(!this._isUserCode(r))continue;const s=r.sourceFile.getFilePath(),o=null!==(i=r.sourceFile.getFileContent())&&void 0!==i?i:"";if(s!==n&&o.indexOf(t)<0)continue;this._bindFile(r,o);const a=r.sourceFile.getParseResults();a&&(e.renameReferences(s,a),this._handleMemoryHighUsage())}}_handleMemoryHighUsage(){if(this._evaluator.getTypeCacheSize()>75e4||this._parsedFileCount>1e3){const e={heapUsed:0,rss:1};if(e.heapUsed>.9*e.rss){const t=Math.round(e.rss/1048576),n=Math.round(e.heapUsed/1048576);this._console.info(`Emptying type cache to avoid heap overflow. Used ${n}MB out of ${t}MB`),this._createNewEvaluator(),this._discardCachedParseResults(),this._parsedFileCount=0}}}_discardCachedParseResults(){for(const e of this._sourceFileList)e.sourceFile.dropParseAndBindInfo()}_isUserCode(e){return e&&e.isTracked&&!e.isThirdPartyImport&&!e.isTypeshedFile}_runEvaluatorWithCancellationToken(e,t){try{return e?this._evaluator.runWithCancellationToken(e,t):t()}catch(e){throw e instanceof lt||this._createNewEvaluator(),e}}_removeUnneededFiles(){const e=[];for(let t=0;t{const r=i.importedBy.findIndex((e=>e===n));if(!(r<0||(i.importedBy.splice(r,1),this._isFileNeeded(i)))){const n=this._sourceFileList.findIndex((e=>e===i));n>=0&&n{e.shadows=e.shadows.filter((e=>e!==n))})),n.shadowedBy=[])}return e}_isFileNeeded(e){return!e.sourceFile.isFileDeleted()&&(!(!e.isTracked&&!e.isOpenByClient)||e.shadows.length>0||0!==e.importedBy.length&&this._isImportNeededRecursive(e,new Map))}_isImportNeededRecursive(e,t){if(e.isTracked||e.isOpenByClient||e.shadows.length>0)return!0;const n=ke(this._fs,e.sourceFile.getFilePath());if(t.has(n))return!1;t.set(n,!0);for(const n of e.importedBy)if(this._isImportNeededRecursive(n,t))return!0;return!1}_createSourceMapper(e,t,n){return new Xa(this._importResolver,e,this._evaluator,((e,t)=>{const n=this._getSourceFileInfoFromPath(e);if(n)return this._addShadowedFile(n,t),this.getBoundSourceFile(t)}),(e=>this.getBoundSourceFile(e)),null!=t&&t,null!=n&&n)}_isImportAllowed(e,t,n){if(t.isNativeLib)return!1;let i=this._configOptions.useLibraryCodeForTypes||1===t.importType&&!!t.pyTypedInfo||2===t.importType&&e.isThirdPartyPyTypedPresent;return!((1===t.importType||e.isThirdPartyImport&&2===t.importType)&&(this._allowedThirdPartyImports&&(t.isRelative||this._allowedThirdPartyImports.some((e=>t.importName===e||!!t.importName.startsWith(e+"."))))&&(i=!0),!n))||i}_updateSourceFileImports(e,t){const n=[],i=e.sourceFile.getImports(),r=t=>{let n=!1,i=!1;return 1===t.importType?(n=!0,t.pyTypedInfo&&(i=!0)):e.isThirdPartyImport&&2===t.importType&&(n=!0,e.isThirdPartyPyTypedPresent&&(i=!0)),{isThirdPartyImport:n,isPyTypedPresent:i}},s=new Map;if(e.chainedSourceFile)if(e.chainedSourceFile.sourceFile.isFileDeleted())e.chainedSourceFile=void 0;else{const t=e.chainedSourceFile.sourceFile.getFilePath();s.set(ke(this._fs,t),{path:t,isTypeshedFile:!1,isThirdPartyImport:!1,isPyTypedPresent:!1})}i.forEach((n=>{if(n.isImportFound){if(this._isImportAllowed(e,n,n.isStubFile)&&n.resolvedPaths.length>0){const e=n.resolvedPaths[n.resolvedPaths.length-1];if(e){const t=r(n);s.set(ke(this._fs,e),{path:e,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isPyTypedPresent:t.isPyTypedPresent})}}n.filteredImplicitImports.forEach((t=>{if(this._isImportAllowed(e,n,t.isStubFile)&&!t.isNativeLib){const e=r(n);s.set(ke(this._fs,t.path),{path:t.path,isTypeshedFile:!!n.isTypeshedFile,isThirdPartyImport:e.isThirdPartyImport,isPyTypedPresent:e.isPyTypedPresent})}}))}else t.verboseOutput&&(this._console.info(`Could not import '${n.importName}' in file '${e.sourceFile.getFilePath()}'`),n.importFailureInfo&&n.importFailureInfo.forEach((e=>{this._console.info(` ${e}`)})))}));const o=new Map;e.imports.forEach((t=>{const n=ke(this._fs,t.sourceFile.getFilePath());s.has(n)?o.set(n,t):t.importedBy=t.importedBy.filter((t=>ke(this._fs,t.sourceFile.getFilePath())!==ke(this._fs,e.sourceFile.getFilePath())))})),s.forEach(((t,i)=>{if(!o.has(i)){let r;if(this._getSourceFileInfoFromPath(t.path))r=this._getSourceFileInfoFromPath(t.path);else{const e=this._getImportNameForFile(t.path);r={sourceFile:new Ru(this._fs,t.path,e,t.isThirdPartyImport,t.isPyTypedPresent,this._console,this._logTracker),isTracked:!1,isOpenByClient:!1,isTypeshedFile:t.isTypeshedFile,isThirdPartyImport:t.isThirdPartyImport,isThirdPartyPyTypedPresent:t.isPyTypedPresent,diagnosticsVersion:void 0,imports:[],importedBy:[],shadows:[],shadowedBy:[]},this._addToSourceFileListAndMap(r),n.push(r)}r.importedBy.push(e),o.set(i,r)}})),e.imports=[],s.forEach(((t,n)=>{this._getSourceFileInfoFromPath(n)&&e.imports.push(this._getSourceFileInfoFromPath(n))})),e.builtinsImport=void 0;const a=e.sourceFile.getBuiltinsImport();if(a&&a.isImportFound){const t=a.resolvedPaths[a.resolvedPaths.length-1];e.builtinsImport=this._getSourceFileInfoFromPath(t)}e.ipythonDisplayImport=void 0;const l=e.sourceFile.getIPythonDisplayImport();if(l&&l.isImportFound){const t=l.resolvedPaths[l.resolvedPaths.length-1];e.ipythonDisplayImport=this._getSourceFileInfoFromPath(t)}return n}_getSourceFileInfoFromPath(e){return this._sourceFileMap.get(ke(this._fs,e))}_removeSourceFileFromListAndMap(e,t){this._sourceFileMap.delete(ke(this._fs,e)),this._sourceFileList.splice(t,1)}_addToSourceFileListAndMap(e){const t=ke(this._fs,e.sourceFile.getFilePath());w(!this._sourceFileMap.has(t)),this._sourceFileList.push(e),this._sourceFileMap.set(t,e)}}function sp(e,t){try{const n=e();t.postMessage({kind:"ok",data:n})}catch(e){if(lt.is(e))return void t.postMessage({kind:"cancelled",data:e.message});t.postMessage({kind:"failed",data:`Exception: ${e.message} in ${e.stack}`})}}function op(e){return new Promise(((t,n)=>{e.on("message",(e=>{switch(e.kind){case"ok":t(e.data);break;case"cancelled":n(new lt);break;case"failed":n(e.data);break;default:E(`unknown kind ${e.kind}`)}}))}))}var ap=__webpack_require__(6341);__webpack_require__(198);class lp{static shouldCheck(){const e=Date.now().valueOf();return e-this._lastCheckTimestamp>=5&&(this._lastCheckTimestamp=e,!0)}}lp._lastCheckTimestamp=0;class cp{constructor(e){this.cancellationFilePath=e,this.isCancelled=!1}cancel(){this.isCancelled||(this.isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._disposeEmitter()))}get isCancellationRequested(){return!!this.isCancelled||(lp.shouldCheck()&&this._pipeExists()&&this.cancel(),this.isCancelled)}get onCancellationRequested(){return this._emitter||(this._emitter=new ot.Emitter),this._emitter.event}dispose(){this._disposeEmitter()}_disposeEmitter(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}_pipeExists(){try{return ap.statSync(this.cancellationFilePath),!0}catch(e){return!1}}}function up(e){return e?new cp(e):ot.CancellationToken.None}function pp(e){return e instanceof cp?e.cancellationFilePath:void 0}function dp(e){return e.diagnostics=e.diagnostics.map((e=>({filePath:e.filePath,version:e.version,diagnostics:hp(e.diagnostics)}))),e}function hp(e){return e.map((e=>{const t=new nl(e.category,e.message,e.range);if(e._actions)for(const n of e._actions)t.addAction(n);if(e._rule&&t.setRule(e._rule),e._relatedInfo)for(const n of e._relatedInfo)t.addRelatedInfo(n.message,n.filePath,n.range);return t}))}class mp{constructor(e,t){this.fileSpecs=[],this.logTypeEvaluationTime=!1,this.typeEvaluationTimeThreshold=50,this.enableAmbientAnalysis=!0,this.analyzeUnannotatedFunctions=!0,this.executionRoot=e,this.fromVsCodeExtension=t}}class fp{constructor(e=null){this._scope=e,this._resolved=!1,this._rejected=!1,this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){this._resolve.apply(this._scope?this._scope:this,arguments),this._resolved=!0}reject(e){this._reject.apply(this._scope?this._scope:this,arguments),this._rejected=!0}get promise(){return this._promise}get resolved(){return this._resolved}get rejected(){return this._rejected}get completed(){return this._rejected||this._resolved}}function gp(e=null){return new fp(e)}class yp{static runWithOptions(e,t,n,i,r=!0){const s=function(e,t,n,i,r){var s,o;const a=new mp(t,!0);return a.checkOnlyOpenFiles=n.openFilesOnly,a.useLibraryCodeForTypes=n.useLibraryCodeForTypes,a.typeCheckingMode=n.typeCheckingMode,a.autoImportCompletions=n.autoImportCompletions,a.indexing=n.indexing,a.logTypeEvaluationTime=null!==(s=n.logTypeEvaluationTime)&&void 0!==s&&s,a.typeEvaluationTimeThreshold=null!==(o=n.typeEvaluationTimeThreshold)&&void 0!==o?o:50,a.enableAmbientAnalysis=i,i?(a.watchForSourceChanges=n.watchForSourceChanges,a.watchForLibraryChanges=n.watchForLibraryChanges,a.watchForConfigChanges=n.watchForConfigChanges):(a.watchForSourceChanges=!1,a.watchForLibraryChanges=!1,a.watchForConfigChanges=!1),n.venvPath&&(a.venvPath=te(t||e,n.venvPath)),n.pythonPath&&(gn(n.pythonPath)||(a.pythonPath=te(t||e,n.pythonPath))),n.typeshedPath&&(a.typeshedPath=n.typeshedPath),n.stubPath&&(a.stubPath=n.stubPath),n.logLevel===On.Log&&(a.verboseOutput=!0),r&&(a.typeStubTargetImportName=r),a.autoSearchPaths=n.autoSearchPaths,a.extraPaths=n.extraPaths,a.diagnosticSeverityOverrides=n.diagnosticSeverityOverrides,a}(e,t.rootPath,n,r,i);t.serviceInstance.setOptions(s)}static async cloneService(e,t,n,i,r){const s={workspaceName:"temp workspace for cloned service",rootPath:t.rootPath,rootUri:t.rootUri,serviceInstance:t.serviceInstance.clone("cloned service",i,r),disableLanguageServices:!0,disableOrganizeImports:!0,isInitialized:gp()},o=await e.getSettings(t);return yp.runWithOptions(e.rootPath,s,o,n,!1),s.serviceInstance}}class _p{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=2){const n=e.arguments[0],i=e.arguments[1],r=e.arguments[2],s=await yp.cloneService(this._ls,await this._ls.getWorkspaceForFile(null!=r?r:n),i,this._ls.createBackgroundAnalysis());try{await s.writeTypeStubInBackground(t),s.dispose();const e=`Type stub was successfully created for '${i}'.`;this._ls.window.showInformationMessage(e),this._ls.reanalyze()}catch(e){if(lt.is(e)){const e=`Type stub creation for '${i}' was canceled`;this._ls.console.error(e)}else{let t="";e instanceof Error&&(t=": "+e.message),t=`An error occurred when creating type stub for '${i}'`+t,this._ls.console.error(t),this._ls.window.showErrorMessage(t)}}}}}class vp{constructor(e){this._ls=e}async execute(e,t){if(e.arguments&&e.arguments.length>=1){const n=e.arguments[0],i=e.arguments.slice(1),r=this._ls.decodeTextDocumentUri(n),s=await this._ls.getWorkspaceForFile(r);return"pyright.organizeimports"===e.command&&s.disableOrganizeImports?[]:function(e,t){if(!t)return{};const n=[];return t.forEach((e=>{n.push({range:e.range,newText:e.replacementText})})),{changes:{[e]:n}}}(n,s.serviceInstance.performQuickAction(r,e.command,i,t))}}}class Tp{constructor(e){this._ls=e}async execute(e){this._ls.restart()}}class bp{constructor(e){this._createStub=new _p(e),this._restartServer=new Tp(e),this._quickAction=new vp(e)}async execute(e,t){switch(e.command){case"pyright.organizeimports":case"pyright.addoptionalforparam":return this._quickAction.execute(e,t);case"pyright.createtypestub":return this._createStub.execute(e,t);case"pyright.restartserver":return this._restartServer.execute(e);default:return new ot.ResponseError(1,"Unsupported command")}}isLongRunningCommand(e){switch(e){case"pyright.createtypestub":return!0;default:return!1}}}class Ip{get kind(){return 2}getPythonSearchPaths(e,t){return null==t||t.push("No access to python executable."),{paths:[],prefix:""}}getPythonVersion(e,t){}getPythonPlatform(e){}}var Sp=__webpack_require__(7256);class xp{constructor(e,t,n,i,r,s,o){this._console=e,this._configOptions=t,this._importResolver=n,this._backgroundAnalysis=r,this._maxAnalysisTime=s,this._disableChecker=o,this._program=new rp(this._importResolver,this._configOptions,this._console,i,void 0,this._disableChecker)}get configOptions(){return this._configOptions}get importResolver(){return this._importResolver}get program(){return this._program}get host(){return this._importResolver.host}get backgroundAnalysis(){return this._backgroundAnalysis}setConfigOptions(e){var t;this._configOptions=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setConfigOptions(e),this._program.setConfigOptions(e)}setImportResolver(e){var t;this._importResolver=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setImportResolver(e),this._program.setImportResolver(e),this._configOptions.getExecutionEnvironments().forEach((e=>this._ensurePartialStubPackages(e)))}setTrackedFiles(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setTrackedFiles(e);const n=this._program.setTrackedFiles(e);this._reportDiagnosticsForRemovedFiles(n)}setAllowedThirdPartyImports(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setAllowedThirdPartyImports(e),this._program.setAllowedThirdPartyImports(e)}setFileOpened(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,[{text:n}],i),this._program.setFileOpened(e,t,[{text:n}],i)}initializeFileSystem(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.initializeFileSystem(e)}updateOpenFileContents(e,t,n,i){var r;null===(r=this._backgroundAnalysis)||void 0===r||r.setFileOpened(e,t,n,i),this._program.setFileOpened(e,t,n,i),this.markFilesDirty([e],!0)}setFileClosed(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.setFileClosed(e);const n=this._program.setFileClosed(e);this._reportDiagnosticsForRemovedFiles(n)}markAllFilesDirty(e,t=!0){var n;null===(n=this._backgroundAnalysis)||void 0===n||n.markAllFilesDirty(e,t),this._program.markAllFilesDirty(e,t)}markFilesDirty(e,t,n=!0){var i;null===(i=this._backgroundAnalysis)||void 0===i||i.markFilesDirty(e,t,n),this._program.markFilesDirty(e,t,n)}setCompletionCallback(e){var t;this._onAnalysisCompletion=e,null===(t=this._backgroundAnalysis)||void 0===t||t.setCompletionCallback(e)}startAnalysis(e){return this._backgroundAnalysis?(this._backgroundAnalysis.startAnalysis(this._indices,e),!1):Mn(this._program,this._maxAnalysisTime,this._configOptions,this._onAnalysisCompletion,this._console,e)}test_setIndexing(e,t){const n=this._getIndices();for(const[t,i]of e)n.setWorkspaceIndex(t,i);for(const[e,i]of t)for(const[t,r]of i)n.setIndex(e,t,r)}startIndexing(e){var t;null===(t=this._backgroundAnalysis)||void 0===t||t.startIndexing(e,this._configOptions,this.importResolver,this.host.kind,this._getIndices())}refreshIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.refreshIndexing(this._configOptions,this.importResolver,this.host.kind,this._indices)}cancelIndexing(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.cancelIndexing(this._configOptions)}getIndexing(e){var t;return null===(t=this._indices)||void 0===t?void 0:t.getIndex(this._configOptions.findExecEnvironment(e).root)}async getDiagnosticsForRange(e,t,n){return this._backgroundAnalysis?this._backgroundAnalysis.getDiagnosticsForRange(e,t,n):this._program.getDiagnosticsForRange(e,t)}async writeTypeStub(e,t,n,i){return this._backgroundAnalysis?this._backgroundAnalysis.writeTypeStub(e,t,n,i):(Mn(this._program,void 0,this._configOptions,this._onAnalysisCompletion,this._console,i),this._program.writeTypeStub(e,t,n,i))}invalidateAndForceReanalysis(e,t){var n;t&&this.refreshIndexing(),null===(n=this._backgroundAnalysis)||void 0===n||n.invalidateAndForceReanalysis(e),this._importResolver.invalidateCache(),this._program.markAllFilesDirty(!0,e)}restart(){var e;null===(e=this._backgroundAnalysis)||void 0===e||e.restart()}_ensurePartialStubPackages(e){var t;return null===(t=this._backgroundAnalysis)||void 0===t||t.ensurePartialStubPackages(e.root),this._importResolver.ensurePartialStubPackages(e)}_getIndices(){if(!this._indices){const e=this._program,t=new Map;this._indices={setWorkspaceIndex(t,n){var i;null===(i=e.getSourceFile(t))||void 0===i||i.cacheIndexResults(n)},getIndex:e=>t.get(e),setIndex(e,n,i){let r=t.get(e);r||(r=new Map,t.set(e,r)),r.set(n,i)},reset(){t.clear()}}}return this._indices}_reportDiagnosticsForRemovedFiles(e){e.length>0&&!this._backgroundAnalysis&&this._onAnalysisCompletion&&this._onAnalysisCompletion({diagnostics:e,filesInProgram:this._program.getFileCount(),filesRequiringAnalysis:this._program.getFilesToAnalyzeCount(),checkingOnlyOpenFiles:this._program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0})}}var Cp,wp=__webpack_require__(2125);function Ep(e){return 32===e||9===e||11===e||12===e||160===e||5760===e||e>=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function kp(e){return 10===e||13===e||8232===e||8233===e}function Dp(e){return e>=48&&e<=57}function Ap(e,t,n){void 0===n&&(n=Cp.DEFAULT);var i=function(e,t){void 0===t&&(t=!1);var n=e.length,i=0,r="",s=0,o=16,a=0,l=0,c=0,u=0,p=0;function d(t,n){for(var r=0,s=0;r=48&&o<=57)s=16*s+o-48;else if(o>=65&&o<=70)s=16*s+o-65+10;else{if(!(o>=97&&o<=102))break;s=16*s+o-97+10}i++,r++}return r=n)return s=n,o=17;var t=e.charCodeAt(i);if(Ep(t)){do{i++,r+=String.fromCharCode(t),t=e.charCodeAt(i)}while(Ep(t));return o=15}if(kp(t))return i++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(i)&&(i++,r+="\n"),a++,c=i,o=14;switch(t){case 123:return i++,o=1;case 125:return i++,o=2;case 91:return i++,o=3;case 93:return i++,o=4;case 58:return i++,o=6;case 44:return i++,o=5;case 34:return i++,r=function(){for(var t="",r=i;;){if(i>=n){t+=e.substring(r,i),p=2;break}var s=e.charCodeAt(i);if(34===s){t+=e.substring(r,i),i++;break}if(92!==s){if(s>=0&&s<=31){if(kp(s)){t+=e.substring(r,i),p=2;break}p=6}i++}else{if(t+=e.substring(r,i),++i>=n){p=2;break}switch(e.charCodeAt(i++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:var o=d(4,!0);o>=0?t+=String.fromCharCode(o):p=4;break;default:p=5}r=i}}return t}(),o=10;case 47:var h=i-1;if(47===e.charCodeAt(i+1)){for(i+=2;i=12&&e<=15);return e}:h,getToken:function(){return o},getTokenValue:function(){return r},getTokenOffset:function(){return s},getTokenLength:function(){return i-s},getTokenStartLine:function(){return l},getTokenStartCharacter:function(){return s-u},getTokenError:function(){return p}}}(e,!1);function r(e){return e?function(){return e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}function s(e){return e?function(t){return e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:function(){return!0}}var o=r(t.onObjectBegin),a=s(t.onObjectProperty),l=r(t.onObjectEnd),c=r(t.onArrayBegin),u=r(t.onArrayEnd),p=s(t.onLiteralValue),d=s(t.onSeparator),h=r(t.onComment),m=s(t.onError),f=n&&n.disallowComments,g=n&&n.allowTrailingComma;function y(){for(;;){var e=i.scan();switch(i.getTokenError()){case 4:_(14);break;case 5:_(15);break;case 3:_(13);break;case 1:f||_(11);break;case 2:_(12);break;case 6:_(16)}switch(e){case 12:case 13:f?_(10):h();break;case 16:_(1);break;case 15:case 14:break;default:return e}}}function _(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=[]),m(e),t.length+n.length>0)for(var r=i.getToken();17!==r;){if(-1!==t.indexOf(r)){y();break}if(-1!==n.indexOf(r))break;r=y()}}function v(e){var t=i.getTokenValue();return e?p(t):a(t),y(),!0}return y(),17===i.getToken()?!!n.allowEmptyContent||(_(4,[],[]),!1):function e(){switch(i.getToken()){case 3:return function(){c(),y();for(var t=!1;4!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),4===i.getToken()&&g)break}else t&&_(6,[],[]);e()||_(4,[],[4,5]),t=!0}return u(),4!==i.getToken()?_(8,[4],[]):y(),!0}();case 1:return function(){o(),y();for(var t=!1;2!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||_(4,[],[]),d(","),y(),2===i.getToken()&&g)break}else t&&_(6,[],[]);(10!==i.getToken()?(_(3,[],[2,5]),0):(v(!1),6===i.getToken()?(d(":"),y(),e()||_(4,[],[2,5])):_(5,[],[2,5]),1))||_(4,[],[2,5]),t=!0}return l(),2!==i.getToken()?_(7,[2],[]):y(),!0}();case 10:return v(!0);default:return function(){switch(i.getToken()){case 11:var e=i.getTokenValue(),t=Number(e);isNaN(t)&&(_(2),t=0),p(t);break;case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return y(),!0}()}}()?(17!==i.getToken()&&_(9,[],[]),!0):(_(4,[],[]),!1)}!function(e){e.DEFAULT={allowTrailingComma:!1}}(Cp||(Cp={}));const Pp=["pyrightconfig.json"],Rp=X("/.git/"),Fp=/\.pyi?$/;class Np{constructor(e,t,n,i,r,s,o,a,l,c,u){this._typeStubTargetIsSingleFile=!1,this._requireTrackedFileUpdate=!0,this._lastUserInteractionTime=Date.now(),this._disposed=!1,this._instanceName=e,this._console=n||new Un,this._executionRootPath="",this._extension=o,this._importResolverFactory=r||Np.createImportResolver,this._maxAnalysisTimeInForeground=l,this._backgroundAnalysisProgramFactory=c,this._cancellationProvider=null!=u?u:new pt,this._hostFactory=null!=i?i:()=>new Ip,s=null!=s?s:new Ec("/");const p=this._importResolverFactory(t,s,this._hostFactory());this._backgroundAnalysisProgram=void 0!==c?c(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground):new xp(this._console,s,p,this._extension,a,this._maxAnalysisTimeInForeground)}clone(e,t,n){const i=new Np(e,null!=n?n:this._fs,this._console,this._hostFactory,this._importResolverFactory,this._backgroundAnalysisProgram.configOptions,this._extension,t,this._maxAnalysisTimeInForeground,this._backgroundAnalysisProgramFactory,this._cancellationProvider);for(const e of this.backgroundAnalysisProgram.program.getOpened()){const t=e.sourceFile.getClientVersion();void 0!==t&&i.setFileOpened(e.sourceFile.getFilePath(),t,e.sourceFile.getOpenFileContents())}return i}dispose(){this._disposed=!0,this._removeSourceFileWatchers(),this._removeConfigFileWatcher(),this._removeLibraryFileWatcher(),this._clearReloadConfigTimer(),this._clearReanalysisTimer(),this._clearLibraryReanalysisTimer()}get backgroundAnalysisProgram(){return this._backgroundAnalysisProgram}static createImportResolver(e,t,n){return new In(e,t,n)}setCompletionCallback(e){this._onCompletionCallback=e,this._backgroundAnalysisProgram.setCompletionCallback(e)}setOptions(e){this._commandLineOptions=e;const t=this._hostFactory(),n=this._getConfigOptions(t,e);n.pythonPath&&n.ensureDefaultPythonVersion(t,this._console),n.ensureDefaultPythonPlatform(t,this._console),this._backgroundAnalysisProgram.setConfigOptions(n),this._executionRootPath=me(te(e.executionRoot,n.projectRoot)),this._applyConfigOptions(t)}isTracked(e){for(const t of this._configOptions.include)if(this._matchIncludeFileSpec(t.regExp,this._configOptions.exclude,e))return!0;return!1}setFileOpened(e,t,n,i=!1,r){this._backgroundAnalysisProgram.setFileOpened(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}updateOpenFileContents(e,t,n,i=!1,r){this._backgroundAnalysisProgram.updateOpenFileContents(e,t,n,{isTracked:this.isTracked(e),ipythonMode:i,chainedFilePath:r}),this._scheduleReanalysis(!1)}test_setIndexing(e,t){this._backgroundAnalysisProgram.test_setIndexing(e,t)}startIndexing(e){this._backgroundAnalysisProgram.startIndexing(e)}setFileClosed(e){this._backgroundAnalysisProgram.setFileClosed(e),this._scheduleReanalysis(!1)}getParseResult(e){var t;return null===(t=this._program.getBoundSourceFile(e))||void 0===t?void 0:t.getParseResults()}getTextOnRange(e,t,n){return this._program.getTextOnRange(e,t,n)}getAutoImports(e,t,n,i,r,s,o){return this._program.getAutoImports(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r,s,o)}getDefinitionForPosition(e,t,n,i){return this._program.getDefinitionsForPosition(e,t,n,i)}getTypeDefinitionForPosition(e,t,n){return this._program.getTypeDefinitionsForPosition(e,t,n)}reportReferencesForPosition(e,t,n,i,r){this._program.reportReferencesForPosition(e,t,n,i,r)}addSymbolsForDocument(e,t,n){this._program.addSymbolsForDocument(e,t,n)}reportSymbolsForWorkspace(e,t,n){this._program.reportSymbolsForWorkspace(e,t,n)}getApiDocs(e,t){return this._program.getApiDocs(e,t)}getHoverForPosition(e,t,n,i){return this._program.getHoverForPosition(e,t,n,i)}getDocumentHighlight(e,t,n){return this._program.getDocumentHighlight(e,t,n)}getSignatureHelpForPosition(e,t,n,i){return this._program.getSignatureHelpForPosition(e,t,n,i)}getCompletionsForPosition(e,t,n,i,r,s){return this._program.getCompletionsForPosition(e,t,n,i,r,this._backgroundAnalysisProgram.getIndexing(e),s)}getEvaluator(){return this._program.evaluator}resolveCompletionItem(e,t,n,i,r){this._program.resolveCompletionItem(e,t,n,i,this._backgroundAnalysisProgram.getIndexing(e),r)}performQuickAction(e,t,n,i){return this._program.performQuickAction(e,t,n,i)}renameModule(e,t,n){return this._program.renameModule(e,t,n)}renameSymbolAtPosition(e,t,n,i,r){return this._program.renameSymbolAtPosition(e,t,n,i,r)}getCallForPosition(e,t,n){return this._program.getCallForPosition(e,t,n)}getIncomingCallsForPosition(e,t,n){return this._program.getIncomingCallsForPosition(e,t,n)}getOutgoingCallsForPosition(e,t,n){return this._program.getOutgoingCallsForPosition(e,t,n)}printStats(){this._console.info(""),this._console.info("Analysis stats");const e=this._program.getFileCount();this._console.info("Total files analyzed: "+e.toString())}printDependencies(e){this._program.printDependencies(this._executionRootPath,e)}getDiagnosticsForRange(e,t,n){return this._backgroundAnalysisProgram.getDiagnosticsForRange(e,t,n)}getConfigOptions(){return this._configOptions}getImportResolver(){return this._backgroundAnalysisProgram.importResolver}recordUserInteractionTime(){this._lastUserInteractionTime=Date.now(),this._analyzeTimer&&this._scheduleReanalysis(!1)}get test_program(){return this._program}test_getConfigOptions(e){return this._getConfigOptions(this._backgroundAnalysisProgram.host,e)}test_getFileNamesFromFileSpecs(){return this._getFileNamesFromFileSpecs()}_getConfigOptions(e,t){var n,i,r;let s,o,a=t.executionRoot;t.configFilePath?(s=te(t.executionRoot,me(t.configFilePath)),this._fs.existsSync(s)?s.toLowerCase().endsWith(".json")?a=$(s):(a=s,s=this._findConfigFile(s),s||this._console.info(`Configuration file not found at ${a}.`)):(this._console.info(`Configuration file not found at ${s}.`),s=t.executionRoot)):a&&(s=this._findConfigFile(a),s||t.fromVsCodeExtension||(s=this._findConfigFileHereOrUp(a)),s?a=$(s):(this._console.info("No configuration file found."),s=void 0)),s||(o=this._findPyprojectTomlFile(a),o||t.fromVsCodeExtension||(o=this._findPyprojectTomlFileHereOrUp(a)),o?(a=$(o),this._console.info(`pyproject.toml file found at ${a}.`)):this._console.info("No pyproject.toml file found."));const l=new Ec(a,this._typeCheckingMode),c=["**/node_modules","**/__pycache__","**/.*"];let u;if(t.pythonPath&&(this._console.info(`Setting pythonPath for service "${this._instanceName}": "${t.pythonPath}"`),l.pythonPath=t.pythonPath),l.defaultPythonPlatform=t.pythonPlatform,l.defaultPythonVersion=t.pythonVersion,l.ensureDefaultExtraPaths(this._fs,t.autoSearchPaths||!1,t.extraPaths),t.fileSpecs.length>0?t.fileSpecs.forEach((e=>{l.include.push(be(a,e))})):s||t.executionRoot&&(l.include.push(be(t.executionRoot,".")),c.forEach((e=>{l.exclude.push(be(t.executionRoot,e))}))),this._configFilePath=s||o,s?(this._console.info(`Loading configuration file at ${s}`),u=this._parseJsonConfigFile(s)):o&&(this._console.info(`Loading pyproject.toml file at ${o}`),u=this._parsePyprojectTomlFile(o)),u){l.initializeFromJson(u,this._typeCheckingMode,this._console,e,t.diagnosticSeverityOverrides,t.fileSpecs.length>0);const n=$(this._configFilePath);0===l.include.length&&(this._console.info(`No include entries specified; assuming ${n}`),l.include.push(be(n,"."))),0===l.exclude.length&&(c.forEach((e=>{this._console.info(`Auto-excluding ${e}`),l.exclude.push(be(n,e))})),void 0===l.autoExcludeVenv&&(l.autoExcludeVenv=!0))}else l.autoExcludeVenv=!0,l.applyDiagnosticOverrides(t.diagnosticSeverityOverrides);l.analyzeUnannotatedFunctions=null===(n=t.analyzeUnannotatedFunctions)||void 0===n||n;const p=(e,n)=>{const i=t.fromVsCodeExtension?"the client settings":"a command-line option";this._console.warn(`The ${e} has been specified in both the config file and ${i}. The value in the config file (${n}) will take precedence`)};if(t.venvPath&&(l.venvPath?p("venvPath",l.venvPath):l.venvPath=t.venvPath),t.typeshedPath&&(l.typeshedPath?p("typeshedPath",l.typeshedPath):l.typeshedPath=t.typeshedPath),l.verboseOutput=null!==(i=t.verboseOutput)&&void 0!==i?i:l.verboseOutput,l.checkOnlyOpenFiles=!!t.checkOnlyOpenFiles,l.autoImportCompletions=!!t.autoImportCompletions,l.indexing=!!t.indexing,l.logTypeEvaluationTime=!!t.logTypeEvaluationTime,l.typeEvaluationTimeThreshold=t.typeEvaluationTimeThreshold,void 0===l.useLibraryCodeForTypes?l.useLibraryCodeForTypes=!!t.useLibraryCodeForTypes:void 0!==t.useLibraryCodeForTypes&&p("useLibraryCodeForTypes",l.useLibraryCodeForTypes),t.stubPath?l.stubPath?p("stubPath",l.stubPath):l.stubPath=t.stubPath:l.stubPath||(l.stubPath=me(te(l.projectRoot,"typings"))),l.venvPath&&(this._fs.existsSync(l.venvPath)&&fe(this._fs,l.venvPath)||this._console.error(`venvPath ${l.venvPath} is not a valid directory.`),l.venv=null!==(r=l.venv)&&void 0!==r?r:this._configOptions.venv,l.venv)){const t=te(l.venvPath,l.venv);if(this._fs.existsSync(t)&&fe(this._fs,t)){const t=[];void 0===fn(this._fs,l,e,t)&&(this._console.error(`site-packages directory cannot be located for venvPath ${l.venvPath} and venv ${l.venv}.`),l.verboseOutput&&t.forEach((e=>{this._console.error(` ${e}`)})))}else this._console.error(`venv ${l.venv} subdirectory not found in venv path ${l.venvPath}.`)}return l.venv&&(l.venvPath||this._console.warn("venvPath not specified, so venv settings will be ignored.")),l.typeshedPath&&(this._fs.existsSync(l.typeshedPath)&&fe(this._fs,l.typeshedPath)||this._console.error(`typeshedPath ${l.typeshedPath} is not a valid directory.`)),l.stubPath&&(this._fs.existsSync(l.stubPath)&&fe(this._fs,l.stubPath)||this._console.warn(`stubPath ${l.stubPath} is not a valid directory.`)),l}writeTypeStub(e){var t;const n=this._getTypeStubFolder();this._program.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}writeTypeStubInBackground(e){var t;const n=this._getTypeStubFolder();return this._backgroundAnalysisProgram.writeTypeStub(null!==(t=this._typeStubTargetPath)&&void 0!==t?t:"",this._typeStubTargetIsSingleFile,n,e)}invalidateAndForceReanalysis(e=!0,t=!0,n=!1){n&&this._updateTrackedFileList(!1),this._backgroundAnalysisProgram.invalidateAndForceReanalysis(e,t)}restart(){this._applyConfigOptions(this._hostFactory()),this._backgroundAnalysisProgram.restart()}get _fs(){return this._backgroundAnalysisProgram.importResolver.fileSystem}get _program(){return this._backgroundAnalysisProgram.program}get _configOptions(){return this._backgroundAnalysisProgram.configOptions}get _watchForSourceChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForSourceChanges)}get _watchForLibraryChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForLibraryChanges)}get _watchForConfigChanges(){var e;return!!(null===(e=this._commandLineOptions)||void 0===e?void 0:e.watchForConfigChanges)}get _typeCheckingMode(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeCheckingMode}get _verboseOutput(){return!!this._configOptions.verboseOutput}get _typeStubTargetImportName(){var e;return null===(e=this._commandLineOptions)||void 0===e?void 0:e.typeStubTargetImportName}_getTypeStubFolder(){const e=this._configOptions.stubPath;if(!this._typeStubTargetPath||!this._typeStubTargetImportName){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}if(!e){const e="No typings path was specified";throw this._console.info(e),new Error(e)}const t=this._typeStubTargetImportName.split(".");if(0===t[0].length){const e=`Import '${this._typeStubTargetImportName}' could not be resolved`;throw this._console.error(e),new Error(e)}try{this._fs.existsSync(e)||this._fs.mkdirSync(e)}catch(t){const n=`Could not create typings directory '${e}'`;throw this._console.error(n),new Error(n)}const n=te(e,t[0]),i=te(e,...t);try{this._fs.existsSync(i)||Q(this._fs,i,e)}catch(e){const t=`Could not create typings subdirectory '${i}'`;throw this._console.error(t),new Error(t)}return n}_findConfigFileHereOrUp(e){return z(e,(e=>this._findConfigFile(e)))}_findConfigFile(e){for(const t of Pp){const n=te(e,t);if(this._fs.existsSync(n))return n}}_findPyprojectTomlFileHereOrUp(e){return z(e,(e=>this._findPyprojectTomlFile(e)))}_findPyprojectTomlFile(e){const t=te(e,"pyproject.toml");if(this._fs.existsSync(t))return t}_parseJsonConfigFile(e){return this._attemptParseFile(e,(e=>function(e,t,n){void 0===t&&(t=[]),void 0===n&&(n=Cp.DEFAULT);var i=null,r=[],s=[];function o(e){Array.isArray(r)?r.push(e):null!==i&&(r[i]=e)}return Ap(e,{onObjectBegin:function(){var e={};o(e),s.push(r),r=e,i=null},onObjectProperty:function(e){i=e},onObjectEnd:function(){r=s.pop()},onArrayBegin:function(){var e=[];o(e),s.push(r),r=e,i=null},onArrayEnd:function(){r=s.pop()},onLiteralValue:o,onError:function(e,n,i){t.push({error:e,offset:n,length:i})}},n),r[0]}(e)))}_parsePyprojectTomlFile(e){return this._attemptParseFile(e,((t,n)=>{try{const e=wp.parse(t);if(e&&e.tool&&e.tool.pyright)return e.tool.pyright}catch(e){throw this._console.error(`Pyproject file parse attempt ${n} error: ${JSON.stringify(e)}`),e}this._console.error(`Pyproject file "${e}" is missing "[tool.pyright]" section.`)}))}_attemptParseFile(e,t){let n="",i=0;for(;;){try{n=this._fs.readFileSync(e,"utf8")}catch{return this._console.error(`Config file "${e}" could not be read.`),void this._reportConfigParseError()}let r=!1;try{return t(n,i+1)}catch(e){r=!0}if(!r)break;if(i++>=5)return this._console.error(`Config file "${e}" could not be parsed. Verify that format is correct.`),void this._reportConfigParseError()}}_getFileNamesFromFileSpecs(){const e=new Map;return Fn.findFilesTime.timeOperation((()=>{const t=this._matchFiles(this._configOptions.include,this._configOptions.exclude);for(const n of t)e.set(n,n)})),[...e.values()]}_updateTrackedFileList(e){if(this._typeStubTargetImportName){const e=this._configOptions.findExecEnvironment(this._executionRootPath),t=vn(this._typeStubTargetImportName),n=this._backgroundAnalysisProgram.importResolver.resolveImport("",e,t);if(n.isImportFound){const e=[],t=n.resolvedPaths[n.resolvedPaths.length-1],i=ge(this._fs,t),r=i&&"__init__"===he(de(t));let s=t;i&&(s=$(s));for(let e=n.resolvedPaths.length-2;e>=0;e--)s=n.resolvedPaths[e]?n.resolvedPaths[e]:$(s);fe(this._fs,s)?this._typeStubTargetPath=s:ge(this._fs,s)&&(this._typeStubTargetPath=$(s)),t?(e.push(t),this._typeStubTargetIsSingleFile=1===n.resolvedPaths.length&&!r):this._typeStubTargetIsSingleFile=!1,n.filteredImplicitImports.forEach((t=>{e.push(t.path)})),this._backgroundAnalysisProgram.setAllowedThirdPartyImports([this._typeStubTargetImportName]),this._backgroundAnalysisProgram.setTrackedFiles(e)}else this._console.error(`Import '${this._typeStubTargetImportName}' not found`)}else{let t=[];this._console.info("Searching for source files"),t=this._getFileNamesFromFileSpecs(),this._backgroundAnalysisProgram.setTrackedFiles(t),this._backgroundAnalysisProgram.markAllFilesDirty(e),0===t.length?this._console.info("No source files found."):this._console.info(`Found ${t.length} source `+(1===t.length?"file":"files"))}this._requireTrackedFileUpdate=!1}_matchFiles(e,t){const n=[["bin","activate"],["Scripts","activate"],["pyvenv.cfg"]],i=[],r=Date.now();let s=!1;const o=(e,o)=>{if(s||.001*(Date.now()-r)>=10&&(this._console.error('Enumeration of workspace source files is taking longer than 10 seconds.\nThis may be because:\n* You have opened your home directory or entire hard drive as a workspace\n* Your workspace contains a very large number of directories and files\n* Your workspace contains a symlink to a directory with many files\n* Your workspace is remote, and file enumeration is slow\nTo reduce this time, open a workspace directory with fewer files or add a pyrightconfig.json configuration file with an "exclude" section to exclude subdirectories from your workspace. For more details, refer to https://github.com/microsoft/pyright/blob/main/docs/configuration.md.'),s=!0),this._configOptions.autoExcludeVenv&&n.some((t=>this._fs.existsSync(te(e,...t)))))return void this._console.info(`Auto-excluding ${e}`);const{files:a,directories:c}=ve(this._fs,e);for(const n of a){const r=te(e,n);this._matchIncludeFileSpec(o,t,r)&&i.push(r)}for(const n of c){const i=te(e,n);o.test(i)&&(this._isInExcludePath(i,t)||l(i,o))}},a=new Set,l=(e,t)=>{const n=_e(this._fs,e);if(n)if(a.has(n))this._console.warn(`Skipping recursive symlink "${e}" -> "${n}"`);else{a.add(n);try{o(e,t)}finally{a.delete(n)}}else this._console.warn(`Skipping broken link "${e}"`)};return e.forEach((e=>{if(!this._isInExcludePath(e.wildcardRoot,t)){let t=!1;const n=ye(this._fs,e.wildcardRoot);(null==n?void 0:n.isFile())?this._shouldIncludeFile(e.wildcardRoot)&&(i.push(e.wildcardRoot),t=!0):(null==n?void 0:n.isDirectory())&&(l(e.wildcardRoot,e.regExp),t=!0),t||this._console.error(`File or directory "${e.wildcardRoot}" does not exist.`)}})),i}_removeSourceFileWatchers(){this._sourceFileWatcher&&(this._sourceFileWatcher.close(),this._sourceFileWatcher=void 0)}_updateSourceFileWatchers(){if(this._removeSourceFileWatchers(),this._watchForSourceChanges&&this._configOptions.include.length>0){const e=this._configOptions.include.map((e=>te(this._executionRootPath,e.wildcardRoot)));try{this._verboseOutput&&this._console.info(`Adding fs watcher for directories:\n ${e.join("\n")}`);const t=et(e);this._sourceFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{if(!n)return;if(this._verboseOutput&&this._console.info(`SourceFile: Received fs event '${e}' for path '${n}'`),t(n))return;if(n.endsWith(".tmp")||n.endsWith(".git")||n.includes(Rp))return;const i=ye(this._fs,n);if(!i||!i.isFile()||n.endsWith(".py")||n.endsWith(".pyi"))if("change"===e&&i)this._backgroundAnalysisProgram.markFilesDirty([n],!1),this._scheduleReanalysis(!1);else{const e=de(n).split(".");let t=!1;4===e.length&&e[3]===e[1]&&32===e[2].length&&(t=!0),t||(this.invalidateAndForceReanalysis(!1,!1),this._scheduleReanalysis(!0))}}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}}_removeLibraryFileWatcher(){this._libraryFileWatcher&&(this._libraryFileWatcher.close(),this._libraryFileWatcher=void 0)}_updateLibraryFileWatcher(){if(this._removeLibraryFileWatcher(),!this._watchForLibraryChanges)return;const e=fn(this._fs,this._backgroundAnalysisProgram.configOptions,this._backgroundAnalysisProgram.host,[],!0,this._executionRootPath);if(e&&e.length>0)try{this._verboseOutput&&this._console.info(`Adding fs watcher for library directories:\n ${e.join("\n")}`);const t=et(e);this._libraryFileWatcher=this._fs.createFileSystemWatcher(e,((e,n)=>{n&&(this._verboseOutput&&this._console.info(`LibraryFile: Received fs event '${e}' for path '${n}'`),t(n)||this._scheduleLibraryAnalysis())}))}catch{this._console.error(`Exception caught when installing fs watcher for:\n ${e.join("\n")}`)}}_clearLibraryReanalysisTimer(){var e;this._libraryReanalysisTimer&&(clearTimeout(this._libraryReanalysisTimer),this._libraryReanalysisTimer=void 0,null===(e=this._backgroundAnalysisProgram)||void 0===e||e.cancelIndexing())}_scheduleLibraryAnalysis(){this._disposed||(this._clearLibraryReanalysisTimer(),this._libraryReanalysisTimer=setTimeout((()=>{this._clearLibraryReanalysisTimer(),this.invalidateAndForceReanalysis(!1),this._scheduleReanalysis(!1)}),6e5))}_removeConfigFileWatcher(){this._configFileWatcher&&(this._configFileWatcher.close(),this._configFileWatcher=void 0)}_updateConfigFileWatcher(){this._removeConfigFileWatcher(),this._watchForConfigChanges&&(this._configFilePath?this._configFileWatcher=this._fs.createFileSystemWatcher([this._configFilePath],(e=>{this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._scheduleReloadConfigFile()})):this._executionRootPath&&(this._configFileWatcher=this._fs.createFileSystemWatcher([this._executionRootPath],((e,t)=>{if(t&&("add"===e||"change"===e)){const n=de(t);n&&Pp.some((e=>e===n))&&(this._verboseOutput&&this._console.info(`Received fs event '${e}' for config file`),this._commandLineOptions&&this.setOptions(this._commandLineOptions))}}))))}_clearReloadConfigTimer(){this._reloadConfigTimer&&(clearTimeout(this._reloadConfigTimer),this._reloadConfigTimer=void 0)}_scheduleReloadConfigFile(){this._clearReloadConfigTimer(),this._reloadConfigTimer=setTimeout((()=>{this._clearReloadConfigTimer(),this._reloadConfigFile()}),100)}_reloadConfigFile(){if(this._updateConfigFileWatcher(),this._configFilePath){this._console.info(`Reloading configuration file at ${this._configFilePath}`);const e=this._backgroundAnalysisProgram.host,t=this._getConfigOptions(e,this._commandLineOptions);this._backgroundAnalysisProgram.setConfigOptions(t),this._applyConfigOptions(e)}}_applyConfigOptions(e){var t;const n=this._importResolverFactory(this._fs,this._backgroundAnalysisProgram.configOptions,e);if(this._backgroundAnalysisProgram.setImportResolver(n),(null===(t=this._commandLineOptions)||void 0===t?void 0:t.fromVsCodeExtension)||this._configOptions.verboseOutput){const e=this._configOptions.verboseOutput?On.Info:On.Log;for(const t of this._configOptions.getExecutionEnvironments())Vn(this._console,e,`Search paths for ${t.root||""}`),n.getImportRoots(t,!0).forEach((t=>{Vn(this._console,e,` ${t}`)}))}this._updateLibraryFileWatcher(),this._updateConfigFileWatcher(),this._updateSourceFileWatchers(),this._updateTrackedFileList(!0),this._scheduleReanalysis(!1)}_clearReanalysisTimer(){this._analyzeTimer&&(clearTimeout(this._analyzeTimer),this._analyzeTimer=void 0)}_scheduleReanalysis(e){var t,n;if(this._disposed||!(null===(t=this._commandLineOptions)||void 0===t?void 0:t.enableAmbientAnalysis))return;e&&(this._requireTrackedFileUpdate=!0),null===(n=this._backgroundAnalysisCancellationSource)||void 0===n||n.cancel(),this._clearReanalysisTimer();const i=Date.now()-this._lastUserInteractionTime,r=Math.max(250-i,20);this._analyzeTimer=setTimeout((()=>{this._analyzeTimer=void 0,this._requireTrackedFileUpdate&&this._updateTrackedFileList(!1),this._backgroundAnalysisCancellationSource=this._cancellationProvider.createCancellationTokenSource(),this._backgroundAnalysisProgram.startAnalysis(this._backgroundAnalysisCancellationSource.token)&&this._scheduleReanalysis(!1)}),r)}_reportConfigParseError(){this._onCompletionCallback&&this._onCompletionCallback({diagnostics:[],filesInProgram:0,filesRequiringAnalysis:0,checkingOnlyOpenFiles:!0,fatalErrorOccurred:!1,configParseErrorOccurred:!0,elapsedTime:0})}_shouldIncludeFile(e){return Fp.test(e)}_isInExcludePath(e,t){return!!t.find((t=>t.regExp.test(e)))}_matchIncludeFileSpec(e,t,n){return!(!e.test(n)||this._isInExcludePath(n,t)||!this._shouldIncludeFile(n))}}var Mp;!function(e){e.is=function(e){return e&&e.edits&&Ln.WorkspaceEdit.is(e.edits)}}(Mp||(Mp={})),__webpack_require__(6755);class Op{constructor(e){this._reporter=e,this._isDisplayingProgress=!1}isEnabled(e){var t;return!!this._isDisplayingProgress||null!==(t=this._reporter.isEnabled(e))&&void 0!==t&&t}begin(){this._isDisplayingProgress||(this._isDisplayingProgress=!0,this._reporter.begin())}report(e){this._isDisplayingProgress&&this._reporter.report(e)}end(){this._isDisplayingProgress&&(this._isDisplayingProgress=!1,this._reporter.end())}}class Lp{constructor(e){this._fs=e}decodeTextDocumentPosition(e,t){return{filePath:we(this._fs,e.uri),position:t}}decodeTextDocumentUri(e){return we(this._fs,e)}}const Up=(0,Sp.attachWorkDone)(void 0,void 0);var qp=__webpack_require__(8764).Buffer;class Vp{constructor(e,t){if(this._keys=[],this._values=[],this._version=0,this._copyOnWrite=!1,this._comparer="object"==typeof e?e.comparer:e,this._order="object"==typeof e&&"insertion"===e.sort?[]:void 0,t){const e=Bp(t);try{for(let t=Wp(e);t;t=Wp(e)){const[e,n]=t.value;this.set(e,n)}}finally{jp(e)}}}get size(){return this._keys.length}get comparer(){return this._comparer}get[Symbol.toStringTag](){return"SortedMap"}has(e){return d(this._keys,e,t,this._comparer)>=0}get(e){const n=d(this._keys,e,t,this._comparer);return n>=0?this._values[n]:void 0}set(e,n){const i=d(this._keys,e,t,this._comparer);return i>=0?this._values[i]=n:(this._writePreamble(),u(this._keys,~i,e),u(this._values,~i,n),this._order&&u(this._order,~i,this._version),this._writePostScript()),this}delete(e){const n=d(this._keys,e,t,this._comparer);return n>=0&&(this._writePreamble(),this._orderedRemoveItemAt(this._keys,n),this._orderedRemoveItemAt(this._values,n),this._order&&this._orderedRemoveItemAt(this._order,n),this._writePostScript(),!0)}clear(){this.size>0&&(this._writePreamble(),this._keys.length=0,this._values.length=0,this._order&&(this._order.length=0),this._writePostScript())}forEach(e,t){const n=this._keys,i=this._values,r=this._getIterationOrder(),s=this._version;this._copyOnWrite=!0;try{if(r)for(const s of r)e.call(t,i[s],n[s],this);else for(let r=0;rt)).sort(((t,n)=>e[t]-e[n]))}}_orderedRemoveItemAt(e,t){for(let n=t;n=2&&"_"===e.charAt(0)&&"_"===e.charAt(1)?"_"+e:e}static _unescapeKey(e){return e.length>=3&&"_"===e.charAt(0)&&"_"===e.charAt(1)&&"_"===e.charAt(2)?e.slice(1):e}}zp._undefinedValue={};const $p=Object.freeze({EACCES:"access denied",EIO:"an I/O error occurred",ENOENT:"no such file or directory",EEXIST:"file already exists",ELOOP:"too many symbolic links encountered",ENOTDIR:"no such directory",EISDIR:"path is a directory",EBADF:"invalid file descriptor",EINVAL:"invalid value",ENOTEMPTY:"directory not empty",EPERM:"operation not permitted",EROFS:"file system is read-only"});function Hp(e,t=""){const n=new Error(`${e}: ${$p[e]} ${t}`);return n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,Hp),n}const Gp=function(){const e=Ie();return new RegExp(`^(?!(${e}|${e}${e}w+${e}|[a-zA-Z]:${e}?|)$)`)}(),Kp=/[:*?"<>|]/,Jp=/[:"<>|]/,Yp=/^\.{1,2}$|[:*?"<>|]/,Qp=/^\.{1,2}$|[:"<>|]/,Zp=/\.\w+$/;function Xp(e,t=2016){const n=G(e),i=ce(e);if(!function(e,t,n){const i=!!e[0],r=e.length>2,s=e.length>1,o=s&&Zp.test(e[e.length-1]),a=1024&t?2048&t?Jp:Kp:2048&t?Qp:Yp;if(1&t&&!i)return!1;if(2&t&&!r)return!1;if(4&t&&!s)return!1;if(8&t&&!o)return!1;if(16&t&&!n)return!1;if(1&t&&(t|=32),2&t&&(t|=64),4&t&&(t|=128),8&t&&(t|=256),16&t&&(t|=512),32&~t&&i)return!1;if(64&~t&&r)return!1;if(128&~t&&s)return!1;if(256&~t&&o)return!1;if(512&~t&&n)return!1;if(Gp.test(e[0]))return!1;for(let t=1;t1&&i?J(K(n))+S.sep:J(K(n))}var ed=__webpack_require__(8764).Buffer;const td=X("/");let nd=0,id=0;class rd{constructor(e,t={}){this._lazy={},this._tmpfileCounter=0;const{time:n=-1,files:i,meta:r}=t;if(this.ignoreCase=e,this.stringComparer=this.ignoreCase?ae:oe,this._time=n,r)for(const e of Object.keys(r))this.meta.set(e,r[e]);i&&this._applyFiles(i,"");let s=t.cwd;if((!s||!Se(s))&&this._lazy.links){const e=Bp(this._lazy.links.keys());try{for(let t=Wp(e);t;t=Wp(e)){const e=t.value;s=s?ee(e,s):e;break}}finally{jp(e)}}s&&(Xp(s,2017),this.mkdirpSync(s)),this._cwd=s||""}get meta(){return this._lazy.meta||(this._lazy.meta=new zp(this._shadowRoot?this._shadowRoot.meta:void 0)),this._lazy.meta}get isReadonly(){return Object.isFrozen(this)}makeReadonly(){return Object.freeze(this),this}get shadowRoot(){return this._shadowRoot}snapshot(){if(this.isReadonly)return;const e=new rd(this.ignoreCase,{time:this._time});e._lazy=this._lazy,e._cwd=this._cwd,e._time=this._time,e._shadowRoot=this._shadowRoot,e._dirStack=this._dirStack,e.makeReadonly(),this._lazy={},this._shadowRoot=e}shadow(e=this.ignoreCase){if(!this.isReadonly)throw new Error("Cannot shadow a mutable file system.");if(e&&!this.ignoreCase)throw new Error("Cannot create a case-insensitive file system from a case-sensitive one.");const t=new rd(e,{time:this._time});return t._shadowRoot=this,t._cwd=this._cwd,t}time(e){if(void 0!==e&&this.isReadonly)throw Hp("EPERM");let t=this._time;return"function"==typeof t&&(t=t()),"object"==typeof t&&(t=t.getTime()),-1===t&&(t=Date.now()),void 0!==e&&(this._time=e),t}filemeta(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");return this._filemeta(t)}_filemeta(e){if(!e.meta){const t=e.shadowRoot&&this._shadowRoot&&this._shadowRoot._filemeta(e.shadowRoot);e.meta=new zp(t)}return e.meta}cwd(){if(!this._cwd)throw new Error("The current working directory has not been set.");const{node:e}=this._walk(this._cwd);if(!e)throw Hp("ENOENT");if(!vd(e))throw Hp("ENOTDIR");return this._cwd}chdir(e){if(this.isReadonly)throw Hp("EPERM");e=this._resolve(e);const{node:t}=this._walk(e);if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");this._cwd=e}pushd(e){if(this.isReadonly)throw Hp("EPERM");e&&(e=this._resolve(e)),this._cwd&&(this._dirStack||(this._dirStack=[]),this._dirStack.push(this._cwd)),e&&e!==this._cwd&&this.chdir(e)}popd(){if(this.isReadonly)throw Hp("EPERM");const e=this._dirStack&&this._dirStack.pop();e&&this.chdir(e)}apply(e){this._applyFiles(e,this._cwd)}scanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e)),t,n,!1,i),i}lscanSync(e,t,n){e=this._resolve(e);const i=[];return this._scan(e,this._stat(this._walk(e,!0)),t,n,!0,i),i}createFileSystemWatcher(e,t){return{close:()=>{}}}getModulePath(){return td}tmpdir(){return this.mkdirpSync("/tmp"),X("/tmp")}tmpfile(e){const t=(null==e?void 0:e.prefix)||"tmp",n=(null==e?void 0:e.prefix)?"-"+e.prefix:"",i=`${t}-${this._tmpfileCounter++}${n}`,r=te(this.tmpdir(),i);return this.writeFileSync(r,""),r}realCasePath(e){return e}isMappedFilePath(e){return!1}getOriginalFilePath(e){return e}getMappedFilePath(e){return e}getUri(e){return x.file(e).toString()}_scan(e,t,n,i,r,s){if("ancestors-or-self"!==n&&"self"!==n&&"descendants-or-self"!==n||i.accept&&!i.accept(e,t)||s.push(e),"ancestors-or-self"===n||"ancestors"===n){const t=$(e);if(t!==e)try{const e=this._stat(this._walk(t,r));i.traverse&&!i.traverse(t,e)||this._scan(t,e,"ancestors-or-self",i,r,s)}catch{}}if(("descendants-or-self"===n||"descendants"===n)&&t.isDirectory()&&(!i.traverse||i.traverse(e,t)))for(const t of this.readdirSync(e))try{const n=te(e,t),o=this._stat(this._walk(n,r));this._scan(n,o,"descendants-or-self",i,r,s)}catch{}}mountSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");e=Xp(e,2017);const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(t),!0);if(s)throw Hp("EEXIST");const a=this.time(),l=this._mknod(i?i.dev:++nd,fd,511,a);l.source=e,l.resolver=n,this._addLink(i,r,o,l,a)}rimrafSync(e){try{const t=this.lstatSync(e);if(t.isFile()||t.isSymbolicLink())this.unlinkSync(e);else if(t.isDirectory()){for(const t of this.readdirSync(e))this.rimrafSync(te(e,t));this.rmdirSync(e)}}catch(e){if("ENOENT"===e.code)return;throw e}}mkdirpSync(e){e=this._resolve(e);const t=this._walk(e,!0,((e,t)=>"ENOENT"===e.code?(this._mkdir(t),"retry"):"throw"));t.node||this._mkdir(t)}getFileListing(){let e="";const t=(n,i)=>{const r=Bp(i);try{for(let i=Wp(r);i;i=Wp(r)){const[r,c]=i.value,u=n?te(n,r):r,p=0===(s=this._cwd,o=u,a=this.ignoreCase,l=void 0,s=me(s),o=me(o),"string"==typeof a?(s=te(a,s),o=te(a,o)):"boolean"==typeof a&&(l=a),xe(s,o,U(l)))?"*":" ";e&&(e+="\n"),e+=p,vd(c)?(e+=le(u),t(u,this._getLinks(c))):_d(c)?e+=u:Td(c)&&(e+=`${u} -> ${c.symlink}`)}}finally{jp(r)}var s,o,a,l};return t(void 0,this._getRootLinks()),e}debugPrint(){console.log(this.getFileListing())}existsSync(e){const t=this._walk(this._resolve(e),!0,(()=>"stop"));return void 0!==t&&void 0!==t.node}statSync(e){return this._stat(this._walk(this._resolve(e)))}utimesSync(e,t,n){if(this.isReadonly)throw Hp("EROFS");if(!isFinite(+t)||!isFinite(+n))throw Hp("EINVAL");const i=this._walk(this._resolve(e));if(!i||!i.node)throw Hp("ENOENT");i.node.atimeMs=+t,i.node.mtimeMs=+n,i.node.ctimeMs=this.time()}lstatSync(e){return this._stat(this._walk(this._resolve(e),!0))}_stat(e){const t=e.node;if(!t)throw Hp("ENOENT",e.realpath);return new Id(t.dev,t.ino,t.mode,t.nlink,0,_d(t)?this._getSize(t):Td(t)?t.symlink.length:0,4096,0,t.atimeMs,t.mtimeMs,t.ctimeMs,t.birthtimeMs)}readdirSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).keys())}readdirEntriesSync(e){const{node:t}=this._walk(this._resolve(e));if(!t)throw Hp("ENOENT");if(!vd(t))throw Hp("ENOTDIR");return Array.from(this._getLinks(t).entries()).map((([e,t])=>function(e,t){return{isFile:()=>_d(t),isDirectory:()=>vd(t),isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,isSymbolicLink:()=>Td(t),name:e}}(e,t)))}mkdirSync(e){if(this.isReadonly)throw Hp("EROFS");this._mkdir(this._walk(this._resolve(e),!0))}_mkdir({parent:e,links:t,node:n,basename:i}){if(n)throw Hp("EEXIST");const r=this.time(),s=this._mknod(e?e.dev:++nd,fd,511,r);this._addLink(e,t,i,s,r)}rmdirSync(e){if(this.isReadonly)throw Hp("EROFS");e=this._resolve(e);const{parent:t,links:n,node:i,basename:r}=this._walk(e,!0);if(!t)throw Hp("EPERM");if(!vd(i))throw Hp("ENOTDIR");if(0!==this._getLinks(i).size)throw Hp("ENOTEMPTY");this._removeLink(t,n,r,i)}linkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EPERM");const{parent:i,links:r,basename:s,node:o}=this._walk(this._resolve(t),!0);if(!i)throw Hp("EPERM");if(o)throw Hp("EEXIST");this._addLink(i,r,s,n)}unlinkSync(e){if(this.isReadonly)throw Hp("EROFS");const{parent:t,links:n,node:i,basename:r}=this._walk(this._resolve(e),!0);if(!t)throw Hp("EPERM");if(!i)throw Hp("ENOENT");if(vd(i))throw Hp("EISDIR");this._removeLink(t,n,r,i)}renameSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(e),!0);if(!n)throw Hp("EPERM");if(!r)throw Hp("ENOENT");const{parent:o,links:a,node:l,basename:c}=this._walk(this._resolve(t),!0);if(!o)throw Hp("EPERM");const u=this.time();if(l){if(vd(r)){if(!vd(l))throw Hp("ENOTDIR");if(this._getLinks(l).size>0)throw Hp("ENOTEMPTY")}else if(vd(l))throw Hp("EISDIR");this._removeLink(o,a,c,l,u)}this._replaceLink(n,i,s,o,a,c,r,u)}symlinkSync(e,t){if(this.isReadonly)throw Hp("EROFS");const{parent:n,links:i,node:r,basename:s}=this._walk(this._resolve(t),!0);if(!n)throw Hp("EPERM");if(r)throw Hp("EEXIST");const o=this.time(),a=this._mknod(n.dev,hd,438,o);a.symlink=Xp(e,2016),this._addLink(n,i,s,a,o)}realpathSync(e){const{realpath:t}=this._walk(this._resolve(e));return t}readFileSync(e,t=null){const{node:n}=this._walk(this._resolve(e));if(!n)throw Hp("ENOENT");if(vd(n))throw Hp("EISDIR");if(!_d(n))throw Hp("EBADF");const i=this._getBuffer(n).slice();return t?i.toString(t):i}writeFileSync(e,t,n=null){if(this.isReadonly)throw Hp("EROFS");const{parent:i,links:r,node:s,basename:o}=this._walk(this._resolve(e),!1);if(!i)throw Hp("EPERM");const a=this.time();let l=s;if(l||(l=this._mknod(i.dev,md,438,a),this._addLink(i,r,o,l,a)),vd(l))throw Hp("EISDIR");if(!_d(l))throw Hp("EBADF");l.buffer=ed.isBuffer(t)?t.slice():function(e,t){return qp.from&&qp.from!==Int8Array.from?qp.from(e,t):new qp(e,t)}(""+t,n||"utf8"),l.size=l.buffer.byteLength,l.mtimeMs=a,l.ctimeMs=a}readFile(e){return Promise.resolve(this.readFileSync(e))}readFileText(e,t){return Promise.resolve(this.readFileSync(e,t||"utf8"))}createReadStream(e){throw new Error("Not implemented in test file system.")}createWriteStream(e){throw new Error("Not implemented in test file system.")}copyFileSync(e,t){throw new Error("Not implemented in test file system.")}diff(e=this.shadowRoot,t={}){const n={};return(e?rd._rootDiff(n,this,e,t):rd._trackCreatedInodes(n,this,this._getRootLinks()))?n:void 0}static diff(e,t,n={}){const i={};return rd._rootDiff(i,e,t,n)?i:void 0}isInZipOrEgg(e){return!1}static _diffWorker(e,t,n,i,r,s){if(n&&!r)return rd._trackCreatedInodes(e,t,n);if(r&&!n)return rd._trackDeletedInodes(e,r);if(n&&r){let o=!1;return r.forEach(((t,i)=>{n.has(i)||(e[i]=vd(t)?new cd:new ud,o=!0)})),n.forEach(((n,a)=>{const l=r.get(a);if(l){if(vd(n)&&vd(l))return o=rd._directoryDiff(e,a,t,n,i,l,s)||o;if(_d(n)&&_d(l))return o=rd._fileDiff(e,a,t,n,i,l,s)||o;if(Td(n)&&Td(l))return o=rd._symlinkDiff(e,a,n,l)||o}return o=rd._trackCreatedInode(e,a,t,n)||o})),o}return!1}static _rootDiff(e,t,n,i){for(;!t._lazy.links&&t._shadowRoot;)t=t._shadowRoot;for(;!n._lazy.links&&n._shadowRoot;)n=n._shadowRoot;return t!==n&&!!(t._lazy.links||t._shadowRoot||n._lazy.links||n._shadowRoot)&&rd._diffWorker(e,t,t._getRootLinks(),n,n._getRootLinks(),i)}static _directoryDiff(e,t,n,i,r,s,o){for(;!i.links&&i.shadowRoot;)i=i.shadowRoot;for(;!s.links&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(gd(i)&&gd(s))return!1;if(!i.links&&!s.links&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a={};return!!rd._diffWorker(a,n,n._getLinks(i),r,r._getLinks(s),o)&&(e[t]=new sd(a),!0)}static _fileDiff(e,t,n,i,r,s,o){for(;!i.buffer&&i.shadowRoot;)i=i.shadowRoot;for(;!s.buffer&&s.shadowRoot;)s=s.shadowRoot;if(i===s)return!1;if(yd(i)&&yd(s))return!1;if(!i.buffer&&!s.buffer&&i.resolver&&void 0!==i.source&&s.resolver===i.resolver&&s.source===i.source)return!1;const a=n._getBuffer(i),l=r._getBuffer(s);return a!==l&&(0===ed.compare(a,l)?!!o.includeChangedFileWithSameContent&&(e[t]=new ad(a),!0):(e[t]=new od(a),!0))}static _symlinkDiff(e,t,n,i){return n.symlink!==i.symlink&&(e[t]=new pd(n.symlink),!0)}static _trackCreatedInode(e,t,n,i){if(vd(i)){const r={};rd._trackCreatedInodes(r,n,n._getLinks(i)),e[t]=new sd(r)}else Td(i)?e[t]=new pd(i.symlink):e[t]=new od(i.buffer||"");return!0}static _trackCreatedInodes(e,t,n){return!!n.size&&(n.forEach(((n,i)=>{rd._trackCreatedInode(e,i,t,n)})),!0)}static _trackDeletedInodes(e,t){return!!t.size&&(t.forEach(((t,n)=>{e[n]=vd(t)?new cd:new ud})),!0)}_mknod(e,t,n,i=this.time()){return{dev:e,ino:++id,mode:n&~dd&-19&4095|t&dd,atimeMs:i,mtimeMs:i,ctimeMs:i,birthtimeMs:i,nlink:0}}_addLink(e,t,n,i,r=this.time()){t.set(n,i),i.nlink++,i.ctimeMs=r,e&&(e.mtimeMs=r),e||this._cwd||(this._cwd=n)}_removeLink(e,t,n,i,r=this.time()){t.delete(n),i.nlink--,i.ctimeMs=r,e&&(e.mtimeMs=r)}_replaceLink(e,t,n,i,r,s,o,a){e!==i?(this._removeLink(e,t,n,o,a),this._addLink(i,r,s,o,a)):(t.delete(n),t.set(s,o),e.mtimeMs=a,i.mtimeMs=a)}_getRootLinks(){if(!this._lazy.links){const e=new Vp(this.stringComparer);this._shadowRoot&&this._copyShadowLinks(this._shadowRoot._getRootLinks(),e),this._lazy.links=e}return this._lazy.links}_getLinks(e){if(!e.links){const t=new Vp(this.stringComparer),{source:n,resolver:i}=e;if(n&&i){e.source=void 0,e.resolver=void 0;for(const r of i.readdirSync(n)){const s=te(n,r),o=i.statSync(s);switch(o.mode&dd){case fd:{const s=this._mknod(e.dev,fd,511);s.source=te(n,r),s.resolver=i,this._addLink(e,t,r,s);break}case md:{const s=this._mknod(e.dev,md,438);s.source=te(n,r),s.resolver=i,s.size=o.size,this._addLink(e,t,r,s);break}}}}else this._shadowRoot&&e.shadowRoot&&this._copyShadowLinks(this._shadowRoot._getLinks(e.shadowRoot),t);e.links=t}return e.links}_getShadow(e){const t=this._lazy.shadows||(this._lazy.shadows=new Map);let n=t.get(e.ino);return n||(n={dev:e.dev,ino:e.ino,mode:e.mode,atimeMs:e.atimeMs,mtimeMs:e.mtimeMs,ctimeMs:e.ctimeMs,birthtimeMs:e.birthtimeMs,nlink:e.nlink,shadowRoot:e},Td(e)&&(n.symlink=e.symlink),t.set(n.ino,n)),n}_copyShadowLinks(e,t){const n=Bp(e);try{for(let e=Wp(n);e;e=Wp(n)){const[n,i]=e.value;t.set(n,this._getShadow(i))}}finally{jp(n)}}_getSize(e){return e.buffer?e.buffer.byteLength:void 0!==e.size?e.size:e.source&&e.resolver?e.size=e.resolver.statSync(e.source).size:this._shadowRoot&&e.shadowRoot?e.size=this._shadowRoot._getSize(e.shadowRoot):0}_getBuffer(e){if(!e.buffer){const{source:t,resolver:n}=e;t&&n?(e.source=void 0,e.resolver=void 0,e.size=void 0,e.buffer=n.readFileSync(t)):this._shadowRoot&&e.shadowRoot?e.buffer=this._shadowRoot._getBuffer(e.shadowRoot):e.buffer=ed.allocUnsafe(0)}return e.buffer}_walk(e,t,n){let i,r=this._getRootLinks(),s=G(e),o=0,a=0,l=!1;for(;;){if(a>=40)throw Hp("ELOOP");const e=o===s.length-1,n=s[o],u=r.get(n);if(e&&(t||!Td(u)))return{realpath:J(s),basename:n,parent:i,links:r,node:u};if(void 0===u){if(c(Hp("ENOENT"),u))continue;return}if(Td(u)){const e=ee(J(s.slice(0,o)),u.symlink);r=this._getRootLinks(),i=void 0,s=G(e).concat(s.slice(o+1)),o=0,a++,l=!1}else if(vd(u))r=this._getLinks(u),i=u,o++,l=!1;else if(!c(Hp("ENOTDIR"),u))return}function c(e,t){const a=J(s.slice(0,o+1)),c=s[o],u=!l&&n?n(e,{realpath:a,basename:c,parent:i,links:r,node:t}):"throw";if("stop"===u)return!1;if("retry"===u)return l=!0,!0;throw e}}_resolve(e){return this._cwd?ee(this._cwd,Xp(e,4064)):Xp(e,4065)}_applyFiles(e,t){const n=[];this._applyFilesWorker(e,t,n);for(const[e,i]of n){if(this.mkdirpSync($(i)),this.pushd($(i)),e instanceof pd){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be symbolic links.");this.symlinkSync(ee(t,e.symlink),i),this._applyFileExtendedOptions(i,e)}else if(e instanceof ld){if(0===this.stringComparer($(i),i))throw new TypeError("Roots cannot be hard links.");this.linkSync(e.path,i)}else this.mountSync(e.source,i,e.resolver),this._applyFileExtendedOptions(i,e);this.popd()}}_applyFileExtendedOptions(e,t){const{meta:n}=t;if(void 0!==n){const t=this.filemeta(e);for(const e of Object.keys(n))t.set(e,n[e])}}_applyFilesWorker(e,t,n){for(const i of Object.keys(e)){const r=bd(e[i]),s=t?ee(t,i):i;if(Xp(s,2017),null==r||r instanceof cd||r instanceof ud){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be deleted.");this.rimrafSync(s)}else if(r instanceof od){if(0===this.stringComparer($(s),s))throw new TypeError("Roots cannot be files.");this.mkdirpSync($(s)),this.writeFileSync(s,r.data,r.encoding),this._applyFileExtendedOptions(s,r)}else r instanceof sd?(this.mkdirpSync(s),this._applyFileExtendedOptions(s,r),this._applyFilesWorker(r.files,s,n)):n.push([r,s])}}}class sd{constructor(e,{meta:t}={}){this.files=e,this.meta=t}}class od{constructor(e,{meta:t,encoding:n}={}){this.data=e,this.encoding=n,this.meta=t}}class ad extends od{constructor(e,t){super(e,t)}}class ld{constructor(e){this.path=e}}class cd{}class ud{}class pd{constructor(e,{meta:t}={}){this.symlink=e,this.meta=t}}const dd=61440,hd=40960,md=32768,fd=16384;function gd(e){return!(e.links||e.shadowRoot||e.resolver||e.source)}function yd(e){return!(e.buffer||e.shadowRoot||e.resolver||e.source)}function _d(e){return void 0!==e&&(e.mode&dd)===md}function vd(e){return void 0!==e&&(e.mode&dd)===fd}function Td(e){return void 0!==e&&(e.mode&dd)===hd}function bd(e){return null==e||e instanceof sd||e instanceof od||e instanceof ld||e instanceof pd||e instanceof class{constructor(e,t,{meta:n}={}){this.source=e,this.resolver=t,this.meta=n}}||e instanceof cd||e instanceof ud?e:"string"==typeof e||ed.isBuffer(e)?new od(e):new sd(e)}class Id{constructor(e=0,t=0,n=0,i=0,r=0,s=0,o=0,a=0,l=0,c=0,u=0,p=0){this.dev=e,this.ino=t,this.mode=n,this.nlink=i,this.uid=0,this.gid=0,this.rdev=r,this.size=s,this.blksize=o,this.blocks=a,this.atimeMs=l,this.mtimeMs=c,this.ctimeMs=u,this.birthtimeMs=p,this.atime=new Date(this.atimeMs),this.mtime=new Date(this.mtimeMs),this.ctime=new Date(this.ctimeMs),this.birthtime=new Date(this.birthtimeMs)}isFile(){return(this.mode&dd)===md}isDirectory(){return(this.mode&dd)===fd}isSymbolicLink(){return(this.mode&dd)===hd}isBlockDevice(){return 24576==(this.mode&dd)}isCharacterDevice(){return 8192==(this.mode&dd)}isFIFO(){return 4096==(this.mode&dd)}isSocket(){return 49152==(this.mode&dd)}}class Sd extends Map{constructor(){super(...arguments),this._defaultWorkspacePath=""}getNonDefaultWorkspaces(){const e=[];return this.forEach((t=>{t.rootPath&&e.push(t)})),e}getWorkspaceForFile(e,t){let n,i;if(this.forEach((e=>{e.rootPath&&t.startsWith(e.rootPath)&&(void 0===n||e.rootPath.startsWith(n))&&(n=e.rootPath,i=e)})),void 0===i){let t=this.get(this._defaultWorkspacePath);if(!t){const n=[...this.keys()];if(1===n.length)return this.get(n[0]);t={workspaceName:"",rootPath:"",rootUri:"",serviceInstance:e.createAnalyzerService(this._defaultWorkspacePath),disableLanguageServices:!1,disableOrganizeImports:!1,isInitialized:gp()},this.set(this._defaultWorkspacePath,t),e.updateSettingsForWorkspace(t).ignoreErrors()}return t}return i}}var xd=__webpack_require__(7630);const Cd={openFilesTimeInMs:50,noOpenFilesTimeInMs:200};class wd extends class{constructor(e,t,n){var i,r;this._serverOptions=e,this._connection=t,this.console=n,this._lastTriggerKind=ot.CompletionTriggerKind.Invoked,this.rootPath="",this.client={hasConfigurationCapability:!1,hasVisualStudioExtensionsCapability:!1,hasWorkspaceFoldersCapability:!1,hasWatchFileCapability:!1,hasActiveParameterCapability:!1,hasSignatureLabelOffsetCapability:!1,hasHierarchicalDocumentSymbolCapability:!1,hasWindowProgressCapability:!1,hasGoToDeclarationCapability:!1,hasDocumentChangeCapability:!1,hasDocumentAnnotationCapability:!1,hoverContentFormat:ot.MarkupKind.PlainText,completionDocFormat:ot.MarkupKind.PlainText,completionSupportsSnippet:!1,signatureDocFormat:ot.MarkupKind.PlainText,supportsDeprecatedDiagnosticTag:!1,supportsUnnecessaryDiagnosticTag:!1,completionItemResolveSupportsAdditionalTextEdits:!1},this.diagnosticTextSettings={},__webpack_require__.g.__rootDirectory=e.rootDirectory,this.console.info(`${e.productName} language server ${e.version&&e.version+" "}starting`),this.console.info(`Server root directory: ${e.rootDirectory}`),this._workspaceMap=this._serverOptions.workspaceMap,this._fileWatcherProvider=this._serverOptions.fileWatcherProvider,this.fs=new rt(this._serverOptions.fileSystem),this._uriParser=new Lp(this.fs);const s=this.fs.getModulePath();s&&this.fs.chdir(s),this.setupConnection(null!==(i=e.supportedCommands)&&void 0!==i?i:[],null!==(r=e.supportedCodeActions)&&void 0!==r?r:[]),this._progressReporter=new Op(this.createProgressReporter()),this._connection.listen()}decodeTextDocumentUri(e){return this._uriParser.decodeTextDocumentUri(e)}async getConfiguration(e,t){if(this.client.hasConfigurationCapability){const n={};return void 0!==e&&(n.scopeUri=e),void 0!==t&&(n.section=t),this._connection.workspace.getConfiguration(n)}if(this._defaultClientConfig)return n=this._defaultClientConfig,t.split(".").reduce(((e,t)=>e&&e[t]),n);var n}isOpenFilesOnly(e){return"workspace"!==e}getSeverityOverrides(e){const t=e;if(["error","warning","information","none"].includes(t))return t}getDiagnosticRuleName(e){const t=e;if(wc().includes(t))return t}createBackgroundAnalysisProgram(e,t,n,i,r,s){return new xp(e,t,n,i,r,s)}setExtension(e){this._serverOptions.extension=e}get window(){return this._connection.window}get supportAdvancedEdits(){return this.client.hasDocumentChangeCapability&&this.client.hasDocumentAnnotationCapability}createAnalyzerService(e){this.console.log(`Starting service instance "${e}"`);const t=new Np(e,this.fs,this.console,this.createHost.bind(this),this.createImportResolver.bind(this),void 0,this._serverOptions.extension,this.createBackgroundAnalysis(),this._serverOptions.maxAnalysisTimeInForeground,this.createBackgroundAnalysisProgram.bind(this),this._serverOptions.cancellationProvider);return t.setCompletionCallback((e=>this.onAnalysisCompletedHandler(e))),t}async getWorkspaceForFile(e){const t=this._workspaceMap.getWorkspaceForFile(this,e);return await t.isInitialized.promise,t}reanalyze(){this._workspaceMap.forEach((e=>{e.serviceInstance.invalidateAndForceReanalysis()}))}restart(){this._workspaceMap.forEach((e=>{e.serviceInstance.restart()}))}setupConnection(e,t){this._connection.onInitialize((n=>this.initialize(n,e,t))),this._connection.onInitialized((()=>this.onInitialized())),this._connection.onDidChangeConfiguration((e=>this.onDidChangeConfiguration(e))),this._connection.onCodeAction(((e,t)=>this.executeCodeAction(e,t))),this._connection.onDefinition((async(e,t)=>this.onDefinition(e,t))),this._connection.onDeclaration((async(e,t)=>this.onDeclaration(e,t))),this._connection.onTypeDefinition((async(e,t)=>this.onTypeDefinition(e,t))),this._connection.onReferences((async(e,t,n,i)=>this.onReferences(e,t,n,i))),this._connection.onDocumentSymbol((async(e,t)=>this.onDocumentSymbol(e,t))),this._connection.onWorkspaceSymbol((async(e,t,n,i)=>this.onWorkspaceSymbol(e,t,i))),this._connection.onHover((async(e,t)=>this.onHover(e,t))),this._connection.onDocumentHighlight((async(e,t)=>this.onDocumentHighlight(e,t))),this._connection.onSignatureHelp((async(e,t)=>this.onSignatureHelp(e,t))),this._connection.onCompletion(((e,t)=>this.onCompletion(e,t))),this._connection.onCompletionResolve((async(e,t)=>this.onCompletionResolve(e,t))),this._connection.onRenameRequest((async(e,t)=>this.onRenameRequest(e,t)));const n=this._connection.languages.callHierarchy;n.onPrepare((async(e,t)=>this.onPrepare(e,t))),n.onIncomingCalls((async(e,t)=>this.onIncomingCalls(e,t))),n.onOutgoingCalls((async(e,t)=>this.onOutgoingCalls(e,t))),this._connection.onDidOpenTextDocument((async e=>this.onDidOpenTextDocument(e))),this._connection.onDidChangeTextDocument((async e=>this.onDidChangeTextDocument(e))),this._connection.onDidCloseTextDocument((async e=>this.onDidCloseTextDocument(e))),this._connection.onDidChangeWatchedFiles((e=>this.onDidChangeWatchedFiles(e))),this._connection.onExecuteCommand((async(e,t,n)=>this.onExecuteCommand(e,t,n)))}async initialize(e,t,n){var i,r,s,o,a,l,c,u,p,d,h,m,f,g,y,_,v,T,b,I,S,x,C,w,E,k,D,A,P,R,F,N,M,O,L,U,q,V;this.diagnosticTextSettings={locale:e.locale,style:e.initializationOptions.diagnosticStyle},await dl(this.diagnosticTextSettings),this.rootPath=e.rootPath||"";const B=e.capabilities;this.client.hasConfigurationCapability=!!(null===(i=B.workspace)||void 0===i?void 0:i.configuration),this.client.hasWatchFileCapability=!!(null===(s=null===(r=B.workspace)||void 0===r?void 0:r.didChangeWatchedFiles)||void 0===s?void 0:s.dynamicRegistration),this.client.hasWorkspaceFoldersCapability=!!(null===(o=B.workspace)||void 0===o?void 0:o.workspaceFolders),this.client.hasVisualStudioExtensionsCapability=!!B.supportsVisualStudioExtensions,this.client.hasActiveParameterCapability=!!(null===(c=null===(l=null===(a=B.textDocument)||void 0===a?void 0:a.signatureHelp)||void 0===l?void 0:l.signatureInformation)||void 0===c?void 0:c.activeParameterSupport),this.client.hasSignatureLabelOffsetCapability=!!(null===(h=null===(d=null===(p=null===(u=B.textDocument)||void 0===u?void 0:u.signatureHelp)||void 0===p?void 0:p.signatureInformation)||void 0===d?void 0:d.parameterInformation)||void 0===h?void 0:h.labelOffsetSupport),this.client.hasHierarchicalDocumentSymbolCapability=!!(null===(f=null===(m=B.textDocument)||void 0===m?void 0:m.documentSymbol)||void 0===f?void 0:f.hierarchicalDocumentSymbolSupport),this.client.hasDocumentChangeCapability=!!(null===(y=null===(g=B.workspace)||void 0===g?void 0:g.workspaceEdit)||void 0===y?void 0:y.documentChanges)&&!!(null===(_=B.workspace.workspaceEdit)||void 0===_?void 0:_.resourceOperations),this.client.hasDocumentAnnotationCapability=!!(null===(T=null===(v=B.workspace)||void 0===v?void 0:v.workspaceEdit)||void 0===T?void 0:T.changeAnnotationSupport),this.client.hoverContentFormat=this._getCompatibleMarkupKind(null===(I=null===(b=B.textDocument)||void 0===b?void 0:b.hover)||void 0===I?void 0:I.contentFormat),this.client.completionDocFormat=this._getCompatibleMarkupKind(null===(C=null===(x=null===(S=B.textDocument)||void 0===S?void 0:S.completion)||void 0===x?void 0:x.completionItem)||void 0===C?void 0:C.documentationFormat),this.client.completionSupportsSnippet=!!(null===(k=null===(E=null===(w=B.textDocument)||void 0===w?void 0:w.completion)||void 0===E?void 0:E.completionItem)||void 0===k?void 0:k.snippetSupport),this.client.signatureDocFormat=this._getCompatibleMarkupKind(null===(P=null===(A=null===(D=B.textDocument)||void 0===D?void 0:D.signatureHelp)||void 0===A?void 0:A.signatureInformation)||void 0===P?void 0:P.documentationFormat);const W=(null===(N=null===(F=null===(R=B.textDocument)||void 0===R?void 0:R.publishDiagnostics)||void 0===F?void 0:F.tagSupport)||void 0===N?void 0:N.valueSet)||[];return this.client.supportsUnnecessaryDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Unnecessary)),this.client.supportsDeprecatedDiagnosticTag=W.some((e=>e===ot.DiagnosticTag.Deprecated)),this.client.hasWindowProgressCapability=!!(null===(M=B.window)||void 0===M?void 0:M.workDoneProgress),this.client.hasGoToDeclarationCapability=!!(null===(O=B.textDocument)||void 0===O?void 0:O.declaration),this.client.completionItemResolveSupportsAdditionalTextEdits=!!(null===(V=null===(q=null===(U=null===(L=B.textDocument)||void 0===L?void 0:L.completion)||void 0===U?void 0:U.completionItem)||void 0===q?void 0:q.resolveSupport)||void 0===V?void 0:V.properties.some((e=>"additionalTextEdits"===e))),e.workspaceFolders?e.workspaceFolders.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.set(t,this.createWorkspaceServiceInstance(e,t))})):e.rootPath&&this._workspaceMap.set(e.rootPath,this.createWorkspaceServiceInstance(void 0,e.rootPath)),this.updateSettingsForAllWorkspaces(),{capabilities:{textDocumentSync:ot.TextDocumentSyncKind.Incremental,definitionProvider:{workDoneProgress:!0},declarationProvider:{workDoneProgress:!0},typeDefinitionProvider:{workDoneProgress:!0},referencesProvider:{workDoneProgress:!0},documentSymbolProvider:{workDoneProgress:!0},workspaceSymbolProvider:{workDoneProgress:!0},hoverProvider:{workDoneProgress:!0},documentHighlightProvider:{workDoneProgress:!0},renameProvider:{workDoneProgress:!0},completionProvider:{triggerCharacters:this.client.hasVisualStudioExtensionsCapability?[".","[","@"]:[".","["],resolveProvider:!0,workDoneProgress:!0},signatureHelpProvider:{triggerCharacters:["(",",",")"],workDoneProgress:!0},codeActionProvider:{codeActionKinds:n,workDoneProgress:!0},executeCommandProvider:{commands:t,workDoneProgress:!0},callHierarchyProvider:!0}}}onInitialized(){this.client.hasWorkspaceFoldersCapability&&this._connection.workspace.onDidChangeWorkspaceFolders((e=>{e.removed.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._workspaceMap.delete(t)})),e.added.forEach((async e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=this.createWorkspaceServiceInstance(e,t);this._workspaceMap.set(t,n),await this.updateSettingsForWorkspace(n)}))})),this.client.hasWatchFileCapability&&this._connection.client.register(ot.DidChangeWatchedFilesNotification.type,{watchers:[...Pp.map((e=>({globPattern:`**/${e}`,kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}))),{globPattern:"**",kind:ot.WatchKind.Create|ot.WatchKind.Change|ot.WatchKind.Delete}]})}onDidChangeConfiguration(e){this.console.log("Received updated settings"),(null==e?void 0:e.settings)&&(this._defaultClientConfig=null==e?void 0:e.settings),this.updateSettingsForAllWorkspaces()}async onDefinition(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferSource:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onDeclaration(e,t){return this.getDefinitions(e,t,this.client.hasGoToDeclarationCapability?sc.PreferStubs:sc.All,((e,t,n,i,r)=>e.serviceInstance.getDefinitionForPosition(t,n,i,r)))}async onTypeDefinition(e,t){return this.getDefinitions(e,t,sc.All,((e,t,n,i,r)=>e.serviceInstance.getTypeDefinitionForPosition(t,n,r)))}async getDefinitions(e,t,n,i){this.recordUserInteractionTime();const{filePath:r,position:s}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(r);if(o.disableLanguageServices)return;const a=i(o,r,s,n,t);return a?a.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))):void 0}async onReferences(e,t,n,i){this._pendingFindAllRefsCancellationSource&&(this._pendingFindAllRefsCancellationSource.cancel(),this._pendingFindAllRefsCancellationSource=void 0);const r=await this._getProgressReporter(n,ml.CodeAction.findingReferences(),t),s=r.source;this._pendingFindAllRefsCancellationSource=s;try{const{filePath:t,position:n}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),o=await this.getWorkspaceForFile(t);if(o.disableLanguageServices)return;const a=e=>e.filter((e=>!this.fs.isInZipOrEgg(e.path))).map((e=>ot.Location.create(Ee(this.fs,e.path),e.range))),l=[],c=i?e=>i.report(a(e)):e=>l.push(...a(e));return o.serviceInstance.reportReferencesForPosition(t,n,e.context.includeDeclaration,c,s.token),l}finally{r.reporter.done(),s.dispose()}}async onDocumentSymbol(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);if(i.disableLanguageServices)return;const r=[];return i.serviceInstance.addSymbolsForDocument(n,r,t),this.client.hasHierarchicalDocumentSymbolCapability?r:function(e,t){const n=[];for(const i of t)Uc(n,e,i);return n}(e.textDocument.uri,r)}async onWorkspaceSymbol(e,t,n){const i=[],r=n?e=>n.report(e):e=>i.push(...e);for(const n of this._workspaceMap.values())await n.isInitialized.promise,n.disableLanguageServices||n.disableWorkspaceSymbol||n.serviceInstance.reportSymbolsForWorkspace(e.query,r,t);return i}async onHover(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=(await this.getWorkspaceForFile(n)).serviceInstance.getHoverForPosition(n,i,this.client.hoverContentFormat,t);return function(e,t){if(!t)return;const n=t.parts.map((t=>{if(t.python){if(e===ot.MarkupKind.Markdown)return"```python\n"+t.text+"\n```\n";if(e===ot.MarkupKind.PlainText)return t.text+"\n\n";E(`Unsupported markup type: ${e}`)}return t.text})).join("").trimEnd();return{contents:{kind:e,value:n},range:t.range}}(this.client.hoverContentFormat,r)}async onDocumentHighlight(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position);return(await this.getWorkspaceForFile(n)).serviceInstance.getDocumentHighlight(n,i,t)}async onSignatureHelp(e,t){var n,i,r,s;const{filePath:o,position:a}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),l=await this.getWorkspaceForFile(o);if(l.disableLanguageServices)return;const c=l.serviceInstance.getSignatureHelpForPosition(o,a,this.client.signatureDocFormat,t);if(!c)return;const u=c.signatures.map((e=>{let t=[];e.parameters&&(t=e.parameters.map((e=>ot.ParameterInformation.create(this.client.hasSignatureLabelOffsetCapability?[e.startOffset,e.endOffset]:e.text,e.documentation))));const n=ot.SignatureInformation.create(e.label,void 0,...t);return void 0!==e.documentation&&(n.documentation=e.documentation),void 0!==e.activeParameter&&(n.activeParameter=e.activeParameter),n})),p=e=>{var t;return void 0!==e.activeParameter||!c.callHasParameters&&!(null===(t=e.parameters)||void 0===t?void 0:t.length)};let d=u.findIndex(p);-1===d&&(d=null);let h=null!==d?u[d].activeParameter:null;if((null===(n=e.context)||void 0===n?void 0:n.isRetrigger)&&e.context.triggerKind!==ot.SignatureHelpTriggerKind.Invoked){const t=null!==(r=null===(i=e.context.activeSignatureHelp)||void 0===i?void 0:i.activeSignature)&&void 0!==r?r:null;if(null!==t&&t{var t,n;return null!==(n=null===(t=e.parameters)||void 0===t?void 0:t.length)&&void 0!==n?n:0})))),{signatures:u,activeSignature:d,activeParameter:h}}async onCompletion(e,t){var n,i;const r=this._lastTriggerKind!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions||(null===(n=e.context)||void 0===n?void 0:n.triggerKind)!==ot.CompletionTriggerKind.TriggerForIncompleteCompletions;this._lastTriggerKind=null===(i=e.context)||void 0===i?void 0:i.triggerKind;const{filePath:s,position:o}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),a=await this.getWorkspaceForFile(s);if(a.disableLanguageServices)return;const l=await this.getWorkspaceCompletionsForPosition(a,s,o,a.rootPath,this.getCompletionOptions(e),t);return l&&l.completionList&&(l.completionList.isIncomplete=r),null==l?void 0:l.completionList}async onCompletionResolve(e,t){const n=e.data;if(n&&n.filePath){const i=await this.getWorkspaceForFile(n.workspacePath);this.resolveWorkspaceCompletionItem(i,n.filePath,e,t)}return e}async onRenameRequest(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return;const s=r.serviceInstance.renameSymbolAtPosition(n,i,e.newName,""===r.rootPath,t);return s?function(e,t){const n={changes:{}};return t.forEach((t=>{const i=Ee(e,t.filePath);n.changes[i]=n.changes[i]||[],n.changes[i].push({range:t.range,newText:t.replacementText})})),n}(this.fs,s):void 0}async onPrepare(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.textDocument,e.position),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;const s=r.serviceInstance.getCallForPosition(n,i,t)||null;return s?this.fs.isInZipOrEgg(s.uri)?null:(s.uri=Ee(this.fs,s.uri),[s]):null}async onIncomingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getIncomingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.from.uri))),s.forEach((e=>{e.from.uri=Ee(this.fs,e.from.uri)})),s):null}async onOutgoingCalls(e,t){const{filePath:n,position:i}=this._uriParser.decodeTextDocumentPosition(e.item,e.item.range.start),r=await this.getWorkspaceForFile(n);if(r.disableLanguageServices)return null;let s=r.serviceInstance.getOutgoingCallsForPosition(n,i,t)||null;return s&&0!==s.length?(s=s.filter((e=>!this.fs.isInZipOrEgg(e.to.uri))),s.forEach((e=>{e.to.uri=Ee(this.fs,e.to.uri)})),s):null}async onDidOpenTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.addUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileOpened(t,e.textDocument.version,e.textDocument.text)}async onDidChangeTextDocument(e){this.recordUserInteractionTime();const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.hasUriMapEntry(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.updateOpenFileContents(t,e.textDocument.version,e.contentChanges)}async onDidCloseTextDocument(e){const t=this._uriParser.decodeTextDocumentUri(e.textDocument.uri);this.fs.removeUriMap(e.textDocument.uri,t)&&(await this.getWorkspaceForFile(t)).serviceInstance.setFileClosed(t)}onDidChangeWatchedFiles(e){e.changes.forEach((e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri),n=1===e.type?"add":"change";this._fileWatcherProvider.onFileChange(n,t)}))}async onExecuteCommand(e,t,n){this._pendingCommandCancellationSource&&(this._pendingCommandCancellationSource.cancel(),this._pendingCommandCancellationSource=void 0);const i=async t=>{const n=await this.executeCommand(e,t);return ot.WorkspaceEdit.is(n)&&this._connection.workspace.applyEdit({label:`Command '${e.command}'`,edit:n}),Mp.is(n)&&await this._connection.workspace.applyEdit({label:n.label,edit:n.edits}),n};if(!this.isLongRunningCommand(e.command))return await i(t);{const e=await this._getProgressReporter(n,ml.CodeAction.executingCommand(),t),r=e.source;this._pendingCommandCancellationSource=r;try{return await i(r.token)}finally{e.reporter.done(),r.dispose()}}}resolveWorkspaceCompletionItem(e,t,n,i){e.serviceInstance.resolveCompletionItem(t,n,this.getCompletionOptions(),void 0,i)}getWorkspaceCompletionsForPosition(e,t,n,i,r,s){return e.serviceInstance.getCompletionsForPosition(t,n,i,r,void 0,s)}updateSettingsForAllWorkspaces(){this._workspaceMap.forEach((e=>{this.updateSettingsForWorkspace(e).ignoreErrors()}))}getCompletionOptions(e){return{format:this.client.completionDocFormat,snippet:this.client.completionSupportsSnippet,lazyEdit:this.client.completionItemResolveSupportsAdditionalTextEdits,autoImport:!0}}createWorkspaceServiceInstance(e,t){var n,i,r;return{workspaceName:null!==(n=null==e?void 0:e.name)&&void 0!==n?n:"",rootPath:t,rootUri:null!==(i=null==e?void 0:e.uri)&&void 0!==i?i:"",serviceInstance:this.createAnalyzerService(null!==(r=null==e?void 0:e.name)&&void 0!==r?r:t),disableLanguageServices:!1,disableOrganizeImports:!1,disableWorkspaceSymbol:!1,isInitialized:gp()}}convertDiagnostics(e){return[{uri:Ee(this.fs,e.filePath),version:e.version,diagnostics:this._convertDiagnostics(e.diagnostics)}]}onAnalysisCompletedHandler(e){if(e.diagnostics.forEach((e=>{this.fs.isInZipOrEgg(e.filePath)||(this._sendDiagnostics(this.convertDiagnostics(e)),this.fs.pendingRequest(e.filePath,e.diagnostics.length>0))})),this._progressReporter.isEnabled(e))if(e.filesRequiringAnalysis>0){this._progressReporter.begin();const t=1===e.filesRequiringAnalysis?ml.CodeAction.filesToAnalyzeOne():ml.CodeAction.filesToAnalyzeCount().format({count:e.filesRequiringAnalysis});this._progressReporter.report(t)}else this._progressReporter.end();else this._progressReporter.end()}async updateSettingsForWorkspace(e,t){var n;t=null!=t?t:await this.getSettings(e),this.console.level=null!==(n=t.logLevel)&&void 0!==n?n:On.Info,this.updateOptionsAndRestartService(e,t),e.disableLanguageServices=!!t.disableLanguageServices,e.disableOrganizeImports=!!t.disableOrganizeImports,e.isInitialized.resolve(!0)}updateOptionsAndRestartService(e,t,n){yp.runWithOptions(this.rootPath,e,t,n)}convertLogLevel(e){if(!e)return On.Info;switch(e.toLowerCase()){case"error":return On.Error;case"warning":return On.Warn;case"information":return On.Info;case"trace":return On.Log;default:return On.Info}}_sendDiagnostics(e){for(const t of e)this._connection.sendDiagnostics(t)}_getCompatibleMarkupKind(e){const t=[ot.MarkupKind.PlainText,ot.MarkupKind.Markdown];for(const n of null!=e?e:[])if(t.includes(n))return n;return ot.MarkupKind.PlainText}async _getProgressReporter(e,t,n){if(e.constructor!==Up.constructor)return{reporter:e,source:ut(n)};const i=await this._connection.window.createWorkDoneProgress();return i.begin(t,void 0,void 0,!0),{reporter:i,source:ut(n,i.token)}}_convertDiagnostics(e){const t=[];return e.forEach((e=>{const n=function(e){switch(e){case 0:return ot.DiagnosticSeverity.Error;case 1:return ot.DiagnosticSeverity.Warning;case 2:return ot.DiagnosticSeverity.Information;case 3:case 4:return ot.DiagnosticSeverity.Hint}}(e.category),i=e.getRule(),r=ot.Diagnostic.create(e.range,e.message,n,i,this._serverOptions.productName);if(3===e.category){if(r.tags=[ot.DiagnosticTag.Unnecessary],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsUnnecessaryDiagnosticTag)return}else if(4===e.category&&(r.tags=[ot.DiagnosticTag.Deprecated],r.severity=ot.DiagnosticSeverity.Hint,!this.client.supportsDeprecatedDiagnosticTag))return;if(i){const e=this.getDocumentationUrlForDiagnosticRule(i);e&&(r.codeDescription={href:e})}const s=e.getRelatedInfo();s.length>0&&(r.relatedInformation=s.filter((e=>!this.fs.isInZipOrEgg(e.filePath))).map((e=>ot.DiagnosticRelatedInformation.create(ot.Location.create(Ee(this.fs,e.filePath),e.range),e.message)))),t.push(r)})),t}recordUserInteractionTime(){this._workspaceMap.forEach((e=>{e.serviceInstance.recordUserInteractionTime()}))}getDocumentationUrlForDiagnosticRule(e){return"https://github.com/microsoft/pyright/blob/main/docs/configuration.md"}expandPathVariables(e,t){return t.replace(/\$\{(.*?)\}/g,((t,n)=>{const i=n.trim();return"workspaceFolder"===i?e:"env:HOME"===i&&void 0!=={}.HOME?{}.HOME:"env:USERNAME"===i&&void 0!=={}.USERNAME?{}.USERNAME:"env:VIRTUAL_ENV"===i&&void 0!=={}.VIRTUAL_ENV?{}.VIRTUAL_ENV:t}))}}{constructor(e){const t=__webpack_require__(306).i8||"",n=__webpack_require__.g.__rootDirectory||"/",i=new qn(e.console),r=new Sd,s=nt;super({productName:"Pyright",rootDirectory:n,version:t,workspaceMap:r,fileSystem:new rd(!1,{cwd:X("/")}),fileWatcherProvider:s,cancellationProvider:new pt,maxAnalysisTimeInForeground:Cd,supportedCodeActions:[xd.CodeActionKind.QuickFix,xd.CodeActionKind.SourceOrganizeImports]},e,i),this._controller=new bp(this)}setupConnection(e,t){super.setupConnection(e,t),this._connection.onNotification("pyright/createFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.apply({[t]:""}),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.createFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onNotification("pyright/deleteFile",(e=>{const t=this._uriParser.decodeTextDocumentUri(e.uri);this._serverOptions.fileSystem.unlinkSync(t),this._workspaceMap.forEach((t=>{const n=t.serviceInstance.backgroundAnalysisProgram.backgroundAnalysis;null==n||n.deleteFile(e),t.serviceInstance.invalidateAndForceReanalysis()}))})),this._connection.onRequest(Sn,(e=>{var t;return this._workspaceMap.getWorkspaceForFile(this,e.path).serviceInstance.getApiDocs(e.modules,null!==(t=e.documentationFormat)&&void 0!==t?t:[xd.MarkupKind.PlainText])}))}async initialize(e,t,n){const{files:i}=e.initializationOptions;return"object"==typeof i&&(this._initialFiles=i,this._serverOptions.fileSystem.apply(i)),super.initialize(e,t,n)}async getSettings(e){const t={watchForSourceChanges:!1,watchForLibraryChanges:!1,watchForConfigChanges:!1,openFilesOnly:!0,useLibraryCodeForTypes:!1,disableLanguageServices:!1,disableOrganizeImports:!1,typeCheckingMode:"basic",diagnosticSeverityOverrides:{},logLevel:On.Info,autoImportCompletions:!0};try{const n=await this.getConfiguration(e.rootUri,"python");if(n){const i=n.pythonPath;i&&r(i)&&!gn(i)&&(t.pythonPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)));const s=n.venvPath;s&&r(s)&&(t.venvPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)))}const i=await this.getConfiguration(e.rootUri,"python.analysis");if(i){const n=i.typeshedPaths;if(n&&Array.isArray(n)&&n.length>0){const i=n[0];i&&r(i)&&(t.typeshedPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,i)))}const s=i.stubPath;s&&r(s)&&(t.stubPath=ee(e.rootPath,this.expandPathVariables(e.rootPath,s)));const o=i.diagnosticSeverityOverrides;if(o)for(const[e,n]of Object.entries(o)){const i=this.getDiagnosticRuleName(e),r=this.getSeverityOverrides(n);i&&r&&(t.diagnosticSeverityOverrides[i]=r)}void 0!==i.diagnosticMode?t.openFilesOnly=this.isOpenFilesOnly(i.diagnosticMode):void 0!==i.openFilesOnly&&(t.openFilesOnly=!!i.openFilesOnly),void 0!==i.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!i.useLibraryCodeForTypes),t.logLevel=this.convertLogLevel(i.logLevel),t.autoSearchPaths=!!i.autoSearchPaths;const a=i.extraPaths;a&&Array.isArray(a)&&a.length>0&&(t.extraPaths=a.filter((e=>e&&r(e))).map((t=>ee(e.rootPath,this.expandPathVariables(e.rootPath,t))))),void 0!==i.typeCheckingMode&&(t.typeCheckingMode=i.typeCheckingMode),void 0!==i.autoImportCompletions&&(t.autoImportCompletions=i.autoImportCompletions),t.logLevel===On.Log&&void 0!==i.logTypeEvaluationTime&&(t.logTypeEvaluationTime=i.logTypeEvaluationTime),void 0!==i.typeEvaluationTimeThreshold&&(t.typeEvaluationTimeThreshold=i.typeEvaluationTimeThreshold)}else t.autoSearchPaths=!0;const s=await this.getConfiguration(e.rootUri,"pyright");if(s){void 0!==s.openFilesOnly&&(t.openFilesOnly=!!s.openFilesOnly),void 0!==s.useLibraryCodeForTypes&&(t.useLibraryCodeForTypes=!!s.useLibraryCodeForTypes),t.disableLanguageServices=!!s.disableLanguageServices,t.disableOrganizeImports=!!s.disableOrganizeImports;const e=s.typeCheckingMode;e&&r(e)&&(t.typeCheckingMode=e)}}catch(e){this.console.error(`Error reading settings: ${e}`)}return t}createBackgroundAnalysis(){const e=new Ed(this.console,this.diagnosticTextSettings);return this._initialFiles&&e.initializeFileSystem(this._initialFiles),e}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}executeCommand(e,t){return this._controller.execute(e,t)}isLongRunningCommand(e){return this._controller.isLongRunningCommand(e)}async executeCodeAction(e,t){this.recordUserInteractionTime();const n=this._uriParser.decodeTextDocumentUri(e.textDocument.uri),i=await this.getWorkspaceForFile(n);return class{static async getCodeActionsForPosition(e,t,n,i){ct(i);const r=[];if(!e.disableLanguageServices){const s=await e.serviceInstance.getDiagnosticsForRange(t,n,i),o=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.createtypestub"===e.action))}));if(o){const n=o.getActions().find((e=>"pyright.createtypestub"===e.action));if(n){const i=ot.CodeAction.create(ml.CodeAction.createTypeStubFor().format({moduleName:n.moduleName}),ot.Command.create(ml.CodeAction.createTypeStub(),"pyright.createtypestub",e.rootPath,n.moduleName,t),ot.CodeActionKind.QuickFix);r.push(i)}}const a=s.find((e=>{const t=e.getActions();return t&&t.find((e=>"pyright.addoptionalforparam"===e.action))}));if(a){const n=a.getActions().find((e=>"pyright.addoptionalforparam"===e.action));if(n){const i=e.serviceInstance.getImportResolver().fileSystem,s=ot.CodeAction.create(ml.CodeAction.addOptionalToAnnotation(),ot.Command.create(ml.CodeAction.addOptionalToAnnotation(),"pyright.addoptionalforparam",Ee(i,t),n.offsetOfTypeNode),ot.CodeActionKind.QuickFix);r.push(s)}}}return r}}.getCodeActionsForPosition(i,n,e.range,t)}createProgressReporter(){let e;return{isEnabled:e=>!0,begin:()=>{this.client.hasWindowProgressCapability?(e=this._connection.window.createWorkDoneProgress(),e.then((e=>{e.begin("")})).ignoreErrors()):this._connection.sendNotification("pyright/beginProgress")},report:t=>{e?e.then((e=>{e.report(t)})).ignoreErrors():this._connection.sendNotification("pyright/reportProgress",t)},end:()=>{e?(e.then((e=>{e.done()})).ignoreErrors(),e=void 0):this._connection.sendNotification("pyright/endProgress")}}}}class Ed extends class{constructor(e){this.console=e,this._onAnalysisCompletion=Nn}setup(e){this._worker=e,e.on("message",(e=>this.onMessage(e))),e.on("error",(e=>{this.log(On.Error,`Error occurred on background thread: ${JSON.stringify(e)}`)}))}onMessage(e){switch(e.requestType){case"log":{const t=e.data;this.log(t.level,t.message);break}case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;default:E(`${e.requestType} is not expected`)}}setCompletionCallback(e){this._onAnalysisCompletion=null!=e?e:Nn}initializeFileSystem(e){this.enqueueRequest({requestType:"initializeFileSystem",data:e})}createFile(e){this.enqueueRequest({requestType:"createFile",data:e})}deleteFile(e){this.enqueueRequest({requestType:"deleteFile",data:e})}setImportResolver(e){this.enqueueRequest({requestType:"setImportResolver",data:e.host.kind})}setConfigOptions(e){this.enqueueRequest({requestType:"setConfigOptions",data:e})}setTrackedFiles(e){this.enqueueRequest({requestType:"setTrackedFiles",data:e})}setAllowedThirdPartyImports(e){this.enqueueRequest({requestType:"setAllowedThirdPartyImports",data:e})}ensurePartialStubPackages(e){this.enqueueRequest({requestType:"ensurePartialStubPackages",data:{executionRoot:e}})}setFileOpened(e,t,n,i){this.enqueueRequest({requestType:"setFileOpened",data:{filePath:e,version:t,contents:n,options:i}})}setFileClosed(e){this.enqueueRequest({requestType:"setFileClosed",data:e})}markAllFilesDirty(e,t){this.enqueueRequest({requestType:"markAllFilesDirty",data:{evenIfContentsAreSame:e,indexingNeeded:t}})}markFilesDirty(e,t,n){this.enqueueRequest({requestType:"markFilesDirty",data:{filePaths:e,evenIfContentsAreSame:t,indexingNeeded:n}})}startAnalysis(e,t){this._startOrResumeAnalysis("analyze",e,t)}_startOrResumeAnalysis(e,t,n){const{port1:i,port2:r}=En();i.on("message",(e=>{switch(e.requestType){case"analysisResult":this._onAnalysisCompletion(dp(e.data));break;case"analysisPaused":r.close(),i.close(),this._startOrResumeAnalysis("resumeAnalysis",t,n);break;case"indexResult":{const{path:n,indexResults:i}=e.data;null==t||t.setWorkspaceIndex(n,i);break}case"analysisDone":!function(e){e instanceof cp&&e.dispose()}(n),r.close(),i.close();break;default:E(`${e.requestType} is not expected`)}})),i.start(),r.start();const s=pp(n);this.enqueueRequest({requestType:e,data:s,port:r})}startIndexing(e,t,n,i,r){}refreshIndexing(e,t,n,i){}cancelIndexing(e){}async getDiagnosticsForRange(e,t,n){ct(n);const{port1:i,port2:r}=En();i.start(),r.start();const s=op(i),o=pp(n);this.enqueueRequest({requestType:"getDiagnosticsForRange",data:{filePath:e,range:t,cancellationId:o},port:r});const a=await s;return r.close(),i.close(),hp(a)}async writeTypeStub(e,t,n,i){ct(i);const{port1:r,port2:s}=En(),o=op(r),a=pp(i);this.enqueueRequest({requestType:"writeTypeStub",data:{targetImportPath:e,targetIsSingleFile:t,stubPath:n,cancellationId:a},port:s}),await o,s.close(),r.close()}invalidateAndForceReanalysis(e){this.enqueueRequest({requestType:"invalidateAndForceReanalysis",data:e})}restart(){this.enqueueRequest({requestType:"restart",data:null})}enqueueRequest(e){this._worker&&this._worker.postMessage(e,e.port?[e.port]:void 0)}log(e,t){Vn(this.console,e,t)}}{constructor(e,t){super(e);const n=(i={rootDirectory:__webpack_require__.g.__rootDirectory,cancellationFolderName:void 0,runner:void 0,diagnosticTextSettings:t},wn().createWorker(i));var i;this.setup(n)}}class kd extends class extends class{constructor(e,t){var n;this.parentPort=e,n=t.cancellationFolderName,at=n,__webpack_require__.g.__rootDirectory=t.rootDirectory,this._realFs=this.createRealFileSystem(),this.fs=new rt(this._realFs)}log(e,t){var n;null===(n=this.parentPort)||void 0===n||n.postMessage({requestType:"log",data:{level:e,message:t}})}getConsole(){return{log:e=>{this.log(On.Log,e)},info:e=>{this.log(On.Info,e)},warn:e=>{this.log(On.Warn,e)},error:e=>{this.log(On.Error,e)},level:On.Log}}}{constructor(e,t,n){super(e,t),this._extension=n;const i=t;this.log(On.Info,`Background analysis(${Dn()}) root directory: ${i.rootDirectory}`),this._configOptions=new Ec(i.rootDirectory),this._host=this.createHost(),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host);const r=this.getConsole();this._logTracker=new Bn(r,`BG(${Dn()})`),this._program=new rp(this._importResolver,this._configOptions,r,this._extension,this._logTracker)}get program(){return this._program}start(){var e,t,n,i;this.log(On.Info,`Background analysis(${Dn()}) started`),null===(e=this.parentPort)||void 0===e||e.on("message",(e=>this.onMessage(e))),null===(t=this.parentPort)||void 0===t||t.on("error",(e=>E(`failed ${e}`))),null===(n=this.parentPort)||void 0===n||n.on("exit",(e=>{0!==e&&E(`worker stopped with exit code ${e}`)})),null===(i=this.parentPort)||void 0===i||i.start()}onMessage(e){switch(this.log(On.Log,`Background analysis message: ${e.requestType}`),e.requestType){case"initializeFileSystem":this._realFs.apply(e.data);break;case"createFile":{const t=we(this.fs,e.data.uri);this._realFs.apply({[t]:""});break}case"deleteFile":{const t=we(this.fs,e.data.uri);this.fs.unlinkSync(t);break}case"analyze":{const t=e.port,n=up(e.data),i=this.program.getFilesToAnalyzeCount();this._onAnalysisCompletion(t,{diagnostics:[],filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:i,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:0}),this._analyzeOneChunk(t,n,e);break}case"resumeAnalysis":{const t=e.port,n=up(e.data);this._analyzeOneChunk(t,n,e);break}case"getDiagnosticsForRange":sp((()=>{const{filePath:t,range:n,cancellationId:i}=e.data;return ct(up(i)),this.program.getDiagnosticsForRange(t,n)}),e.port);break;case"writeTypeStub":sp((()=>{const{targetImportPath:t,targetIsSingleFile:n,stubPath:i,cancellationId:r}=e.data,s=up(r);Mn(this.program,void 0,this._configOptions,Nn,this.getConsole(),s),this.program.writeTypeStub(t,n,i,s)}),e.port);break;case"setImportResolver":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this.createHost()),this.program.setImportResolver(this._importResolver);break;case"setConfigOptions":this._configOptions=function(e){const t=new Ec(e.projectRoot),n=e=>({wildcardRoot:e.wildcardRoot,regExp:new RegExp(e.regExp.source)});return t.pythonPath=e.pythonPath,t.typeshedPath=e.typeshedPath,t.stubPath=e.stubPath,t.autoExcludeVenv=e.autoExcludeVenv,t.verboseOutput=e.verboseOutput,t.checkOnlyOpenFiles=e.checkOnlyOpenFiles,t.useLibraryCodeForTypes=e.useLibraryCodeForTypes,t.internalTestMode=e.internalTestMode,t.indexGenerationMode=e.indexGenerationMode,t.venvPath=e.venvPath,t.venv=e.venv,t.defaultPythonVersion=e.defaultPythonVersion,t.defaultPythonPlatform=e.defaultPythonPlatform,t.defaultExtraPaths=e.defaultExtraPaths,t.diagnosticRuleSet=e.diagnosticRuleSet,t.executionEnvironments=e.executionEnvironments,t.autoImportCompletions=e.autoImportCompletions,t.indexing=e.indexing,t.logTypeEvaluationTime=e.logTypeEvaluationTime,t.typeEvaluationTimeThreshold=e.typeEvaluationTimeThreshold,t.include=e.include.map((e=>n(e))),t.exclude=e.exclude.map((e=>n(e))),t.ignore=e.ignore.map((e=>n(e))),t.strict=e.strict.map((e=>n(e))),t}(e.data),this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setConfigOptions(this._configOptions),this.program.setImportResolver(this._importResolver);break;case"setTrackedFiles":{const t=this.program.setTrackedFiles(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"setAllowedThirdPartyImports":this.program.setAllowedThirdPartyImports(e.data);break;case"ensurePartialStubPackages":{const{executionRoot:t}=e.data,n=this._configOptions.getExecutionEnvironments().find((e=>e.root===t));n&&this._importResolver.ensurePartialStubPackages(n);break}case"setFileOpened":{const{filePath:t,version:n,contents:i,options:r}=e.data;this.program.setFileOpened(t,n,i,r);break}case"setFileClosed":{const t=this.program.setFileClosed(e.data);this._reportDiagnostics(t,this.program.getFilesToAnalyzeCount(),0);break}case"markAllFilesDirty":{const{evenIfContentsAreSame:t,indexingNeeded:n}=e.data;this.program.markAllFilesDirty(t,n);break}case"markFilesDirty":{const{filePaths:t,evenIfContentsAreSame:n,indexingNeeded:i}=e.data;this.program.markFilesDirty(t,n,i);break}case"invalidateAndForceReanalysis":this._importResolver.invalidateCache(),this.program.markAllFilesDirty(!0,e.data);break;case"restart":this._importResolver=this.createImportResolver(this.fs,this._configOptions,this._host),this.program.setImportResolver(this._importResolver);break;default:E(`${e.requestType} is not expected`)}}_analyzeOneChunk(e,t,n){Mn(this.program,{openFilesTimeInMs:50,noOpenFilesTimeInMs:200},this._configOptions,(t=>this._onAnalysisCompletion(e,t)),this.getConsole(),t)?this._analysisPaused(e,n.data):(this.processIndexing(e,t),this.analysisDone(e,n.data))}processIndexing(e,t){}reportIndex(e,t){e.postMessage({requestType:"indexResult",data:t})}_reportDiagnostics(e,t,n){this.parentPort&&this._onAnalysisCompletion(this.parentPort,{diagnostics:e,filesInProgram:this.program.getFileCount(),filesRequiringAnalysis:t,checkingOnlyOpenFiles:this.program.isCheckingOnlyOpenFiles(),fatalErrorOccurred:!1,configParseErrorOccurred:!1,elapsedTime:n})}_onAnalysisCompletion(e,t){e.postMessage({requestType:"analysisResult",data:t})}_analysisPaused(e,t){e.postMessage({requestType:"analysisPaused",data:t})}analysisDone(e,t){e.postMessage({requestType:"analysisDone",data:t})}}{constructor(e){super(kn(),e)}createRealFileSystem(){return new rd(!1,{cwd:X("/")})}createHost(){return new Ip}createImportResolver(e,t,n){return new In(e,t,n)}}class Dd{constructor(e){this._parentPort=e}threadId(){return self.name}parentPort(){return this._parentPort?new Ad(this._parentPort):null}createWorker(e){const t=new globalThis.MessageChannel;return self.postMessage({type:"browser/newWorker",initialData:e,port:t.port1},[t.port1]),t.port1.start(),t.port2.start(),new Ad(t.port2)}createMessageChannel(){const e=new globalThis.MessageChannel;return{port1:new Ad(e.port1),port2:new Ad(e.port2)}}}class Ad{constructor(e){this.delegate=e}unwrap(){return this.delegate}postMessage(e,t){t?this.delegate.postMessage(Pd(e),Pd(t)):this.delegate.postMessage(e)}on(e,t){"message"===e&&this.delegate.addEventListener(e,(e=>{const n=e.data;t(An(n,(e=>e instanceof globalThis.MessagePort?new Ad(e):e)))}))}start(){this.delegate.start()}close(){this.delegate.close()}}function Pd(e){return An(e,(e=>e instanceof Ad?e.unwrap():e))}const Rd=self;Rd.addEventListener("message",(async t=>{if("browser/boot"===t.data.type){const n=t.data,{mode:i,port:r,initialData:s}=n;try{if("foreground"===i)Cn(new Dd),Rd.app=new wd((0,e.createConnection)(new e.BrowserMessageReader(Rd),new e.BrowserMessageWriter(Rd)));else{if("background"!==i)throw new Error(`Invalid "mode" boot parameter: ${i}`);if(!s)throw new Error('Missing "initialData" background boot parameter.');if(!(r instanceof MessagePort))throw new Error(`Invalid "port" parameter: ${r}`);Cn(new Dd(r)),await dl(s.diagnosticTextSettings),Rd.app=new kd(s),Rd.app.start()}}catch(t){throw Rd.close(),t}}}))})()})(); +//# sourceMappingURL=pyright-main-9de05813f9fe07eabc93.worker.js.map \ No newline at end of file diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js.LICENSE.txt b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js.LICENSE.txt new file mode 100644 index 0000000..df537c5 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js.LICENSE.txt @@ -0,0 +1,8 @@ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js.map b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js.map new file mode 100644 index 0000000..71b20d5 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/pyright-main-9de05813f9fe07eabc93.worker.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["pyright/node_modules/base64-js/index.js","pyright/node_modules/buffer/index.js","pyright/node_modules/ieee754/index.js","pyright/node_modules/path-browserify/index.js","pyright-internal/src/common/extensions.ts","pyright/node_modules/vscode-jsonrpc/browser.js","pyright/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright/node_modules/vscode-jsonrpc/lib/common/api.js","pyright/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright/node_modules/vscode-jsonrpc/lib/common/events.js","pyright/node_modules/vscode-jsonrpc/lib/common/is.js","pyright/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright/node_modules/vscode-languageserver-protocol/browser.js","pyright/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright/node_modules/vscode-languageserver/browser.js","pyright/node_modules/vscode-languageserver/lib/browser/main.js","pyright/node_modules/vscode-languageserver/lib/common/api.js","pyright/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright/node_modules/vscode-languageserver/lib/common/configuration.js","pyright/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright/node_modules/vscode-languageserver/lib/common/moniker.js","pyright/node_modules/vscode-languageserver/lib/common/progress.js","pyright/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright/node_modules/vscode-languageserver/lib/common/server.js","pyright/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","pyright-internal/node_modules/@iarna/toml/lib/create-date.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime-float.js","pyright-internal/node_modules/@iarna/toml/lib/create-datetime.js","pyright-internal/node_modules/@iarna/toml/lib/create-time.js","pyright-internal/node_modules/@iarna/toml/lib/format-num.js","pyright-internal/node_modules/@iarna/toml/lib/parser.js","pyright-internal/node_modules/@iarna/toml/lib/toml-parser.js","pyright-internal/node_modules/@iarna/toml/parse-async.js","pyright-internal/node_modules/@iarna/toml/parse-pretty-error.js","pyright-internal/node_modules/@iarna/toml/parse-stream.js","pyright-internal/node_modules/@iarna/toml/parse-string.js","pyright-internal/node_modules/@iarna/toml/parse.js","pyright-internal/node_modules/@iarna/toml/stringify.js","pyright-internal/node_modules/@iarna/toml/toml.js","pyright-internal/node_modules/leven/index.js","pyright-internal/node_modules/vscode-jsonrpc/browser.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/main.js","pyright-internal/node_modules/vscode-jsonrpc/lib/browser/ril.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/api.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/cancellation.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/connection.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/disposable.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/events.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/is.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/linkedMap.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageReader.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messageWriter.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/messages.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/ral.js","pyright-internal/node_modules/vscode-jsonrpc/lib/common/semaphore.js","pyright-internal/node_modules/vscode-languageserver-protocol/browser.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/connection.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/messages.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolders.js","pyright-internal/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver-types/lib/esm/main.js","pyright-internal/node_modules/vscode-languageserver/lib/browser/main.js","pyright-internal/node_modules/vscode-languageserver/lib/common/api.js","pyright-internal/node_modules/vscode-languageserver/lib/common/callHierarchy.js","pyright-internal/node_modules/vscode-languageserver/lib/common/configuration.js","pyright-internal/node_modules/vscode-languageserver/lib/common/fileOperations.js","pyright-internal/node_modules/vscode-languageserver/lib/common/linkedEditingRange.js","pyright-internal/node_modules/vscode-languageserver/lib/common/moniker.js","pyright-internal/node_modules/vscode-languageserver/lib/common/progress.js","pyright-internal/node_modules/vscode-languageserver/lib/common/semanticTokens.js","pyright-internal/node_modules/vscode-languageserver/lib/common/server.js","pyright-internal/node_modules/vscode-languageserver/lib/common/showDocument.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/is.js","pyright-internal/node_modules/vscode-languageserver/lib/common/utils/uuid.js","pyright-internal/node_modules/vscode-languageserver/lib/common/workspaceFolders.js","webpack/bootstrap","webpack/runtime/create fake namespace object","webpack/runtime/compat get default export","webpack/runtime/define property getters","webpack/runtime/ensure chunk","webpack/runtime/get javascript chunk filename","webpack/runtime/global","webpack/runtime/hasOwnProperty shorthand","webpack/runtime/make namespace object","webpack/runtime/publicPath","webpack/runtime/importScripts chunk loading","pyright-internal/src/common/core.ts","pyright-internal/src/common/collectionUtils.ts","pyright-internal/src/common/pathConsts.ts","pyright-internal/node_modules/vscode-uri/lib/esm/index.js","pyright-internal/src/common/debug.ts","pyright-internal/src/common/crypto.ts","pyright-internal/src/common/stringUtils.ts","pyright-internal/src/common/pathUtils.ts","pyright-internal/src/common/pythonVersion.ts","pyright-internal/src/parser/characters.ts","pyright-internal/src/parser/unicode.ts","pyright-internal/src/analyzer/pyTypedUtils.ts","pyright-internal/src/common/fileSystem.ts","pyright-internal/src/pyrightFileSystem.ts","pyright-internal/src/readonlyAugmentedFileSystem.ts","pyright-internal/src/common/cancellationUtils.ts","pyright-internal/src/common/textRange.ts","pyright-internal/src/analyzer/codeFlowTypes.ts","pyright-internal/src/common/positionUtils.ts","pyright-internal/src/analyzer/analyzerNodeInfo.ts","pyright-internal/src/analyzer/symbolNameUtils.ts","pyright-internal/src/analyzer/importStatementUtils.ts","pyright-internal/src/analyzer/parentDirectoryCache.ts","pyright-internal/src/analyzer/pythonPathUtils.ts","pyright-internal/src/analyzer/importResolver.ts","pyright-internal/src/apidocsProtocol.ts","pyright-internal/src/common/workersHost.ts","pyright-internal/src/common/timing.ts","pyright-internal/src/analyzer/analysis.ts","pyright-internal/src/common/console.ts","pyright-internal/src/common/logTracker.ts","pyright-internal/src/analyzer/declaration.ts","pyright-internal/src/parser/parseNodes.ts","pyright-internal/src/analyzer/parseTreeWalker.ts","pyright-internal/src/analyzer/parseTreeUtils.ts","pyright-internal/src/analyzer/declarationUtils.ts","pyright-internal/src/analyzer/docStringUtils.ts","pyright-internal/src/analyzer/docStringConversion.ts","pyright-internal/src/analyzer/scopeUtils.ts","pyright-internal/src/analyzer/types.ts","pyright-internal/src/analyzer/symbol.ts","pyright-internal/src/analyzer/symbolUtils.ts","pyright-internal/src/analyzer/typeVarMap.ts","pyright-internal/src/analyzer/typeUtils.ts","pyright-internal/src/common/diagnosticRules.ts","pyright-internal/src/analyzer/sourceMapper.ts","pyright-internal/src/common/diagnostic.ts","pyright-internal/src/localization/localize.ts","pyright-internal/src/analyzer/typedDicts.ts","pyright-internal/src/analyzer/typeDocStringUtils.ts","pyright-internal/src/analyzer/typePrinter.ts","pyright-internal/src/languageService/documentSymbolCollector.ts","pyright-internal/src/languageService/tooltipUtils.ts","pyright-internal/src/languageService/completionProvider.ts","pyright-internal/src/languageService/autoImporter.ts","pyright-internal/src/languageService/callHierarchyProvider.ts","pyright-internal/src/languageService/referencesProvider.ts","pyright-internal/src/languageService/renameModuleProvider.ts","pyright-internal/node_modules/vscode-languageserver-textdocument/lib/esm/main.js","pyright-internal/src/common/configOptions.ts","pyright-internal/src/languageService/definitionProvider.ts","pyright-internal/src/parser/tokenizerTypes.ts","pyright-internal/src/analyzer/circularDependency.ts","pyright-internal/src/common/diagnosticSink.ts","pyright-internal/src/common/textRangeCollection.ts","pyright-internal/src/analyzer/aliasDeclarationUtils.ts","pyright-internal/src/languageService/documentSymbolProvider.ts","pyright-internal/src/languageService/importSorter.ts","pyright-internal/src/parser/stringTokenUtils.ts","pyright-internal/src/parser/characterStream.ts","pyright-internal/src/parser/tokenizer.ts","pyright-internal/src/parser/parser.ts","pyright-internal/src/analyzer/scope.ts","pyright-internal/src/analyzer/staticExpressions.ts","pyright-internal/src/analyzer/binder.ts","pyright-internal/src/analyzer/typeGuards.ts","pyright-internal/src/analyzer/patternMatching.ts","pyright-internal/src/analyzer/checker.ts","pyright-internal/src/analyzer/commentUtils.ts","pyright-internal/src/analyzer/parseTreeCleaner.ts","pyright-internal/src/analyzer/testWalker.ts","pyright-internal/src/analyzer/sourceFile.ts","pyright-internal/src/languageService/hoverProvider.ts","pyright-internal/src/languageService/documentHighlightProvider.ts","pyright-internal/src/languageService/signatureHelpProvider.ts","pyright-internal/src/languageService/quickActions.ts","pyright-internal/src/analyzer/tracePrinter.ts","pyright-internal/src/analyzer/typeCache.ts","pyright-internal/src/analyzer/namedTuples.ts","pyright-internal/src/analyzer/dataClasses.ts","pyright-internal/src/analyzer/functionTransform.ts","pyright-internal/src/analyzer/properties.ts","pyright-internal/src/analyzer/typeEvaluator.ts","pyright-internal/src/analyzer/constructorTransform.ts","pyright-internal/src/analyzer/codeFlowEngine.ts","pyright-internal/src/analyzer/typeStubWriter.ts","pyright-internal/src/analyzer/program.ts","pyright-internal/src/analyzer/typeEvaluatorWithTracker.ts","pyright-internal/src/backgroundThreadBase.ts","pyright-internal/src/common/fileBasedCancellationUtils.ts","pyright-internal/src/backgroundAnalysisBase.ts","pyright-internal/src/common/commandLineOptions.ts","pyright-internal/src/common/deferred.ts","pyright-internal/src/languageService/analyzerServiceExecutor.ts","pyright-internal/src/commands/createTypeStub.ts","pyright-internal/src/commands/quickActionCommand.ts","pyright-internal/src/common/textEditUtils.ts","pyright-internal/src/commands/restartServer.ts","pyright-internal/src/commands/commandController.ts","pyright-internal/src/common/host.ts","pyright-internal/src/analyzer/backgroundAnalysisProgram.ts","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/parser.js","pyright-internal/node_modules/jsonc-parser/lib/esm/impl/scanner.js","pyright-internal/src/analyzer/service.ts","pyright-internal/src/commands/commandResult.ts","pyright-internal/src/common/progressReporter.ts","pyright-internal/src/common/uriParser.ts","pyright-internal/src/languageServerBase.ts","pyright-internal/src/tests/harness/utils.ts","pyright-internal/src/tests/harness/vfs/pathValidation.ts","pyright-internal/src/tests/harness/vfs/filesystem.ts","pyright-internal/src/workspaceMap.ts","pyright/src/browser-server.ts","pyright-internal/src/common/workspaceEditUtils.ts","pyright-internal/src/languageService/codeActionProvider.ts","pyright/src/browserWorkersHost.ts","pyright/src/worker.ts"],"names":["exports","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","i","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","maxChunkLength","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","base64","ieee754","customInspectSymbol","Symbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","string","encoding","isEncoding","actual","write","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","b","obj","isBuffer","checked","undefined","numberIsNaN","type","isArray","data","fromObject","toPrimitive","assertSize","size","array","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","e","typedArraySupport","console","error","defineProperty","enumerable","get","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","split","base64clean","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","isNaN","log","LN2","assertPath","path","JSON","stringify","normalizeStringPosix","allowAboveRoot","lastSegmentLength","lastSlash","dots","lastSlashIndex","posix","resolve","cwd","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSeparator","joined","relative","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","_makeLong","dirname","hasRoot","matchedSlash","basename","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","format","pathObject","sep","root","base","_format","parse","delimiter","win32","module","Promise","ignoreErrors","catch","__createBinding","create","o","k","k2","__exportStar","p","hasOwnProperty","createMessageConnection","BrowserMessageWriter","BrowserMessageReader","default","install","api_1","AbstractMessageReader","context","_onData","Emitter","_messageListener","event","fire","addEventListener","fireError","onmessage","listen","callback","AbstractMessageWriter","errorCount","postMessage","handleError","reject","reader","writer","logger","options","NullLogger","ConnectionStrategy","is","connectionStrategy","ral_1","disposable_1","events_1","messageBuffer_1","MessageBuffer","AbstractMessageBuffer","asciiDecoder","TextDecoder","emptyBuffer","_encoding","TextEncoder","encode","decode","asNative","allocNative","ReadableStreamWrapper","socket","arrayBuffer","then","onClose","listener","Disposable","removeEventListener","onError","onEnd","onData","WritableStreamWrapper","send","close","_textEncoder","_ril","freeze","messageBuffer","applicationJson","encoder","charset","decoder","stream","asReadableStream","asWritableStream","timer","setTimeout","ms","args","clearTimeout","handle","setImmediate","clearImmediate","RIL","CancellationSenderStrategy","CancellationReceiverStrategy","ConnectionError","ConnectionErrors","LogTraceNotification","SetTraceNotification","TraceFormat","Trace","ProgressType","ConnectionOptions","WriteableStreamMessageWriter","MessageWriter","ReadableStreamMessageReader","MessageReader","CancellationToken","CancellationTokenSource","Event","ParameterStructures","NotificationType9","NotificationType8","NotificationType7","NotificationType6","NotificationType5","NotificationType4","NotificationType3","NotificationType2","NotificationType1","NotificationType0","NotificationType","ErrorCodes","ResponseError","RequestType9","RequestType8","RequestType7","RequestType6","RequestType5","RequestType4","RequestType3","RequestType2","RequestType1","RequestType0","RequestType","RAL","CancellationStrategy","messages_1","cancellation_1","messageReader_1","messageWriter_1","connection_1","Is","None","isCancellationRequested","onCancellationRequested","Cancelled","candidate","boolean","shortcutEvent","bind","dispose","MutableToken","_isCancelled","cancel","_emitter","_token","linkedMap_1","CancelNotification","ProgressNotification","StarRequestHandler","ConnectionState","func","warn","info","Off","Messages","Verbose","Text","cancelUndispatched","Message","createCancellationTokenSource","_","sendCancellation","conn","id","sendNotification","cleanup","receiver","sender","cancellationStrategy","messageReader","messageWriter","_logger","sequenceNumber","notificationSquenceNumber","unknownResponseSquenceNumber","version","starRequestHandler","requestHandlers","starNotificationHandler","notificationHandlers","progressHandlers","Map","tracer","messageQueue","LinkedMap","responsePromises","requestTokens","trace","traceFormat","state","New","errorEmitter","closeEmitter","unhandledNotificationEmitter","unhandledProgressEmitter","disposeEmitter","createRequestQueueKey","_message","isListening","Listening","isClosed","Closed","isDisposed","Disposed","closeHandler","triggerMessageQueue","shift","isRequestMessage","requestMessage","reply","resultOrError","method","startTime","jsonrpc","toJson","result","traceSendingResponse","replyError","params","logLSPMessage","traceReceivedRequest","element","requestHandler","handler","Date","now","tokenKey","cancellationSource","handlerResult","numberOfParams","InvalidParams","token","parameterStructures","byName","byPosition","promise","InternalError","replySuccess","MethodNotFound","handleRequest","isNotificationMessage","notificationHandler","source","traceReceivedNotification","handleNotification","isResponseMessage","responseMessage","key","responsePromise","timerStart","traceReceivedResponse","handleResponse","number","responseHandler","handleInvalidMessage","processMessageQueue","toCancel","strategy","response","delete","queue","addMessageToQueue","lspMessage","isLSPMessage","timestamp","throwIfClosedOrDisposed","undefinedToNull","param","nullToUndefined","isNamedParam","computeSingleParam","auto","computeMessageParams","connection","messageParams","paramStart","paramEnd","map","notificationMessage","traceSendingNotification","onNotification","onProgress","_type","has","sendProgress","onUnhandledProgress","sendRequest","throwIfNotListening","disposable","r","traceSendingRequest","MessageWriteError","onRequest","_value","_tracer","sendNotificationOrTraceOptions","_sendNotification","_traceFormat","onUnhandledNotification","onDispose","keys","forEach","AlreadyListening","throwIfListening","verbose","_disposable","CallbackList","add","bucket","_callbacks","_contexts","remove","foundCallbackWithDifferentContext","splice","invoke","callbacks","contexts","isEmpty","_options","_event","thisArgs","disposables","onFirstListenerAdd","_noop","onLastListenerRemove","stringArray","every","elem","Touch","LRUCache","First","AsOld","Last","AsNew","toStringTag","_map","_head","_tail","_size","_state","clear","_a","touch","item","next","previous","addItemLast","addItemFirst","removeItem","callbackfn","thisArg","current","iterator","done","values","entries","trimOld","newSize","currentSize","fromJSON","ratio","_limit","_ratio","checkTrim","peek","round","_chunks","_totalLength","append","chunk","toAppend","tryReadHeaders","chunkIndex","chunkBytesRead","row","_read","headers","header","index","tryReadBody","byteCount","resultOffset","chunkPart","ResolvedMessageReaderOptions","onPartialMessage","partialMessageEmitter","asError","fireClose","firePartialMessage","fromOptions","contentDecoder","contentDecoders","contentTypeDecoder","contentTypeDecoders","readable","_partialMessageTimeout","nextMessageLength","messageToken","timeout","partialMessageTimer","contentLength","body","setPartialMessageTimer","clearPartialMessageTimer","waitingTime","semaphore_1","ResolvedMessageWriterOptions","count","_b","contentTypeEncoder","contentEncoder","writeSemaphore","Semaphore","lock","async","doWrite","AbstractMessageSignature","ParseError","InvalidRequest","jsonrpcReservedErrorRangeStart","serverErrorStart","MessageReadError","ServerNotInitialized","UnknownErrorCode","jsonrpcReservedErrorRangeEnd","serverErrorEnd","kind","_parameterStructures","_ral","ral","capacity","_capacity","_active","_waiting","thunk","runNext","doRunNext","err","createProtocolConnection","browser_1","LSPErrorCodes","lspReservedErrorRangeStart","ContentModified","RequestCancelled","lspReservedErrorRangeEnd","vscode_jsonrpc_1","ProtocolNotificationType","ProtocolNotificationType0","ProtocolRequestType","ProtocolRequestType0","RegistrationType","CallHierarchyOutgoingCallsRequest","CallHierarchyIncomingCallsRequest","CallHierarchyPrepareRequest","ColorPresentationRequest","DocumentColorRequest","ConfigurationRequest","DeclarationRequest","WillDeleteFilesRequest","DidDeleteFilesNotification","DidRenameFilesNotification","WillRenameFilesRequest","DidCreateFilesNotification","WillCreateFilesRequest","FileOperationPatternKind","file","folder","FoldingRangeRequest","FoldingRangeKind","ImplementationRequest","DocumentLinkRequest","CodeLensRefreshRequest","CodeLensResolveRequest","CodeLensRequest","WorkspaceSymbolRequest","CodeActionResolveRequest","CodeActionRequest","DocumentSymbolRequest","DocumentHighlightRequest","ReferencesRequest","DefinitionRequest","SignatureHelpRequest","SignatureHelpTriggerKind","HoverRequest","CompletionResolveRequest","CompletionRequest","CompletionTriggerKind","PublishDiagnosticsNotification","WatchKind","FileChangeType","DidChangeWatchedFilesNotification","WillSaveTextDocumentWaitUntilRequest","WillSaveTextDocumentNotification","TextDocumentSaveReason","DidSaveTextDocumentNotification","DidCloseTextDocumentNotification","DidChangeTextDocumentNotification","TextDocumentContentChangeEvent","DidOpenTextDocumentNotification","TextDocumentSyncKind","TelemetryEventNotification","LogMessageNotification","ShowMessageRequest","ShowMessageNotification","MessageType","DidChangeConfigurationNotification","ExitNotification","ShutdownRequest","InitializedNotification","InitializeError","InitializeRequest","WorkDoneProgressOptions","TextDocumentRegistrationOptions","StaticRegistrationOptions","FailureHandlingKind","ResourceOperationKind","UnregistrationRequest","RegistrationRequest","DocumentSelector","DocumentFilter","MonikerRequest","MonikerKind","UniquenessLevel","LinkedEditingRangeRequest","ShowDocumentRequest","SemanticTokensRegistrationType","SemanticTokensRefreshRequest","SemanticTokensRangeRequest","SemanticTokensDeltaRequest","SemanticTokensRequest","TokenFormat","SemanticTokens","SemanticTokenModifiers","SemanticTokenTypes","WorkDoneProgressCancelNotification","WorkDoneProgressCreateRequest","WorkDoneProgress","SelectionRangeRequest","DidChangeWorkspaceFoldersNotification","WorkspaceFoldersRequest","TypeDefinitionRequest","ApplyWorkspaceEditRequest","ExecuteCommandRequest","PrepareRenameRequest","RenameRequest","PrepareSupportDefaultBehavior","DocumentOnTypeFormattingRequest","DocumentRangeFormattingRequest","DocumentFormattingRequest","DocumentLinkResolveRequest","protocol_implementation_1","protocol_typeDefinition_1","protocol_workspaceFolders_1","protocol_configuration_1","protocol_colorProvider_1","protocol_foldingRange_1","protocol_declaration_1","protocol_selectionRange_1","protocol_progress_1","protocol_callHierarchy_1","protocol_semanticTokens_1","protocol_showDocument_1","protocol_linkedEditingRange_1","protocol_fileOperations_1","protocol_moniker_1","language","scheme","pattern","Create","Rename","Delete","Abort","Transactional","TextOnlyTransactional","Undo","hasId","documentSelector","objectLiteral","workDoneProgress","hasWorkDoneProgress","unknownProtocolVersion","Warning","Info","Log","Full","Incremental","isIncremental","text","rangeLength","isFull","Manual","AfterDelay","FocusOut","Created","Changed","Deleted","Change","Invoked","TriggerCharacter","TriggerForIncompleteCompletions","ContentChange","Identifier","resultId","Relative","typedArray","check","integer","uinteger","Position","Range","Location","LocationLink","Color","ColorInformation","ColorPresentation","FoldingRange","DiagnosticRelatedInformation","DiagnosticSeverity","DiagnosticTag","CodeDescription","Diagnostic","Command","TextEdit","ChangeAnnotation","ChangeAnnotationIdentifier","AnnotatedTextEdit","TextDocumentEdit","CreateFile","RenameFile","DeleteFile","WorkspaceEdit","MIN_VALUE","MAX_VALUE","line","character","one","two","three","four","uri","defined","targetUri","targetRange","targetSelectionRange","originSelectionRange","red","green","blue","alpha","numberRange","color","label","textEdit","additionalTextEdits","startLine","endLine","startCharacter","endCharacter","location","Information","Hint","Unnecessary","Deprecated","href","severity","relatedInformation","codeDescription","title","command","_i","newText","insert","position","del","needsConfirmation","description","annotation","annotationId","textDocument","edits","OptionalVersionedTextDocumentIdentifier","overwrite","ignoreIfExists","oldUri","newUri","recursive","ignoreIfNotExists","changes","documentChanges","change","TextDocumentIdentifier","VersionedTextDocumentIdentifier","TextDocumentItem","MarkupKind","MarkupContent","CompletionItemKind","InsertTextFormat","CompletionItemTag","InsertReplaceEdit","InsertTextMode","CompletionItem","CompletionList","MarkedString","Hover","ParameterInformation","SignatureInformation","DocumentHighlightKind","DocumentHighlight","SymbolKind","SymbolTag","SymbolInformation","DocumentSymbol","CodeActionKind","CodeActionContext","CodeAction","CodeLens","FormattingOptions","DocumentLink","SelectionRange","TextEditChangeImpl","changeAnnotations","edit","assertChangeAnnotations","manage","all","ChangeAnnotations","annotations","_annotations","_counter","idOrAnnotation","nextId","WorkspaceChange","workspaceEdit","_this","_textEditChanges","_workspaceEdit","_changeAnnotations","textEditChange","initDocumentChanges","getTextEditChange","textDocumentEdit","initChanges","createFile","optionsOrAnnotation","operation","renameFile","deleteFile","languageId","PlainText","Markdown","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","File","Reference","Folder","EnumMember","Constant","Struct","Operator","TypeParameter","asIs","adjustIndentation","items","isIncomplete","fromPlainText","plainText","contents","documentation","parameters","Read","Write","Namespace","Package","Boolean","Key","Null","containerName","detail","selectionRange","children","deprecated","tags","Empty","QuickFix","Refactor","RefactorExtract","RefactorInline","RefactorRewrite","Source","SourceOrganizeImports","SourceFixAll","diagnostics","only","kindOrCommandOrEdit","checkKind","isPreferred","tabSize","insertSpaces","parent","TextDocument","EOL","mergeSort","left","right","leftIdx","rightIdx","content","FullTextDocument","lineCount","getText","positionAt","offsetAt","applyEdits","document","sortedEdits","diff","lastModifiedOffset","startOffset","endOffset","substring","_uri","_languageId","_version","_content","_lineOffsets","update","getLineOffsets","lineOffsets","isLineStart","ch","charAt","low","high","mid","lineOffset","nextLineOffset","createConnection","_shutdownReceived","watchDog","initialize","_params","exit","_code","arg1","arg2","arg3","arg4","factories","__brand","ProposedFeatures","SemanticTokensBuilder","semanticTokens_1","CallHierarchyFeature","vscode_languageserver_protocol_1","onPrepare","attachWorkDoneProgress","onIncomingCalls","attachPartialResultProgress","onOutgoingCalls","ConfigurationFeature","getConfiguration","_getConfiguration","section","FileOperationsFeature","onDidCreateFiles","onDidRenameFiles","onDidDeleteFiles","onWillCreateFiles","onWillRenameFiles","onWillDeleteFiles","LinkedEditingRangeFeature","onLinkedEditingRange","MonikerFeature","on","attachPartialResult","ProgressFeature","attachWorkDone","uuid_1","WorkDoneProgressReporterImpl","_connection","Instances","begin","percentage","cancellable","report","arg0","WorkDoneProgressServerReporterImpl","_source","NullProgressReporter","NullProgressServerReporter","ResultProgress","workDoneToken","_progressSupported","capabilities","window","progress","createWorkDoneProgress","generateUuid","ResultProgressReporterImpl","partialResultToken","SemanticTokensFeature","onDelta","onRange","_prevData","_id","_prevLine","_prevChar","_data","_dataLen","char","tokenType","tokenModifiers","pushLine","pushChar","previousResult","build","canBuildEdits","buildEdits","prevDataLength","dataLength","startIndex","endIndex","newData","deleteCount","combineFeatures","combineLanguagesFeatures","combineWorkspaceFeatures","combineWindowFeatures","combineClientFeatures","combineTracerFeatures","combineTelemetryFeatures","combineConsoleFeatures","_LanguagesImpl","BulkUnregistration","BulkRegistration","ErrorMessageTracker","TextDocuments","UUID","progress_1","configuration_1","workspaceFolders_1","callHierarchy_1","showDocument_1","fileOperations_1","linkedEditingRange_1","moniker_1","null2Undefined","configuration","_documents","_configuration","_onDidChangeContent","_onDidOpen","_onDidClose","_onDidSave","_onWillSave","onWillSaveWaitUntil","_willSaveWaitUntil","__textDocumentSync","onDidOpenTextDocument","td","toFire","onDidChangeTextDocument","contentChanges","onDidCloseTextDocument","onWillSaveTextDocument","reason","onWillSaveTextDocumentWaitUntil","onDidSaveTextDocument","_messages","sendErrors","showErrorMessage","RemoteConsoleImpl","rawAttach","_rawConnection","attach","fillServerCapabilities","_capabilities","RemoteWindowImpl","ShowDocumentFeature","actions","showWarningMessage","showInformationMessage","BulkRegistrationImpl","_registrations","_registered","Set","registerOptions","asRegistrationParams","registrations","BulkUnregistrationImpl","unregistrations","_unregistrations","unregistration","unregisterations","_error","disposeSingle","RemoteClientImpl","register","typeOrRegistrations","registerOptionsOrType","registerMany","registerSingle1","registerSingle2","isAttached","_result","unregisterSingle","registration","RemoteWorkspaceImpl","WorkspaceFoldersFeature","applyEdit","paramOrEdit","TracerImpl","_trace","TelemetryImpl","logEvent","LanguagesImpl","combine","telemetry","client","workspace","connectionFactory","remoteWindow","languages","allRemotes","asPromise","thenable","resolved","shutdownHandler","initializeHandler","exitHandler","protocolConnection","onInitialize","onInitialized","onShutdown","onExit","onDidChangeConfiguration","onDidChangeWatchedFiles","sendDiagnostics","onHover","onCompletion","onCompletionResolve","onSignatureHelp","onDeclaration","onDefinition","onTypeDefinition","onImplementation","onReferences","onDocumentHighlight","onDocumentSymbol","onWorkspaceSymbol","onCodeAction","onCodeActionResolve","onCodeLens","onCodeLensResolve","onDocumentFormatting","onDocumentRangeFormatting","onDocumentOnTypeFormatting","onRenameRequest","onPrepareRename","onDocumentLinks","onDocumentLinkResolve","onDocumentColor","onColorPresentation","onFoldingRanges","onSelectionRanges","onExecuteCommand","remote","textDocumentSync","shutdownReceived","showDocument","isUUID","v4","empty","ValueUUID","asHex","other","V4UUID","_randomHex","_oneOf","_timeHighBits","random","_chars","_UUIDPattern","test","workspaceCapabilities","workspaceFolders","_onDidChangeWorkspaceFolders","getWorkspaceFolders","_unregistration","f","DateTime","g","isDate","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","date","FloatingDateTime","isFloating","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","Time","isTime","ParserEND","ParserError","filename","linenumber","captureStackTrace","State","parser","returned","resultTable","resultArr","Parser","col","ctx","_buf","ii","parseStart","getNext","nextChar","runOne","codePointAt","haveBuffer","finish","goto","returnWith","callNow","return","pop","returnNow","consume","END","makeParserClass","TomlError","fromTOML","wrapped","wrap","terr","createDateTime","createDateTimeFloat","createDate","createTime","CTRL_I","CTRL_J","CTRL_M","CTRL_CHAR_BOUNDARY","CHAR_SP","CHAR_QUOT","CHAR_NUM","CHAR_APOS","CHAR_PLUS","CHAR_COMMA","CHAR_HYPHEN","CHAR_PERIOD","CHAR_0","CHAR_1","CHAR_7","CHAR_9","CHAR_COLON","CHAR_EQUALS","CHAR_A","CHAR_E","CHAR_F","CHAR_T","CHAR_U","CHAR_Z","CHAR_LOWBAR","CHAR_a","CHAR_b","CHAR_e","CHAR_f","CHAR_i","CHAR_l","CHAR_n","CHAR_o","CHAR_r","CHAR_s","CHAR_t","CHAR_u","CHAR_x","CHAR_z","CHAR_LCUB","CHAR_RCUB","CHAR_LSQB","CHAR_BSOL","CHAR_RSQB","CHAR_DEL","SURROGATE_FIRST","SURROGATE_LAST","escapes","isDigit","cp","isHexit","isBit","isOctit","isAlphaNumQuoteHyphen","isAlphaNumHyphen","_declared","descriptor","hasKey","INLINE_TABLE","InlineTable","defineProperties","isInlineTable","TABLE","Table","isTable","_contentType","INLINE_LIST","InlineList","isInlineList","LIST","List","isList","_custom","utilInspect","eval","custom","_inspect","BoxedBigInt","asIntN","INTEGER","Integer","isSafeInteger","FLOAT","Float","isFloat","tomlType","atEndOfWord","atEndOfLine","parseTableOrList","parseComment","parseAssignStatement","parseWhitespaceToEOL","parseAssign","recordAssignStatement","kv","finalKey","kw","parseKeyword","recordAssignKeyword","parseAssignKeywordPreDot","parseAssignKeywordPostDot","parseAssignEqual","parseAssignPreValue","parseValue","recordAssignValue","parseTable","parseList","parseTableNext","parseTableMore","keyword","parseListNext","parseListMore","parseListEnd","parseDoubleString","parseSingleString","parseNumberSign","parseInf","parseNan","parseNumberOrDateTime","parseBoolean","parseInlineList","recordValue","parseInlineTable","parseInf2","parseNan2","parseBasicString","parseLiteralString","parseBareKey","parseLiteralMultiStringMaybe","errorControlCharInString","parseLiteralMultiString","parseLiteralMultiStringContent","parseLiteralMultiEnd","parseLiteralMultiEnd2","parseMultiStringMaybe","parseEscape","recordEscapeReplacement","replacement","parseMultiString","parseMultiStringContent","parseMultiEscape","recordMultiEscapeReplacement","parseMultiEnd","displayCode","parseMultiEnd2","parseMultiTrim","parsePreMultiTrim","parseSmallUnicode","parseUnicodeReturn","parseLargeUnicode","fromCodePoint","parseMaybeSignedInfOrNan","parseNoUnder","parseNumberIntegerStart","parseNumberIntegerExponentOrDecimal","parseNumberInteger","parseNumberFloat","parseNumberExponentSign","parseNoUnderHexOctBinLiteral","parseNumberExponent","parseNumberBaseOrDateTime","parseNumberOrDateTimeOnly","parseDateTime","parseOnlyTimeHour","parseDateTimeOnly","parseIntegerBin","parseIntegerOct","parseIntegerHex","parseDateMonth","parseDateDay","parseStartTimeHour","parseTimeHour","parseTimeMin","parseTimeSec","parseTimeZoneOrFraction","parseOnlyTimeMin","parseOnlyTimeSec","parseOnlyTimeFractionMaybe","parseOnlyTimeFraction","parseDateTimeFraction","parseTimeZoneHour","parseTimeZoneSep","parseTimeZoneMin","parseTrue_r","parseFalse_a","parseTrue_u","parseTrue_e","parseFalse_l","parseFalse_s","parseFalse_e","recordInlineListValue","listType","valueType","parseInlineListNext","recordInlineTableValue","parseInlineTableNext","opts","blocksize","TOMLParser","parseAsyncNext","prettyError","lines","lineNumWidth","linePadding","lineNum","hh","stm","setEncoding","ended","errored","once","readNext","parseReadable","Transform","objectMode","transform","cb","emit","flush","parseTransform","typeError","getInlineKeys","filter","isInline","nobj","prop","stringifyObject","prefix","indent","inlineKeys","complexKeys","getComplexKeys","inlineIndent","stringifyKey","stringifyAnyInline","complexIndent","validateArray","firstValueType","fullKey","stringifyArrayOfTables","stringifyComplexTable","stringifyComplex","keyStr","stringifyBasicString","escapeString","numpad","multilineOk","stringifyInline","escaped","stringifyMultilineString","stringifyInteger","chunks","int","dec","stringifyFloat","stringifyBoolean","stringifyDatetime","stringified","stringifyInlineArray","stringifyInlineTable","contentType","isNumber","arrayType","charCodeCache","leven","leftLength","rightLength","bCharCode","temp","temp2","__webpack_module_cache__","leafPrototypes","getProto","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","getPrototypeOf","t","mode","ns","def","getOwnPropertyNames","definition","chunkId","reduce","promises","u","globalThis","scriptUrl","importScripts","currentScript","scripts","getElementsByTagName","installedChunks","chunkLoadingGlobal","self","parentChunkLoadingFunction","chunkIds","moreModules","runtime","identity","equateValues","compareComparableValues","isString","isDebugMode","argv","isDefined","toOffset","addRange","insertAt","unshift","some","predicate","binarySearch","keySelector","keyComparer","middle","binarySearchKey","getOrAdd","newValueFactory","newValue","removeArrayElements","keyGetter","typeshedFallback","lib","libAlternate","lib64","sitePackages","stubsSuffix","LIB","h","l","URI","Utils","P","platform","navigator","userAgent","__proto__","authority","query","fragment","isUri","fsPath","with","A","exec","O","w","revive","_formatted","external","_fsPath","_sep","v","$mid","encodeURIComponent","C","decodeURIComponent","match","U","I","joinPath","resolvePath","assert","expression","verboseDebugInfo","stackCrawlMark","fail","assertNever","member","getSerializableError","nodeCrypto","randomBytes","randomBytesHex","crypto","getRandomValues","padStart","isPatternInSymbol","typedValue","symbolName","typedLower","toLocaleLowerCase","symbolLower","typedLength","symbolLength","typedPos","symbolPos","hashString","hash","compareStringsCaseInsensitive","toUpperCase","compareStringsCaseSensitive","getStringComparer","ignoreCase","equateStringsCaseInsensitive","equateStringsCaseSensitive","getCharacterCount","_fsCaseSensitivity","FileSpec","forEachAncestorDirectory","directory","parentPath","getDirectoryPath","pathString","getRootLength","p1","p2","getPathComponents","normalizedPath","normalizeSlashes","rootLength","rest","reducePathComponents","components","reduced","component","combinePathComponents","ensureTrailingDirectorySeparator","getRelativePath","dirPath","relativeTo","startsWith","pathComponents","relativePath","makeDirectories","fs","startingFromDirPath","curPath","combinePaths","existsSync","mkdirSync","wildcardRoot","regExp","invalidSeparator","separatorRegExp","resolvePaths","paths","normalizePath","containsPath","child","currentDirectory","parentComponents","childComponents","componentEqualityComparer","changeAnyExtension","extensions","pathExt","getAnyExtensionFromPath","stringEqualityComparer","tryGetExtensionFromPath","extension","getAnyExtensionFromPathWorker","stripTrailingDirectorySeparator","baseFileName","getBaseFileName","extensionIndex","getRelativePathComponentsFromDirectory","fromDirectory","getCanonicalFileNameOrIgnoreCase","getCanonicalFileName","fromComponents","toComponents","getPathComponentsRelativeTo","comparePathsCaseSensitive","comparePathsWorker","comparePathsCaseInsensitive","hasTrailingDirectorySeparator","getFileExtension","fileName","multiDotExtension","firstDotIndex","getFileName","stripFileExtension","isDirectory","tryStat","isFile","statSync","tryRealpath","realpathSync","getFileSystemEntries","getFileSystemEntriesFromDirEntries","readdirEntriesSync","files","directories","dirEntries","sort","entry","isSymbolicLink","stat","getFileSpec","rootPath","fileSpec","regExPattern","absolutePath","endsWith","escapedSeparator","getRegexEscapedSeparator","doubleAsteriskRegexFragment","reservedCharacterPattern","RegExp","firstComponent","getWildcardRegexPattern","getWildcardRoot","isDiskPathRoot","componentComparer","aRoot","bRoot","relativePathSegmentRegExp","aRest","bRest","aComponents","bComponents","sharedLength","pathExtension","convertUriToPath","uriString","getMappedFilePath","convertedPath","extractPathFromUri","getUri","getOriginalFilePath","normalizePathCase","filePath","mangledFilePath","tmpdir","writeFileSync","unlinkSync","isFileSystemCaseSensitiveInternal","isFileSystemCaseSensitive","PythonVersion","latestStablePythonVersion","V3_10","versionToString","versionFromString","verString","major","minor","versionFromMajorMinor","CharCategory","_identifierCharFastTableSize","_identifierCharFastTable","_identifierCharMap","_surrogateCharMap","_identifierCharMapInitialized","isIdentifierStartChar","StartIdentifierChar","charCategory","_buildIdentifierLookupTable","_lookUpSurrogate","isIdentifierChar","IdentifierChar","isDecimal","isHex","isOctal","isBinary","SurrogateChar","NotIdentifierChar","surrogateTable","_startIdentifierCharRanges","_startCharSurrogateRanges","_identifierCharRanges","_identifierCharSurrogateRanges","_buildIdentifierLookupTableFromUnicodeRangeTable","category","fastTableOnly","fastTable","fullTable","entryIndex","rangeStart","rangeEnd","_buildIdentifierLookupTableFromSurrogateRangeTable","surrogateChar","getPyTypedInfo","fileSystem","isPartiallyTyped","pyTypedPath","fileStats","pyTypedContents","readFileSync","ignoredWatchEventFunction","normalizedPaths","nullFileWatcher","nullFileWatcherProvider","createFileWatcher","_1","_2","onFileChange","VirtualDirent","_file","isBlockDevice","isCharacterDevice","isFIFO","isSocket","PyrightFileSystem","_realFS","_entryMap","_reverseEntryMap","_folderMap","_isMovedEntry","_getOriginalPath","chdir","maybeDirectory","movedEntries","readdirSync","getModulePath","createFileSystemWatcher","createReadStream","createWriteStream","copyFileSync","readFile","readFileText","tmpfile","realCasePath","originalPath","isMappedFilePath","filepath","mappedFilePath","originalFilepath","isInZipOrEgg","_recordMovedEntry","mappedPath","reversible","folderInfo","_clear","realFS","_rootSearched","_partialStubPackagePaths","_conflictMap","_customUriMap","hasUriMapEntry","addUriMap","closed","hasPendingRequest","removeUriMap","pendingRequest","isPartialStubPackagesScanned","execEnv","isPathScanned","processPartialStubPackages","roots","partialStubPackagePath","pyTypedInfo","partialStubs","packageName","packagePath","packagePyTyped","_getRelativePathPartialStubs","partialStub","originalPyiFile","mappedPyiFile","mappedPyFile","tmpPyFile","clearPartialStubs","getConflictedFile","partialStubPathLength","searchAllStubs","cancellationFolderName","OperationCanceledException","CancelAfter","tokens","DefaultCancellationProvider","TextRange","FlowFlags","comparePositions","doRangesIntersect","doesRangeContain","positionOrRange","positionsAreEqual","rangesAreEqual","extendRange","convertOffsetToPosition","offsetAdjustment","itemIndex","getItemContaining","lineRange","getItemAt","convertOffsetsToRange","convertRangeToTextRange","fromBounds","convertTextRangeToRange","getEnd","overlaps","extend","contains","containsRange","span","overlapsRange","ranges","combinedRange","print","_nextFlowNodeId","getUniqueFlowNodeId","isCodeFlowSupportedForReference","reference","nodeType","leftExpression","trailingComma","argumentCategory","subscriptNode","valueExpression","isIntegerIndex","isImaginary","isStringIndex","strings","baseExpression","createKeyForReference","memberName","leftKey","valExpr","createKeysForReferenceSubexpressions","getImportInfo","node","importInfo","getScope","scope","setScope","getDeclaration","declaration","setDeclaration","decl","getFlowNode","flowNode","setFlowNode","setAfterFlowNode","afterFlowNode","fileInfo","setCodeFlowExpressions","expressions","codeFlowExpressions","getDunderAllInfo","dunderAllInfo","setDunderAllInfo","names","isCodeUnreachable","curNode","flags","Unreachable","_constantRegEx","_underscoreOnlyRegEx","_camelCaseRegEx","isPrivateOrProtectedName","isDunderName","isConstantName","isTypeAliasName","getImportGroup","statement","importResult","importType","isLocalTypingsFile","isRelative","getTopLevelImports","parseTree","includeImplicitImports","localImports","orderedImports","mapByFilePath","followsNonImportStatement","foundFirstImportStatement","statements","subStatement","importAsNode","isImportFound","resolvedPaths","localImport","subnode","moduleName","_formatModuleName","_processImportNode","implicitImports","implicitImport","importFromAs","imports","find","prevEntry","_processImportFromNode","_getImportSymbolNameType","getTextEditsForAutoImportSymbolAddition","importNameInfo","importStatement","parseResults","additionEdits","isWildcardImport","importFrom","importAs","alias","nameInfo","_getTextEditsForAutoImportSymbolAddition","editsMap","textEditList","editGroup","replacementText","_compareImportNames","importName","name1","name2","priorImport","curImport","useOnePerLineFormatting","indentText","importStatementPos","tokenizerOutput","firstSymbolPos","secondSymbolPos","firstSymbolLineRange","insertionPosition","insertText","eol","predominantEndOfLineSequence","getTextEditsForAutoImportInsertion","importStatements","importGroup","invocationPosition","insertionEdits","getTextEdit","preChange","compareImports","postChange","isImport1","_convertInsertionEditsToTextEdits","appendToEdits","fromImports","importStatementGetter","importNames","importText","sortText","getImportAsText","equalityComparer","addIfUnique","invocation","insertBefore","insertionImport","prevImportGroup","curImportGroup","addNewLineBefore","stopHere","simpleStatement","_getInsertionEditForAutoImportInsertion","_getInsertionEditsForAutoImportInsertion","leadingDots","nameParts","part","getImportGroupFromModuleNameAndType","moduleNameAndType","getRelativeModuleName","sourcePath","targetPath","ignoreFolderStructure","sourceIsFile","srcPath","destPath","relativePaths","currentPaths","getDirectoryLeadingDotsPointsTo","ParentDirectoryCache","_importRootGetter","_importChecked","_cachedResults","_libPathCache","getImportResult","importPath","checkValidPath","sourceFilePath","reset","stdLibFolderName","thirdPartyFolderName","findPythonSearchPaths","configOptions","host","importFailureInfo","includeWatchPathsOnly","workspaceRoot","venvPath","venv","venvDir","foundPaths","sitePackagesPaths","libPath","sitePackagesPath","dirName","findSitePackagesPath","addPathIfUnique","getPathsFromPthFiles","pathResult","getPythonSearchPaths","pythonPath","isPythonBinary","parentDir","searchPaths","pthFile","trimmedLine","pthPath","pathList","pathToAdd","createImportedModuleDescriptor","importedSymbols","supportedNativeLibExtensions","supportedFileExtensions","ImportResolver","_configOptions","_cachedImportResults","_cachedModuleNameResults","_cachedEntriesForPath","cachedParentImportResults","invalidateCache","_invalidateFileSystemCache","resolveImport","moduleDescriptor","_resolveImport","formatImportName","_resolveImportStrict","origin","filterImplicitImports","getParentImportResolutionRoot","_shouldWalkUp","resolveAbsoluteImport","success","_tryWalkUp","notFoundResult","isPartlyResolved","isNamespacePackage","isStubPackage","isStubFile","isNativeLib","filteredImplicitImports","nonStubImportResult","ensurePartialStubPackages","relativeImport","_resolveRelativeImport","cachedResults","_lookUpResultsInCache","_isNamespacePackageResolved","bestImport","_resolveBestAbsoluteImport","addResultsToCache","getCompletionSuggestions","suggestions","_getCompletionSuggestionsStrict","_getCompletionSuggestionsAbsolute","_getCompletionSuggestionsRelative","_getCompletionSuggestionsTypeshedPath","extraPath","extraPaths","stubPath","pythonSearchPaths","searchPath","getSourceFilesFromStub","stubFilePath","_mapCompiled","sourceFilePaths","nonEmptyPath","dirExistsCached","importRootPaths","getImportRoots","relativeStubPaths","importRootPath","relativeStubPath","absoluteSourcePath","fileExistsCached","filePathWithoutExtension","getModuleNameForImport","cache","_getModuleNameForImport","stdLibTypeshedPath","_getStdlibTypeshedPath","getModuleNameFromPath","_isStdlibTypeshedStubValidForVersion","candidateModuleName","thirdPartyTypeshedPath","_getThirdPartyTypeshedPath","thirdPartyTypeshedPathEx","getTypeshedPathEx","getTypeshedStdLibPath","forLogging","stdTypeshed","thirdPartyRoot","thirdPartyPaths","_getThirdPartyTypeshedPackageRoots","typeshedPathEx","readdirEntriesCached","cachedValue","newCacheValue","splitPath","_splitPath","realPath","ignored","addPaths","allowPartial","allowNativeLib","useStubPackage","allowPyi","lookForPyTyped","_resolveAbsoluteImport","packageDirectory","importFound","fileNameWithoutExtension","pyFilePath","pyiFilePath","_findImplicitImports","isFirstPart","isLastPart","foundDirectory","foundInit","fileDirectory","nativeLibFileName","_getFilesInDirectory","_isNativeModuleFileName","nativeLibPath","_resolveNativeModuleStub","resolveImportEx","resolveNativeImportEx","libraryFilePath","getNativeModuleName","fileExtension","_isNativeModuleFileExtension","cacheForExecEnv","cachedEntry","symbol","containerPath","stripTopContainerDir","_isIdentifier","typingsImport","bestResultSoFar","_pickBestImport","thirdPartyImport","_getTypeshedRoot","extraResults","typeshedStdlibImport","_findTypeshedPath","isTypeshedFile","typeshedImport","bestImportSoFar","newImport","_cachedPythonSearchPaths","isStdLib","typeshedPaths","_getThirdPartyTypeshedPackagePaths","typeshedPath","_buildTypeshedThirdPartyPackageMap","thirdPartyDir","_cachedTypeshedThirdPartyPackagePaths","outerEntry","innerDirPath","innerEntry","strippedFileName","_cachedTypeshedThirdPartyPackageRoots","subdirectory","_getTypeshedSubdirectory","_cachedTypeshedStdLibModuleVersions","_readTypeshedStdLibVersions","namePartCount","namePartsToConsider","versionRange","pythonVersion","versionRangeMap","typeshedStdLibPath","versionsFilePath","colonSplit","versionSplit","minVersionString","maxVersion","minVersion","V3_0","includeMatchOnly","firstNamePart","flatten","getMapValues","_cachedTypeshedRoot","possibleTypeshedPath","moduleDirectory","debugTypeshedPath","_cachedTypeshedStdLibPath","_cachedTypeshedThirdPartyPath","absImport","entriesInDir","filesInDir","linkPath","strictOnly","hasTrailingDot","parentNameParts","_addFilteredSuggestionsAbsolute","currentPath","fileWithoutExtension","_isUniqueValidSuggestion","_isResolvableSuggestion","suggestionToAdd","newImportResult","assign","importingModuleName","exclusions","implicitImportMap","fileExt","exclusion","nativeStubPath","repeat","moduleFullName","compiledStubPath","withoutExtension","executionRoot","apiDocsRequestType","_host","initializeWorkersHost","createMessageChannel","parentPort","threadId","shallowReplace","mapper","shallowCopy","Duration","_startTime","getDurationInMilliseconds","getDurationInSeconds","TimingStat","totalTime","callCount","isTiming","timeOperation","duration","subtractFromTime","printTime","totalTimeInSec","timingStats","totalDuration","findFilesTime","readFileTime","tokenizeFileTime","parseFileTime","resolveImportsTime","cycleDetectionTime","bindTime","typeCheckerTime","typeEvaluationTime","printSummary","printDetails","getTotalDuration","nullCallback","analyzeProgram","program","maxTime","moreToAnalyze","analyze","filesLeftToAnalyze","getFilesToAnalyzeCount","getDiagnostics","diagnosticFileCount","elapsedTime","filesInProgram","getFileCount","filesRequiringAnalysis","checkingOnlyOpenFiles","isCheckingOnlyOpenFiles","fatalErrorOccurred","configParseErrorOccurred","LogLevel","StandardConsole","ConsoleWithLogLevel","_console","_name","_levelMap","Warn","_maxLevel","maxLevel","_log","_prefix","level","_getNumericalLevel","numericLevel","logType","LogTracker","_dummyState","_indentation","_previousTitles","minimalDuration","logParsingPerf","msDuration","isSuppressed","_printPreviousTitles","fileReadTotal","tokenizeTotal","parsingTotal","resolveImportsTotal","bindingTotal","previousTitle","_start","_startFile","_startToken","_startParse","_startImport","_startBind","addendum","_addendum","suppress","_suppress","isFunctionDeclaration","isClassDeclaration","isParameterDeclaration","isVariableDeclaration","isAliasDeclaration","_nextNodeId","newRange","ModuleNode","SuiteNode","IfNode","WhileNode","ForNode","ListComprehensionForNode","ListComprehensionIfNode","TryNode","ExceptNode","FunctionNode","ParameterNode","ClassNode","WithNode","WithItemNode","DecoratorNode","StatementListNode","ErrorNode","UnaryOperationNode","BinaryOperationNode","AssignmentExpressionNode","AssignmentNode","TypeAnnotationNode","FunctionAnnotationNode","AugmentedAssignmentNode","AwaitNode","TernaryNode","UnpackNode","TupleNode","CallNode","ListComprehensionNode","IndexNode","SliceNode","YieldNode","YieldFromNode","MemberAccessNode","LambdaNode","NameNode","ConstantNode","EllipsisNode","NumberNode","StringNode","FormatStringNode","StringListNode","DictionaryNode","DictionaryKeyEntryNode","DictionaryExpandEntryNode","SetNode","ListNode","ArgumentNode","DelNode","PassNode","ImportNode","ModuleNameNode","ImportAsNode","ImportFromNode","ImportFromAsNode","GlobalNode","NonlocalNode","AssertNode","BreakNode","ContinueNode","ReturnNode","RaiseNode","MatchNode","CaseNode","PatternSequenceNode","PatternAsNode","PatternLiteralNode","PatternClassNode","PatternClassArgumentNode","PatternCaptureNode","PatternMappingNode","PatternMappingKeyEntryNode","PatternMappingExpandEntryNode","PatternValueNode","isExpressionNode","ifOrElifToken","testExpression","ifSuite","elseSuite","whileToken","whileSuite","forToken","targetExpression","iterableExpression","forSuite","startToken","ifToken","tryToken","trySuite","exceptClauses","exceptToken","exceptSuite","isExceptGroup","defToken","suite","decorators","paramCategory","classToken","createDummyForDecorators","comments","decorator","withToken","withItems","atToken","initialRange","operatorToken","operator","maxChildDepth","rightExpression","typeAnnotation","openParenToken","isParamListEllipsis","paramTypeAnnotations","returnTypeAnnotation","destExpression","awaitToken","ifExpression","elseExpression","starToken","enclosedInParens","argList","forIfNodes","closeBracketToken","yieldToken","lambdaToken","nameToken","constType","keywordType","unescapedValue","hasUnescapeErrors","expr","keyExpression","expandExpression","argCategory","delToken","passToken","fromToken","usesParens","nameList","assertToken","matchToken","subjectExpression","cases","caseToken","isIrrefutable","guardExpression","firstToken","starEntryIndex","findIndex","orPatterns","isStar","className","isWildcard","keyPattern","valuePattern","starStarToken","walk","childrenToWalk","visitNode","walkMultiple","nodes","visitError","visitArgument","visitAssert","exceptionExpression","visitAssignment","typeAnnotationComment","visitAssignmentExpression","visitAugmentedAssignment","visitAwait","visitBinaryOperation","visitBreak","visitCall","visitClass","visitConstant","visitContinue","visitDecorator","visitDel","visitDictionary","visitDictionaryExpandEntry","visitDictionaryKeyEntry","visitEllipsis","visitIf","visitImport","visitImportAs","visitImportFrom","visitImportFromAs","visitIndex","visitExcept","typeExpression","visitFor","visitFormatString","visitFunction","functionAnnotationComment","visitGlobal","visitLambda","visitList","visitListComprehension","visitListComprehensionFor","visitListComprehensionIf","visitMemberAccess","visitModule","visitModuleName","visitName","visitNonlocal","visitNumber","visitParameter","defaultValue","visitPass","visitRaise","tracebackExpression","visitReturn","returnExpression","visitSet","visitSlice","startValue","endValue","stepValue","visitStatementList","visitStringList","visitString","visitSuite","visitTernary","visitTuple","visitTry","finallySuite","visitTypeAnnotation","visitUnaryOperation","visitUnpack","visitWhile","visitWith","visitWithItem","visitYield","visitYieldFrom","visitFunctionAnnotation","visitMatch","visitCase","visitPatternSequence","visitPatternAs","visitPatternLiteral","visitPatternClass","visitPatternCapture","visitPatternMapping","visitPatternMappingKeyEntry","visitPatternMappingExpandEntry","visitPatternValue","visitPatternClassArgument","getNodeDepth","depth","findNodeByOffset","containingChild","getClassFullName","classNode","getEnclosingClass","reverse","getTypeSourceId","printArgument","argStr","printExpression","printOperator","exprStr","parenthesized","exprString","escapedValue","listStr","isAsync","isParenthesized","paramStr","dictContents","operatorMap","getEnclosingSuite","stopAtFunction","getEnclosingFunction","prevNode","getEnclosingClassOrFunction","getEvaluationScopeNode","prevPrevNode","isParamNameNode","getTypeVarScopeNode","allowInFunctionSignature","getExecutionScopeNode","evaluationScope","isFinalAllowedForAssignmentTarget","targetNode","methodNode","isClassVarAllowedForAssignmentTarget","isNodeContainedWithin","potentialContainer","isSuiteEmpty","sawEllipsis","substatement","isMatchingExpression","referenceNumberNode","referenceStringListNode","isPartialMatchingExpression","getDocString","isDocString","statementList","NameNodeWalker","_callback","_subscriptIndex","_baseExpression","prevSubscriptIndex","prevBaseExpression","CallNodeWalker","getEnclosingParameter","getCallNodeAndActiveParameterIndex","insertionOffset","callNode","isOffsetInsideCallArgs","endPosition","tokenAtEnd","getItemAtPosition","getTokenAt","addedActive","activeIndex","activeOrFake","startTokenIndex","endTokenIndex","tok","argumentStart","isWriteAccess","getModuleNode","getFileInfoFromNode","isImportModuleName","getFirstAncestorOrSelfOfKind","isImportAlias","isFromImportModuleName","isFromImportName","isFromImportAlias","isLastNameOfModuleName","_getAncestorsIncludingSelf","getFirstAncestorOrSelf","getDottedNameWithGivenNodeAsLastName","hasTypeForDeclaration","parameterParent","paramAnnotations","typeAnnotationNode","areDeclarationsSame","decl1","decl2","treatModuleInImportAndFromImportSame","usesLocalName","isFinalVariableDeclaration","isFinal","isExplicitTypeAliasDeclaration","typeAliasAnnotation","isPossibleTypeAliasDeclaration","typeAliasName","getNameFromDeclaration","getDeclarationsWithUsesLocalNameRemoved","decls","localDecl","nonLocalDecl","createSynthesizedAliasDeclaration","loadSymbolsFromPath","isInExceptSuite","cleanAndSplitDocString","rawString","leftSpacesToRemove","trimmed","trimLeft","trimmedLines","trimRight","extractParameterDocumentation","functionDocString","paramName","docStringLines","paramOffset","convertDocStringToMarkdown","docString","DocStringConverter","convert","convertDocStringToPlainText","_isUndefinedOrWhitespace","trimEnd","LeadingSpaceCountRegExp","NonWhitespaceRegExp","TildaHeaderRegExp","PlusHeaderRegExp","EqualHeaderRegExp","DashHeaderRegExp","LeadingDashListRegExp","LeadingAsteriskListRegExp","LeadingNumberListRegExp","LeadingAsteriskRegExp","SpaceDotDotRegExp","DirectiveLikeRegExp","DoctestRegExp","DirectivesExtraNewlineRegExp","epyDocFieldTokensRegExp","epyDocCv2FixRegExp","PotentialHeaders","exp","WhitespaceRegExp","DoubleTickRegExp","TildeRegExp","PlusRegExp","MarkdownCharsRegExp","linkRegExp","HtmlEscapes","LiteralBlockEmptyRegExp","LiteralBlockReplacements","_builder","_skipAppendEmptyLine","_insideInlineCode","_appendDirectiveBlock","_stateStack","_lineNum","_blockIndent","_parseText","_lines","_currentLineOrUndefined","before","beforeLine","_parseBacktickBlock","_parseDocTest","_parseLiteralBlock","_trimOutputAndAppendLine","_eatLine","_currentLine","_currentIndent","_countLeadingSpaces","_prevIndent","_lineAt","_nextBlockIndent","_currentLineIsOutsideBlock","_currentLineWithinBlock","_pushAndSetState","_popState","_parseEmpty","_beginBacktickBlock","_beginLiteralBlock","_beginDocTest","_beginDirective","_beginList","_beginFieldList","_beginTableBlock","_formatPlainTextIndent","_appendTextLine","prev","prevIndent","currIndent","_isHeader","_convertIndent","trimStart","_match","g1","g2","_escapeHtml","escape","_preprocessTextLine","_append","expReplacement","_appendLine","_beginMinIndentCodeBlock","_parseLiteralBlockSingleLine","_parseDirective","hasOddNumColons","restDirective","_tableState","inHeader","_parseTableBlock","formattedLine","columnParts","headerStrings","colStart","columnStr","endHeaderStr","column","dashMatch","_parseList","asteriskMatch","leadingNumberList","directiveType","directive","_parseDirectiveBlock","noNewLine","search","getScopeForNode","WildcardTypeVarScopeId","EnumLiteral","itemName","itemType","maxTypeRecursionCount","TypeBase","UnboundType","UnknownType","ModuleType","ClassType","FunctionType","OverloadedFunctionType","NoneType","NeverType","AnyType","TypeCondition","UnionType","TypeVarType","isNever","isNoneInstance","isNoneTypeClass","isInstantiable","isAny","isUnknown","isAnyOrUnknown","isUnion","subtypes","subtype","isUnbound","isPossiblyUnbound","isClass","isInstantiableClass","isClassInstance","isModule","isTypeVar","isVariadicTypeVar","details","isVariadic","isUnpackedVariadicTypeVar","isVariadicUnpacked","isUnpackedClass","isUnpacked","isParamSpec","isFunction","isOverloadedFunction","getTypeAliasInfo","typeAliasInfo","recursiveTypeAliasName","boundType","isTypeSame","type1","type2","ignorePseudoGeneric","ignoreTypeFlags","recursionCount","classType2","isSameGenericClass","isSame","condition","isPseudoGenericClass","tupleTypeArguments","type1TupleTypeArgs","type2TupleTypeArgs","isUnbounded","type1TypeArgs","typeArguments","type2TypeArgs","typeArgCount","isLiteralValueSame","functionType2","params1","params2","positionalOnlyIndex1","positionalOnlyIndex2","param1","param2","isName1Relevant","getEffectiveParameterType","return1Type","declaredReturnType","specializedTypes","returnType","inferredReturnType","return2Type","overloads","unionType2","subtypes1","subtypes2","findSubtype","containsType","type2TypeVar","scopeId","recursiveTypeParameters","isSynthesized","variance","boundType1","boundType2","constraints1","constraints","constraints2","type2Module","fields","removeUnknownFromUnion","removeFromUnion","removeUnbound","removeNoneFromUnion","removeFilter","remainingTypes","newType","combineTypes","addTypeAliasSource","maxSubtypeCount","sawNoReturn","isNoReturn","createNoReturn","createNever","allSubtypesAreSame","expandedTypes","typeAliasSources","literalValue","isEmptyContainer","newUnionType","hitMaxSubtypeCount","addType","unionType","typeToAdd","isBuiltIn","literalStrMap","literalIntMap","isSameWithoutLiteralValue","cloneWithLiteral","_addTypeIfUnique","destType","srcType","cloneType","isAnnotated","isSpecialForm","setSpecialForm","isAmbiguous","cloneForTypeAlias","fullName","typeVarScopeId","typeParams","typeArgs","typeClone","typeParameters","cloneForAnnotated","cloneForCondition","cloneForAmbiguousType","_instance","symbolTable","loaderFields","getField","moduleType","isExternallyHidden","loaderSymbol","cloneAsInstantiable","objectType","classType","classArray","aliasName","class1Details","class2Details","typeSourceId","baseClasses","declaredMetaclass","createInstantiable","effectiveMetaclass","mro","cloneAsInstance","includeSubclasses","cloneForSpecialization","isTypeArgumentExplicit","newClassType","cloneForTypingAlias","cloneForNarrowedTypedDictEntries","narrowedEntries","typedDictNarrowedEntries","cloneWithNewTypeParameters","cloneForTypeGuard","typeGuardType","isStrictTypeGuard","cloneForSymbolTableUpdate","cloneForUnpacked","isUnspecialized","isSpecialBuiltIn","supportsAbstractMethods","isDataClass","isSkipSynthesizedDataClassInit","isSkipSynthesizedDataClassEq","isFrozenDataClass","isSynthesizedDataclassOrder","isDataClassKeywordOnlyParams","isGeneratedDataClassSlots","isSynthesizeDataClassUnsafeHash","isTypedDictClass","isCanOmitDictValues","isEnumClass","isPropertyClass","isClassProperty","isProtocolClass","isDefinedInStub","getDataClassEntries","dataClassEntries","isRuntimeCheckable","isTypingExtensionClass","isPartiallyConstructed","hasCustomClassGetItem","isTupleClass","isReadOnlyInstanceVariables","getTypeParameters","hasUnknownBaseClass","baseClass","isDerivedFrom","subclassType","parentClassType","inheritanceChain","functionFlags","typeFlags","parameterTypes","createInstance","clone","stripFirstParam","boundToType","boundTypeVarScopeId","newFunction","preBoundFlags","isTypeInferred","strippedFirstParamType","newInstance","specializedInferredReturnType","cloneForParamSpec","paramSpecValue","paramSpec","specEntry","hasDefault","isNameSynthesized","hasDeclaredType","isParamSpecValue","paramInfo","cloneWithNewFlags","cloneForParamSpecApplication","lastParam","cloneRemoveParamSpecVariadics","addDefaultParameters","functionType","useUnknown","addParameter","hasDefaultParameters","sawArgs","sawKwargs","isInstanceMethod","isConstructorMethod","isStaticMethod","isClassMethod","isAbstractMethod","isGenerator","isSynthesizedMethod","isSkipConstructorCheck","isOverloaded","isDefaultParameterCheckDisabled","isWrapReturnTypeInAwait","isStubDefinition","isPyTypedDefinition","hasUnannotatedParams","shouldSkipArgsKwargsCompatibilityCheck","getSpecializedReturnType","addOverload","_noneInstance","_noneType","createType","_neverInstance","_noReturnInstance","_anyInstance","isEllipsis","_ellipsisInstance","_compare","c1","c2","typeVarName","constraintIndex","conditions1","conditions2","combined","isCompatible","foundTypeVarMatch","exactMatch","typeAliasSource","sourcesToAdd","makeNameWithScope","cloneForScopeId","scopeName","scopeType","nameWithScope","isInUnion","isVariadicInUnion","cloneForPacked","cloneAsInvariant","cloneForParamSpecAccess","access","paramSpecAccess","cloneAsSpecializedSelf","specializedBoundType","isSynthesizedSelf","addConstraint","typeVarType","constraintType","getNameWithScope","getReadableName","nextSymbolId","_flags","newSymbol","_synthesizedType","isInitiallyUnbound","setIsExternallyHidden","setIsIgnoredForProtocolMatch","isIgnoredForProtocolMatch","setIsClassMember","isClassMember","setIsInstanceMember","isInstanceMember","setIsClassVar","isClassVar","setIsInitVar","isInitVar","setIsInDunderAll","isInDunderAll","setIsPrivateMember","isPrivateMember","setPrivatePyTypedImport","isPrivatePyTypedImport","addDeclaration","_declarations","declIndex","curDecl","inferredTypeSource","hasDeclarations","getDeclarations","hasTypedDeclarations","getTypedDeclarations","getSynthesizedType","getLastTypedDeclaredForSymbol","typedDecls","isTypedDictMemberAccessedThroughIndex","isFinalVariable","TypeVarMap","solveForScopes","_isLocked","_solveForScopes","_typeVarMap","_paramSpecMap","newTypeVarMap","setTypeVarType","typeVar","narrowBound","wideBound","retainLiteral","setParamSpec","_variadicTypeVarMap","setVariadicTypeVar","types","copyFromClone","getSolveForScopes","hasSolveForScope","setSolveForScopes","scopeIds","addSolveForScope","getScore","score","getTypeVarType","_getComplexityScoreForType","hasTypeVar","_getKey","useNarrowBoundOnly","getVariadicTypeVar","getTypeVar","getTypeVars","hasParamSpec","getParamSpec","typeVarCount","getWideTypeBound","getRetainLiterals","unlock","isLocked","maxScore","doForEachSubtype","subtypeScore","_getComplexityScoreForClass","typeArgScoreSum","typeArg","ParameterSource","DiagnosticRule","getParameterListDetails","firstPositionOrKeywordIndex","positionParamCount","positionOnlyParamCount","hasUnpackedVariadicTypeVar","positionOnlyIndex","sawKeywordOnlySeparator","addVirtualParameter","typeOverride","PositionOnly","KeywordOnly","PositionOrKeyword","tupleArg","argsIndex","firstKeywordOnlyIndex","typedDictEntries","isRequired","kwargsIndex","isOptionalType","mapSubtypes","newSubtypes","typeChanged","transformedType","addConditionToType","getTypeCondition","areTypesSame","stripLiteralValue","isTypeAliasPlaceholder","transformPossibleRecursiveTypeAlias","unspecializedType","convertToInstance","applySolvedTypeVars","buildTypeVarMap","getTypeVarScopeId","getSpecializedTupleType","tupleClass","mroClass","buildTypeVarMapFromSpecializedClass","isLiteralType","isLiteralTypeOrUnion","containsLiteralType","includeTypeArgs","overload","getLiteralTypeClassName","foundMismatch","subtypeLiteralTypeName","getUnionSubtypeCount","isEllipsisType","isProperty","isUnboundedTupleClass","partiallySpecializeType","contextClassType","selfClass","typeVarMap","populateTypeVarMapForSelfType","synthesizedSelfTypeVar","synthesizeTypeVarForSelfCls","unknownIfNotFound","eliminateUnsolvedInUnions","ApplySolvedTypeVarsTransformer","getProtocolSymbols","symbolMap","getProtocolSymbolsRecursive","isTypeDeclared","skippedUndeclaredType","lookUpObjectMember","lookUpClassMember","getClassMemberIterator","declaredTypesOnly","classFlags","classItr","getClassIterator","specializedMroClass","cm","memberFields","skipMroEntry","addTypeVarsToListIfUnique","list1","list2","getTypeVarArgumentsRecursive","combinedList","getTypeVarsFromClass","specializeClassType","typeParam","setTypeArgumentsRecursive","paramType","makeConcrete","typeArgType","paramSpecEntries","typeArgFunctionType","paramIndex","specializeForBaseClass","specializedType","derivesFromClassRecursive","baseClassToFind","ignoreUnknown","isClsParam","selfType","getDeclaredGeneratorReturnType","generatorTypeArgs","getGeneratorTypeArgs","isEffectivelyInstantiable","convertToInstantiable","getMembersForClass","includeInstanceVars","isClassTypedDict","existingSymbol","metaclass","containsUnknown","foundUnknown","isPartlyUnknown","allowUnknownTypeArgsForClasses","argType","explodeGenericClass","combineSameSizedTuples","tupleType","tupleEntries","isValid","specializeTupleClass","stripLiterals","isUnpackedTuple","combinedTupleType","clonedClassType","removeParamSpecVariadicsFromSignature","removeParamSpecVariadicsFromFunction","newOverloads","newTypeNeeded","newOverload","paramCount","argsParam","kwargsParam","_expandVariadicUnpackedUnion","requiresSpecialization","ignoreSelf","computeMroLinearization","isMroFound","filteredBaseClasses","innerBaseClass","innerIndex","classListsToMerge","isInTail","searchClass","classLists","classList","filterClass","classToFilter","nonEmptyList","foundValidHead","getDeclaringModulesForType","moduleList","addDeclaringModuleNamesForType","convertParamSpecValueToType","paramSpecEntry","hasParameters","onlyParam","TypeVarTransformer","_isTransformingTypeArg","recursionSet","requiresUpdate","replacementType","transformTypeVar","subtypesToCombine","transformedSubtype","transformUnion","_transformTypeVarsInClassType","_transformTypeVarsInFunctionType","transformVariadicTypeVar","transformParamSpec","newVariadicTypeArgs","newTypeArgs","specializationNeeded","wasTransformingTypeArg","oldTypeArgType","newTypeArgType","typeParamName","sourceType","specializedReturnType","typesRequiredSpecialization","specializedParameters","argsParamType","kwargsParamType","paramSpecType","variadicParamIndex","variadicTypesToUnpack","newFunctionType","insertKeywordOnlySeparator","swallowPositionOnlySeparator","sawUnboundedEntry","unpackedType","_unknownIfNotFound","_useNarrowBoundOnly","_eliminateUnsolvedInUnions","wideType","updatedUnion","ExpectedConstructorTypeTransformer","_liveTypeVarScopes","dummyScopeId","dummyTypeVarPrefix","_isTypeVarLive","_createDummyTypeVar","prevTypeVar","newTypeVar","synthesizedTypeVarIndexForExpectedType","SourceMapper","_importResolver","_execEnv","_evaluator","_fileBinder","_boundSourceGetter","_preferStubs","findModules","_getBoundSourceFilesFromStubFile","sf","getParseResults","findDeclarations","stubDecl","_findClassOrTypeAliasDeclarations","_findFunctionOrTypeAliasDeclarations","_findVariableDeclarations","_findParameterDeclarations","_findSpecialBuiltInClassDeclarations","findClassDeclarations","findClassDeclarationsByType","originatedPath","_addClassTypeDeclarations","findFunctionDeclarations","recursiveDeclCache","flatMap","sourceFile","_findClassDeclarationsByName","_getFullClassName","functionName","sourceFiles","isMethod","_findMethodDeclarationsByName","_findFunctionDeclarationsByName","variableName","_findFieldDeclarationsByName","_findVariableDeclarationsByName","functionNode","functionStubDecls","getDeclarationsForNameNode","functionStubDecl","functionDecl","_lookUpSymbolDeclarations","_findMemberDeclarationsByName","declAdder","classDecls","classDecl","classResults","getTypeOfClass","uniqueId","getFilePath","_isStubThatShouldBeMappedToImplementation","implDecl","moduleNode","_addDeclarationsFollowingWildcardImports","_addVariableDeclarations","_addClassOrFunctionDeclarations","fullClassName","parentNode","classNameParts","_findClassDeclarations","classNamePart","parentDecl","resolvedDecl","resolveAliasDeclaration","nodeToBind","getType","overloadDecl","originated","_getSourceFiles","containingScope","lookUpSymbol","fp","convertLevelToCategory","_relatedInfo","addAction","action","_actions","getActions","setRule","rule","_rule","getRule","addRelatedInfo","getRelatedInfo","DiagnosticAddendum","_childAddenda","addMessage","createAddendum","newAddendum","addAddendum","getString","maxDepth","maxLineCount","_getLinesRecursive","_getMessageCount","getChildren","getMessages","messageCount","diag","childLines","maxDepthRemaining","extraSpace","ParameterizedString","_formatString","getFormatString","diagnosticStyle","isSimpleMessageStyle","optionalAddendum","localizedStrings","defaultStrings","getRawString","keyParts","getRawStringFromMap","curObj","keyPart","initializeLocalization","locale","style","currentLocale","env","process","vscodeConfigString","VSCODE_NLS_CONFIG","localeString","LC_ALL","LC_MESSAGES","LANG","LANGUAGE","localeStringSplit","getLocaleFromEnv","override","loadStringsFromJsonFile","localeSplit","loadStringsForLocale","Localizer","synthesizeTypedDictClassMethods","evaluator","initType","getTypedDictMembersForClass","strClass","getBuiltInType","selfParam","createDefaultTypeVar","defaultTypeVar","createGetMethod","keyType","includeDefault","defaultTypeMatchesField","getOverload","getScopeIdForNode","createPopMethods","keyParam","popOverload1","popOverload2","createSetDefaultMethod","setDefaultOverload","createDelItemMethod","delItemOverload","getOverloads","popOverloads","setDefaultOverloads","nameLiteralType","strType","allowNarrowed","getTypedDictMembersForClassRecursive","keyMap","baseClassType","lastDecl","getEffectiveTypeOfSymbol","isRequiredTypedDictVariable","isNotRequired","isNotRequiredTypedDictVariable","existingEntry","typedDictFieldRedefinition","parentType","printType","childType","addDiagnostic","diagnosticRuleSet","reportGeneralTypeIssues","isProvided","canAssignTypedDict","typesAreConsistent","destEntries","srcEntries","destEntry","srcEntry","typedDictFieldRequired","typedDictFieldNotRequired","canAssignType","memberTypeMismatch","typedDictFieldMissing","getTypeFromIndexedTypedDict","baseType","usage","addError","typeArgsMismatchOne","indexTypeResult","getTypeOfExpression","indexType","allDiagsInvolveNotRequiredKeys","resultingType","entryName","treatWithAsTryBlock","keyNotRequired","setType","keyRequiredDeleted","keyUndefined","typeNotStringLiteral","setExpectedTypeDiag","typedDictDiag","typedDictSet","typedDictDelete","typedDictAccess","reportTypedDictNotRequiredAccess","isInheritedFromBuiltin","getPropertyDocStringInherited","sourceMapper","enclosingClass","declaredType","getTypeForDeclaration","fieldName","_getFunctionDocStringFromDeclaration","_getPropertyDocStringInherited","getModuleDocString","modules","_getModuleNodeDocString","getClassDocString","_getFunctionOrClassDeclsDocString","implDecls","getFunctionOrClassDeclDocString","getVariableDocString","docStrings","getVariableInStubFileDocStrings","doc","_getOverloadedFunctionDocStrings","Refactoring","annotatedParamCountMismatch","annotatedTypeArgMissing","annotationFormatString","annotationNotSupported","annotationSpansStrings","annotationStringEscape","argAssignment","argAssignmentFunction","argAssignmentParam","argAssignmentParamFunction","argMissingForParam","argMissingForParams","argMorePositionalExpectedCount","argMorePositionalExpectedOne","argPositional","argPositionalExpectedCount","argPositionalExpectedOne","argTypePartiallyUnknown","argTypeUnknown","assertAlwaysTrue","assignmentExprContext","assignmentExprComprehension","assignmentExprInSubscript","assignmentInProtocol","assignmentTargetExpr","asyncNotInAsyncFunction","awaitIllegal","awaitNotInAsync","backticksIllegal","baseClassCircular","baseClassInvalid","baseClassFinal","baseClassMethodTypeIncompatible","baseClassUnknown","bindTypeMismatch","booleanIsLowerCase","breakOutsideLoop","callableExtraArgs","callableFirstArg","callableSecondArg","casePatternIsIrrefutable","classAlreadySpecialized","classDecoratorTypeUnknown","classDefinitionCycle","classGetItemClsParam","classMethodClsParam","classNotRuntimeSubscriptable","classPatternBuiltInArgCount","classPatternBuiltInArgPositional","classPatternTypeAlias","classVarNotAllowed","classVarFirstArgMissing","classVarOverridesInstanceVar","classVarTooManyArgs","classVarWithTypeVar","clsSelfParamTypeMismatch","comparisonAlwaysFalse","comparisonAlwaysTrue","comprehensionInDict","comprehensionInSet","concatenateParamSpecMissing","concatenateTypeArgsMissing","constantRedefinition","constructorNoArgs","constructorParametersMismatch","continueInFinally","continueOutsideLoop","dataClassBaseClassNotFrozen","dataClassFieldWithDefault","dataClassPostInitParamCount","dataClassPostInitType","dataClassSlotsOverwrite","dataClassTransformExpectedBoolLiteral","dataClassTransformFieldDescriptor","dataClassTransformPositionalParam","dataClassTransformUnknownArgument","declaredReturnTypePartiallyUnknown","declaredReturnTypeUnknown","defaultValueContainsCall","defaultValueNotAllowed","defaultValueNotEllipsis","deprecatedType","dictExpandIllegalInComprehension","dictInAnnotation","dictKeyValuePairs","dictUnpackIsNotMapping","delTargetExpr","dunderAllSymbolNotPresent","duplicateArgsParam","duplicateBaseClass","duplicateCatchAll","duplicateEnumMember","duplicateImport","duplicateKwargsParam","duplicateKeywordOnly","duplicateParam","duplicateCapturePatternTarget","duplicateStarPattern","duplicateStarStarPattern","duplicatePositionOnly","duplicateUnpack","ellipsisContext","ellipsisSecondArg","enumClassOverride","exceptionGroupIncompatible","exceptionTypeIncorrect","exceptionTypeNotClass","exceptionTypeNotInstantiable","expectedAfterDecorator","expectedArrow","expectedAsAfterException","expectedAssignRightHandExpr","expectedBinaryRightHandExpr","expectedBoolLiteral","expectedCase","expectedClassName","expectedCloseBrace","expectedCloseBracket","expectedCloseParen","expectedColon","expectedComplexNumberLiteral","expectedDecoratorExpr","expectedDecoratorName","expectedDecoratorNewline","expectedDelExpr","expectedElse","expectedEqualityOperator","expectedExceptionClass","expectedExceptionObj","expectedExpr","expectedImport","expectedImportAlias","expectedImportSymbols","expectedIdentifier","expectedIndentedBlock","expectedIn","expectedInExpr","expectedFunctionAfterAsync","expectedFunctionName","expectedMemberName","expectedModuleName","expectedNameAfterAs","expectedNamedParameter","expectedNewline","expectedNewlineOrSemicolon","expectedOpenParen","expectedParamName","expectedPatternExpr","expectedPatternSubjectExpr","expectedPatternValue","expectedReturnExpr","expectedSliceIndex","expectedTypeNotString","expectedYieldExpr","finalClassIsAbstract","finalContext","finalMethodOverride","finalReassigned","finalRedeclaration","finalRedeclarationBySubclass","finalTooManyArgs","finalUnassigned","formatStringBrace","formatStringBytes","formatStringEscape","formatStringInPattern","formatStringIllegal","formatStringUnicode","formatStringUnterminated","functionDecoratorTypeUnknown","generatorAsyncReturnType","generatorNotParenthesized","generatorSyncReturnType","genericClassAssigned","genericClassDeleted","genericNotAllowed","genericTypeAliasBoundTypeVar","genericTypeArgMissing","genericTypeArgTypeVar","genericTypeArgUnique","globalReassignment","globalRedefinition","implicitStringConcat","importCycleDetected","importDepthExceeded","importResolveFailure","importSourceResolveFailure","importSymbolUnknown","incompatibleMethodOverride","inconsistentIndent","inconsistentTabs","initMustReturnNone","initSubclassClsParam","instanceMethodSelfParam","instanceVarOverridesClassVar","instantiateAbstract","instantiateProtocol","internalBindError","internalParseError","internalTypeCheckingError","invalidIdentifierChar","invalidStubStatement","invalidTokenChars","isInstanceInvalidType","isSubclassInvalidType","keyValueInSet","keywordArgInTypeArgument","keywordOnlyAfterArgs","keywordSubscriptIllegal","lambdaReturnTypeUnknown","lambdaReturnTypePartiallyUnknown","listAssignmentMismatch","listInAnnotation","literalUnsupportedType","literalEmptyArgs","literalNotCallable","matchIncompatible","matchIsNotExhaustive","maxParseDepthExceeded","memberAccess","memberDelete","memberSet","metaclassConflict","metaclassDuplicate","metaclassIsGeneric","methodNotDefined","methodNotDefinedOnType","methodOrdering","methodOverridden","methodReturnsNonObject","missingProtocolMembers","missingSuperCall","moduleAsType","moduleNotCallable","moduleUnknownMember","namedExceptAfterCatchAll","namedParamAfterParamSpecArgs","namedTupleEmptyName","namedTupleFirstArg","namedTupleMultipleInheritance","namedTupleNameType","namedTupleNameUnique","namedTupleNoTypes","namedTupleSecondArg","newClsParam","newTypeLiteral","newTypeNotAClass","newTypeProtocolClass","nonDefaultAfterDefault","noneNotCallable","noneNotIterable","noneNotSubscriptable","noneNotUsableWith","noneOperator","noneUnknownMember","nonLocalNoBinding","nonLocalReassignment","nonLocalRedefinition","nonLocalInModule","noOverload","noReturnContainsReturn","noReturnContainsYield","noReturnReturnsNone","notRequiredArgCount","notRequiredNotInTypedDict","objectNotCallable","obscuredClassDeclaration","obscuredFunctionDeclaration","obscuredMethodDeclaration","obscuredParameterDeclaration","obscuredVariableDeclaration","operatorLessOrGreaterDeprecated","optionalExtraArgs","orPatternIrrefutable","orPatternMissingName","overlappingOverload","overloadAbstractMismatch","overloadImplementationMismatch","overloadReturnTypeMismatch","overloadWithImplementation","overloadWithoutImplementation","paramAfterKwargsParam","paramAlreadyAssigned","paramAnnotationMissing","paramNameMissing","paramSpecArgsKwargsUsage","paramSpecArgsUsage","paramSpecAssignedName","paramSpecContext","paramSpecFirstArg","paramSpecKwargsUsage","paramSpecNotBound","paramSpecNotUsedByOuterScope","paramSpecUnknownArg","paramSpecUnknownMember","paramSpecUnknownParam","paramTypeCovariant","paramTypeUnknown","paramAssignmentMismatch","paramTypePartiallyUnknown","parenthesizedContextManagerIllegal","positionArgAfterNamedArg","privateImportFromPyTypedModule","positionOnlyAfterArgs","positionOnlyAfterKeywordOnly","positionOnlyIncompatible","positionOnlyFirstParam","privateUsedOutsideOfClass","privateUsedOutsideOfModule","propertyOverridden","propertyStaticMethod","protectedUsedOutsideOfClass","protocolBaseClass","protocolIllegal","protocolMemberNotClassVar","protocolNotAllowedInTypeArgument","protocolUsedInCall","protocolVarianceContravariant","protocolVarianceCovariant","protocolVarianceInvariant","recursiveDefinition","relativeImportNotAllowed","requiredArgCount","requiredNotInTypedDict","returnMissing","returnOutsideFunction","returnTypeContravariant","returnTypeMismatch","returnTypeUnknown","returnTypePartiallyUnknown","revealLocalsArgs","revealLocalsNone","revealTypeArgs","revealTypeExpectedTextArg","revealTypeExpectedTextMismatch","revealTypeExpectedTypeMismatch","selfTypeContext","selfTypeWithTypedSelfOrCls","setterGetterTypeMismatch","starPatternInAsPattern","starPatternInOrPattern","singleOverload","slotsAttributeError","slotsClassVarConflict","starStarWildcardNotAllowed","staticClsSelfParam","strictTypeGuardReturnType","stringNonAsciiBytes","stringNotSubscriptable","stringUnsupportedEscape","stringUnterminated","stubFileMissing","stubUsesGetAttr","sublistParamsIncompatible","superCallArgCount","superCallFirstArg","superCallSecondArg","superCallZeroArgForm","symbolIsUnbound","symbolIsUndefined","symbolIsPossiblyUnbound","symbolOverridden","totalOrderingMissingMethod","trailingCommaInFromImport","tryWithoutExcept","tupleAssignmentMismatch","tupleInAnnotation","tupleIndexOutOfRange","typeAliasIsRecursiveDirect","typeAliasIsRecursiveIndirect","typeAliasNotInModuleOrClass","typeAliasRedeclared","typeAnnotationCall","typeAnnotationVariable","typeArgListExpected","typeArgListNotAllowed","typeArgsExpectingNone","typeArgsMissingForAlias","typeArgsMissingForClass","typeArgsTooFew","typeArgsTooMany","typeAssignmentMismatch","typeCallNotAllowed","typedDictBadVar","typedDictBaseClass","typedDictEmptyName","typedDictEntryName","typedDictEntryUnique","typedDictExtraArgs","typedDictFirstArg","typedDictSecondArgDict","typedDictSecondArgDictEntry","typedDictTotalParam","typeExpectedClass","typeGuardArgCount","typeNotAwaitable","typeNotCallable","typeNotIntantiable","typeNotIterable","typeNotSpecializable","typeNotSubscriptable","typeNotUsableWith","typeNotSupportBinaryOperator","typeNotSupportBinaryOperatorBidirectional","typeNotSupportUnaryOperator","typeNotSupportUnaryOperatorBidirectional","typePartiallyUnknown","typeUnknown","typeVarAssignedName","typeVarAssignmentMismatch","typeVarBoundAndConstrained","typeVarFirstArg","typeVarGeneric","typeVarNoMember","typeVarNotSubscriptable","typeVarNotUsedByOuterScope","typeVarSingleConstraint","typeVarsNotInGeneric","typeVarTupleMustBeUnpacked","typeVarTupleContext","typeVarUnknownParam","typeVarUsedByOuterScope","typeVarUsedOnlyOnce","typeVarVariance","unaccessedClass","unaccessedFunction","unaccessedImport","unaccessedSymbol","unaccessedVariable","unexpectedAsyncToken","unexpectedExprToken","unexpectedIndent","unexpectedUnindent","unionSyntaxIllegal","unionTypeArgCount","uninitializedInstanceVariable","unnecessaryCast","unnecessaryIsInstanceAlways","unnecessaryIsSubclassAlways","unnecessaryTypeIgnore","unpackArgCount","unpackedArgInTypeArgument","unpackedArgWithVariadicParam","unpackedDictArgumentNotMapping","unpackedSubscriptIllegal","unpackedTypedDictArgument","unpackedTypeVarTupleExpected","unpackExpectedTypedDict","unpackExpectedTypeVarTuple","unpackIllegalInComprehension","unpackInAnnotation","unpackInDict","unpackInSet","unpackNotAllowed","unpackOperatorNotAllowed","unpackTuplesIllegal","unreachableCode","unreachableExcept","unsupportedDunderAllOperation","unusedCallResult","unusedCoroutine","varAnnotationIllegal","variadicTypeArgsTooMany","variadicTypeParamTooManyAlias","variadicTypeParamTooManyClass","walrusIllegal","walrusNotAllowed","wildcardInFunction","wildcardLibraryImport","yieldFromIllegal","yieldFromOutsideAsync","yieldOutsideFunction","yieldTypeMismatch","yieldWithinListCompr","zeroCaseStatementsFound","zeroLengthTupleNotAllowed","argParam","argParamFunction","argsParamMissing","argsPositionOnly","argumentType","argumentTypes","assignToNone","asyncHelp","baseClassProvidesType","dataClassFrozen","dataClassFieldLocation","finalMethod","functionParamDefaultMissing","functionParamName","functionReturnTypeMismatch","functionTooFewParams","incompatibleGetter","incompatibleSetter","incompatibleDeleter","initMethodLocation","initMethodSignature","functionTooManyParams","kwargsParamMissing","literalAssignmentMismatch","matchIsNotExhaustiveType","matchIsNotExhaustiveHint","memberAssignment","memberIsAbstract","memberIsAbstractMore","memberIsFinalInProtocol","memberIsInitVar","memberIsNotFinalInProtocol","memberSetClassVar","memberUnknown","missingProtocolMember","missingGetter","missingSetter","missingDeleter","namedParamMissingInDest","namedParamMissingInSource","namedParamTypeMismatch","newMethodLocation","newMethodSignature","noOverloadAssignable","overloadMethod","overloadNotAssignable","overriddenMethod","overriddenSymbol","overrideParamCount","overrideParamName","overrideParamNamePositionOnly","overrideParamType","overrideReturnType","overrideType","paramAssignment","paramSpecOverload","privateImportFromPyTypedSource","propertyAccessFromProtocolClass","propertyMethodIncompatible","propertyMethodMissing","propertyMissingDeleter","propertyMissingSetter","protocolMemberClassVar","protocolIncompatible","protocolMemberMissing","protocolSourceIsNotConcrete","readOnlyAttribute","seeDeclaration","seeClassDeclaration","seeFunctionDeclaration","seeMethodDeclaration","seeParameterDeclaration","seeVariableDeclaration","tupleEntryTypeMismatch","tupleSizeMismatch","tupleSizeMismatchIndeterminate","typeBound","typeConstrainedTypeVar","typedDictFieldTypeMismatch","typedDictFieldUndefined","typedDictFinalMismatch","typeIncompatible","typeNotClass","typeParamSpec","typeOfSymbol","typeUnsupported","typeVarIsContravariant","typeVarIsCovariant","typeVarIsInvariant","typeVarTupleRequiresKnownLength","typeVarNotAllowed","typeVarsMissing","useDictInstead","useListInstead","useTupleInstead","useTypeInstead","addOptionalToAnnotation","createTypeStub","createTypeStubFor","executingCommand","filesToAnalyzeOne","filesToAnalyzeCount","findingReferences","organizeImports","moveFile","moveFileLabel","moveFileDescription","singleTickRegEx","escapedDoubleQuoteRegEx","printTypeFlags","returnTypeCallback","recursionTypes","parenthesizeUnion","parenthesizeCallable","expandTypeAlias","argumentStrings","tupleTypeArg","includeConditionalIndicator","getConditionalIndicator","printLiteralValue","paramSignature","fullSignature","subtypeHandledSet","subtypeStrings","updatedPrintTypeFlags","matchedAllSubtypes","allSubtypesPreviouslyHandled","indicesCoveredByTypeAlias","sourceSubtype","unionSubtypeIndex","foundMatch","unionSubtype","noneIndex","typeWithoutNone","optionalType","literalObjectStrings","literalClassStrings","dedupedSubtypeStrings","literalStrings","unionString","boundTypeString","quotation","literalStr","objName","lastTypeParam","typeArgStrings","isAllAny","typeArgText","typeArgTypeText","paramTypeStrings","sawDefinedName","specializedParamType","paramString","defaultValueAssignment","isParamSpecArgsKwargsParam","paramTypeString","defaultValueExpression","returnTypeString","DocumentSymbolCollector","_symbolName","_cancellationToken","_startingNode","_treatModuleInImportAndFromImportSame","_results","_dunderAllNameNodes","_setDunderAllNodes","cancellationToken","startingNode","declarations","getDeclarationsForNode","collect","resolveLocalName","_getDeclarationsForNode","resolvedDeclarations","_addIfUnique","_resultsContainsDeclaration","_addResult","quoteMarkLength","hasEnding","getStringValueRange","getStringNodeValueRange","resolvedDeclNonlocal","_getResolveAliasDeclaration","isAliasDeclFromImportAsWithAlias","moduleScope","stringNodes","stringNode","symbolInScope","lookUpSymbolRecursive","itemToAdd","aliasDecl","isImportAsWithAlias","symbolWithScope","getOverloadedFunctionTooltip","columnThreshold","getFunctionDocStringFromType","_getFunctionDocString","memberIterator","classMember","inheritedDecl","getFunctionDocStringInherited","getOverloadedFunctionDocStringsFromType","resolvedDecls","declType","getOverloadedFunctionDocStringsInherited","getDocumentationPartsForTypeAndDecl","Keywords","SortCategory","python3_5","python3_10","forVersion","V3_5","dictionaryKeyDetail","CompletionProvider","_workspacePath","_parseResults","_fileContents","_position","_filePath","_importLookup","_sourceMapper","_autoImportMaps","_insideStringLiteral","findExecEnvironment","getCompletionsForPosition","initialNode","initialDepth","curOffset","sawComma","curChar","lineTextRange","textOnLine","priorText","postText","priorWordIndex","priorWord","_isWithinComment","errorNode","_getLiteralCompletions","_getImportModuleCompletions","_getExpressionErrorCompletions","_getMemberAccessCompletions","completionMap","CompletionMap","_addTypedDictKeys","dictionaryEntry","dictionaryNode","trailingCommaToken","_tryGetNameCompletions","_getImportFromCompletions","_getExpressionCompletions","_getStatementCompletions","resolveCompletionItem","completionItem","completionItemData","autoImportText","curIndex","_mostRecentCompletions","symbolLabel","_itemToResolve","completionResults","_addAutoImportCompletions","_isOverload","_getMethodOverloadsCompletions","tokenIndex","prevToken","getTokenAfter","_createSingleKeywordCompletion","_getMethodOverrideCompletions","_checkDecorator","_makeSortText","LikelyKeyword","partialName","getSymbolTable","funcParensDisabled","enclosingFunc","_createReplaceEdits","_addSymbol","staticmethod","classmethod","isDeclaredStaticMethod","isDeclaredClassMethod","methodSignature","_printMethodSignature","_printOverriddenMethodBody","snippet","replaceOrInsertEndChar","ellipsisForDefault","printFlags","paramList","paramTypeAnnotation","getTypeAnnotationForParameter","isSimpleDefault","sb","results","keywordOnly","parameter","getParameters","leftExprNode","memberAccessInfo","leftType","makeTopLevelTypeVarsConcrete","getMembersForModule","functionClass","objectClass","_addSymbolsForSymbolTable","_getLastKnownModule","curType","unknownMemberName","moduleNamesForType","lastKnownModule","lastKnownMemberName","parseNode","isIndexArgument","_isIndexArgument","_addCallArgumentCompletions","_addSymbols","_findMatchingKeywords","lazyEdit","_tryAddTypedDictStringLiteral","declaredTypeOfTarget","getExpectedType","_addLiteralValuesForTargetType","indexNode","_getIndexerKeys","_addNameToCompletions","LiteralValue","itemDetail","currentNode","atArgument","callInfo","signatureInfo","getCallSignatureInfo","callNameEnd","_addNamedParameters","_addLiteralValuesForArgument","signatures","signature","activeParam","quoteValue","_getQuoteValueFromPriorText","_getSubTypesWithLiteralValues","quoteCharacter","stringValue","_addStringLiteralToCompletions","_getDictExpressionStringKeys","excludeIds","getDictionaryLikeNode","_getIndexerKeyType","getItemType","invocationNode","predominantSingleQuoteCharacter","scopeRoot","collectFromNode","dictionary","quote","indexArgument","expectedTypeResult","stringParent","dictOrSet","stringLiteral","keyWithoutQuote","typedDicts","_tryNarrowTypedDicts","excludes","typedDict","newTypes","lastSingleQuote","lastDoubleQuote","priorString","valueWithQuotes","rangeStartCol","rangeEndCol","similarityLimit","autoImportCompletions","autoImport","moduleSymbolMap","getModuleSymbolsMap","autoImporter","AutoImporter","libraryMap","nameMap","getAutoImportCandidatesForAbbr","getAutoImportCandidates","perfInfo","getPerfInfo","additionDuration","autoImportSource","autoImportAlias","insertionText","_getAutoImportText","autoImportInfo","indexUsed","totalTimeInMS","totalInMs","moduleTimeInMS","indexTimeInMS","importAliasTimeInMS","itemCount","symbolCount","indexCount","importAliasCount","additionTimeInMS","importFromNode","lookupResults","imp","implImport","keywordList","partialMatch","argNameMap","_addNamedParametersToMap","argName","workspacePath","NamedParameter","paramMap","includeSymbolCallback","isInImport","boundObjectOrClass","isDefinedInFile","primaryDecl","itemKind","_convertDeclarationTypeToItemKind","typeDetail","altDetail","bindFunctionToClassOrObject","propertyType","getGetterTypeFromProperty","printSimplifiedFunctionSignature","markdownString","plainTextString","importAlias","getAutoImportText","matchKindAndImportText","AutoImport","DunderSymbol","PrivateSymbol","NormalSymbol","insertTextFormat","te","_getRecentListIndex","sortCategory","recentListIndex","RecentAutoImport","ImportModuleName","RecentImportModuleName","RecentKeywordOrSymbol","_formatInteger","digits","charCodeZero","digit","resolvedDeclaration","intrinsicType","isConstant","_isPossiblePropertyDeclaration","getTypeOfFunction","decoratedType","completions","missingImportKeyword","completionName","_completions","existing","autImportText","toArray","_kind","_autoImportText","_execEnvironment","_invocationPosition","_excludes","_moduleSymbolMap","_stopWatch","_perfInfo","_importStatements","abbr","abbrInfo","_getCandidates","word","abbrFromUsers","resultMap","importAliasMap","_addImportsFromModuleMap","_addImportsFromLibraryMap","_addImportsFromImportAliasMap","aliasMap","indexResults","privateOrProtected","isStubFileOrHasInit","_isStubFileOrHasInit","_processModuleSymbolTable","createModuleSymbolTableFromIndexResult","topLevelSymbols","initPathPy","initPathPyi","isStub","hasInit","isStubOrHasInit","importSource","_getImportPartsForSymbols","dotCount","autoImportSymbol","library","_perfIndexCount","_shouldIncludeVariable","_isSimilar","_containsName","_addToImportAliasMap","importParts","autoImportTextEdits","_getTextEditsForAutoImportByFilePath","convertSymbolKindToCompletionItemKind","_getImportParts","modulePath","originalName","allowVariableInAll","mapPerSymbolName","importAliasData","imported","existingData","_compareImportAliasData","groupComparison","dotComparison","_getModuleNameAndTypeFromFilePath","importNamePart","createImportParts","patternMatcher","_shouldExclude","labelOnlyIgnoringAutoImports","importNode","symbols","externallyVisible","CallHierarchyProvider","getSymbolKind","incomingCalls","FindIncomingCallTreeWalker","findCalls","parseRoot","initMethodMember","initMethodType","getTypeOfMember","initDecls","primaryInitDecl","outgoingCalls","FindOutgoingCallTreeWalker","targetDecl","_parseRoot","_outgoingCalls","nameNode","_addOutgoingCallForDeclaration","leftHandType","memberInfo","memberType","propertyDecls","callDest","outgoingCall","outgoing","fromRanges","fromRange","_declaration","_incomingCalls","_addIncomingCallForDeclaration","executionNode","callSource","moduleRange","lambdaRange","functionRange","incomingCall","incoming","symbolKind","ReferencesResult","requiresGlobalSearch","nodeAtOffset","_reporter","_locations","addLocations","locs","FindReferencesTreeWalker","_referencesResult","_includeDeclaration","findReferences","rootNode","collector","ReferencesProvider","reporter","evalScope","getDeclarationForNode","referencesResult","includeDeclaration","refTreeWalker","UpdateType","PythonPlatform","DefinitionFilter","Comment","Token","IndentToken","DedentToken","NewLineToken","KeywordToken","StringToken","NumberToken","OperatorToken","IdentifierToken","RenameModuleProvider","_fs","_moduleFilePath","newModuleFilePath","_moduleNameAndType","_newModuleNameAndType","_aliasIntroduced","_newModuleFilePath","_moduleNames","_moduleName","_newModuleNames","_newModuleName","_onlyNameChanged","importResolver","newPath","_create","oldDirectory","newDirectory","getDirectoryChangeKind","fileNameForPackage","filteredDecls","moduleFilePath","tokenOrDeclarations","newModuleName","renameReferences","_renameFolderReferences","_renameModuleReferences","_updateSymbolReferences","nameRemoved","importUsed","nodeFound","fromNode","_getNewModuleName","_addResultWithTextRange","_addFromImportNameDeletion","_addResultEdits","_getTextEditsForNewOrExistingFromImport","dottedName","moduleDecl","referenceModuleName","_canReplaceImportName","_getReferenceModuleName","_addImportNameDeletion","_newLastModuleName","fromImportAs","symbolReferences","nameToBind","lastModuleName","_updateModuleReferences","_updateRelativeModuleNamePath","_getNewRelativeModuleNamesForFileMoved","ModuleNameCollector","itemsToMove","moduleNameNode","exportedSymbols","subModules","_isExportedSymbol","nextNameDecl","moduleNames","originalInit","originalDirectory","newNames","_getNewModuleNameInfoForFileMoved","dest","submoduleFallback","currentFilePath","isRelativePath","isLastPartImportName","dotPrefix","getEdits","importToDelete","_addImportNameDeletionInternal","importKind","nameNodes","nameNodeIndex","editSpan","getTextRangeForImportNameDeletion","lastImportIndexNotDeleted","_addResultWithRange","statementNode","tokenPosition","currentIndex","tokenRange","_getEndPositionIfMultipleStatementsAreOnSameLine","getFullStatementRange","newName","_getDeletionsForSpan","filePathOrEdit","_removeEdits","deletions","currentFromImport","CircularDependency","_paths","appendPath","getPaths","normalizeOrder","firstIndex","isEqual","circDependency","getWellformedRange","addedLineOffsets","computeLineOffsets","isAtLineStart","textOffset","getWellformedEdit","spans","ExecutionEnvironment","defaultPythonVersion","defaultPythonPlatform","defaultExtraPaths","pythonPlatform","getBooleanDiagnosticRules","includeNonOverridable","boolRules","strictListInference","strictSetInference","strictDictionaryInference","strictParameterNoneValue","enableTypeIgnoreComments","getDiagLevelDiagnosticRules","reportPropertyTypeMismatch","reportFunctionMemberAccess","reportMissingImports","reportMissingModuleSource","reportMissingTypeStubs","reportImportCycles","reportUnusedImport","reportUnusedClass","reportUnusedFunction","reportUnusedVariable","reportDuplicateImport","reportWildcardImportFromLibrary","reportOptionalSubscript","reportOptionalMemberAccess","reportOptionalCall","reportOptionalIterable","reportOptionalContextManager","reportOptionalOperand","reportUntypedFunctionDecorator","reportUntypedClassDecorator","reportUntypedBaseClass","reportUntypedNamedTuple","reportPrivateUsage","reportPrivateImportUsage","reportConstantRedefinition","reportIncompatibleMethodOverride","reportIncompatibleVariableOverride","reportInconsistentConstructor","reportOverlappingOverload","reportMissingSuperCall","reportUninitializedInstanceVariable","reportInvalidStringEscapeSequence","reportUnknownParameterType","reportUnknownArgumentType","reportUnknownLambdaType","reportUnknownVariableType","reportUnknownMemberType","reportMissingParameterType","reportMissingTypeArgument","reportInvalidTypeVarUse","reportCallInDefaultInitializer","reportUnnecessaryIsInstance","reportUnnecessaryCast","reportUnnecessaryComparison","reportAssertAlwaysTrue","reportSelfClsParameterName","reportImplicitStringConcatenation","reportUndefinedVariable","reportUnboundVariable","reportInvalidStubStatement","reportIncompleteStub","reportUnsupportedDunderAll","reportUnusedCallResult","reportUnusedCoroutine","reportUnnecessaryTypeIgnoreComment","reportMatchNotExhaustive","ConfigOptions","projectRoot","typeCheckingMode","include","exclude","ignore","strict","indexing","logTypeEvaluationTime","typeEvaluationTimeThreshold","initializedFromJson","analyzeUnannotatedFunctions","executionEnvironments","getDiagnosticRuleSet","printUnknownAsAny","omitTypeArgsIfAny","omitUnannotatedParamType","omitConditionalConstraint","pep604Printing","getDefaultExecEnvironment","envRoot","getExecutionEnvironments","initializeFromJson","configObj","diagnosticOverrides","skipIncludeSection","configTypeCheckingMode","useLibraryCodeForTypes","defaultSettings","applyDiagnosticOverrides","ruleName","_convertBoolean","_convertDiagnosticLevel","pathIndex","ensureDefaultPythonVersion","ensureDefaultPythonPlatform","typingsPath","verboseOutput","_initExecutionEnvironmentFromJson","getPythonPlatform","getPythonVersion","ensureDefaultExtraPaths","autoSearchPaths","diagnosticSeverityOverrides","envObj","newExecEnv","DiagnosticSink","_diagnosticList","_diagnosticMap","fetchAndClear","prevDiagnostics","addWarning","addInformation","addUnusedCode","addDeprecated","addDiagnostics","diagsToAdd","getErrors","getWarnings","getInformation","getUnusedCode","getDeprecated","TextRangeDiagnosticSink","addDiagnosticWithTextRange","positionRange","addUnusedCodeWithTextRange","addDeprecatedWithTextRange","TextRangeCollection","_items","lastItem","DefinitionProvider","definitions","_resolveDeclarations","All","preferStubs","PreferStubs","wantedFile","isUnresolved","_createModuleEntry","importLookup","resolveLocalNames","allowExternallyHiddenAccess","curDeclaration","alreadyVisited","privatePyTypedImported","privatePyTypedImporter","isPrivate","lookupResult","unvisitedDecls","DocumentSymbolProvider","symbolList","appendWorkspaceSymbolsRecursive","indexSymbols","indexingForAutoImportMode","appendDocumentSymbolsRecursive","indexSymbolData","collectSymbolIndexData","container","symbolData","symbolInfo","getContainerName","isInPyTypedPackage","aliasData","resolvedInfo","nameValue","getIndexAliasData","collectSymbolIndexDataForName","appendToFlatSymbolsRecursive","flatSymbols","documentUri","flatSymbol","ImportSorter","sortedStatements","aImportGroup","bImportGroup","compareImportStatements","primaryRange","_getPrimaryReplacementRange","_generateSortedImportText","_addSecondaryReplacementRanges","statementLimit","lastStatement","secondaryBlockStart","secondaryBlockLimit","curImportType","importLine","_formatImportNode","_formatImportFromNode","_compareSymbols","symbolText","cumulativeText","predominantTabSequence","getUnescapedString","stringToken","escapedString","isRaw","isFormat","unescapeErrors","nonAsciiInBytes","formatStringSegments","charCodes","isBytes","formatExpressionNestCount","formatSegment","valueParts","isExpression","hasFormatSpecifier","strOffset","addInvalidEscapeOffset","errorType","getEscapedCharacter","scanHexEscape","digitCount","foundIllegalHexDigit","hexValue","localValue","charCode","_isHexCharCode","_getHexDigitValue","appendOutputChar","incomplete","segment","foundIllegalChar","charCount","lookaheadChar","_isAlphaNumericChar","_isOctalCharCode","octalCode","quoteChar","isTriplicate","strChar","CharacterStream","_text","_currentChar","_isEndOfStream","_checkBounds","getCurrentChar","isEndOfStream","lookAhead","advance","moveNext","isAtWhiteSpace","currentChar","isAtLineBreak","skipLineBreak","skipWhitespace","skipToEol","skipToWhitespace","indentAmount","isIndentAmbiguous","matchesIndent","isDedentAmbiguous","newLineType","prefixLength","operatorType","_keywords","_operatorInfo","Tokenizer","_cs","_tokens","_prevLineStart","_parenDepth","_lineRanges","_indentAmounts","_typeIgnoreLines","_crCount","_crLfCount","_lfCount","_indentCount","_indentTabCount","_indentSpacesTotal","_singleQuoteCount","_doubleQuoteCount","_ipythonMode","tokenize","initialParenDepth","ipythonMode","_readIndentationAfterNewLine","_addNextToken","_getComments","_setIndent","_addLineRange","averageSpacePerIndent","typeIgnoreLines","typeIgnoreAll","_typeIgnoreAll","_handleCharacter","stringPrefixLength","_getStringPrefixLength","stringPrefix","quoteTypeFlags","_getQuoteTypeFlags","_handleString","_handleComment","_isIPythonMagics","_handleIPythonMagics","_handleInvalid","_handleNewLine","_isPossibleNumber","_tryNumber","_tryIdentifier","_tryOperator","lineLength","tab1Spaces","tab8Spaces","isTabPresent","isSpacePresent","prevTabInfo","dedentPoints","dedentAmount","actualDedentAmount","swallowRemainingChars","radix","leadingChars","simpleIntText","intValue","bigIntValue","isDecimalInteger","mightBeFloatingPoint","_skipFloatingPointCandidate","parseFloat","prevComments","_comments","comment","_addComments","regexMatch","textRange","stringLiteralInfo","_skipToEndOfStringLiteral","escapedValueParts","_skipFractionalNumber","_skipDecimalNumber","allowSign","ParseOptions","skipFunctionAndClassBody","maxChildNodeDepth","_tokenIndex","_areErrorsSuppressed","_parseOptions","_diagSink","_isInLoop","_isInFunction","_isInFinally","_isParsingTypeAnnotation","_isParsingIndexTrailer","_futureImportMap","_importedModules","_containsWildcardImport","_assignmentExpressionsAllowed","_typingImportAliases","_typingSymbolAliases","parseSourceFile","fileContents","parseOptions","diagSink","_startNewParse","_atEof","_consumeTokenIfType","nextToken","_peekToken","_getNextToken","indentToken","_addError","_parseStatement","_consumeTokensUntilType","_tokenizerOutput","importedModules","futureImports","containsWildcardImport","typingSymbolAliases","parseTextExpression","textLength","parseTextMode","_parseTypeAnnotation","_parseFunctionTypeAnnotation","exprListResult","_parseTestOrStarExpressionList","parseError","_makeExpressionOrTuple","_peekTokenType","tokenizer","_peekKeywordType","_parseIfStatement","_parseWhileStatement","_parseForStatement","_parseTryStatement","_parseWithStatement","_parseFunctionDef","_parseClassDef","_parseAsyncStatement","peekToken","isInvalidMatchToken","matchStatement","_parseMatchStatement","_peekOperatorType","_parseDecorated","_parseSimpleStatement","asyncToken","_getKeywordToken","smellsLikeMatchStatement","_suppressErrors","curTokenIndex","_parseTestOrStarListAsExpression","matchNode","possibleIndent","caseStatement","_parseCaseStatement","dedentToken","_getLanguageVersion","caseNode","_consumeTokenIfKeyword","patternList","_parsePatternSequence","casePattern","_parseTestExpression","_parseSuite","_isPatternIrrefutable","_getPatternTargetNames","subpattern","mapEntry","_parseExpressionListGeneric","_parsePatternAs","starEntries","captureTargetMap","asPattern","patternAtom","_parsePatternAtom","_consumeTokenIfOperator","_getTokenIfIdentifier","orPattern","fullNameMap","localNameMap","missingNames","patternLiteral","_parsePatternLiteral","patternCaptureOrValue","_parsePatternCaptureOrValue","_parseClassPatternArgList","classNameExpr","classPattern","identifierToken","endToken","mappingPattern","_parsePatternMapping","lastToken","_handleExpressionParseError","sawKeywordArg","nextTokenType","_parseClassPatternArgument","secondToken","keywordName","nextOperator","_parsePatternLiteralNumber","stringList","_parseAtom","stringAtom","keywordToken","_parseArithmeticExpression","realValue","imagValue","itemList","_parsePatternMappingItem","starStarEntries","doubleStar","nameOrMember","ifNode","_parseLoopSuite","wasInLoop","wasInFinally","skipBody","postColonCallback","wasFunction","targetExpr","_parseExpressionListAsPossibleTuple","seqExpr","V3_9","sawStar","forNode","_tryParseListComprehension","compFor","_tryParseCompForStatement","listCompNode","forIfList","compIter","_tryParseCompIfStatement","comp","startTokenKeywordType","_disallowAssignmentExpression","_parseOrTest","compForNode","ifExpr","_tryParseLambdaExpression","_parseAssignmentExpression","whileNode","tryNode","sawCatchAllExcept","possibleStarToken","typeExpr","V3_11","exceptNode","_parseVarArgsList","functionTypeAnnotationToken","_getTypeAnnotationCommentText","_parseFunctionTypeAnnotationComment","terminator","allowAnnotations","sawDefaultParam","reportedNonDefaultParamErr","sawPositionOnlySeparator","sawKwArgs","_parseParameter","foundComma","_parseVariableTypeAnnotationComment","starCount","slashCount","V3_8","sublistStart","paramNode","withItemList","possibleParen","isParenthesizedWithItemList","openParenTokenIndex","_parseWithItem","withSuite","withNode","withItem","itemNode","_parseExpression","decoratorList","_parseDecorator","atOperator","isSupportedExpressionForm","_isNameOrMemberAccessExpression","decoratorNode","_parseArgList","_parsePassStatement","_parseBreakStatement","breakToken","_parseContinueStatement","continueToken","_parseReturnStatement","returnToken","returnNode","_isNextTokenNeverExpression","returnExpr","_reportConditionalErrorForStarTupleElement","_parseFromStatement","modName","_parseDottedModuleName","isFutureImport","possibleInputToken","wildcardToken","inParen","importFromAsNode","isTypingImport","firstNamePartValue","typingSymbolsOfInterest","_parseImportStatement","importToken","aliasToken","allowJustDots","_getTokenIfType","identifier","namePart","_parseGlobalStatement","globalToken","globalNode","_parseNameList","_parseNonlocalStatement","nonlocalToken","nonlocalNode","_parseRaiseStatement","raiseToken","raiseNode","_parseAssertStatement","assertNode","exceptionExpr","_parseDelStatement","_parseExpressionList","delNode","_parseYieldExpression","V3_3","exprList","_tryParseYieldExpression","invalidToken","firstCharCode","smallStatement","_parseSmallStatement","_parseExpressionStatement","tupleStartRange","tupleNode","errorCategory","errorString","errorToken","_parseTestListAsExpression","_parseTestExpressionList","allowAssignmentExpression","allowMultipleUnpack","allowStar","_parseTestOrStarExpression","allowUnpack","_parseBitwiseOrExpression","_parseLambdaExpression","testExpr","elseExpr","disallowAssignmentExpression","leftExpr","walrusToken","rightExpr","_parseAndTest","_createBinaryOperationNode","_parseNotTest","notToken","notExpr","_createUnaryOperationNode","_parseComparison","comparisonOperator","isOperatorComparison","tokenAfterNot","_parseBitwiseXorExpression","_parseBitwiseAndExpression","_parseShiftExpression","_parseArithmeticTerm","_parseArithmeticFactor","_parseAtomExpression","_isTypingAnnotation","baseName","atomExpression","startOfTrailerToken","wasParsingTypeAnnotation","argListResult","isArgListTerminated","wasParsingIndexTrailer","subscriptList","_parseSubscriptList","closingToken","startOfSubscriptIndex","nameIdentifier","valueExpr","_parsePossibleSlice","nameExpr","argNode","unpackAllowed","sliceExpressions","sliceIndex","sawColon","sliceNode","_parseArgument","listComp","_parseStringList","expressionNode","possibleTupleNode","_parseTupleAtom","listNode","_parseListAtom","dictNode","_parseDictionaryOrSetAtom","keywordAsIdentifier","errorMsg","targetToken","childNode","additionalStopTokens","stopTokens","allowConditional","lambdaNode","startParen","yieldExpr","_parseTestListWithComprehension","tupleOrExpression","startBracket","closeBracket","_createList","listAtom","sawComprehension","startBrace","dictionaryEntries","setEntries","isDictionary","isSet","sawListComprehension","isFirstEntry","doubleStarExpression","keyEntryNode","dictEntry","listEntryNode","expandEntryNode","missingValueErrorNode","closeCurlyBrace","setAtom","dictionaryAtom","terminalCheck","finalEntryCheck","annotationExpr","V3_6","isTypeAliasDeclaration","_parseChainAssignments","isOperatorAssignment","destExpr","assignmentNode","paramAnnotation","isUnpack","_reportStringTokenErrors","unescapedResult","_makeStringNode","curToken","typeString","tokenOffset","stringListNode","functionAnnotation","_parseFormatStringSegment","segmentOffset","segmentLength","textRangeStart","_parseFormatString","formatExpressions","segmentExprLength","_getFormatStringExpressionLength","formatDirective","braceDepth","startOfExprOffset","formatSegmentLength","segmentValue","quoteStack","indexOfDebugEqual","braceCount","parenCount","bracketCount","ignoreSeparator","inString","quoteSequence","unescapedString","possibleTupleExpr","wasAllowed","keywordText","terminators","term","errorsWereSuppressed","Scope","notLocalBindings","getGlobalScope","curScope","isIndependentlyExecutable","isOutsideCallerModule","isBeyondExecutionScope","isDefinedByMemberAccess","parentScope","addSymbol","getBindingType","setBindingType","bindingType","setSlotsNames","slotsNames","getSlotsNames","evaluateStaticBoolExpression","typingImportAliases","sysImportAliases","evaluateStaticBoolLikeExpression","leftValue","rightValue","_isSysVersionInfoExpression","comparisonVersion","majorVersion","minorVersion","_convertTupleToVersion","_evaluateNumericBinaryOperation","_isSysPlatformInfoExpression","comparisonPlatform","expectedPlatformName","Darwin","Windows","Linux","_getExpectedPlatformNameFromPlatform","_evaluateStringBinaryOperation","_isOsNameInfoExpression","comparisonOsName","expectedOsName","_getExpectedOsNameFromPlatform","Binder","_moduleSymbolOnly","_deferredBindingTasks","_currentExceptTargets","_finallyTargets","_sysImportAliases","_dataclassesImportAliases","_dataclassesSymbolAliases","_dunderAllStringNodes","_usesUnsupportedDunderAllForm","_isInExceptSuite","_potentialHiddenSymbols","_potentialPrivateSymbols","_functionCodeFlowComplexity","_fileInfo","bindModule","isBuiltInModule","builtinsScope","_createNewScope","_currentScope","_currentFlowNode","_addImplicitSymbolToCurrentScope","_createStartFlowNode","_walkStatementsAndReportUnreachable","_currentScopeCodeFlowExpressions","_bindDeferred","_dunderAllNames","usesUnsupportedDunderAllForm","_addDiagnostic","diagnostic","createTypeStubAction","classDeclaration","_bindNameToScope","_createAssignmentTargetFlowNodes","containingClassNode","functionDeclaration","_getNonClassParentScope","_deferBinding","paramDeclaration","_createFlowAssignment","_targetFunctionDeclaration","_currentReturnTarget","_createBranchLabel","_addAntecedent","returnFlowNode","_finishFlowLabel","complexity","codeFlowComplexity","_disableTrueFalseTargets","_createCallFlowNode","emitDunderAllWarning","argExpr","namesToAdd","_getDunderAllNamesFromImport","_handleTypingStubAssignmentOrAnnotation","_bindPossibleTupleNamedTarget","_addTypeDeclarationForVariable","isPossibleTypeAlias","isTypingStubFile","_addInferredTypeAssignmentForVariable","tupleEntryNode","dunderSlotsNames","isExpressionUnderstood","_addSlotsToCurrentScope","evaluationNode","containerScope","_createVariableAnnotationFlowNode","expressionList","_isNarrowingExpression","referenceKey","preForLabel","_createLoopLabel","preElseLabel","postForLabel","_bindLoopStatement","enclosingFunction","_currentContinueTarget","_unreachableFlowNode","_currentBreakTarget","returnStatements","_isInListComprehension","_bindYield","preIfFlowNode","thenLabel","elseLabel","postIfLabel","affectedExpressions","_trackCodeFlowExpressions","constExprValue","executionEnvironment","_bindConditional","_bindNeverCondition","postWhileLabel","preLoopLabel","assertTrueLabel","assertFalseLabel","wasInExceptSuite","raiseStatements","preTryFlowNode","curExceptTargets","preFinallyLabel","isAfterElseAndExceptsReachable","preFinallyReturnOrRaiseLabel","preFinallyGate","PreFinallyGate","antecedent","isGateClosed","except","exceptLabel","_useExceptTargets","_isCodeUnreachable","postFinallyNode","PostFinally","finallyNode","isIPythonMode","globalScope","valueWithScope","_createAliasDeclarationForMultipartImportName","dataclassesSymbolsOfInterest","isModuleInitFile","isDataclassesImport","lookupInfo","wildcardNames","_getWildcardImportNames","_addImplicitFromImport","localSymbol","_createFlowWildcardImport","importSymbolNode","importedName","contextManagerSwallowExceptionTarget","_createContextManagerLabel","contextManagerForwardExceptionTarget","exceptionTarget","preWithSuiteNode","postContextManagerLabel","_addExceptTargets","preTernaryFlowNode","trueLabel","falseLabel","postExpressionLabel","_currentFalseTarget","_currentTrueTarget","postRightLabel","trueTarget","falseTarget","preRightLabel","compr","addedSymbols","isSubjectNarrowable","postMatchLabel","foundIrrefutableCase","postCaseLabel","preGuardLabel","preSuiteLabel","_createFlowNarrowForPattern","_createFlowExhaustedMatch","postOrLabel","_addPatternCaptureTarget","slotNameNodes","slotsContainsDict","slotNameNode","slotName","honorPrivateNaming","isDefinedBySlots","ignoreOutermostIterable","outermostCompr","targets","prevExceptTargets","varName","varSymbol","dunderAllNames","existingDecl","newDecl","_addImplicitImportsToLoaderActions","curLoaderActions","namePartValue","loaderActions","namesToImport","foundUnreachableStatement","YieldFinder","checkContainsYield","Start","preBranchAntecedent","BranchLabel","antecedents","NarrowForPattern","blockIfSwallowsExceptions","PostContextManager","LoopLabel","isPositiveTest","_createFlowConditional","TrueNeverCondition","FalseNeverCondition","savedCurrentFlowNode","initialCurrentFlowNode","afterLabel","prevCurrentNode","_setTrueFalseTargets","_isLogicalExpression","TrueCondition","FalseCondition","savedTrueTarget","savedFalseTarget","staticValue","filteredExprList","conditionalFlowNode","filterForNeverNarrowing","isComplexExpression","isOrIsNotOperator","equalsOrNotEqualsOperator","isLeftNarrowing","isRightNarrowing","walkTargets","unbound","Call","VariableAnnotation","targetSymbolId","prevFlowNode","Assignment","Unbind","WildcardImport","ExhaustedMatch","savedExpressions","scopedExpressions","postLoopLabel","savedContinueTarget","savedBreakTarget","savedCodeFlowComplexity","_addSymbolToCurrentScope","symbolFlags","prevScope","newScope","isExecutionScope","prevExpressions","isInferenceAllowedInPyTyped","_isInferenceAllowedInPyTyped","_getVariableDocString","_getMemberAccessInfo","classScope","declarationHandled","finalInfo","_isAnnotationFinal","isExplicitTypeAlias","_isAnnotationTypeAlias","innerTypeAnnotationNode","finalTypeNode","classVarInfo","_isAnnotationClassVar","classVarTypeNode","containingClass","_isRequiredAnnotation","_isNotRequiredAnnotation","_isDataclassesAnnotation","item0Expr","_isKnownAnnotation","importAliases","symbolAliases","annotationNode","suiteOrModule","assignmentIndex","nextStatement","isValidContext","leftSymbolName","firstParamName","decoratorName","existingLoaderAction","assignedNameNode","specialTypes","assignedName","nextItem","yieldStatements","diagLevel","_addWarning","_addInformation","diagnosticSink","_containsYield","getTypeNarrowingCallback","adjIsPositiveTest","expandedType","mapSubtypesExpandTypeVars","unexpandedSubtype","adjustedSubtype","narrowTypeForIsNone","indexValue","tupleLength","typeOfEntry","narrowTupleTypeForIsNone","callType","matches","narrowTypeForTypeIs","rightType","narrowTypeForLiteralComparison","referenceType","indexLiteralType","literalType","canNarrow","narrowedType","tdEntry","narrowTypeForDiscriminatedDictEntryComparison","tupleEntryType","narrowTypeForDiscriminatedTupleComparison","lengthValue","concreteSubtype","narrowTypeForTupleLength","narrowTypeForDiscriminatedFieldComparison","containerType","builtInName","elementType","elementTypeWithoutLiteral","referenceSubtype","elementSubtype","narrowTypeForContains","literalKey","oldNarrowedEntriesMap","newNarrowedEntriesMap","narrowTypeForTypedDictKey","isInstanceCheck","arg0Expr","arg1Expr","classTypeList","foundNonClassType","addClassTypesToList","getIsInstanceClassTypes","narrowTypeForIsInstance","narrowTypeForCallable","narrowTypeForTruthiness","functionReturnType","typeGuardSubtype","isSubType","isSuperType","narrowTypeForUserDefinedTypeGuard","testExprDecl","getDeclsForLocalVar","referenceDecls","modifyingDecls","isNodeReachable","initNode","reachableFrom","prevDeclScope","declScopeNode","reachableDecls","canBeTruthy","removeFalsinessFromType","canBeFalsy","removeTruthinessFromType","allowIntersections","filterClassType","varType","unexpandedType","negativeFallbackType","filteredTypes","foundSuperclass","isClassRelationshipIndeterminate","filterType","concreteFilterType","filterIsSuperclass","filterIsSubclass","specializedFilterType","unspecializedFilterType","populateTypeVarMapBasedOnExpectedType","isConstrainedTypeVar","isCallable","anyOrUnknownSubstitutions","anyOrUnknown","filteredType","negativeFallback","isSubtypeTypeObject","containsNoneType","concreteClassType","filterFunctionType","includesTypeType","getBuiltInObject","isIsOperator","literalValueMatches","allLiteralTypes","enumerateLiteralsForType","enumList","symbolType","callMethod","classPatternSpecialCases","narrowTypeBasedOnPattern","sequenceInfo","getSequencePatternInfo","isPlausibleMatch","narrowedEntryTypes","canNarrowTuple","isTuple","sequenceEntry","entryType","getTypeForPatternSequenceEntry","narrowedEntryType","tupleClassType","isObject","sequenceType","getTypingType","narrowTypeBasedOnSequencePattern","narrowTypeBasedOnLiteralPattern","exprType","classInstance","subjectSubtypeExpanded","subjectSubtypeUnexpanded","positionalArgNames","getPositionalMatchArgNames","narrowTypeOfClassPatternArgument","expandedSubtype","resultType","unspecializedMatchType","matchTypeInstance","isMatchValid","narrowTypeBasedOnClassPattern","remainingType","narrowedSubtype","narrowTypeBasedOnAsPattern","mappingInfo","getMappingPatternInfo","mappingSubtypeInfo","mappingEntry","narrowedKeyType","keySubtype","valueEntry","narrowedValueType","dictTypeArgs","narrowTypeBasedOnMappingPattern","subjectType","narrowedSubtypes","valueSubtypeExpanded","valueSubtypeUnexpanded","allEnumTypes","enumType","useSpeculativeMode","getTypeFromMagicMethodReturn","narrowTypeBasedOnValuePattern","matchArgsMemberInfo","matchArgsType","tupleArgs","argIndex","matchType","getTypeFromObjectMember","mroClassToSpecialize","specializedMapping","entryCount","minEntryCount","entryTypes","isIndeterminateLength","specializedSequence","unpackStarEntry","isSubjectObject","wrapTypeInList","assignTypeToPatternTargets","isTypeIncomplete","assignTypeToExpression","keyTypes","valueTypes","valueInfo","dictClass","dictType","argTypes","subjectSubtype","narrowedArgType","listObjectType","deprecatedAliases","deprecatedSpecialForms","Checker","_isUnboundCheckSuppressed","_scopedNodes","_moduleNode","markNamesAccessed","_reportUnusedDunderAllSymbols","_validateSymbolTables","_reportDuplicateImports","suppressDiagnostics","classTypeResult","_validateProtocolTypeParamVariance","_validateBaseClassOverrides","_validateSlotsClassVarConflict","_validateMultipleInheritanceCompatibility","_validateConstructorConsistency","_validateFinalMemberOverrides","_validateInstanceVariableInitialization","_validateFinalClassNotAbstract","_validateDataClassPostInit","_validateProtocolCompatibility","_reportDuplicateEnumMembers","_validateTypedDictClassSuite","_validateEnumClassOverride","functionTypeResult","sawParamSpecArgs","functionTypeParam","diagAddendum","hasAnnotation","defaultValueType","paramSpecParams","_validateMethod","_validateFunctionReturn","_validateDunderSignatures","_validateStrictTypeGuardFunction","_validateFunctionTypeVarUsage","maxOverloadConsistencyCheckLength","_validateOverloadConsistency","_validateIsInstanceCall","_validateIllegalDefaultParamInitializer","isRevealTypeCall","_isTypeValidForUnusedValueTest","evaluateTypesForStatement","enclosingFunctionNode","getFunctionDeclaredReturnType","returnTypeMatches","uniqueTypeVars","narrowConstrainedTypeVar","adjustedReturnType","yieldType","_validateYieldType","yieldFromType","getTypeFromIterable","getTypeFromIterator","verifyRaiseExceptionType","baseExceptionType","exceptionType","_validateExceptionType","addDiagnosticForTextRange","subscriptType","_validateComparisonTypes","formatExpr","_suppressUnboundCheck","_conditionallyReportPrivateUsage","_reportUnboundName","verifyDeleteExpression","_validateExhaustiveMatch","validateClassPattern","_reportUnusedExceptStatements","narrowedTypeResult","evaluateTypeForSubnode","evaluateTypesForMatchNode","wasSuppressed","isPossiblyTrue","leftSubtype","isComparable","rightSubtype","_isTypeComparable","leftTypeText","rightTypeText","genericLeftType","genericRightType","localTypeVarUsage","exemptBoundTypeVar","nameWalker","subscriptIndex","nameType","isExempt","prevOverloads","prevOverload","_isOverlappingOverload","obscured","obscuredBy","prevReturnType","altNode","_findNodeForOverload","newIndex","prevIndex","overloadType","_isLegalOverloadImplementation","implementation","isLegal","overloadReturnType","getFunctionInferredReturnType","implementationReturnType","returnDiag","prevStatement","reportedUnreachable","_validateStubStatement","derivesFromBaseException","resultingExceptionType","scopedNode","_conditionallyReportUnusedSymbol","_reportIncompatibleDeclarations","_reportMultipleFinalDeclarations","_reportMultipleTypeAliasDeclarations","_reportInvalidOverload","overloadedFunctions","implementationFunction","isProtocolMethod","sawFinal","sawAssignment","firstDecl","isImplicitlyAssigned","typeAliasDecl","primaryDeclInfo","otherDecls","primaryDeclTypeInfo","funcTypeInfo","addPrimaryDeclInfo","primaryDeclNode","otherDecl","primaryType","duplicateIsOk","otherType","isInSameStatementList","accessedSymbolMap","_conditionallyReportUnusedDeclaration","_isSymbolPrivate","diagnosticLevel","multipartName","np","isReexport","isFuture","callName","arg0Type","arg1Type","isValidType","arg1Subtype","_isTypeSupportedTypeForIsInstance","nonstandardClassTypes","arg1IncludesSubclasses","derivesFromAnyOrUnknown","finalizeFilteredTypeList","foundAnyType","getTestType","testType","isSupported","_reportDeprecatedUse","deprecatedForm","isPrivateName","isProtectedName","primaryDeclaration","resolvedAliasInfo","resolveAliasDeclarationWithInfo","isProtectedAccess","declClassTypeInfo","enclosingClassNode","enclosingClassTypeInfo","baseEnumDefinesValue","suiteNode","emitBadStatementError","returnAnnotation","functionNeverReturns","isAfterNodeReachable","implicitlyReturnsNone","parentSymbol","isSymbolImplemented","postInitMember","initOnlySymbolMap","postInitType","paramListDetails","nonDefaultParams","expectedParamCount","expected","fieldType","getDeclaredTypeOfSymbol","canAssignDiag","fieldDecls","abstractMethods","getAbstractMethods","abstractMethod","origTypeParams","updatedTypeParams","updatedClassType","objectObject","dummyTypeObject","srcTypeArgs","destTypeArgs","expectedVariance","canAssignProtocolClassToSelf","variable","class","localSlotsNames","initMember","newMember","newMemberType","initMemberType","displayOnInit","initDecl","mainDecl","mainDeclNode","initSignature","newSignature","secondaryDecl","symbolMaps","specializedBaseClass","memberMap","getClassFieldsRecursive","symbolMapBaseIndex","baseSymbolMap","baseClassAndSymbol","symbolMapOverrideIndex","overrideClassAndSymbol","overrideFunction","canOverrideMethod","overrideDecl","baseDecl","mroBaseClass","baseClassSymbolType","exemptMethods","enforceParamNameMatch","exempt","origDecl","basePropFields","subclassPropFields","methodName","baseClassPropMethod","subclassPropMethod","baseClassMethodType","subclassMethodType","isBaseClassVar","unformattedMessage","classTypeInfo","_validateSuperCallForMethod","_validateClsSelfParameterType","firstParamIsSimple","isLegalMetaclassName","typeType","methodType","effectiveFlags","foundCallOfMember","memberBaseExpr","isCls","expectedType","declaredYieldType","isLegalGeneratorType","classes","getGeneratorYieldType","sawUnknownOrAny","exceptionTypesSoFar","typesForThisExcept","overriddenExceptionCount","thisExceptType","previousExceptType","importModuleMap","_applyStrictRules","ruleSet","_overrideRules","overrideRuleSet","skipRuleNames","boolRuleNames","diagRuleNames","overrideValue","prevValue","_parsePyrightComment","commentValue","operandList","_applyBasicRules","operand","_parsePyrightOperand","operandSplit","diagLevelValue","_parseDiagLevel","boolValue","ParseTreeCleanerWalker","_parseTree","clean","analyzerNode","TestWalker","_verifyParentChildLinks","_verifyChildRanges","skipCheck","SourceFile","isThirdPartyImport","isThirdPartyPyTypedPresent","logTracker","_isFileDeleted","_diagnosticVersion","_fileContentsVersion","_lastFileContentLength","_lastFileContentHash","_analyzedFileContentsVersion","_parseTreeNeedsCleaning","_isBindingInProgress","_parseDiagnostics","_bindDiagnostics","_checkerDiagnostics","_diagnosticRuleSet","_circularDependencies","_isBindingNeeded","_isCheckingNeeded","_indexingNeeded","_isStubFile","_isThirdPartyImport","_isThirdPartyPyTypedPresent","_isTypingStubFile","_isTypingExtensionsStubFile","_isBuiltInStubFile","_logTracker","getDiagnosticVersion","prevDiagnosticVersion","includeWarningsAndErrors","diagList","prefilteredDiagList","typeIgnoreLinesClone","unnecessaryTypeIgnoreDiags","diagCategory","cirDep","_hitMaxImportDepth","ignoreFileSpec","getImports","_imports","getBuiltinsImport","_builtinsImport","getIPythonDisplayImport","_ipythonDisplayImport","getModuleSymbolTable","_moduleSymbolTable","didContentsChangeOnDisk","_clientDocument","dropParseAndBindInfo","markDirty","indexingNeeded","_cachedIndexResults","markReanalysisRequired","forceRebinding","getClientVersion","getOpenFileContents","getFileContent","openFileContent","fileStat","setClientVersion","contentsHash","prepareForClose","isFileDeleted","isParseRequired","isBindingRequired","isIndexingRequired","isCheckingRequired","getCachedIndexResults","cacheIndexResults","addCircularDependency","updatedDependencyList","dep","setHitMaxImportDepth","maxImportDepth","_getPathForLogging","logState","execEnvironment","indexGenerationMode","_resolveImports","builtinsImportResult","ipythonDisplayImportResult","useStrict","strictFileSpec","defaultRuleSet","diagSettings","ls","getDefinitionsForPosition","getTypeDefinitionsForPosition","getDeclarationForPosition","addReferences","addHierarchicalSymbolsForDocument","getSymbolsForDocument","getHoverForPosition","_addResultsForDeclaration","typeText","_addResultsPart","_addDocumentationPart","_getTypeText","typeNode","_addInitMethodInsteadIfCallNode","callLeftNode","instanceType","functionParts","printFunctionParts","classText","_addDocumentationPartForType","addedDoc","_addDocumentationResultsPart","markDown","python","getDocumentHighlight","getSignatureHelpForPosition","callSignatureInfo","sig","_makeSignature","callHasParameters","_getDocStringFromCallNode","activeParameter","sigInfo","resolveDecl","moduleSymbolsCallback","completionData","performQuickAction","editActions","startPos","endPos","additionalEditActions","_addMissingOptionalToParam","_cleanParseTreeIfRequired","_buildFileInfo","binder","internalTestMode","test_enableIPythonMode","enable","analysisDiagnostics","isTypingExtensionsStubFile","isBuiltInStubFile","moduleImports","resolveAndAddIfNotSelf","skipMissingImport","moduleImport","createTracePrinter","localeCompare","printFileOrModuleName","filePathOrModule","printDeclaration","printNode","printPath","getFileInfo","isNode","isDeclaration","isType","isIncompleteType","cachedType","SpeculativeTypeTracker","_speculativeContextStack","_speculativeTypeCache","enterSpeculativeContext","speculativeRootNode","allowCacheRetention","entriesToUndo","leaveSpeculativeContext","isSpeculative","trackEntry","stackSize","disableSpeculativeMode","enableSpeculativeMode","addSpeculativeType","cacheEntries","getSpeculativeType","IncompleteTypeTracker","_trackerStack","_isUndoTrackingEnabled","enterTrackingScope","exitTrackingScope","enableUndoTracking","isUndoTrackingEnabled","createNamedTupleType","includesTypes","nameArg","defaultsArg","defaultArgCount","defaultsArgType","namedTupleType","classFields","classTypeVar","constructorType","namedTupleAssignedName","moduleOrSuite","statementIndex","assignNode","defaultTarget","matchArgsNames","selfParameter","addGenericGetAttribute","entriesArg","firstParamWithDefaultIndex","isRuntimeTypeExpression","entryList","entryMap","entryExpressions","entryTypeNode","entryNameNode","getTypeForExpressionExpectingType","setTypeForNode","keysItemType","itemsItemType","lenType","getAttribType","literalTypes","updateNamedTupleBaseClass","namedTupleIndex","namedTupleClass","typedTupleClass","tupleTypeArgs","updatedTupleClass","clonedNamedTupleClass","validateDataClassTransformDecorator","behaviors","keywordOnlyParams","generateEq","generateOrder","transformDescriptorTypes","fieldDescriptorNames","getDataclassDecoratorBehaviors","decoratorDataClassBehaviors","applyDataClassClassBehaviorOverrides","argValue","hasUnfrozenBaseClass","hasFrozenBaseClass","classDataClassTransform","applyDataClassBehaviorOverride","applyDataClassDefaultBehaviors","defaultBehaviors","dataClassBehaviors","applyDataClassDecorator","applyFunctionTransform","orderingMethods","missingMethods","boolType","objParam","methodToAdd","applyTotalOrderingTransform","validatePropertyMethod","createProperty","decoratorType","fget","typeMetaclass","propertyClass","propertyObject","isAsymmetricDescriptor","fgetSymbol","getFunction1","defaultType","getFunction2","objType","getFunctionOverload","getSymbol","accessorName","accessorFunction","accessorSymbol","canAssignProperty","destPropertyType","srcPropertyType","srcClass","objectToBind","isAssignable","missingDiagMsg","incompatibleDiagMsg","accessorInfo","destAccessSymbol","destAccessType","srcAccessSymbol","srcAccessType","boundDestAccessType","boundSrcAccessType","binaryOperatorMap","booleanOperatorMap","nonSubscriptableBuiltinTypes","typePromotions","createTypeEvaluator","evaluatorOptions","symbolResolutionStack","functionRecursionMap","codeFlowAnalyzerCache","typeCache","typeCacheFlags","asymmetricDescriptorAssignmentCache","expectedTypeCache","speculativeTypeTracker","effectiveTypeCache","suppressedNodeStack","incompleteTypeTracker","protocolAssignmentStack","noneType","typeClassType","functionObj","boolClassType","strClassType","dictClassType","typedDictClassType","incompleteTypeCache","isBasicTypesInitialized","returnTypeInferenceContextStack","returnTypeInferenceTypeCache","checkForCancellation","isTypeCached","isNodeInReturnTypeInferenceContext","readTypeCache","verifyTypeCacheEvaluatorFlags","expectedFlags","writeTypeCache","allowSpeculativeCaching","typeCacheToUse","deleteTypeCacheEntry","contextNode","getIndexOfSymbolResolution","symbolId","pushSymbolResolution","isResultValid","popSymbolResolution","poppedEntry","setSymbolResolutionPartialType","partialType","getSymbolResolutionPartialType","evaluateTypesForExpressionInContext","initializedBasicTypes","getTypeFromModule","getTypeshedType","speculativeCachedType","expectedTypeAlt","typeResult","reportExpectingTypeErrors","allowForwardReferences","containingFunction","useCodeFlowAnalysis","effectiveTypeInfo","getEffectiveTypeOfSymbolForUsage","effectiveType","isRecursiveDefinition","typeAtStart","codeFlowTypeResult","getFlowTypeOfReference","outerScopeTypeResult","scopeHierarchy","stopScope","innerScopeNode","foundScope","innerScopeCodeFlowNode","declCodeFlowNode","codeFlowEngine","isFlowNodeReachable","getCodeFlowTypeForCapturedVariable","reportMissingTypeArguments","setSymbolAccessed","includesVariableDecl","nameSplit","booleanName","validateTypeVarUsage","getTypeFromName","baseTypeFlags","baseTypeResult","memberTypeResult","getTypeFromMemberAccessWithBaseType","initialType","isInitialTypeIncomplete","classMemberInfo","getTypeFromMemberAccess","skipSubscriptCheck","scopeNode","minPythonVersion","getTypeFromIndexWithBaseType","baseTypeSupportsIndexNarrowing","getTypeFromIndex","getTypeFromCall","makeTupleObject","isEmptyTupleShorthand","effectiveExpectedType","expectedTypeContainsAny","matchingSubtype","subtypeResult","getTypeFromTupleExpected","entryTypeResults","buildTupleTypesList","getTypeFromTupleInferred","getTypeFromTuple","getTypeFromConstant","isAnnotationLiteralValue","cloneBuiltinObjectWithLiteral","updatedFlags","textValue","valueOffset","parseStringAsTypeAnnotation","exprTypeResult","unaryOperatorMap","literalClassName","classSubtype","getTypeFromUnaryOperation","getTypeFromBinaryOperation","getTypeFromAugmentedAssignment","getTypeFromListOrSetExpected","hasExpectedType","builtInClassName","entryTypeResult","getElementTypeFromListComprehension","inferredEntryType","listOrSetClass","getTypeFromListOrSetInferred","getTypeFromListOrSet","getTypeFromSlice","createAwaitableReturnType","getTypeFromAwaitable","typesToCombine","ifType","elseType","getTypeFromTernary","elementTypeResult","builtInIteratorType","getTypeFromListComprehension","expectedTypeDiagAddendum","getTypeFromDictionaryExpected","getTypeFromDictionaryInferred","getTypeFromDictionary","expectedFunctionTypes","callMember","boundMethod","minLambdaParamCount","maxLambdaParamCount","functionParamCount","expectedFunctionType","transformVariadicParamType","functionParam","expectedReturnType","getFunctionEffectiveReturnType","getTypeFromLambda","expectedYieldType","sentType","functionTypeInfo","getTypeFromYield","returnedType","getTypeFromYieldFrom","iterExpectedType","iterableType","iterTypeResult","iterType","addExpectedClassDiagnostic","illegalRecursionDetected","isAnnotationEvaluationPostponed","getTypeOfParameterAnnotation","paramTypeNode","getTypeOfAnnotation","associateTypeVarsWithScope","allowTypeVarTuple","disallowRecursiveTypeAlias","allowUnpackedTypedDict","allowUnpackedTuple","specialType","aliasMapEntry","createSpecialBuiltInClass","handleTypingStubTypeAnnotation","evaluatorFlags","isVariableAnnotation","allowFinal","allowClassVar","allowParamSpec","notParsedByInterpreter","annotationType","getTypeFromDecorator","functionOrClassType","decoratorTypeResult","validateCallArguments","boolMethod","boolMethodType","memberAccessFlags","bindToType","getTypeFromClassMemberName","getTypeFromClassMember","getBoundMethod","treatConstructorAsClassMember","unboundMethodType","firstCommentAnnotationIndex","adjIndex","isDeclaredTypeAlias","getDeclaredTypeForExpression","classOrObjectBase","memberAccessClass","bindFunction","setItemMember","setItemType","boundFunction","typeFromTypedDict","evaluatorInterface","setterInfo","setter","awaitReturnType","generatorReturnType","getReturnTypeFromGenerator","iterMethodName","nextMethodName","isValidIterator","iterReturnType","iterReturnTypeDiag","nextReturnType","getItemReturnType","isValidIterable","importingFilePath","sourceNode","sourceFlowNode","getTypeFromCodeFlow","getCodeFlowAnalyzerForNode","isFlowNodeReachableUsingNeverNarrowing","isFlowPathBetweenNodes","sinkNode","allowSelf","sinkFlowNode","addDiagnosticWithSuppressionCheck","isDiagnosticSuppressedForNode","suppressedNode","assignTypeToNameNode","srcExpression","allowAssignmentToFinalVar","narrowTypeBasedOnAssignment","varDecl","assignTypeToMemberVariable","srcExprNode","classDef","memberClass","isThisClass","inheritedSlotsNames","reportPossibleUnknownAssignment","conditionFilter","applicableConstraint","isExemptFromBoundCheck","expandSubtype","typeCondition","srcExpr","ignoreEmptyContainers","classTypeResults","memberSymbol","setErrorNode","assignTypeToMemberAccessNode","targetExpressions","targetTypes","targetUnpackIndex","unpackIndex","sourceEntryTypes","unboundedIndex","typeToReplicate","combinedTypes","targetIndex","expectedEntryCount","subDiag","simple","typeList","assignTypeToTupleOrListNode","bindToClass","scopedTypeVarInfo","nestedClassCount","typeVarsForScope","foundInterveningClass","recursiveTypeAliasScopeId","findScopedTypeVar","enclosingScope","outerFunctionScope","createSpecializedClassType","getTypeVarScopesForNode","getTypeFromNoneBase","isSuperCall","getAttrSymbol","V3_7","getAttrTypeResult","evaluateUnknownImportsAsAny","isFunctionRule","diagMessage","skipPartialUnknownCheck","classLookupFlags","containingClassType","inferReturnTypeIfNecessary","getTypeOfMemberInternal","descriptorResult","baseTypeClass","isAccessedThroughObject","isTypeValid","lookupClass","isAccessedThroughMetaclass","accessMethodName","accessMethod","accessMethodType","boundMethodType","callResult","argumentErrors","setterType","isAsymmetric","getterSymbolResult","setterSymbolResult","getterType","isAsymmetricDescriptorClass","finalTypeDecl","enforceTargetType","applyDescriptorAccessMethod","printObjectTypeForClass","generalAttrType","getAttrType","getBestOverloadForArguments","applyAttributeAccessOverride","adjustTypeArgumentsForVariadicTypeVar","variadicIndex","variadicTypeResults","validateVariadicTypeVarIsUnpacked","validateTypeArg","allowEmptyTuple","allowVariadicTypeVar","allowUnpackedTuples","variadicTypes","tupleObject","typeAliasResult","getTypeArgs","canAssignTypeToTypeVar","aliasTypeArgs","createSpecializedTypeAlias","typeArgTypes","getIndexAccessMagicMethodName","getTypeFromIndexedObjectOrClass","itemExpr","cloneBuiltinClassWithLiteral","createLiteralType","isAnnotatedClass","isGenericClass","isFinalAnnotation","isClassVarAnnotation","isUnspecifiedLength","magicMethodName","itemMethodType","index0Expr","getSliceParameter","valType","positionalArgs","unpackedListArgs","keywordArgs","unpackedDictArgs","positionalIndexType","altArgList","intType","adjFlags","getTypeArgTypeResult","adjustedFlags","getTypeArg","expectedTypes","tupleTypeVarMap","specializedTuple","homogenousType","expectedTypesContainLiterals","possibleUnpackedTuple","firstUnboundedEntryIndex","removedEntries","returnResult","targetClassType","concreteTargetClassType","secondArgType","reportError","enclosingMethod","implicitBindToType","methodTypeInfo","resultIsInstance","mroBase","getTypeFromSuperCall","getTypeFromRevealType","infoMessages","getTypeFromRevealLocals","typeErrors","arg0Value","expectedRevealTypeNode","expectedRevealType","expectedTextNode","expectedText","expectedTextType","getTypeForArgumentExpectingType","expectedRevealTypeText","validateOverloadsWithExpandedTypes","expandedArgTypes","argParamMatches","skipUnknownArgCheck","returnTypes","matchedOverloads","expandedTypesIndex","matchedOverload","argTypeOverride","hasArgTypeOverride","overloadIndex","matchResults","argParams","argParamCopy","effectiveTypeVarMap","validateFunctionArgumentTypesWithExpectedType","finalCallResult","specializedInitSelfType","winningOverloadIndex","matchFunctionArgumentsToParameters","sortOverloadsByBestMatch","matchIndex","validateFunctionArgumentTypes","relevance","expandArgumentUnionTypes","contextFreeArgTypes","unionToExpand","indexToExpand","newExpandedArgTypes","preExpandedTypes","validateConstructorArguments","validatedTypes","reportedErrors","usedMetaclassCallMethod","skipConstructorCheck","expectedSubType","applyExpectedSubtypeForConstructor","adjustedClassType","applyExpectedTypeForConstructor","constructorMethodInfo","newReturnType","applyExpectedTypeForTupleConstructor","transformed","callMemberResult","callMemberType","origFunctionType","getTypeForArgument","reportedPositionalError","argTypeResult","matchingParam","specializedFunctionType","updatedParamList","specializedParam","newParamList","newCallMemberType","newPartialClass","applyPartialTransform","applyConstructorTransform","expectedSubtype","specializedExpectedType","liveTypeVarScopes","expectedTypeArgs","sameClassTypeVarMap","expectedTypeScopeId","synthExpectedTypeArgs","genericExpectedType","synthesizedIndex","syntheticTypeVarMap","synthTypeVar","targetTypeVar","expectedTypeArgValue","transformExpectedTypeForConstructor","exprNode","functionResult","validateFunctionArguments","createNewType","castToType","castFromType","filteredMatchResults","valueExpressionNode","evaluateUsingLastMatchingOverload","lastMatch","validateOverloadedFunctionArguments","firstConstraintArg","firstArg","paramNameNode","paramNameMap","getBooleanValue","createTypeVarType","createTypeVarTupleType","paramSpecName","createParamSpecType","enumClass","createEnumType","typedDictClass","usingDictSyntax","entryDict","annotatedType","createTypedDictType","errorsToDisplay","constructorResult","newClassName","firstArgType","paramDetails","matchedUnpackedListOfUnknownLength","reportedArgError","isVariadicTypeVarFullyMatched","argsNeeded","argsReceived","isPositionalOnly","positionalOnlyLimitIndex","positionParamLimitIndex","varArgListParamIndex","varArgDictParamIndex","paramSpecArgList","paramSpecTarget","hasParamSpecArgsKwargs","varArgListParam","varArgDictParam","keywordParamIndex","positionalArgCount","validateArgTypeParams","trySetActive","active","foundUnpackedListArg","unpackedArgIndex","isParamVariadic","isArgCompatibleWithVariadic","listElementType","advanceToNextArg","funcArg","requiresTypeVarMatching","argument","effectiveParamType","remainingArgCount","remainingParamCount","mapsToVarArgList","firstParamWithDefault","argsRemainingCount","unpackedDictionaryArgType","paramEntry","paramInfoIndex","mappingType","strObjType","mappingTypeVarMap","isValidMappingType","paramNameValue","unassignedParams","missingParamNames","variadicArgs","combinedArg","expectingType","effectiveReturnType","speculativeResults","typeVarMapCopy","tempTypeVarMap","genericReturnType","typeVarMatchingCount","passCount","argResult","validateArgType","skippedOverloadArg","positionalIndex","positionalIndexLimit","validateFunctionArgumentsForParamSpec","typeVarScopeNode","skipUnknownCheck","skipOverloadArg","expectedTypeDiag","concreteParamType","createFunctionFromConstructor","argTypeText","paramTypeText","simplifiedType","getDiagAddendum","suppressPartialUnknown","operatorSupportsComparisonChaining","op","expectedLeftOperandType","expectedOperandType","leftTypeResult","rightTypeResult","customMetaclassSupportsMethod","adjustedRightType","isUnionableType","newUnion","isLeftOptionalType","isLiteralMathAllowed","validateBinaryOperation","leftSubtypeExpanded","leftSubtypeUnexpanded","rightSubtypeExpanded","rightSubtypeUnexpanded","binaryOperator","concreteLeftType","iteratorType","leftLiteralClassName","maxLiteralMathSubtypeCount","leftClassSubtype","rightClassSubtype","isValidResult","leftLiteralValue","rightLiteralValue","convertFunctionToObject","altMagicMethodName","magicMethodSupported","handleSubtype","magicMethodType","functionArgs","expectedDiagAddendum","getKeyAndValueTypesFromDictionary","resultTypedDict","isMatch","keyValue","symbolEntry","assignToTypedDict","builtInDict","dictTypeVarMap","specializedDict","expectedKeyType","expectedValueType","isValueTypeInvariant","specializedKeyType","inferTypeArgFromExpectedType","specializedValueType","fallbackType","forceStrictInference","expectedTypedDictEntries","entryNode","addUnknown","keyTypeResult","valueTypeResult","adjExpectedKeyType","unexpandedTypeResult","dictEntryTypeResult","dictEntryType","builtInListOrSet","specializedListOrSet","expectedEntryType","isExpectedTypeListOrSet","specializedEntryType","isNarrowable","evaluateListComprehensionForIf","iterableTypeResult","expectedValueOrElementType","forIfNode","allowTypeArgList","createSpecialType","paramLimit","isTupleTypeParam","sawUnpacked","noteSawUnpacked","reportedUnpackedError","tupleTypeArgTypes","transformTypeForPossibleEnumClass","getValueType","enumClassInfo","isMemberOfEnumeration","transformTypeForTypeAlias","variadics","typeAliasScopeId","boundTypeVars","specialClassType","baseClassName","evaluateTypesForAssignmentStatement","rightHandType","handleTypingStubAssignment","typeAliasNameNode","typeAliasTypeVar","isSpeculativeTypeAlias","srcTypeResult","typeAliasPlaceholder","evaluateTypesForAugmentedAssignment","destTypeResult","cachedClassType","classSymbol","genericTypeParameters","initSubclassArgs","metaclassNode","exprFlags","constArgValue","prevBaseClass","typeVars","genericTypeVars","missingFromGeneric","genericTypeVar","verifyGenericTypeParameters","innerScope","initMethod","initDeclNode","initParams","genericParams","metaclassType","reportedMetaclassConflict","baseClassMeta","newDecoratedType","applyClassDecorator","baseClassDataTransform","skipSynthesizedInit","hasExistingInitMethod","initSymbol","initSymbolType","skipSynthesizeHash","hashSymbol","hashSymbolType","skipSynthesizeInit","localDataClassEntries","fullDataClassEntries","allAncestorsKnown","allAncestorsAreKnown","existingIndex","updatedEntry","addInheritedDataClassEntries","localEntryTypeEvaluator","variableNameNode","variableTypeEvaluator","hasDefaultValue","isKeywordOnly","includeInInit","isDataclassFieldConstructor","initArg","callTarget","initCall","initParam","kwOnlyArg","defaultArg","aliasArg","variableSymbol","dataClassEntry","insertIndex","oldEntry","firstDefaultValueIndex","entryEvaluator","setMethodInfo","setMethodType","boundSetMethod","transformDescriptorType","synthesizeComparisonMethod","operatorMethod","synthesizeHashFunction","synthesizeHashNone","hashMethod","synthesizeDataClassMethods","isLimitedToSlots","extendedSlotsNames","initSubclassMethodInfo","initSubclassMethodType","newMethodMember","newMethodType","validateInitSubclassArgs","inputClassType","originalClassType","decoratorCallType","dataclassBehaviors","cachedFunctionType","classInfo","getFunctionFlagsFromDecorators","getFunctionFullName","functionSymbol","addGenericParamTypes","paramTypes","typeParamIndex","markParamAccessed","paramsArePositionOnly","isNoneWithoutOptional","adjustedIndex","adjustedAnnotatedType","adjustParameterAnnotatedType","addOptionalAction","offsetOfTypeNode","isPositionOnlyParam","isPositionOnlySeparator","inferParameterType","variadicParamType","paramType1","paramType2","awaitableFunctionType","createAsyncFunction","applyFunctionDecorator","overloadedTypes","prevDecl","prevDeclDeclTypeInfo","addOverloadsToFunctionType","defaultArgType","baseClassMemberInfo","memberDecls","baseClassMethodNode","overrideParam","baseClassParam","baseClassParamAnnotation","inferredParamType","paramValueExpr","isInClass","inputFunctionType","undecoratedType","fset","flagsToClone","fgetType","fsetType","fsetSymbol","setFunction","setParamType","setSymbol","clonePropertyWithSetter","fdel","fdelSymbol","delFunction","delSymbol","clonePropertyWithDeleter","requiredFlag","awaitableReturnType","asyncGeneratorType","coroutineType","inferFunctionReturnType","isAbstract","raiseStatement","raiseType","methodAlwaysRaisesNotImplemented","inferredReturnTypes","inferredYieldTypes","useAwaitableGenerator","yieldNode","inferredYieldType","generatorType","evaluateTypesForForStatement","iteratorTypeResult","iteratedType","evaluateTypesForExceptStatement","getExceptionType","targetType","subType","evaluateTypesForWithStatement","enterMethodName","scopedType","additionalHelp","enterType","memberReturnType","exitMethodName","evaluateTypesForImportAs","symbolNameNode","getAliasedSymbolTypeForName","cachedModuleType","evaluateTypesForImportFromAs","aliasNode","importLookupInfo","evaluateTypesForCaseNode","subjectTypeResult","subjectIsObject","evaluateTypesForImportFrom","getInferredTypeOfDeclaration","lastContextualExpression","isContextual","isNodeContextual","evaluateTypeAnnotationExpression","annotationParent","evaluateTypeOfParameter","nodeToEvaluate","adjType","listComprehension","subnodeType","oldIncompleteCache","nodeId","analyzer","createCodeFlowAnalyzer","startNode","codeFlowAnalyzer","getCodeFlowAnalyzerForReturnTypeInferenceContext","codeFlowResult","aliasedName","concatTypeArgs","typeArg1Type","createCallableType","typeArg0Type","createOptionalType","createClassVarType","createUnionType","createGenericType","createFinalType","createAnnotatedType","createConcatenateType","convertedTypeArgs","createTypeGuardType","createUnpackType","isUsageLegal","createRequiredType","enclosingClassTypeResult","firstParamTypeAnnotation","createSelfType","typeClass","variadicTypeParamIndex","fullTypeParams","paramSpecTypeArg","listTypeArg","adjustedTypeArgType","effectiveSrcType","sourceConstraint","destConstraint","bestConstraintSoFar","constraint","applyTypeArgToTypeVar","allowRequired","interpreterParsesStringLiteral","currentScope","builtInScope","honorCodeFlow","preferGlobalScope","usageScope","declNode","curSymbolWithScope","speculativeNode","getDeclarationFromFunctionNamedParameter","functionScope","paramSymbol","typeAliasNode","applyLoaderActionsToModuleType","importedModuleSymbol","isUnambiguousType","typeSource","inferredType","enumMemberType","nonSlotsDecls","assignedType","isUnambiguousInference","usageNode","useLastDecl","usageNodeId","isFinalVar","declIndexToConsider","includesSpeculativeResult","considerDecl","isDeclInEnumClass","synthesizedType","filteredTypedDecls","inferTypeIfNeeded","contextualReturnType","prevTypeCache","allArgTypesAreUnknown","getFunctionInferredReturnTypeUsingArguments","canAssignClassToProtocol","treatSourceAsInstantiable","destClassFields","genericDestType","genericDestTypeVarMap","selfTypeVarMap","srcClassTypeVarMap","canAssignFlags","srcMemberInfo","isMemberFromMetaclass","destMemberType","srcMemberType","boundSrcFunction","boundDeclaredType","isDestFinal","specializedDestProtocol","verifyTypeArgumentsAssignable","canAssignClassToProtocolInternal","canAssignModuleToProtocol","specializedSrcProtocol","canAssignClass","reportErrorsUsingObjType","promotionList","srcName","curSrcType","curTypeVarMap","ancestorIndex","ancestorType","canAssignTupleTypeArgs","canAssignClassWithTypeArgs","destErrorType","srcErrorType","destErrorTypeText","srcErrorTypeText","destVariadicIndex","destUnboundedIndex","srcUnboundedIndex","requiredSrcArgCount","srcArgsToCapture","removedArgs","variadicTuple","entryDiag","destTypeParams","srcArgIndex","srcTypeArg","destArgIndex","destTypeArg","destTypeParam","assignmentDiag","childDiag","isTypeVarInScope","isContravariant","functionSrcType","existingParam","newParam","canAssignTypeToParamSpec","curEntry","curNarrowTypeBound","curWideTypeBound","constrainedType","concreteSrcType","unconditionalConstraintIndex","srcSubtype","constrainedSubtype","constraintIndexUsed","adjustedConstraint","newNarrowTypeBound","newWideTypeBound","retainLiterals","adjSrcType","updatedType","originalFlags","destTypeVarName","applicableConditions","canAssignConditionalTypeToTypeVar","destSubtype","typeVarSubstitution","canAssignFromUnionType","clonedTypeVarMap","canAssignToUnionType","expandedSrcType","destCallbackType","getCallbackProtocolType","callbackType","srcFunction","typeVarMapClone","canAssign","checkReturnType","destParamDetails","srcParamDetails","srcDetails","destDetails","srcLastToPackIndex","suffixLength","srcPositionalsToPack","srcTupleTypes","srcPositionalsType","adjustSourceParamDetailsForDestVariadic","destTypeVarMap","srcTypeVarMap","targetIncludesParamSpec","destPositionalCount","srcPositionalCount","positionalsToMatch","destParam","srcParam","srcParamType","destParamType","destParamName","srcParamName","destName","canAssignFunctionParameter","nonDefaultSrcParamCount","destArgsType","srcArgsType","destParamMap","srcStartOfNamed","srcParamInfo","destParamInfo","paramDiag","specializedDestParamType","srcParamCount","destParamCount","effectiveSrcTypeVarMap","typeVarEntry","effectiveDestType","requiredMatchParamCount","matchedParamCount","remainingParams","destReturnType","srcReturnType","isReturnTypeCompatible","canAssignFunction","overloadDiag","destOverload","nonAnySubtypes","remainingDestSubtypes","remainingSrcSubtypes","isIncompatible","srcTypeIndex","destTypeIndex","skipSubtype","otherSubtype","otherIndex","bestTypeVarMap","bestTypeVarMapScore","typeVarMapScore","initInfo","convertInitToConstructor","initSubtype","constructorFunction","initOverloads","converted","newInfo","convertNewToConstructor","newSubtype","field","fieldIsPartOfFunction","specializedSrcType","specializedDestType","reverseMatchingFailed","replaceTypeArgsWithAny","replacedTypeArg","expectedTypeArgType","assignedSubtype","declaredSubtype","methodList","firstParamType","baseObj","partiallySpecializeFunctionForBoundClassOrObject","effectiveFirstParamType","newOverloadType","memberTypeFirstParam","memberTypeFirstParamType","nonLiteralFirstParamType","specializedFunction","runWithCancellationToken","isAsymmetricDescriptorAssignment","declsForThisImport","namePartIndex","paramDecl","isWithinTypeAnnotation","requireQuotedAnnotation","isQuoted","previousCategory","addFakeArg","addOneFunctionToSignature","addFunctionToSignature","isObjectInit","isSkipConstructor","baseMethod","overrideMethod","enforceParamNames","baseParamDetails","overrideParamDetails","canOverride","foundParamCountMismatch","baseCount","overrideCount","baseParam","overrideName","baseParamType","baseIsSynthesizedTypeVar","overrideIsSynthesizedTypeVar","baseReturnType","getTypeCacheSize","isReachableRecursionMap","callIsNoReturnCache","isExceptionContextManagerCache","codeFlowInvocations","flowIncompleteGeneration","visitedFlowNodeMap","isFlowNodeReachableRecursive","curFlowNode","contextMgrNode","isExceptionContextManager","labelNode","postFinallyFlowNode","wasGateClosed","callFlowNode","isCallNoReturn","isCompatibleWithConstrainedTypeVar","noReturnTypeCount","subtypeCount","getDeclaredCallBaseType","callSubtype","constructorMember","boundConstructorType","boundCallType","overloadedFunction","functionStatements","foundRaiseNotImplemented","isNotImplementedName","callIsNoReturn","cmType","cmSwallowsExceptions","firstOverload","exitType","getTypeFromWildcardImport","wildcardDecl","declaredTypeOfSymbol","flowNodeTypeCacheSet","subexpressionReferenceKeys","referenceKeyWithSymbolId","flowNodeTypeCache","setCacheEntry","prevIncompleteType","incompleteSubtypes","generationCount","setIncompleteSubtype","isPending","incompleteEntries","getCacheEntry","incrementFlowNodeVisitCount","recursiveVisitCount","incrementFlowNodeConvergenceCount","recursiveConvergenceCount","deleteCacheEntry","evaluateAssignmentFlowNode","nodeForCacheLookup","getTypeFromFlowNode","codeFlowInvocationsAtStart","assignmentFlowNode","flowTypeResult","branchFlowNode","sawIncomplete","loopNode","cacheEntry","isRecursive","visitCount","subtypeEntry","typeNarrowingCallback","flowType","refTypeInfo","exhaustedMatchFlowNode","patternFlowNode","preFinallyFlowNode","wildcardImportFlowNode","startingConstraints","narrowedConstrainedType","narrowConstrainedTypeVarRecursive","newConstraints","constraintsToAdd","conditionFlowNode","priorRemainingConstraints","getCodeFlowEngine","TrackedImport","isAccessed","TrackedImportAs","TrackedImportFrom","ImportSymbolWalker","_accessedImportedSymbols","_treatStringsAsSymbols","_getRecursiveModuleAccessExpression","TypeStubWriter","_stubPath","_sourceFile","_indentAmount","_includeAllImports","_typeStubText","_lineEnd","_tab","_classNestCount","_functionNestCount","_ifNestCount","_emittedSuite","_emitDocString","_trackedImportAs","_trackedImportFrom","_writeFile","_emitDecorators","argString","_printExpression","_emitLine","_emitSuite","_printParameter","isTypeAlias","callBaseType","_printModuleName","trackedImportAs","trackedImportFrom","_increaseIndent","prevEmittedSuite","_printHeaderDocString","treatStringsAsSymbols","_printTrackedImports","importStr","lineEmitted","sortedSymbols","symStr","finalText","Program","initialImportResolver","initialConfigOptions","_extension","_disableChecker","_sourceFileList","_sourceFileMap","_parsedFileCount","_lookUpImport","sourceFileInfo","_getSourceFileInfoFromPath","addTrackedFile","_bindFile","_createNewEvaluator","setConfigOptions","setImportResolver","setTrackedFiles","filePaths","newFileMap","oldFile","isTracked","addTrackedFiles","_removeUnneededFiles","setPreCheckCallback","preCheckCallback","_preCheckCallback","setAllowedThirdPartyImports","_allowedThirdPartyImports","_getImportNameForFile","isOpenByClient","diagnosticsVersion","importedBy","shadows","shadowedBy","_addToSourceFileListAndMap","setFileOpened","chainedFilePath","chainedSourceFile","setFileClosed","_markFileDirtyRecursive","markAllFilesDirty","evenIfContentsAreSame","markDirtyMap","markFilesDirty","getTracked","getOpened","sourceFileCount","_shouldCheckFile","checkOnlyOpenFiles","getSourceFile","getBoundSourceFile","_runEvaluatorWithCancellationToken","openFiles","effectiveMaxTime","openFilesTimeInMs","_checkTypes","noOpenFilesTimeInMs","_isUserCode","indexWorkspace","initiallyParsedSet","dropParseAndBindInfoCreatedForIndexing","_handleMemoryHighUsage","printDependencies","projectRootDir","sortedFiles","zeroImportFiles","sfInfo","relPath","importFile","writeTypeStub","targetImportPath","targetIsSingleFile","typeStubPath","typeStubDir","getTypeForSymbol","_addShadowedFile","stubFile","shadowImplPath","shadowFileInfo","printer","logCalls","run","minimumLoggingThreshold","typeEvaluator","createTypeEvaluatorWithTracker","_getPrintTypeFlags","_parseFile","fileToParse","_isFileNeeded","_updateSourceFileImports","fileToAnalyze","getScopeIfAvailable","builtinsImport","ipythonDisplayImport","_buildModuleSymbolsMap","sourceFileToExclude","userFileOnly","includeIndexUserSymbols","variableKind","buildModuleSymbolsMap","fileToCheck","closureMap","_getImportsRecursive","_detectAndReportImportCycles","importedFileInfo","dependencyChain","dependencyMap","_logImportCycle","circDep","firstFilePath","firstSourceFile","markMap","getTextOnRange","getAutoImports","writtenWord","symbolSubstrLength","smallestEditDistance","editDistance","computeCompletionSimilarity","fileDiagnostics","getDiagnosticsForRange","unfilteredDiagnostics","_createSourceMapper","reportReferencesForPosition","invokedFromUserFile","curSourceFileInfo","locations","declFileInfo","tempResult","loc","getFileIndex","addSymbolsForDocument","reportSymbolsForWorkspace","completionResult","completionResultsList","completionList","extensionInfo","completionListExtension","updateCompletionResults","renameModule","renameModuleProvider","createForModule","_processModuleReferences","moveSymbolAtPosition","newFilePath","createForSymbol","fileOperations","renameSymbolAtPosition","isDefaultWorkspace","getCallForPosition","getTargetDeclaration","getCallForDeclaration","getIncomingCallsForPosition","itemsToAdd","getIncomingCallsForDeclaration","getOutgoingCallsForPosition","getOutgoingCallsForDeclaration","getApiDocs","documentationFormat","internalDocStringConversion","markupKind","docStringConversion","moduleResult","recurseSymbolTables","parents","isDeclarationType","apiDocsParamsInfo","suffix","test_createSourceMapper","filteringText","currentFileInfo","parseResult","memoryUsage","heapUsed","rss","heapSizeInMb","heapUsageInMb","_discardCachedParseResults","_removeSourceFileFromListAndMap","importedFile","indexToRemove","fi","shadowedFile","_isImportNeededRecursive","recursionMap","importerInfo","mapCompiled","implFilePath","stubFileInfo","_isImportAllowed","importer","isImportStubFile","thirdPartyImportAllowed","filesAdded","getThirdPartyImportInfo","isPyTypedPresent","newImportPathMap","thirdPartyTypeInfo","updatedImportMap","oldFilePath","normalizedImportPath","resolvedBuiltinsPath","resolvedIPythonDisplayPath","port","getBackgroundWaiter","CancellationThrottle","curTimestamp","_lastCheckTimestamp","FileBasedToken","cancellationFilePath","isCancelled","_disposeEmitter","shouldCheck","_pipeExists","getCancellationTokenFromId","cancellationId","getCancellationTokenId","convertAnalysisResults","convertDiagnostics","CommandLineOptions","fromVsCodeExtension","fileSpecs","enableAmbientAnalysis","DeferredImpl","_scope","_resolved","_rejected","_promise","rej","_resolve","_reject","_reason","createDeferred","AnalyzerServiceExecutor","languageServiceRootPath","serverSettings","typeStubTargetImportName","trackFiles","commandLineOptions","workspaceRootPath","openFilesOnly","watchForSourceChanges","watchForLibraryChanges","watchForConfigChanges","logLevel","getEffectiveCommandLineOptions","serviceInstance","setOptions","backgroundAnalysis","tempWorkspace","workspaceName","rootUri","disableLanguageServices","disableOrganizeImports","isInitialized","getSettings","runWithOptions","CreateTypeStubCommand","_ls","cmdParams","callingFile","service","cloneService","getWorkspaceForFile","createBackgroundAnalysis","writeTypeStubInBackground","infoMessage","reanalyze","errMessage","QuickActionCommand","docUri","otherArgs","decodeTextDocumentUri","editAction","convertTextEdits","RestartServerCommand","restart","CommandController","_createStub","_restartServer","_quickAction","execute","isLongRunningCommand","NoAccessHost","logInfo","BackgroundAnalysisProgram","_backgroundAnalysis","_maxAnalysisTime","_program","_ensurePartialStubPackages","_reportDiagnosticsForRemovedFiles","initializeFileSystem","updateOpenFileContents","setCompletionCallback","_onAnalysisCompletion","startAnalysis","_indices","test_setIndexing","workspaceIndices","libraryIndices","indices","_getIndices","setWorkspaceIndex","execEnvRoot","libraryPath","setIndex","startIndexing","indexOptions","refreshIndexing","cancelIndexing","getIndexing","getIndex","invalidateAndForceReanalysis","rebuildUserFileIndexing","rebuildLibraryIndexing","indicesMap","fileDiags","visit","visitor","DEFAULT","_scanner","ignoreTrivia","lineNumber","lineStartOffset","tokenLineStartOffset","prevTokenLineStartOffset","scanError","scanHexDigits","exact","scanNext","ch3","scanString","safeLength","commentClosed","scanNumber","isUnknownContentCharacter","setPosition","newPosition","getPosition","scan","getToken","getTokenValue","getTokenOffset","getTokenLength","getTokenStartLine","getTokenStartCharacter","getTokenError","createScanner","toNoArgVisit","toOneArgVisit","onObjectBegin","onObjectProperty","onObjectEnd","onArrayBegin","onArrayEnd","onLiteralValue","onSeparator","onComment","disallowComments","allowTrailingComma","skipUntilAfter","skipUntil","parseString","isValue","allowEmptyContent","needsComma","parseArray","parseObject","tokenValue","parseLiteral","configFileNames","_gitDirectory","_includeFileRegex","AnalyzerService","instanceName","hostFactory","importResolverFactory","maxAnalysisTime","backgroundAnalysisProgramFactory","cancellationProvider","_typeStubTargetIsSingleFile","_requireTrackedFileUpdate","_lastUserInteractionTime","_disposed","_instanceName","_executionRootPath","_importResolverFactory","createImportResolver","_maxAnalysisTimeInForeground","_backgroundAnalysisProgramFactory","_cancellationProvider","_hostFactory","_backgroundAnalysisProgram","backgroundAnalysisProgram","_removeSourceFileWatchers","_removeConfigFileWatcher","_removeLibraryFileWatcher","_clearReloadConfigTimer","_clearReanalysisTimer","_clearLibraryReanalysisTimer","_onCompletionCallback","_commandLineOptions","_getConfigOptions","_applyConfigOptions","includeSpec","_matchIncludeFileSpec","_scheduleReanalysis","getParseResult","getDefinitionForPosition","getTypeDefinitionForPosition","getEvaluator","printStats","fileCount","getConfigOptions","getImportResolver","recordUserInteractionTime","_analyzeTimer","test_getConfigOptions","test_getFileNamesFromFileSpecs","_getFileNamesFromFileSpecs","configFilePath","pyprojectFilePath","_findConfigFile","_findConfigFileHereOrUp","_findPyprojectTomlFile","_findPyprojectTomlFileHereOrUp","_typeCheckingMode","defaultExcludes","configJsonObj","_configFilePath","_parseJsonConfigFile","_parsePyprojectTomlFile","configFileDir","autoExcludeVenv","reportDuplicateSetting","settingName","configValue","settingSource","fullVenvPath","typingsSubdirPath","_getTypeStubFolder","_typeStubTargetPath","updateTrackedFileList","_updateTrackedFileList","_typeStubTargetImportName","errMsg","typeStubInputTargetParts","typingsSubdirHierarchy","ancestor","configPath","_attemptParseFile","currentProperty","currentParent","previousParents","onValue","object","pyprojectPath","attemptCount","tool","pyright","parseCallback","parseAttemptCount","_reportConfigParseError","parseFailed","fileMap","matchedFiles","_matchFiles","markFilesDirtyUnconditionally","filesToImport","finalResolvedPath","isFinalPathFile","isFinalPathInitFile","rootPackagePath","fileList","envMarkers","loggedLongOperationError","visitDirectoryUnchecked","includeRegExp","_isInExcludePath","visitDirectory","seenDirs","realDirPath","foundFileSpec","_shouldIncludeFile","_sourceFileWatcher","_updateSourceFileWatchers","_watchForSourceChanges","spec","_verboseOutput","isIgnored","stats","fileNameSplit","isTemporaryFile","_libraryFileWatcher","_updateLibraryFileWatcher","_watchForLibraryChanges","watchList","_scheduleLibraryAnalysis","_libraryReanalysisTimer","_configFileWatcher","_updateConfigFileWatcher","_watchForConfigChanges","_scheduleReloadConfigFile","_reloadConfigTimer","_reloadConfigFile","requireTrackedFileUpdate","_backgroundAnalysisCancellationSource","timeSinceLastUserInteractionInMs","timeUntilNextAnalysisInMs","excludePaths","excl","CommandResult","ProgressReportTracker","_isDisplayingProgress","isEnabled","UriParser","decodeTextDocumentPosition","nullProgressReporter","SortedMap","comparer","iterable","_keys","_values","_copyOnWrite","_comparer","_order","getIterator","nextResult","closeIterator","_writePreamble","_writePostScript","_orderedRemoveItemAt","_getIterationOrder","order","Metadata","_parent","_parentVersion","_escapeKey","_undefinedValue","escapedKey","_unescapeKey","IO_ERROR_MESSAGE","EACCES","EIO","ENOENT","EEXIST","ELOOP","ENOTDIR","EISDIR","EBADF","EINVAL","ENOTEMPTY","EPERM","EROFS","createIOError","invalidRootComponentRegExp","getInvalidRootComponentRegExp","invalidNavigableComponentRegExp","invalidNavigableComponentWithWildcardsRegExp","invalidNonNavigableComponentRegExp","invalidNonNavigableComponentWithWildcardsRegExp","extRegExp","validate","trailing","hasTrailingSeparator","hasDirname","hasBasename","hasExtname","invalidComponentRegExp","validateComponents","MODULE_PATH","devCount","inoCount","TestFileSystem","_lazy","_tmpfileCounter","time","meta","stringComparer","_time","_applyFiles","links","mkdirpSync","_cwd","_shadowRoot","isFrozen","makeReadonly","snapshot","isReadonly","_dirStack","shadow","getTime","filemeta","_walk","_filemeta","parentMeta","shadowRoot","pushd","popd","scanSync","axis","traversal","_scan","_stat","lscanSync","postfix","noFollow","accept","traverse","childpath","mountSync","resolver","existingNode","_mknod","dev","S_IFDIR","_addLink","rimrafSync","lstatSync","rmdirSync","_mkdir","getFileListing","printLinks","marker","_getLinks","isSymlink","symlink","_getRootLinks","debugPrint","utimesSync","atime","mtime","atimeMs","mtimeMs","ctimeMs","realpath","Stats","ino","nlink","_getSize","birthtimeMs","makeDirEnt","_removeLink","linkSync","oldpath","newpath","renameSync","oldParent","oldParentLinks","oldBasename","newParent","newParentLinks","newBasename","_replaceLink","symlinkSync","linkpath","S_IFLNK","_getBuffer","S_IFREG","Int8Array","bufferFrom","differences","_rootDiff","_trackCreatedInodes","changed","changedLinks","baseLinks","_trackDeletedInodes","hasChanges","Rmdir","Unlink","changedNode","baseNode","_directoryDiff","_fileDiff","_symlinkDiff","_trackCreatedInode","_diffWorker","isEmptyNonShadowedDirectory","Directory","isEmptyNonShadowedFile","changedBuffer","baseBuffer","includeChangedFileWithSameContent","SameFileContentFile","Symlink","S_IFMT","oldLinks","oldName","newLinks","_copyShadowLinks","_getShadow","step","retry","lastStep","trapError","deferred","_applyFilesWorker","_applyFileExtendedOptions","Link","normalizeFileSetEntry","metaAndEncoding","rdev","blksize","blocks","uid","gid","ctime","birthtime","WorkspaceMap","_defaultWorkspacePath","getNonDefaultWorkspaces","workspaces","bestRootPath","bestInstance","defaultWorkspace","workspaceNames","createAnalyzerService","updateSettingsForWorkspace","maxAnalysisTimeInForeground","PyrightServer","_serverOptions","_lastTriggerKind","hasConfigurationCapability","hasVisualStudioExtensionsCapability","hasWorkspaceFoldersCapability","hasWatchFileCapability","hasActiveParameterCapability","hasSignatureLabelOffsetCapability","hasHierarchicalDocumentSymbolCapability","hasWindowProgressCapability","hasGoToDeclarationCapability","hasDocumentChangeCapability","hasDocumentAnnotationCapability","hoverContentFormat","completionDocFormat","completionSupportsSnippet","signatureDocFormat","supportsDeprecatedDiagnosticTag","supportsUnnecessaryDiagnosticTag","completionItemResolveSupportsAdditionalTextEdits","diagnosticTextSettings","__rootDirectory","rootDirectory","productName","_workspaceMap","workspaceMap","_fileWatcherProvider","fileWatcherProvider","_uriParser","setupConnection","supportedCommands","supportedCodeActions","_progressReporter","createProgressReporter","scopeUri","_defaultClientConfig","isOpenFilesOnly","diagnosticMode","getSeverityOverrides","enumValue","getDiagnosticRuleName","createBackgroundAnalysisProgram","setExtension","createHost","onAnalysisCompletedHandler","executeCodeAction","workDoneReporter","resultReporter","callHierarchy","initializationOptions","didChangeWatchedFiles","dynamicRegistration","supportsVisualStudioExtensions","signatureHelp","signatureInformation","activeParameterSupport","parameterInformation","labelOffsetSupport","documentSymbol","hierarchicalDocumentSymbolSupport","resourceOperations","changeAnnotationSupport","_getCompatibleMarkupKind","hover","contentFormat","completion","snippetSupport","supportedDiagnosticTags","publishDiagnostics","tagSupport","valueSet","tag","resolveSupport","properties","createWorkspaceServiceInstance","updateSettingsForAllWorkspaces","definitionProvider","declarationProvider","typeDefinitionProvider","referencesProvider","documentSymbolProvider","workspaceSymbolProvider","hoverProvider","documentHighlightProvider","renameProvider","completionProvider","triggerCharacters","resolveProvider","signatureHelpProvider","codeActionProvider","codeActionKinds","executeCommandProvider","commands","callHierarchyProvider","onDidChangeWorkspaceFolders","removed","added","newWorkspace","watchers","globPattern","settings","getDefinitions","PreferSource","getDefinitionsFunc","_pendingFindAllRefsCancellationSource","_getProgressReporter","convertToFlatSymbols","disableWorkspaceSymbol","hoverResults","markupString","convertHoverResults","signatureHelpResults","isActive","activeSignature","isRetrigger","triggerKind","prevActiveSignature","activeSignatureHelp","completionIncomplete","getWorkspaceCompletionsForPosition","getCompletionOptions","resolveWorkspaceCompletionItem","workspaceEdits","convertWorkspaceEdits","callItem","callItems","eventType","_pendingCommandCancellationSource","executeCommand","_convertDiagnostics","fileDiag","_sendDiagnostics","progressMessage","updateOptionsAndRestartService","convertLogLevel","logLevelValue","clientSupportedFormats","serverSupportedFormats","serverInitiatedReporter","diags","convertedDiags","convertCategoryToSeverity","vsDiag","ruleDocUrl","getDocumentationUrlForDiagnosticRule","relatedInfo","expandPathVariables","trimmedName","HOME","USERNAME","VIRTUAL_ENV","_controller","_initialFiles","pythonSection","pythonAnalysisSection","pyrightSection","BrowserBackgroundAnalysis","codeActions","typeStubDiag","addOptionalDiag","addMissingOptionalAction","getCodeActionsForPosition","setup","worker","_worker","onMessage","requestType","logData","enqueueRequest","_startOrResumeAnalysis","port1","port2","disposeCancellationToken","waiter","request","initialData","runner","createWorker","BrowserBackgroundAnalysisRunner","folderName","_realFs","createRealFileSystem","getConsole","initializationData","_analyzeOneChunk","jsonObject","createConfigOptionsFrom","_reportDiagnostics","_analysisPaused","processIndexing","analysisDone","reportIndex","BrowserWorkersHost","_parentPort","BrowserMessagePort","channel","MessageChannel","delegate","unwrap","transferList","unwrapForSend","MessagePort","app"],"mappings":"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AC,GAAI,IACL,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA+C+B,CACxC,CAAC,GAAI,KACL,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,IAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,CAAC,OAAQ,SA4C+B,CACxC,IACA,IACA,IACA,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,MAGwC,CACxC,IACA,IACA,IACA,CAAC,IAAK,KACN,IACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC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,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,SA8d0C,CAC1D,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,MACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,OAEJ,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,OAAQ,OACxB,MAAO,CAAC,OACR,MAAO,CAAC,OACR,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,CAAC,MAAO,OAAQ,MAAO,CAAC,MAAO,QACvC,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CACH,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,QAEZ,MAAO,CAAC,OACR,MAAO,CAAC,MAAO,OACf,MAAO,CAAC,MAAO,OACf,MAAO,CAAC,MAAO,OACf,MAAO,CAAC,MAAO,OACf,MAAO,CAAC,OACR,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,OACR,MAAO,CAAC,QA+DkD,CAC1D,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,CAAC,MAAO,OAAQ,CAAC,MAAO,OAAQ,OACxC,MAAO,CAAC,CAAC,MAAO,QAChB,MAAO,CAAC,QAkBkD,CAC1D,MAAO,CAAC,CAAC,MAAO,OAAQ,MAAO,MAAO,CAAC,MAAO,QAC9C,MAAO,CAAC,CAAC,MAAO,UDz7DdC,GAAwB,CAJ6B,CACvD,IAAQ,IAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MC+7DhD,CACxC,CAAC,IAAK,KACN,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,KACA,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,KACA,CAAC,KAAM,MACP,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,MACA,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,MACA,MACA,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,MACA,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,OACA,OACA,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC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","file":"pyright-main-9de05813f9fe07eabc93.worker.js","sourceRoot":""} \ No newline at end of file diff --git a/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/typeshed.en.json b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/typeshed.en.json new file mode 100644 index 0000000..7cbe753 --- /dev/null +++ b/quarto-py-shinylive/index_files/libs/quarto-contrib/shinylive-0.4.1/shinylive/pyright/typeshed.en.json @@ -0,0 +1,560 @@ +{ + "/typeshed/stdlib/VERSIONS": "# The structure of this file is as follows:\n# - Blank lines and comments starting with `#` are ignored.\n# - Lines contain the name of a module, followed by a colon,\n# a space, and a version range (for example: `symbol: 2.7-3.9`).\n#\n# Version ranges may be of the form \"X.Y-A.B\" or \"X.Y-\". The\n# first form means that a module was introduced in version X.Y and last\n# available in version A.B. The second form means that the module was\n# introduced in version X.Y and is still available in the latest\n# version of Python.\n#\n# If a submodule is not listed separately, it has the same lifetime as\n# its parent module.\n#\n# Python versions before 2.7 are ignored, so any module that was already\n# present in 2.7 will have \"2.7\" as its minimum version. Version ranges\n# for unsupported versions of Python 3 are generally accurate but we do\n# not guarantee their correctness.\n\n__future__: 2.7-\n__main__: 2.7-\n_ast: 2.7-\n_bisect: 2.7-\n_bootlocale: 3.4-3.9\n_codecs: 2.7-\n_collections_abc: 3.3-\n_compat_pickle: 3.1-\n_compression: 3.5-\n_csv: 2.7-\n_ctypes: 2.7-\n_curses: 2.7-\n_decimal: 3.3-\n_dummy_thread: 3.0-3.8\n_dummy_threading: 2.7-3.8\n_heapq: 2.7-\n_imp: 3.0-\n_json: 2.7-\n_locale: 2.7-\n_markupbase: 2.7-\n_msi: 2.7-\n_operator: 3.4-\n_osx_support: 2.7-\n_posixsubprocess: 3.2-\n_py_abc: 3.7-\n_pydecimal: 3.5-\n_random: 2.7-\n_sitebuiltins: 3.4-\n_socket: 3.0- # present in 2.7 at runtime, but not in typeshed\n_stat: 3.4-\n_thread: 2.7-\n_threading_local: 2.7-\n_tkinter: 2.7-\n_tracemalloc: 3.4-\n_typeshed: 2.7- # not present at runtime, only for type checking\n_warnings: 2.7-\n_weakref: 2.7-\n_weakrefset: 2.7-\n_winapi: 3.3-\nabc: 2.7-\naifc: 2.7-\nantigravity: 2.7-\nargparse: 2.7-\narray: 2.7-\nast: 2.7-\nasynchat: 2.7-3.11\nasyncio: 3.4-\nasyncio.mixins: 3.10-\nasyncio.exceptions: 3.8-\nasyncio.format_helpers: 3.7-\nasyncio.runners: 3.7-\nasyncio.staggered: 3.8-\nasyncio.taskgroups: 3.11-\nasyncio.threads: 3.9-\nasyncio.timeouts: 3.11-\nasyncio.trsock: 3.8-\nasyncore: 2.7-3.11\natexit: 2.7-\naudioop: 2.7-\nbase64: 2.7-\nbdb: 2.7-\nbinascii: 2.7-\nbinhex: 2.7-3.10\nbisect: 2.7-\nbuiltins: 3.0-\nbz2: 2.7-\ncProfile: 2.7-\ncalendar: 2.7-\ncgi: 2.7-\ncgitb: 2.7-\nchunk: 2.7-\ncmath: 2.7-\ncmd: 2.7-\ncode: 2.7-\ncodecs: 2.7-\ncodeop: 2.7-\ncollections: 2.7-\ncollections.abc: 3.3-\ncolorsys: 2.7-\ncompileall: 2.7-\nconcurrent: 3.2-\nconfigparser: 3.0-\ncontextlib: 2.7-\ncontextvars: 3.7-\ncopy: 2.7-\ncopyreg: 2.7-\ncrypt: 2.7-\ncsv: 2.7-\nctypes: 2.7-\ncurses: 2.7-\ndataclasses: 3.7-\ndatetime: 2.7-\ndbm: 2.7-\ndecimal: 2.7-\ndifflib: 2.7-\ndis: 2.7-\ndistutils: 2.7-3.11\ndistutils.command.bdist_msi: 2.7-3.10\ndistutils.command.bdist_wininst: 2.7-3.9\ndoctest: 2.7-\ndummy_threading: 2.7-3.8\nemail: 2.7-\nencodings: 2.7-\nensurepip: 2.7-\nenum: 3.4-\nerrno: 2.7-\nfaulthandler: 3.3-\nfcntl: 2.7-\nfilecmp: 2.7-\nfileinput: 2.7-\nfnmatch: 2.7-\nformatter: 2.7-3.9\nfractions: 2.7-\nftplib: 2.7-\nfunctools: 2.7-\ngc: 2.7-\ngenericpath: 2.7-\ngetopt: 2.7-\ngetpass: 2.7-\ngettext: 2.7-\nglob: 2.7-\ngraphlib: 3.9-\ngrp: 2.7-\ngzip: 2.7-\nhashlib: 2.7-\nheapq: 2.7-\nhmac: 2.7-\nhtml: 3.0-\nhttp: 3.0-\nimaplib: 2.7-\nimghdr: 2.7-\nimp: 2.7-3.11\nimportlib: 2.7-\nimportlib.metadata: 3.8-\nimportlib.metadata._meta: 3.10-\nimportlib.readers: 3.10-\nimportlib.resources: 3.7-\nimportlib.resources.abc: 3.11-\nimportlib.resources.readers: 3.11-\nimportlib.resources.simple: 3.11-\nimportlib.simple: 3.11-\ninspect: 2.7-\nio: 2.7-\nipaddress: 3.3-\nitertools: 2.7-\njson: 2.7-\nkeyword: 2.7-\nlib2to3: 2.7-\nlinecache: 2.7-\nlocale: 2.7-\nlogging: 2.7-\nlzma: 3.3-\nmacpath: 2.7-3.7\nmailbox: 2.7-\nmailcap: 2.7-\nmarshal: 2.7-\nmath: 2.7-\nmimetypes: 2.7-\nmmap: 2.7-\nmodulefinder: 2.7-\nmsilib: 2.7-\nmsvcrt: 2.7-\nmultiprocessing: 2.7-\nmultiprocessing.resource_tracker: 3.8-\nmultiprocessing.shared_memory: 3.8-\nnetrc: 2.7-\nnis: 2.7-\nnntplib: 2.7-\nnt: 2.7-\nntpath: 2.7-\nnturl2path: 2.7-\nnumbers: 2.7-\nopcode: 2.7-\noperator: 2.7-\noptparse: 2.7-\nos: 2.7-\nossaudiodev: 2.7-\nparser: 2.7-3.9\npathlib: 3.4-\npdb: 2.7-\npickle: 2.7-\npickletools: 2.7-\npipes: 2.7-\npkgutil: 2.7-\nplatform: 2.7-\nplistlib: 2.7-\npoplib: 2.7-\nposix: 2.7-\nposixpath: 2.7-\npprint: 2.7-\nprofile: 2.7-\npstats: 2.7-\npty: 2.7-\npwd: 2.7-\npy_compile: 2.7-\npyclbr: 2.7-\npydoc: 2.7-\npydoc_data: 2.7-\npyexpat: 2.7-\nqueue: 3.0-\nquopri: 2.7-\nrandom: 2.7-\nre: 2.7-\nreadline: 2.7-\nreprlib: 3.0-\nresource: 2.7-\nrlcompleter: 2.7-\nrunpy: 2.7-\nsched: 2.7-\nsecrets: 3.6-\nselect: 2.7-\nselectors: 3.4-\nshelve: 2.7-\nshlex: 2.7-\nshutil: 2.7-\nsignal: 2.7-\nsite: 2.7-\nsmtpd: 2.7-3.11\nsmtplib: 2.7-\nsndhdr: 2.7-\nsocket: 2.7-\nsocketserver: 3.0-\nspwd: 2.7-\nsqlite3: 2.7-\nsre_compile: 2.7-\nsre_constants: 2.7-\nsre_parse: 2.7-\nssl: 2.7-\nstat: 2.7-\nstatistics: 3.4-\nstring: 2.7-\nstringprep: 2.7-\nstruct: 2.7-\nsubprocess: 2.7-\nsunau: 2.7-\nsymbol: 2.7-3.9\nsymtable: 2.7-\nsys: 2.7-\nsys._monitoring: 3.12- # Doesn't actually exist. See comments in the stub.\nsysconfig: 2.7-\nsyslog: 2.7-\ntabnanny: 2.7-\ntarfile: 2.7-\ntelnetlib: 2.7-\ntempfile: 2.7-\ntermios: 2.7-\ntextwrap: 2.7-\nthis: 2.7-\nthreading: 2.7-\ntime: 2.7-\ntimeit: 2.7-\ntkinter: 3.0-\ntoken: 2.7-\ntokenize: 2.7-\ntomllib: 3.11-\ntrace: 2.7-\ntraceback: 2.7-\ntracemalloc: 3.4-\ntty: 2.7-\nturtle: 2.7-\ntypes: 2.7-\ntyping: 3.5-\ntyping_extensions: 2.7-\nunicodedata: 2.7-\nunittest: 2.7-\nunittest._log: 3.9-\nunittest.async_case: 3.8-\nurllib: 2.7-\nuu: 2.7-\nuuid: 2.7-\nvenv: 3.3-\nwarnings: 2.7-\nwave: 2.7-\nweakref: 2.7-\nwebbrowser: 2.7-\nwinreg: 3.0-\nwinsound: 2.7-\nwsgiref: 2.7-\nwsgiref.types: 3.11-\nxdrlib: 2.7-\nxml: 2.7-\nxmlrpc: 3.0-\nxxlimited: 3.2-\nzipapp: 3.5-\nzipfile: 2.7-\nzipimport: 2.7-\nzlib: 2.7-\nzoneinfo: 3.9-\n", + "/typeshed/stdlib/__future__.pyi": "from typing_extensions import TypeAlias\n\n_VersionInfo: TypeAlias = tuple[int, int, int, str, int]\n\nclass _Feature:\n def __init__(self, optionalRelease: _VersionInfo, mandatoryRelease: _VersionInfo | None, compiler_flag: int) -> None: ...\n def getOptionalRelease(self) -> _VersionInfo: ...\n def getMandatoryRelease(self) -> _VersionInfo | None: ...\n compiler_flag: int\n\nabsolute_import: _Feature\ndivision: _Feature\ngenerators: _Feature\nnested_scopes: _Feature\nprint_function: _Feature\nunicode_literals: _Feature\nwith_statement: _Feature\nbarry_as_FLUFL: _Feature\ngenerator_stop: _Feature\nannotations: _Feature\n\nall_feature_names: list[str] # undocumented\n\n__all__ = [\n \"all_feature_names\",\n \"absolute_import\",\n \"division\",\n \"generators\",\n \"nested_scopes\",\n \"print_function\",\n \"unicode_literals\",\n \"with_statement\",\n \"barry_as_FLUFL\",\n \"generator_stop\",\n \"annotations\",\n]\n", + "/typeshed/stdlib/__main__.pyi": "from typing import Any\n\ndef __getattr__(name: str) -> Any: ...\n", + "/typeshed/stdlib/_ast.pyi": "import sys\nimport typing_extensions\nfrom typing import Any, ClassVar\nfrom typing_extensions import Literal\n\nPyCF_ONLY_AST: Literal[1024]\nif sys.version_info >= (3, 8):\n PyCF_TYPE_COMMENTS: Literal[4096]\n PyCF_ALLOW_TOP_LEVEL_AWAIT: Literal[8192]\n\n_Identifier: typing_extensions.TypeAlias = str\n\nclass AST:\n if sys.version_info >= (3, 10):\n __match_args__ = ()\n _attributes: ClassVar[tuple[str, ...]]\n _fields: ClassVar[tuple[str, ...]]\n def __init__(self, *args: Any, **kwargs: Any) -> None: ...\n # TODO: Not all nodes have all of the following attributes\n lineno: int\n col_offset: int\n if sys.version_info >= (3, 8):\n end_lineno: int | None\n end_col_offset: int | None\n type_comment: str | None\n\nclass mod(AST): ...\n\nif sys.version_info >= (3, 8):\n class type_ignore(AST): ...\n\n class TypeIgnore(type_ignore):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"lineno\", \"tag\")\n tag: str\n\n class FunctionType(mod):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"argtypes\", \"returns\")\n argtypes: list[expr]\n returns: expr\n\nclass Module(mod):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"body\", \"type_ignores\")\n body: list[stmt]\n if sys.version_info >= (3, 8):\n type_ignores: list[TypeIgnore]\n\nclass Interactive(mod):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"body\",)\n body: list[stmt]\n\nclass Expression(mod):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"body\",)\n body: expr\n\nclass stmt(AST): ...\n\nclass FunctionDef(stmt):\n if sys.version_info >= (3, 12):\n __match_args__ = (\"name\", \"args\", \"body\", \"decorator_list\", \"returns\", \"type_comment\", \"type_params\")\n elif sys.version_info >= (3, 10):\n __match_args__ = (\"name\", \"args\", \"body\", \"decorator_list\", \"returns\", \"type_comment\")\n name: _Identifier\n args: arguments\n body: list[stmt]\n decorator_list: list[expr]\n returns: expr | None\n if sys.version_info >= (3, 12):\n type_params: list[type_param]\n\nclass AsyncFunctionDef(stmt):\n if sys.version_info >= (3, 12):\n __match_args__ = (\"name\", \"args\", \"body\", \"decorator_list\", \"returns\", \"type_comment\", \"type_params\")\n elif sys.version_info >= (3, 10):\n __match_args__ = (\"name\", \"args\", \"body\", \"decorator_list\", \"returns\", \"type_comment\")\n name: _Identifier\n args: arguments\n body: list[stmt]\n decorator_list: list[expr]\n returns: expr | None\n if sys.version_info >= (3, 12):\n type_params: list[type_param]\n\nclass ClassDef(stmt):\n if sys.version_info >= (3, 12):\n __match_args__ = (\"name\", \"bases\", \"keywords\", \"body\", \"decorator_list\", \"type_params\")\n elif sys.version_info >= (3, 10):\n __match_args__ = (\"name\", \"bases\", \"keywords\", \"body\", \"decorator_list\")\n name: _Identifier\n bases: list[expr]\n keywords: list[keyword]\n body: list[stmt]\n decorator_list: list[expr]\n if sys.version_info >= (3, 12):\n type_params: list[type_param]\n\nclass Return(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"value\",)\n value: expr | None\n\nclass Delete(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"targets\",)\n targets: list[expr]\n\nclass Assign(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"targets\", \"value\", \"type_comment\")\n targets: list[expr]\n value: expr\n\nclass AugAssign(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"target\", \"op\", \"value\")\n target: Name | Attribute | Subscript\n op: operator\n value: expr\n\nclass AnnAssign(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"target\", \"annotation\", \"value\", \"simple\")\n target: Name | Attribute | Subscript\n annotation: expr\n value: expr | None\n simple: int\n\nclass For(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"target\", \"iter\", \"body\", \"orelse\", \"type_comment\")\n target: expr\n iter: expr\n body: list[stmt]\n orelse: list[stmt]\n\nclass AsyncFor(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"target\", \"iter\", \"body\", \"orelse\", \"type_comment\")\n target: expr\n iter: expr\n body: list[stmt]\n orelse: list[stmt]\n\nclass While(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"test\", \"body\", \"orelse\")\n test: expr\n body: list[stmt]\n orelse: list[stmt]\n\nclass If(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"test\", \"body\", \"orelse\")\n test: expr\n body: list[stmt]\n orelse: list[stmt]\n\nclass With(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"items\", \"body\", \"type_comment\")\n items: list[withitem]\n body: list[stmt]\n\nclass AsyncWith(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"items\", \"body\", \"type_comment\")\n items: list[withitem]\n body: list[stmt]\n\nclass Raise(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"exc\", \"cause\")\n exc: expr | None\n cause: expr | None\n\nclass Try(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"body\", \"handlers\", \"orelse\", \"finalbody\")\n body: list[stmt]\n handlers: list[ExceptHandler]\n orelse: list[stmt]\n finalbody: list[stmt]\n\nif sys.version_info >= (3, 11):\n class TryStar(stmt):\n __match_args__ = (\"body\", \"handlers\", \"orelse\", \"finalbody\")\n body: list[stmt]\n handlers: list[ExceptHandler]\n orelse: list[stmt]\n finalbody: list[stmt]\n\nclass Assert(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"test\", \"msg\")\n test: expr\n msg: expr | None\n\nclass Import(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"names\",)\n names: list[alias]\n\nclass ImportFrom(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"module\", \"names\", \"level\")\n module: str | None\n names: list[alias]\n level: int\n\nclass Global(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"names\",)\n names: list[_Identifier]\n\nclass Nonlocal(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"names\",)\n names: list[_Identifier]\n\nclass Expr(stmt):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"value\",)\n value: expr\n\nclass Pass(stmt): ...\nclass Break(stmt): ...\nclass Continue(stmt): ...\nclass expr(AST): ...\n\nclass BoolOp(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"op\", \"values\")\n op: boolop\n values: list[expr]\n\nclass BinOp(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"left\", \"op\", \"right\")\n left: expr\n op: operator\n right: expr\n\nclass UnaryOp(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"op\", \"operand\")\n op: unaryop\n operand: expr\n\nclass Lambda(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"args\", \"body\")\n args: arguments\n body: expr\n\nclass IfExp(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"test\", \"body\", \"orelse\")\n test: expr\n body: expr\n orelse: expr\n\nclass Dict(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"keys\", \"values\")\n keys: list[expr | None]\n values: list[expr]\n\nclass Set(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"elts\",)\n elts: list[expr]\n\nclass ListComp(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"elt\", \"generators\")\n elt: expr\n generators: list[comprehension]\n\nclass SetComp(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"elt\", \"generators\")\n elt: expr\n generators: list[comprehension]\n\nclass DictComp(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"key\", \"value\", \"generators\")\n key: expr\n value: expr\n generators: list[comprehension]\n\nclass GeneratorExp(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"elt\", \"generators\")\n elt: expr\n generators: list[comprehension]\n\nclass Await(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"value\",)\n value: expr\n\nclass Yield(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"value\",)\n value: expr | None\n\nclass YieldFrom(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"value\",)\n value: expr\n\nclass Compare(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"left\", \"ops\", \"comparators\")\n left: expr\n ops: list[cmpop]\n comparators: list[expr]\n\nclass Call(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"func\", \"args\", \"keywords\")\n func: expr\n args: list[expr]\n keywords: list[keyword]\n\nclass FormattedValue(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"value\", \"conversion\", \"format_spec\")\n value: expr\n conversion: int\n format_spec: expr | None\n\nclass JoinedStr(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"values\",)\n values: list[expr]\n\nif sys.version_info < (3, 8):\n class Num(expr): # Deprecated in 3.8; use Constant\n n: int | float | complex\n\n class Str(expr): # Deprecated in 3.8; use Constant\n s: str\n\n class Bytes(expr): # Deprecated in 3.8; use Constant\n s: bytes\n\n class NameConstant(expr): # Deprecated in 3.8; use Constant\n value: Any\n\n class Ellipsis(expr): ... # Deprecated in 3.8; use Constant\n\nclass Constant(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"value\", \"kind\")\n value: Any # None, str, bytes, bool, int, float, complex, Ellipsis\n kind: str | None\n # Aliases for value, for backwards compatibility\n s: Any\n n: int | float | complex\n\nif sys.version_info >= (3, 8):\n class NamedExpr(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"target\", \"value\")\n target: Name\n value: expr\n\nclass Attribute(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"value\", \"attr\", \"ctx\")\n value: expr\n attr: _Identifier\n ctx: expr_context\n\nif sys.version_info >= (3, 9):\n _Slice: typing_extensions.TypeAlias = expr\nelse:\n class slice(AST): ...\n _Slice: typing_extensions.TypeAlias = slice\n\nclass Slice(_Slice):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"lower\", \"upper\", \"step\")\n lower: expr | None\n upper: expr | None\n step: expr | None\n\nif sys.version_info < (3, 9):\n class ExtSlice(slice):\n dims: list[slice]\n\n class Index(slice):\n value: expr\n\nclass Subscript(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"value\", \"slice\", \"ctx\")\n value: expr\n slice: _Slice\n ctx: expr_context\n\nclass Starred(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"value\", \"ctx\")\n value: expr\n ctx: expr_context\n\nclass Name(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"id\", \"ctx\")\n id: _Identifier\n ctx: expr_context\n\nclass List(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"elts\", \"ctx\")\n elts: list[expr]\n ctx: expr_context\n\nclass Tuple(expr):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"elts\", \"ctx\")\n elts: list[expr]\n ctx: expr_context\n if sys.version_info >= (3, 9):\n dims: list[expr]\n\nclass expr_context(AST): ...\n\nif sys.version_info < (3, 9):\n class AugLoad(expr_context): ...\n class AugStore(expr_context): ...\n class Param(expr_context): ...\n\n class Suite(mod):\n body: list[stmt]\n\nclass Del(expr_context): ...\nclass Load(expr_context): ...\nclass Store(expr_context): ...\nclass boolop(AST): ...\nclass And(boolop): ...\nclass Or(boolop): ...\nclass operator(AST): ...\nclass Add(operator): ...\nclass BitAnd(operator): ...\nclass BitOr(operator): ...\nclass BitXor(operator): ...\nclass Div(operator): ...\nclass FloorDiv(operator): ...\nclass LShift(operator): ...\nclass Mod(operator): ...\nclass Mult(operator): ...\nclass MatMult(operator): ...\nclass Pow(operator): ...\nclass RShift(operator): ...\nclass Sub(operator): ...\nclass unaryop(AST): ...\nclass Invert(unaryop): ...\nclass Not(unaryop): ...\nclass UAdd(unaryop): ...\nclass USub(unaryop): ...\nclass cmpop(AST): ...\nclass Eq(cmpop): ...\nclass Gt(cmpop): ...\nclass GtE(cmpop): ...\nclass In(cmpop): ...\nclass Is(cmpop): ...\nclass IsNot(cmpop): ...\nclass Lt(cmpop): ...\nclass LtE(cmpop): ...\nclass NotEq(cmpop): ...\nclass NotIn(cmpop): ...\n\nclass comprehension(AST):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"target\", \"iter\", \"ifs\", \"is_async\")\n target: expr\n iter: expr\n ifs: list[expr]\n is_async: int\n\nclass excepthandler(AST): ...\n\nclass ExceptHandler(excepthandler):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"type\", \"name\", \"body\")\n type: expr | None\n name: _Identifier | None\n body: list[stmt]\n\nclass arguments(AST):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"posonlyargs\", \"args\", \"vararg\", \"kwonlyargs\", \"kw_defaults\", \"kwarg\", \"defaults\")\n if sys.version_info >= (3, 8):\n posonlyargs: list[arg]\n args: list[arg]\n vararg: arg | None\n kwonlyargs: list[arg]\n kw_defaults: list[expr | None]\n kwarg: arg | None\n defaults: list[expr]\n\nclass arg(AST):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"arg\", \"annotation\", \"type_comment\")\n arg: _Identifier\n annotation: expr | None\n\nclass keyword(AST):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"arg\", \"value\")\n arg: _Identifier | None\n value: expr\n\nclass alias(AST):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"name\", \"asname\")\n name: _Identifier\n asname: _Identifier | None\n\nclass withitem(AST):\n if sys.version_info >= (3, 10):\n __match_args__ = (\"context_expr\", \"optional_vars\")\n context_expr: expr\n optional_vars: expr | None\n\nif sys.version_info >= (3, 10):\n class Match(stmt):\n __match_args__ = (\"subject\", \"cases\")\n subject: expr\n cases: list[match_case]\n\n class pattern(AST): ...\n # Without the alias, Pyright complains variables named pattern are recursively defined\n _Pattern: typing_extensions.TypeAlias = pattern\n\n class match_case(AST):\n __match_args__ = (\"pattern\", \"guard\", \"body\")\n pattern: _Pattern\n guard: expr | None\n body: list[stmt]\n\n class MatchValue(pattern):\n __match_args__ = (\"value\",)\n value: expr\n\n class MatchSingleton(pattern):\n __match_args__ = (\"value\",)\n value: Literal[True, False, None]\n\n class MatchSequence(pattern):\n __match_args__ = (\"patterns\",)\n patterns: list[pattern]\n\n class MatchStar(pattern):\n __match_args__ = (\"name\",)\n name: _Identifier | None\n\n class MatchMapping(pattern):\n __match_args__ = (\"keys\", \"patterns\", \"rest\")\n keys: list[expr]\n patterns: list[pattern]\n rest: _Identifier | None\n\n class MatchClass(pattern):\n __match_args__ = (\"cls\", \"patterns\", \"kwd_attrs\", \"kwd_patterns\")\n cls: expr\n patterns: list[pattern]\n kwd_attrs: list[_Identifier]\n kwd_patterns: list[pattern]\n\n class MatchAs(pattern):\n __match_args__ = (\"pattern\", \"name\")\n pattern: _Pattern | None\n name: _Identifier | None\n\n class MatchOr(pattern):\n __match_args__ = (\"patterns\",)\n patterns: list[pattern]\n\nif sys.version_info >= (3, 12):\n class type_param(AST): ...\n\n class TypeVar(type_param):\n __match_args__ = (\"name\", \"bound\")\n name: _Identifier\n bound: expr | None\n\n class ParamSpec(type_param):\n __match_args__ = (\"name\",)\n name: _Identifier\n\n class TypeVarTuple(type_param):\n __match_args__ = (\"name\",)\n name: _Identifier\n\n class TypeAlias(stmt):\n __match_args__ = (\"name\", \"type_params\", \"value\")\n name: Name\n type_params: list[type_param]\n value: expr\n", + "/typeshed/stdlib/_bisect.pyi": "import sys\nfrom _typeshed import SupportsLenAndGetItem, SupportsRichComparisonT\nfrom collections.abc import Callable, MutableSequence\nfrom typing import TypeVar, overload\n\n_T = TypeVar(\"_T\")\n\nif sys.version_info >= (3, 10):\n @overload\n def bisect_left(\n a: SupportsLenAndGetItem[SupportsRichComparisonT],\n x: SupportsRichComparisonT,\n lo: int = 0,\n hi: int | None = None,\n *,\n key: None = None,\n ) -> int: ...\n @overload\n def bisect_left(\n a: SupportsLenAndGetItem[_T],\n x: SupportsRichComparisonT,\n lo: int = 0,\n hi: int | None = None,\n *,\n key: Callable[[_T], SupportsRichComparisonT],\n ) -> int: ...\n @overload\n def bisect_right(\n a: SupportsLenAndGetItem[SupportsRichComparisonT],\n x: SupportsRichComparisonT,\n lo: int = 0,\n hi: int | None = None,\n *,\n key: None = None,\n ) -> int: ...\n @overload\n def bisect_right(\n a: SupportsLenAndGetItem[_T],\n x: SupportsRichComparisonT,\n lo: int = 0,\n hi: int | None = None,\n *,\n key: Callable[[_T], SupportsRichComparisonT],\n ) -> int: ...\n @overload\n def insort_left(\n a: MutableSequence[SupportsRichComparisonT],\n x: SupportsRichComparisonT,\n lo: int = 0,\n hi: int | None = None,\n *,\n key: None = None,\n ) -> None: ...\n @overload\n def insort_left(\n a: MutableSequence[_T], x: _T, lo: int = 0, hi: int | None = None, *, key: Callable[[_T], SupportsRichComparisonT]\n ) -> None: ...\n @overload\n def insort_right(\n a: MutableSequence[SupportsRichComparisonT],\n x: SupportsRichComparisonT,\n lo: int = 0,\n hi: int | None = None,\n *,\n key: None = None,\n ) -> None: ...\n @overload\n def insort_right(\n a: MutableSequence[_T], x: _T, lo: int = 0, hi: int | None = None, *, key: Callable[[_T], SupportsRichComparisonT]\n ) -> None: ...\n\nelse:\n def bisect_left(\n a: SupportsLenAndGetItem[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None\n ) -> int: ...\n def bisect_right(\n a: SupportsLenAndGetItem[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None\n ) -> int: ...\n def insort_left(\n a: MutableSequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None\n ) -> None: ...\n def insort_right(\n a: MutableSequence[SupportsRichComparisonT], x: SupportsRichComparisonT, lo: int = 0, hi: int | None = None\n ) -> None: ...\n", + "/typeshed/stdlib/_bootlocale.pyi": "def getpreferredencoding(do_setlocale: bool = True) -> str: ...\n", + "/typeshed/stdlib/_codecs.pyi": "import codecs\nimport sys\nfrom _typeshed import ReadableBuffer\nfrom collections.abc import Callable\nfrom typing import overload\nfrom typing_extensions import Literal, TypeAlias\n\n# This type is not exposed; it is defined in unicodeobject.c\nclass _EncodingMap:\n def size(self) -> int: ...\n\n_CharMap: TypeAlias = dict[int, int] | _EncodingMap\n_Handler: TypeAlias = Callable[[UnicodeError], tuple[str | bytes, int]]\n_SearchFunction: TypeAlias = Callable[[str], codecs.CodecInfo | None]\n\ndef register(__search_function: _SearchFunction) -> None: ...\n\nif sys.version_info >= (3, 10):\n def unregister(__search_function: _SearchFunction) -> None: ...\n\ndef register_error(__errors: str, __handler: _Handler) -> None: ...\ndef lookup_error(__name: str) -> _Handler: ...\n\n# The type ignore on `encode` and `decode` is to avoid issues with overlapping overloads, for more details, see #300\n# https://docs.python.org/3/library/codecs.html#binary-transforms\n_BytesToBytesEncoding: TypeAlias = Literal[\n \"base64\",\n \"base_64\",\n \"base64_codec\",\n \"bz2\",\n \"bz2_codec\",\n \"hex\",\n \"hex_codec\",\n \"quopri\",\n \"quotedprintable\",\n \"quoted_printable\",\n \"quopri_codec\",\n \"uu\",\n \"uu_codec\",\n \"zip\",\n \"zlib\",\n \"zlib_codec\",\n]\n# https://docs.python.org/3/library/codecs.html#text-transforms\n_StrToStrEncoding: TypeAlias = Literal[\"rot13\", \"rot_13\"]\n\n@overload\ndef encode(obj: ReadableBuffer, encoding: _BytesToBytesEncoding, errors: str = \"strict\") -> bytes: ...\n@overload\ndef encode(obj: str, encoding: _StrToStrEncoding, errors: str = \"strict\") -> str: ... # type: ignore[misc]\n@overload\ndef encode(obj: str, encoding: str = \"utf-8\", errors: str = \"strict\") -> bytes: ...\n@overload\ndef decode(obj: ReadableBuffer, encoding: _BytesToBytesEncoding, errors: str = \"strict\") -> bytes: ... # type: ignore[misc]\n@overload\ndef decode(obj: str, encoding: _StrToStrEncoding, errors: str = \"strict\") -> str: ...\n\n# these are documented as text encodings but in practice they also accept str as input\n@overload\ndef decode(\n obj: str,\n encoding: Literal[\"unicode_escape\", \"unicode-escape\", \"raw_unicode_escape\", \"raw-unicode-escape\"],\n errors: str = \"strict\",\n) -> str: ...\n\n# hex is officially documented as a bytes to bytes encoding, but it appears to also work with str\n@overload\ndef decode(obj: str, encoding: Literal[\"hex\", \"hex_codec\"], errors: str = \"strict\") -> bytes: ...\n@overload\ndef decode(obj: ReadableBuffer, encoding: str = \"utf-8\", errors: str = \"strict\") -> str: ...\ndef lookup(__encoding: str) -> codecs.CodecInfo: ...\ndef charmap_build(__map: str) -> _CharMap: ...\ndef ascii_decode(__data: ReadableBuffer, __errors: str | None = None) -> tuple[str, int]: ...\ndef ascii_encode(__str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\ndef charmap_decode(__data: ReadableBuffer, __errors: str | None = None, __mapping: _CharMap | None = None) -> tuple[str, int]: ...\ndef charmap_encode(__str: str, __errors: str | None = None, __mapping: _CharMap | None = None) -> tuple[bytes, int]: ...\ndef escape_decode(__data: str | ReadableBuffer, __errors: str | None = None) -> tuple[str, int]: ...\ndef escape_encode(__data: bytes, __errors: str | None = None) -> tuple[bytes, int]: ...\ndef latin_1_decode(__data: ReadableBuffer, __errors: str | None = None) -> tuple[str, int]: ...\ndef latin_1_encode(__str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\n\nif sys.version_info >= (3, 9):\n def raw_unicode_escape_decode(\n __data: str | ReadableBuffer, __errors: str | None = None, __final: bool = True\n ) -> tuple[str, int]: ...\n\nelse:\n def raw_unicode_escape_decode(__data: str | ReadableBuffer, __errors: str | None = None) -> tuple[str, int]: ...\n\ndef raw_unicode_escape_encode(__str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\ndef readbuffer_encode(__data: str | ReadableBuffer, __errors: str | None = None) -> tuple[bytes, int]: ...\n\nif sys.version_info >= (3, 9):\n def unicode_escape_decode(\n __data: str | ReadableBuffer, __errors: str | None = None, __final: bool = True\n ) -> tuple[str, int]: ...\n\nelse:\n def unicode_escape_decode(__data: str | ReadableBuffer, __errors: str | None = None) -> tuple[str, int]: ...\n\ndef unicode_escape_encode(__str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\n\nif sys.version_info < (3, 8):\n def unicode_internal_decode(__obj: str | ReadableBuffer, __errors: str | None = None) -> tuple[str, int]: ...\n def unicode_internal_encode(__obj: str | ReadableBuffer, __errors: str | None = None) -> tuple[bytes, int]: ...\n\ndef utf_16_be_decode(__data: ReadableBuffer, __errors: str | None = None, __final: bool = False) -> tuple[str, int]: ...\ndef utf_16_be_encode(__str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\ndef utf_16_decode(__data: ReadableBuffer, __errors: str | None = None, __final: bool = False) -> tuple[str, int]: ...\ndef utf_16_encode(__str: str, __errors: str | None = None, __byteorder: int = 0) -> tuple[bytes, int]: ...\ndef utf_16_ex_decode(\n __data: ReadableBuffer, __errors: str | None = None, __byteorder: int = 0, __final: bool = False\n) -> tuple[str, int, int]: ...\ndef utf_16_le_decode(__data: ReadableBuffer, __errors: str | None = None, __final: bool = False) -> tuple[str, int]: ...\ndef utf_16_le_encode(__str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\ndef utf_32_be_decode(__data: ReadableBuffer, __errors: str | None = None, __final: bool = False) -> tuple[str, int]: ...\ndef utf_32_be_encode(__str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\ndef utf_32_decode(__data: ReadableBuffer, __errors: str | None = None, __final: bool = False) -> tuple[str, int]: ...\ndef utf_32_encode(__str: str, __errors: str | None = None, __byteorder: int = 0) -> tuple[bytes, int]: ...\ndef utf_32_ex_decode(\n __data: ReadableBuffer, __errors: str | None = None, __byteorder: int = 0, __final: bool = False\n) -> tuple[str, int, int]: ...\ndef utf_32_le_decode(__data: ReadableBuffer, __errors: str | None = None, __final: bool = False) -> tuple[str, int]: ...\ndef utf_32_le_encode(__str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\ndef utf_7_decode(__data: ReadableBuffer, __errors: str | None = None, __final: bool = False) -> tuple[str, int]: ...\ndef utf_7_encode(__str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\ndef utf_8_decode(__data: ReadableBuffer, __errors: str | None = None, __final: bool = False) -> tuple[str, int]: ...\ndef utf_8_encode(__str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\n\nif sys.platform == \"win32\":\n def mbcs_decode(__data: ReadableBuffer, __errors: str | None = None, __final: bool = False) -> tuple[str, int]: ...\n def mbcs_encode(__str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\n def code_page_decode(\n __codepage: int, __data: ReadableBuffer, __errors: str | None = None, __final: bool = False\n ) -> tuple[str, int]: ...\n def code_page_encode(__code_page: int, __str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\n def oem_decode(__data: ReadableBuffer, __errors: str | None = None, __final: bool = False) -> tuple[str, int]: ...\n def oem_encode(__str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\n", + "/typeshed/stdlib/_collections_abc.pyi": "import sys\nfrom abc import abstractmethod\nfrom types import MappingProxyType\nfrom typing import ( # noqa: Y022,Y038,Y057\n AbstractSet as Set,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n ByteString as ByteString,\n Callable as Callable,\n Collection as Collection,\n Container as Container,\n Coroutine as Coroutine,\n Generator as Generator,\n Generic,\n Hashable as Hashable,\n ItemsView as ItemsView,\n Iterable as Iterable,\n Iterator as Iterator,\n KeysView as KeysView,\n Mapping as Mapping,\n MappingView as MappingView,\n MutableMapping as MutableMapping,\n MutableSequence as MutableSequence,\n MutableSet as MutableSet,\n Protocol,\n Reversible as Reversible,\n Sequence as Sequence,\n Sized as Sized,\n TypeVar,\n ValuesView as ValuesView,\n runtime_checkable,\n)\nfrom typing_extensions import final\n\n__all__ = [\n \"Awaitable\",\n \"Coroutine\",\n \"AsyncIterable\",\n \"AsyncIterator\",\n \"AsyncGenerator\",\n \"Hashable\",\n \"Iterable\",\n \"Iterator\",\n \"Generator\",\n \"Reversible\",\n \"Sized\",\n \"Container\",\n \"Callable\",\n \"Collection\",\n \"Set\",\n \"MutableSet\",\n \"Mapping\",\n \"MutableMapping\",\n \"MappingView\",\n \"KeysView\",\n \"ItemsView\",\n \"ValuesView\",\n \"Sequence\",\n \"MutableSequence\",\n \"ByteString\",\n]\nif sys.version_info >= (3, 12):\n __all__ += [\"Buffer\"]\n\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n\n@final\nclass dict_keys(KeysView[_KT_co], Generic[_KT_co, _VT_co]): # undocumented\n def __eq__(self, __value: object) -> bool: ...\n if sys.version_info >= (3, 10):\n @property\n def mapping(self) -> MappingProxyType[_KT_co, _VT_co]: ...\n\n@final\nclass dict_values(ValuesView[_VT_co], Generic[_KT_co, _VT_co]): # undocumented\n if sys.version_info >= (3, 10):\n @property\n def mapping(self) -> MappingProxyType[_KT_co, _VT_co]: ...\n\n@final\nclass dict_items(ItemsView[_KT_co, _VT_co]): # undocumented\n def __eq__(self, __value: object) -> bool: ...\n if sys.version_info >= (3, 10):\n @property\n def mapping(self) -> MappingProxyType[_KT_co, _VT_co]: ...\n\nif sys.version_info >= (3, 12):\n @runtime_checkable\n class Buffer(Protocol):\n @abstractmethod\n def __buffer__(self, __flags: int) -> memoryview: ...\n", + "/typeshed/stdlib/_compat_pickle.pyi": "IMPORT_MAPPING: dict[str, str]\nNAME_MAPPING: dict[tuple[str, str], tuple[str, str]]\nPYTHON2_EXCEPTIONS: tuple[str, ...]\nMULTIPROCESSING_EXCEPTIONS: tuple[str, ...]\nREVERSE_IMPORT_MAPPING: dict[str, str]\nREVERSE_NAME_MAPPING: dict[tuple[str, str], tuple[str, str]]\nPYTHON3_OSERROR_EXCEPTIONS: tuple[str, ...]\nPYTHON3_IMPORTERROR_EXCEPTIONS: tuple[str, ...]\n", + "/typeshed/stdlib/_compression.pyi": "from _typeshed import WriteableBuffer\nfrom collections.abc import Callable\nfrom io import DEFAULT_BUFFER_SIZE, BufferedIOBase, RawIOBase\nfrom typing import Any, Protocol\n\nBUFFER_SIZE = DEFAULT_BUFFER_SIZE\n\nclass _Reader(Protocol):\n def read(self, __n: int) -> bytes: ...\n def seekable(self) -> bool: ...\n def seek(self, __n: int) -> Any: ...\n\nclass BaseStream(BufferedIOBase): ...\n\nclass DecompressReader(RawIOBase):\n def __init__(\n self,\n fp: _Reader,\n decomp_factory: Callable[..., object],\n trailing_error: type[Exception] | tuple[type[Exception], ...] = (),\n **decomp_args: Any,\n ) -> None: ...\n def readinto(self, b: WriteableBuffer) -> int: ...\n def read(self, size: int = -1) -> bytes: ...\n def seek(self, offset: int, whence: int = 0) -> int: ...\n", + "/typeshed/stdlib/_csv.pyi": "import sys\nfrom _typeshed import SupportsWrite\nfrom collections.abc import Iterable, Iterator\nfrom typing import Any\nfrom typing_extensions import Final, Literal, TypeAlias\n\n__version__: Final[str]\n\nQUOTE_ALL: Literal[1]\nQUOTE_MINIMAL: Literal[0]\nQUOTE_NONE: Literal[3]\nQUOTE_NONNUMERIC: Literal[2]\nif sys.version_info >= (3, 12):\n QUOTE_STRINGS: Literal[4]\n QUOTE_NOTNULL: Literal[5]\n\n# Ideally this would be `QUOTE_ALL | QUOTE_MINIMAL | QUOTE_NONE | QUOTE_NONNUMERIC`\n# However, using literals in situations like these can cause false-positives (see #7258)\n_QuotingType: TypeAlias = int\n\nclass Error(Exception): ...\n\nclass Dialect:\n delimiter: str\n quotechar: str | None\n escapechar: str | None\n doublequote: bool\n skipinitialspace: bool\n lineterminator: str\n quoting: _QuotingType\n strict: bool\n def __init__(self) -> None: ...\n\n_DialectLike: TypeAlias = str | Dialect | type[Dialect]\n\nclass _reader(Iterator[list[str]]):\n @property\n def dialect(self) -> Dialect: ...\n line_num: int\n def __next__(self) -> list[str]: ...\n\nclass _writer:\n @property\n def dialect(self) -> Dialect: ...\n def writerow(self, row: Iterable[Any]) -> Any: ...\n def writerows(self, rows: Iterable[Iterable[Any]]) -> None: ...\n\ndef writer(\n csvfile: SupportsWrite[str],\n dialect: _DialectLike = \"excel\",\n *,\n delimiter: str = \",\",\n quotechar: str | None = '\"',\n escapechar: str | None = None,\n doublequote: bool = True,\n skipinitialspace: bool = False,\n lineterminator: str = \"\\r\\n\",\n quoting: _QuotingType = 0,\n strict: bool = False,\n) -> _writer: ...\ndef reader(\n csvfile: Iterable[str],\n dialect: _DialectLike = \"excel\",\n *,\n delimiter: str = \",\",\n quotechar: str | None = '\"',\n escapechar: str | None = None,\n doublequote: bool = True,\n skipinitialspace: bool = False,\n lineterminator: str = \"\\r\\n\",\n quoting: _QuotingType = 0,\n strict: bool = False,\n) -> _reader: ...\ndef register_dialect(\n name: str,\n dialect: type[Dialect] = ...,\n *,\n delimiter: str = \",\",\n quotechar: str | None = '\"',\n escapechar: str | None = None,\n doublequote: bool = True,\n skipinitialspace: bool = False,\n lineterminator: str = \"\\r\\n\",\n quoting: _QuotingType = 0,\n strict: bool = False,\n) -> None: ...\ndef unregister_dialect(name: str) -> None: ...\ndef get_dialect(name: str) -> Dialect: ...\ndef list_dialects() -> list[str]: ...\ndef field_size_limit(new_limit: int = ...) -> int: ...\n", + "/typeshed/stdlib/_ctypes.pyi": "import sys\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom abc import abstractmethod\nfrom collections.abc import Callable, Iterable, Iterator, Mapping, Sequence\nfrom ctypes import CDLL\nfrom typing import Any, ClassVar, Generic, TypeVar, overload\nfrom typing_extensions import Self, TypeAlias\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n_T = TypeVar(\"_T\")\n_CT = TypeVar(\"_CT\", bound=_CData)\n\nFUNCFLAG_CDECL: int\nFUNCFLAG_PYTHONAPI: int\nFUNCFLAG_USE_ERRNO: int\nFUNCFLAG_USE_LASTERROR: int\nRTLD_GLOBAL: int\nRTLD_LOCAL: int\n\nif sys.version_info >= (3, 11):\n CTYPES_MAX_ARGCOUNT: int\n\nif sys.version_info >= (3, 12):\n SIZEOF_TIME_T: int\n\nif sys.platform == \"win32\":\n # Description, Source, HelpFile, HelpContext, scode\n _COMError_Details: TypeAlias = tuple[str | None, str | None, str | None, int | None, int | None]\n\n class COMError(Exception):\n hresult: int\n text: str | None\n details: _COMError_Details\n\n def __init__(self, hresult: int, text: str | None, details: _COMError_Details) -> None: ...\n\n def CopyComPointer(src: _PointerLike, dst: _PointerLike | _CArgObject) -> int: ...\n\n FUNCFLAG_HRESULT: int\n FUNCFLAG_STDCALL: int\n\n def FormatError(code: int = ...) -> str: ...\n def get_last_error() -> int: ...\n def set_last_error(value: int) -> int: ...\n def LoadLibrary(__name: str, __load_flags: int = 0) -> int: ...\n def FreeLibrary(__handle: int) -> None: ...\n\nclass _CDataMeta(type):\n # By default mypy complains about the following two methods, because strictly speaking cls\n # might not be a Type[_CT]. However this can never actually happen, because the only class that\n # uses _CDataMeta as its metaclass is _CData. So it's safe to ignore the errors here.\n def __mul__(cls: type[_CT], other: int) -> type[Array[_CT]]: ... # type: ignore[misc] # pyright: ignore[reportGeneralTypeIssues]\n def __rmul__(cls: type[_CT], other: int) -> type[Array[_CT]]: ... # type: ignore[misc] # pyright: ignore[reportGeneralTypeIssues]\n\nclass _CData(metaclass=_CDataMeta):\n _b_base_: int\n _b_needsfree_: bool\n _objects: Mapping[Any, int] | None\n # At runtime the following classmethods are available only on classes, not\n # on instances. This can't be reflected properly in the type system:\n #\n # Structure.from_buffer(...) # valid at runtime\n # Structure(...).from_buffer(...) # invalid at runtime\n #\n @classmethod\n def from_buffer(cls, source: WriteableBuffer, offset: int = ...) -> Self: ...\n @classmethod\n def from_buffer_copy(cls, source: ReadableBuffer, offset: int = ...) -> Self: ...\n @classmethod\n def from_address(cls, address: int) -> Self: ...\n @classmethod\n def from_param(cls, obj: Any) -> Self | _CArgObject: ...\n @classmethod\n def in_dll(cls, library: CDLL, name: str) -> Self: ...\n def __buffer__(self, __flags: int) -> memoryview: ...\n def __release_buffer__(self, __buffer: memoryview) -> None: ...\n\nclass _SimpleCData(_CData, Generic[_T]):\n value: _T\n # The TypeVar can be unsolved here,\n # but we can't use overloads without creating many, many mypy false-positive errors\n def __init__(self, value: _T = ...) -> None: ... # pyright: ignore[reportInvalidTypeVarUse]\n\nclass _CanCastTo(_CData): ...\nclass _PointerLike(_CanCastTo): ...\n\nclass _Pointer(_PointerLike, _CData, Generic[_CT]):\n _type_: type[_CT]\n contents: _CT\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, arg: _CT) -> None: ...\n @overload\n def __getitem__(self, __key: int) -> Any: ...\n @overload\n def __getitem__(self, __key: slice) -> list[Any]: ...\n def __setitem__(self, __key: int, __value: Any) -> None: ...\n\ndef POINTER(type: type[_CT]) -> type[_Pointer[_CT]]: ...\ndef pointer(__arg: _CT) -> _Pointer[_CT]: ...\n\nclass _CArgObject: ...\n\ndef byref(obj: _CData, offset: int = ...) -> _CArgObject: ...\n\n_ECT: TypeAlias = Callable[[type[_CData] | None, CFuncPtr, tuple[_CData, ...]], _CData]\n_PF: TypeAlias = tuple[int] | tuple[int, str | None] | tuple[int, str | None, Any]\n\nclass CFuncPtr(_PointerLike, _CData):\n restype: type[_CData] | Callable[[int], Any] | None\n argtypes: Sequence[type[_CData]]\n errcheck: _ECT\n _flags_: ClassVar[int] # Abstract attribute that must be defined on subclasses\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, __address: int) -> None: ...\n @overload\n def __init__(self, __callable: Callable[..., Any]) -> None: ...\n @overload\n def __init__(self, __func_spec: tuple[str | int, CDLL], __paramflags: tuple[_PF, ...] | None = ...) -> None: ...\n if sys.platform == \"win32\":\n @overload\n def __init__(\n self, __vtbl_index: int, __name: str, __paramflags: tuple[_PF, ...] | None = ..., __iid: _CData | None = ...\n ) -> None: ...\n\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n\n_GetT = TypeVar(\"_GetT\")\n_SetT = TypeVar(\"_SetT\")\n\nclass _CField(Generic[_CT, _GetT, _SetT]):\n offset: int\n size: int\n @overload\n def __get__(self, __instance: None, __owner: type[Any] | None) -> Self: ...\n @overload\n def __get__(self, __instance: Any, __owner: type[Any] | None) -> _GetT: ...\n def __set__(self, __instance: Any, __value: _SetT) -> None: ...\n\nclass _StructUnionMeta(_CDataMeta):\n _fields_: Sequence[tuple[str, type[_CData]] | tuple[str, type[_CData], int]]\n _pack_: int\n _anonymous_: Sequence[str]\n def __getattr__(self, name: str) -> _CField[Any, Any, Any]: ...\n\nclass _StructUnionBase(_CData, metaclass=_StructUnionMeta):\n def __init__(self, *args: Any, **kw: Any) -> None: ...\n def __getattr__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n\nclass Union(_StructUnionBase): ...\nclass Structure(_StructUnionBase): ...\n\nclass Array(_CData, Generic[_CT]):\n @property\n @abstractmethod\n def _length_(self) -> int: ...\n @_length_.setter\n def _length_(self, value: int) -> None: ...\n @property\n @abstractmethod\n def _type_(self) -> type[_CT]: ...\n @_type_.setter\n def _type_(self, value: type[_CT]) -> None: ...\n # Note: only available if _CT == c_char\n @property\n def raw(self) -> bytes: ...\n @raw.setter\n def raw(self, value: ReadableBuffer) -> None: ...\n value: Any # Note: bytes if _CT == c_char, str if _CT == c_wchar, unavailable otherwise\n # TODO These methods cannot be annotated correctly at the moment.\n # All of these \"Any\"s stand for the array's element type, but it's not possible to use _CT\n # here, because of a special feature of ctypes.\n # By default, when accessing an element of an Array[_CT], the returned object has type _CT.\n # However, when _CT is a \"simple type\" like c_int, ctypes automatically \"unboxes\" the object\n # and converts it to the corresponding Python primitive. For example, when accessing an element\n # of an Array[c_int], a Python int object is returned, not a c_int.\n # This behavior does *not* apply to subclasses of \"simple types\".\n # If MyInt is a subclass of c_int, then accessing an element of an Array[MyInt] returns\n # a MyInt, not an int.\n # This special behavior is not easy to model in a stub, so for now all places where\n # the array element type would belong are annotated with Any instead.\n def __init__(self, *args: Any) -> None: ...\n @overload\n def __getitem__(self, __key: int) -> Any: ...\n @overload\n def __getitem__(self, __key: slice) -> list[Any]: ...\n @overload\n def __setitem__(self, __key: int, __value: Any) -> None: ...\n @overload\n def __setitem__(self, __key: slice, __value: Iterable[Any]) -> None: ...\n def __iter__(self) -> Iterator[Any]: ...\n # Can't inherit from Sized because the metaclass conflict between\n # Sized and _CData prevents using _CDataMeta.\n def __len__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass ArgumentError(Exception): ...\n\ndef addressof(obj: _CData) -> int: ...\ndef alignment(obj_or_type: _CData | type[_CData]) -> int: ...\ndef get_errno() -> int: ...\ndef resize(obj: _CData, size: int) -> None: ...\ndef set_errno(value: int) -> int: ...\ndef sizeof(obj_or_type: _CData | type[_CData]) -> int: ...\n", + "/typeshed/stdlib/_curses.pyi": "import sys\nfrom _typeshed import ReadOnlyBuffer, SupportsRead\nfrom typing import IO, Any, NamedTuple, overload\nfrom typing_extensions import TypeAlias, final\n\nif sys.platform != \"win32\":\n # Handled by PyCurses_ConvertToChtype in _cursesmodule.c.\n _ChType: TypeAlias = str | bytes | int\n\n # ACS codes are only initialized after initscr is called\n ACS_BBSS: int\n ACS_BLOCK: int\n ACS_BOARD: int\n ACS_BSBS: int\n ACS_BSSB: int\n ACS_BSSS: int\n ACS_BTEE: int\n ACS_BULLET: int\n ACS_CKBOARD: int\n ACS_DARROW: int\n ACS_DEGREE: int\n ACS_DIAMOND: int\n ACS_GEQUAL: int\n ACS_HLINE: int\n ACS_LANTERN: int\n ACS_LARROW: int\n ACS_LEQUAL: int\n ACS_LLCORNER: int\n ACS_LRCORNER: int\n ACS_LTEE: int\n ACS_NEQUAL: int\n ACS_PI: int\n ACS_PLMINUS: int\n ACS_PLUS: int\n ACS_RARROW: int\n ACS_RTEE: int\n ACS_S1: int\n ACS_S3: int\n ACS_S7: int\n ACS_S9: int\n ACS_SBBS: int\n ACS_SBSB: int\n ACS_SBSS: int\n ACS_SSBB: int\n ACS_SSBS: int\n ACS_SSSB: int\n ACS_SSSS: int\n ACS_STERLING: int\n ACS_TTEE: int\n ACS_UARROW: int\n ACS_ULCORNER: int\n ACS_URCORNER: int\n ACS_VLINE: int\n ALL_MOUSE_EVENTS: int\n A_ALTCHARSET: int\n A_ATTRIBUTES: int\n A_BLINK: int\n A_BOLD: int\n A_CHARTEXT: int\n A_COLOR: int\n A_DIM: int\n A_HORIZONTAL: int\n A_INVIS: int\n if sys.platform != \"darwin\":\n A_ITALIC: int\n A_LEFT: int\n A_LOW: int\n A_NORMAL: int\n A_PROTECT: int\n A_REVERSE: int\n A_RIGHT: int\n A_STANDOUT: int\n A_TOP: int\n A_UNDERLINE: int\n A_VERTICAL: int\n BUTTON1_CLICKED: int\n BUTTON1_DOUBLE_CLICKED: int\n BUTTON1_PRESSED: int\n BUTTON1_RELEASED: int\n BUTTON1_TRIPLE_CLICKED: int\n BUTTON2_CLICKED: int\n BUTTON2_DOUBLE_CLICKED: int\n BUTTON2_PRESSED: int\n BUTTON2_RELEASED: int\n BUTTON2_TRIPLE_CLICKED: int\n BUTTON3_CLICKED: int\n BUTTON3_DOUBLE_CLICKED: int\n BUTTON3_PRESSED: int\n BUTTON3_RELEASED: int\n BUTTON3_TRIPLE_CLICKED: int\n BUTTON4_CLICKED: int\n BUTTON4_DOUBLE_CLICKED: int\n BUTTON4_PRESSED: int\n BUTTON4_RELEASED: int\n BUTTON4_TRIPLE_CLICKED: int\n # Darwin ncurses doesn't provide BUTTON5_* constants\n if sys.version_info >= (3, 10) and sys.platform != \"darwin\":\n BUTTON5_PRESSED: int\n BUTTON5_RELEASED: int\n BUTTON5_CLICKED: int\n BUTTON5_DOUBLE_CLICKED: int\n BUTTON5_TRIPLE_CLICKED: int\n BUTTON_ALT: int\n BUTTON_CTRL: int\n BUTTON_SHIFT: int\n COLOR_BLACK: int\n COLOR_BLUE: int\n COLOR_CYAN: int\n COLOR_GREEN: int\n COLOR_MAGENTA: int\n COLOR_RED: int\n COLOR_WHITE: int\n COLOR_YELLOW: int\n ERR: int\n KEY_A1: int\n KEY_A3: int\n KEY_B2: int\n KEY_BACKSPACE: int\n KEY_BEG: int\n KEY_BREAK: int\n KEY_BTAB: int\n KEY_C1: int\n KEY_C3: int\n KEY_CANCEL: int\n KEY_CATAB: int\n KEY_CLEAR: int\n KEY_CLOSE: int\n KEY_COMMAND: int\n KEY_COPY: int\n KEY_CREATE: int\n KEY_CTAB: int\n KEY_DC: int\n KEY_DL: int\n KEY_DOWN: int\n KEY_EIC: int\n KEY_END: int\n KEY_ENTER: int\n KEY_EOL: int\n KEY_EOS: int\n KEY_EXIT: int\n KEY_F0: int\n KEY_F1: int\n KEY_F10: int\n KEY_F11: int\n KEY_F12: int\n KEY_F13: int\n KEY_F14: int\n KEY_F15: int\n KEY_F16: int\n KEY_F17: int\n KEY_F18: int\n KEY_F19: int\n KEY_F2: int\n KEY_F20: int\n KEY_F21: int\n KEY_F22: int\n KEY_F23: int\n KEY_F24: int\n KEY_F25: int\n KEY_F26: int\n KEY_F27: int\n KEY_F28: int\n KEY_F29: int\n KEY_F3: int\n KEY_F30: int\n KEY_F31: int\n KEY_F32: int\n KEY_F33: int\n KEY_F34: int\n KEY_F35: int\n KEY_F36: int\n KEY_F37: int\n KEY_F38: int\n KEY_F39: int\n KEY_F4: int\n KEY_F40: int\n KEY_F41: int\n KEY_F42: int\n KEY_F43: int\n KEY_F44: int\n KEY_F45: int\n KEY_F46: int\n KEY_F47: int\n KEY_F48: int\n KEY_F49: int\n KEY_F5: int\n KEY_F50: int\n KEY_F51: int\n KEY_F52: int\n KEY_F53: int\n KEY_F54: int\n KEY_F55: int\n KEY_F56: int\n KEY_F57: int\n KEY_F58: int\n KEY_F59: int\n KEY_F6: int\n KEY_F60: int\n KEY_F61: int\n KEY_F62: int\n KEY_F63: int\n KEY_F7: int\n KEY_F8: int\n KEY_F9: int\n KEY_FIND: int\n KEY_HELP: int\n KEY_HOME: int\n KEY_IC: int\n KEY_IL: int\n KEY_LEFT: int\n KEY_LL: int\n KEY_MARK: int\n KEY_MAX: int\n KEY_MESSAGE: int\n KEY_MIN: int\n KEY_MOUSE: int\n KEY_MOVE: int\n KEY_NEXT: int\n KEY_NPAGE: int\n KEY_OPEN: int\n KEY_OPTIONS: int\n KEY_PPAGE: int\n KEY_PREVIOUS: int\n KEY_PRINT: int\n KEY_REDO: int\n KEY_REFERENCE: int\n KEY_REFRESH: int\n KEY_REPLACE: int\n KEY_RESET: int\n KEY_RESIZE: int\n KEY_RESTART: int\n KEY_RESUME: int\n KEY_RIGHT: int\n KEY_SAVE: int\n KEY_SBEG: int\n KEY_SCANCEL: int\n KEY_SCOMMAND: int\n KEY_SCOPY: int\n KEY_SCREATE: int\n KEY_SDC: int\n KEY_SDL: int\n KEY_SELECT: int\n KEY_SEND: int\n KEY_SEOL: int\n KEY_SEXIT: int\n KEY_SF: int\n KEY_SFIND: int\n KEY_SHELP: int\n KEY_SHOME: int\n KEY_SIC: int\n KEY_SLEFT: int\n KEY_SMESSAGE: int\n KEY_SMOVE: int\n KEY_SNEXT: int\n KEY_SOPTIONS: int\n KEY_SPREVIOUS: int\n KEY_SPRINT: int\n KEY_SR: int\n KEY_SREDO: int\n KEY_SREPLACE: int\n KEY_SRESET: int\n KEY_SRIGHT: int\n KEY_SRSUME: int\n KEY_SSAVE: int\n KEY_SSUSPEND: int\n KEY_STAB: int\n KEY_SUNDO: int\n KEY_SUSPEND: int\n KEY_UNDO: int\n KEY_UP: int\n OK: int\n REPORT_MOUSE_POSITION: int\n _C_API: Any\n version: bytes\n def baudrate() -> int: ...\n def beep() -> None: ...\n def can_change_color() -> bool: ...\n def cbreak(__flag: bool = True) -> None: ...\n def color_content(__color_number: int) -> tuple[int, int, int]: ...\n def color_pair(__pair_number: int) -> int: ...\n def curs_set(__visibility: int) -> int: ...\n def def_prog_mode() -> None: ...\n def def_shell_mode() -> None: ...\n def delay_output(__ms: int) -> None: ...\n def doupdate() -> None: ...\n def echo(__flag: bool = True) -> None: ...\n def endwin() -> None: ...\n def erasechar() -> bytes: ...\n def filter() -> None: ...\n def flash() -> None: ...\n def flushinp() -> None: ...\n if sys.version_info >= (3, 9):\n def get_escdelay() -> int: ...\n def get_tabsize() -> int: ...\n\n def getmouse() -> tuple[int, int, int, int, int]: ...\n def getsyx() -> tuple[int, int]: ...\n def getwin(__file: SupportsRead[bytes]) -> _CursesWindow: ...\n def halfdelay(__tenths: int) -> None: ...\n def has_colors() -> bool: ...\n if sys.version_info >= (3, 10):\n def has_extended_color_support() -> bool: ...\n\n def has_ic() -> bool: ...\n def has_il() -> bool: ...\n def has_key(__key: int) -> bool: ...\n def init_color(__color_number: int, __r: int, __g: int, __b: int) -> None: ...\n def init_pair(__pair_number: int, __fg: int, __bg: int) -> None: ...\n def initscr() -> _CursesWindow: ...\n def intrflush(__flag: bool) -> None: ...\n def is_term_resized(__nlines: int, __ncols: int) -> bool: ...\n def isendwin() -> bool: ...\n def keyname(__key: int) -> bytes: ...\n def killchar() -> bytes: ...\n def longname() -> bytes: ...\n def meta(__yes: bool) -> None: ...\n def mouseinterval(__interval: int) -> None: ...\n def mousemask(__newmask: int) -> tuple[int, int]: ...\n def napms(__ms: int) -> int: ...\n def newpad(__nlines: int, __ncols: int) -> _CursesWindow: ...\n def newwin(__nlines: int, __ncols: int, __begin_y: int = ..., __begin_x: int = ...) -> _CursesWindow: ...\n def nl(__flag: bool = True) -> None: ...\n def nocbreak() -> None: ...\n def noecho() -> None: ...\n def nonl() -> None: ...\n def noqiflush() -> None: ...\n def noraw() -> None: ...\n def pair_content(__pair_number: int) -> tuple[int, int]: ...\n def pair_number(__attr: int) -> int: ...\n def putp(__string: ReadOnlyBuffer) -> None: ...\n def qiflush(__flag: bool = True) -> None: ...\n def raw(__flag: bool = True) -> None: ...\n def reset_prog_mode() -> None: ...\n def reset_shell_mode() -> None: ...\n def resetty() -> None: ...\n def resize_term(__nlines: int, __ncols: int) -> None: ...\n def resizeterm(__nlines: int, __ncols: int) -> None: ...\n def savetty() -> None: ...\n if sys.version_info >= (3, 9):\n def set_escdelay(__ms: int) -> None: ...\n def set_tabsize(__size: int) -> None: ...\n\n def setsyx(__y: int, __x: int) -> None: ...\n def setupterm(term: str | None = None, fd: int = -1) -> None: ...\n def start_color() -> None: ...\n def termattrs() -> int: ...\n def termname() -> bytes: ...\n def tigetflag(__capname: str) -> int: ...\n def tigetnum(__capname: str) -> int: ...\n def tigetstr(__capname: str) -> bytes | None: ...\n def tparm(\n __str: ReadOnlyBuffer,\n __i1: int = 0,\n __i2: int = 0,\n __i3: int = 0,\n __i4: int = 0,\n __i5: int = 0,\n __i6: int = 0,\n __i7: int = 0,\n __i8: int = 0,\n __i9: int = 0,\n ) -> bytes: ...\n def typeahead(__fd: int) -> None: ...\n def unctrl(__ch: _ChType) -> bytes: ...\n if sys.version_info < (3, 12) or sys.platform != \"darwin\":\n # The support for macos was dropped in 3.12\n def unget_wch(__ch: int | str) -> None: ...\n\n def ungetch(__ch: _ChType) -> None: ...\n def ungetmouse(__id: int, __x: int, __y: int, __z: int, __bstate: int) -> None: ...\n def update_lines_cols() -> None: ...\n def use_default_colors() -> None: ...\n def use_env(__flag: bool) -> None: ...\n\n class error(Exception): ...\n\n @final\n class _CursesWindow:\n encoding: str\n @overload\n def addch(self, ch: _ChType, attr: int = ...) -> None: ...\n @overload\n def addch(self, y: int, x: int, ch: _ChType, attr: int = ...) -> None: ...\n @overload\n def addnstr(self, str: str, n: int, attr: int = ...) -> None: ...\n @overload\n def addnstr(self, y: int, x: int, str: str, n: int, attr: int = ...) -> None: ...\n @overload\n def addstr(self, str: str, attr: int = ...) -> None: ...\n @overload\n def addstr(self, y: int, x: int, str: str, attr: int = ...) -> None: ...\n def attroff(self, __attr: int) -> None: ...\n def attron(self, __attr: int) -> None: ...\n def attrset(self, __attr: int) -> None: ...\n def bkgd(self, __ch: _ChType, __attr: int = ...) -> None: ...\n def bkgdset(self, __ch: _ChType, __attr: int = ...) -> None: ...\n def border(\n self,\n ls: _ChType = ...,\n rs: _ChType = ...,\n ts: _ChType = ...,\n bs: _ChType = ...,\n tl: _ChType = ...,\n tr: _ChType = ...,\n bl: _ChType = ...,\n br: _ChType = ...,\n ) -> None: ...\n @overload\n def box(self) -> None: ...\n @overload\n def box(self, vertch: _ChType = ..., horch: _ChType = ...) -> None: ...\n @overload\n def chgat(self, attr: int) -> None: ...\n @overload\n def chgat(self, num: int, attr: int) -> None: ...\n @overload\n def chgat(self, y: int, x: int, attr: int) -> None: ...\n @overload\n def chgat(self, y: int, x: int, num: int, attr: int) -> None: ...\n def clear(self) -> None: ...\n def clearok(self, yes: int) -> None: ...\n def clrtobot(self) -> None: ...\n def clrtoeol(self) -> None: ...\n def cursyncup(self) -> None: ...\n @overload\n def delch(self) -> None: ...\n @overload\n def delch(self, y: int, x: int) -> None: ...\n def deleteln(self) -> None: ...\n @overload\n def derwin(self, begin_y: int, begin_x: int) -> _CursesWindow: ...\n @overload\n def derwin(self, nlines: int, ncols: int, begin_y: int, begin_x: int) -> _CursesWindow: ...\n def echochar(self, __ch: _ChType, __attr: int = ...) -> None: ...\n def enclose(self, __y: int, __x: int) -> bool: ...\n def erase(self) -> None: ...\n def getbegyx(self) -> tuple[int, int]: ...\n def getbkgd(self) -> tuple[int, int]: ...\n @overload\n def getch(self) -> int: ...\n @overload\n def getch(self, y: int, x: int) -> int: ...\n if sys.version_info < (3, 12) or sys.platform != \"darwin\":\n # The support for macos was dropped in 3.12\n @overload\n def get_wch(self) -> int | str: ...\n @overload\n def get_wch(self, y: int, x: int) -> int | str: ...\n\n @overload\n def getkey(self) -> str: ...\n @overload\n def getkey(self, y: int, x: int) -> str: ...\n def getmaxyx(self) -> tuple[int, int]: ...\n def getparyx(self) -> tuple[int, int]: ...\n @overload\n def getstr(self) -> bytes: ...\n @overload\n def getstr(self, n: int) -> bytes: ...\n @overload\n def getstr(self, y: int, x: int) -> bytes: ...\n @overload\n def getstr(self, y: int, x: int, n: int) -> bytes: ...\n def getyx(self) -> tuple[int, int]: ...\n @overload\n def hline(self, ch: _ChType, n: int) -> None: ...\n @overload\n def hline(self, y: int, x: int, ch: _ChType, n: int) -> None: ...\n def idcok(self, flag: bool) -> None: ...\n def idlok(self, yes: bool) -> None: ...\n def immedok(self, flag: bool) -> None: ...\n @overload\n def inch(self) -> int: ...\n @overload\n def inch(self, y: int, x: int) -> int: ...\n @overload\n def insch(self, ch: _ChType, attr: int = ...) -> None: ...\n @overload\n def insch(self, y: int, x: int, ch: _ChType, attr: int = ...) -> None: ...\n def insdelln(self, nlines: int) -> None: ...\n def insertln(self) -> None: ...\n @overload\n def insnstr(self, str: str, n: int, attr: int = ...) -> None: ...\n @overload\n def insnstr(self, y: int, x: int, str: str, n: int, attr: int = ...) -> None: ...\n @overload\n def insstr(self, str: str, attr: int = ...) -> None: ...\n @overload\n def insstr(self, y: int, x: int, str: str, attr: int = ...) -> None: ...\n @overload\n def instr(self, n: int = ...) -> bytes: ...\n @overload\n def instr(self, y: int, x: int, n: int = ...) -> bytes: ...\n def is_linetouched(self, __line: int) -> bool: ...\n def is_wintouched(self) -> bool: ...\n def keypad(self, yes: bool) -> None: ...\n def leaveok(self, yes: bool) -> None: ...\n def move(self, new_y: int, new_x: int) -> None: ...\n def mvderwin(self, y: int, x: int) -> None: ...\n def mvwin(self, new_y: int, new_x: int) -> None: ...\n def nodelay(self, yes: bool) -> None: ...\n def notimeout(self, yes: bool) -> None: ...\n @overload\n def noutrefresh(self) -> None: ...\n @overload\n def noutrefresh(self, pminrow: int, pmincol: int, sminrow: int, smincol: int, smaxrow: int, smaxcol: int) -> None: ...\n @overload\n def overlay(self, destwin: _CursesWindow) -> None: ...\n @overload\n def overlay(\n self, destwin: _CursesWindow, sminrow: int, smincol: int, dminrow: int, dmincol: int, dmaxrow: int, dmaxcol: int\n ) -> None: ...\n @overload\n def overwrite(self, destwin: _CursesWindow) -> None: ...\n @overload\n def overwrite(\n self, destwin: _CursesWindow, sminrow: int, smincol: int, dminrow: int, dmincol: int, dmaxrow: int, dmaxcol: int\n ) -> None: ...\n def putwin(self, __file: IO[Any]) -> None: ...\n def redrawln(self, __beg: int, __num: int) -> None: ...\n def redrawwin(self) -> None: ...\n @overload\n def refresh(self) -> None: ...\n @overload\n def refresh(self, pminrow: int, pmincol: int, sminrow: int, smincol: int, smaxrow: int, smaxcol: int) -> None: ...\n def resize(self, nlines: int, ncols: int) -> None: ...\n def scroll(self, lines: int = ...) -> None: ...\n def scrollok(self, flag: bool) -> None: ...\n def setscrreg(self, __top: int, __bottom: int) -> None: ...\n def standend(self) -> None: ...\n def standout(self) -> None: ...\n @overload\n def subpad(self, begin_y: int, begin_x: int) -> _CursesWindow: ...\n @overload\n def subpad(self, nlines: int, ncols: int, begin_y: int, begin_x: int) -> _CursesWindow: ...\n @overload\n def subwin(self, begin_y: int, begin_x: int) -> _CursesWindow: ...\n @overload\n def subwin(self, nlines: int, ncols: int, begin_y: int, begin_x: int) -> _CursesWindow: ...\n def syncdown(self) -> None: ...\n def syncok(self, flag: bool) -> None: ...\n def syncup(self) -> None: ...\n def timeout(self, delay: int) -> None: ...\n def touchline(self, start: int, count: int, changed: bool = ...) -> None: ...\n def touchwin(self) -> None: ...\n def untouchwin(self) -> None: ...\n @overload\n def vline(self, ch: _ChType, n: int) -> None: ...\n @overload\n def vline(self, y: int, x: int, ch: _ChType, n: int) -> None: ...\n if sys.version_info >= (3, 8):\n class _ncurses_version(NamedTuple):\n major: int\n minor: int\n patch: int\n ncurses_version: _ncurses_version\n window = _CursesWindow # undocumented\n", + "/typeshed/stdlib/_decimal.pyi": "import numbers\nimport sys\nfrom collections.abc import Container, Sequence\nfrom types import TracebackType\nfrom typing import Any, ClassVar, NamedTuple, overload\nfrom typing_extensions import Final, Literal, Self, TypeAlias\n\n_Decimal: TypeAlias = Decimal | int\n_DecimalNew: TypeAlias = Decimal | float | str | tuple[int, Sequence[int], int]\n_ComparableNum: TypeAlias = Decimal | float | numbers.Rational\n\n__version__: Final[str]\n__libmpdec_version__: Final[str]\n\nclass DecimalTuple(NamedTuple):\n sign: int\n digits: tuple[int, ...]\n exponent: int | Literal[\"n\", \"N\", \"F\"]\n\nROUND_DOWN: str\nROUND_HALF_UP: str\nROUND_HALF_EVEN: str\nROUND_CEILING: str\nROUND_FLOOR: str\nROUND_UP: str\nROUND_HALF_DOWN: str\nROUND_05UP: str\nHAVE_CONTEXTVAR: bool\nHAVE_THREADS: bool\nMAX_EMAX: int\nMAX_PREC: int\nMIN_EMIN: int\nMIN_ETINY: int\n\nclass DecimalException(ArithmeticError): ...\nclass Clamped(DecimalException): ...\nclass InvalidOperation(DecimalException): ...\nclass ConversionSyntax(InvalidOperation): ...\nclass DivisionByZero(DecimalException, ZeroDivisionError): ...\nclass DivisionImpossible(InvalidOperation): ...\nclass DivisionUndefined(InvalidOperation, ZeroDivisionError): ...\nclass Inexact(DecimalException): ...\nclass InvalidContext(InvalidOperation): ...\nclass Rounded(DecimalException): ...\nclass Subnormal(DecimalException): ...\nclass Overflow(Inexact, Rounded): ...\nclass Underflow(Inexact, Rounded, Subnormal): ...\nclass FloatOperation(DecimalException, TypeError): ...\n\ndef setcontext(__context: Context) -> None: ...\ndef getcontext() -> Context: ...\n\nif sys.version_info >= (3, 11):\n def localcontext(\n ctx: Context | None = None,\n *,\n prec: int | None = ...,\n rounding: str | None = ...,\n Emin: int | None = ...,\n Emax: int | None = ...,\n capitals: int | None = ...,\n clamp: int | None = ...,\n traps: dict[_TrapType, bool] | None = ...,\n flags: dict[_TrapType, bool] | None = ...,\n ) -> _ContextManager: ...\n\nelse:\n def localcontext(ctx: Context | None = None) -> _ContextManager: ...\n\nclass Decimal:\n def __new__(cls, value: _DecimalNew = ..., context: Context | None = ...) -> Self: ...\n @classmethod\n def from_float(cls, __f: float) -> Self: ...\n def __bool__(self) -> bool: ...\n def compare(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def __hash__(self) -> int: ...\n def as_tuple(self) -> DecimalTuple: ...\n def as_integer_ratio(self) -> tuple[int, int]: ...\n def to_eng_string(self, context: Context | None = None) -> str: ...\n def __abs__(self) -> Decimal: ...\n def __add__(self, __value: _Decimal) -> Decimal: ...\n def __divmod__(self, __value: _Decimal) -> tuple[Decimal, Decimal]: ...\n def __eq__(self, __value: object) -> bool: ...\n def __floordiv__(self, __value: _Decimal) -> Decimal: ...\n def __ge__(self, __value: _ComparableNum) -> bool: ...\n def __gt__(self, __value: _ComparableNum) -> bool: ...\n def __le__(self, __value: _ComparableNum) -> bool: ...\n def __lt__(self, __value: _ComparableNum) -> bool: ...\n def __mod__(self, __value: _Decimal) -> Decimal: ...\n def __mul__(self, __value: _Decimal) -> Decimal: ...\n def __neg__(self) -> Decimal: ...\n def __pos__(self) -> Decimal: ...\n def __pow__(self, __value: _Decimal, __mod: _Decimal | None = None) -> Decimal: ...\n def __radd__(self, __value: _Decimal) -> Decimal: ...\n def __rdivmod__(self, __value: _Decimal) -> tuple[Decimal, Decimal]: ...\n def __rfloordiv__(self, __value: _Decimal) -> Decimal: ...\n def __rmod__(self, __value: _Decimal) -> Decimal: ...\n def __rmul__(self, __value: _Decimal) -> Decimal: ...\n def __rsub__(self, __value: _Decimal) -> Decimal: ...\n def __rtruediv__(self, __value: _Decimal) -> Decimal: ...\n def __sub__(self, __value: _Decimal) -> Decimal: ...\n def __truediv__(self, __value: _Decimal) -> Decimal: ...\n def remainder_near(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __trunc__(self) -> int: ...\n @property\n def real(self) -> Decimal: ...\n @property\n def imag(self) -> Decimal: ...\n def conjugate(self) -> Decimal: ...\n def __complex__(self) -> complex: ...\n @overload\n def __round__(self) -> int: ...\n @overload\n def __round__(self, __ndigits: int) -> Decimal: ...\n def __floor__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def fma(self, other: _Decimal, third: _Decimal, context: Context | None = None) -> Decimal: ...\n def __rpow__(self, __value: _Decimal, __mod: Context | None = None) -> Decimal: ...\n def normalize(self, context: Context | None = None) -> Decimal: ...\n def quantize(self, exp: _Decimal, rounding: str | None = None, context: Context | None = None) -> Decimal: ...\n def same_quantum(self, other: _Decimal, context: Context | None = None) -> bool: ...\n def to_integral_exact(self, rounding: str | None = None, context: Context | None = None) -> Decimal: ...\n def to_integral_value(self, rounding: str | None = None, context: Context | None = None) -> Decimal: ...\n def to_integral(self, rounding: str | None = None, context: Context | None = None) -> Decimal: ...\n def sqrt(self, context: Context | None = None) -> Decimal: ...\n def max(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def min(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def adjusted(self) -> int: ...\n def canonical(self) -> Decimal: ...\n def compare_signal(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def compare_total(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def compare_total_mag(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def copy_abs(self) -> Decimal: ...\n def copy_negate(self) -> Decimal: ...\n def copy_sign(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def exp(self, context: Context | None = None) -> Decimal: ...\n def is_canonical(self) -> bool: ...\n def is_finite(self) -> bool: ...\n def is_infinite(self) -> bool: ...\n def is_nan(self) -> bool: ...\n def is_normal(self, context: Context | None = None) -> bool: ...\n def is_qnan(self) -> bool: ...\n def is_signed(self) -> bool: ...\n def is_snan(self) -> bool: ...\n def is_subnormal(self, context: Context | None = None) -> bool: ...\n def is_zero(self) -> bool: ...\n def ln(self, context: Context | None = None) -> Decimal: ...\n def log10(self, context: Context | None = None) -> Decimal: ...\n def logb(self, context: Context | None = None) -> Decimal: ...\n def logical_and(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def logical_invert(self, context: Context | None = None) -> Decimal: ...\n def logical_or(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def logical_xor(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def max_mag(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def min_mag(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def next_minus(self, context: Context | None = None) -> Decimal: ...\n def next_plus(self, context: Context | None = None) -> Decimal: ...\n def next_toward(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def number_class(self, context: Context | None = None) -> str: ...\n def radix(self) -> Decimal: ...\n def rotate(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def scaleb(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def shift(self, other: _Decimal, context: Context | None = None) -> Decimal: ...\n def __reduce__(self) -> tuple[type[Self], tuple[str]]: ...\n def __copy__(self) -> Self: ...\n def __deepcopy__(self, __memo: Any) -> Self: ...\n def __format__(self, __specifier: str, __context: Context | None = ...) -> str: ...\n\nclass _ContextManager:\n new_context: Context\n saved_context: Context\n def __init__(self, new_context: Context) -> None: ...\n def __enter__(self) -> Context: ...\n def __exit__(self, t: type[BaseException] | None, v: BaseException | None, tb: TracebackType | None) -> None: ...\n\n_TrapType: TypeAlias = type[DecimalException]\n\nclass Context:\n # TODO: Context doesn't allow you to delete *any* attributes from instances of the class at runtime,\n # even settable attributes like `prec` and `rounding`,\n # but that's inexpressable in the stub.\n # Type checkers either ignore it or misinterpret it\n # if you add a `def __delattr__(self, __name: str) -> NoReturn` method to the stub\n prec: int\n rounding: str\n Emin: int\n Emax: int\n capitals: int\n clamp: int\n traps: dict[_TrapType, bool]\n flags: dict[_TrapType, bool]\n def __init__(\n self,\n prec: int | None = ...,\n rounding: str | None = ...,\n Emin: int | None = ...,\n Emax: int | None = ...,\n capitals: int | None = ...,\n clamp: int | None = ...,\n flags: None | dict[_TrapType, bool] | Container[_TrapType] = ...,\n traps: None | dict[_TrapType, bool] | Container[_TrapType] = ...,\n _ignored_flags: list[_TrapType] | None = ...,\n ) -> None: ...\n def __reduce__(self) -> tuple[type[Self], tuple[Any, ...]]: ...\n def clear_flags(self) -> None: ...\n def clear_traps(self) -> None: ...\n def copy(self) -> Context: ...\n def __copy__(self) -> Context: ...\n # see https://github.com/python/cpython/issues/94107\n __hash__: ClassVar[None] # type: ignore[assignment]\n def Etiny(self) -> int: ...\n def Etop(self) -> int: ...\n def create_decimal(self, __num: _DecimalNew = \"0\") -> Decimal: ...\n def create_decimal_from_float(self, __f: float) -> Decimal: ...\n def abs(self, __x: _Decimal) -> Decimal: ...\n def add(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def canonical(self, __x: Decimal) -> Decimal: ...\n def compare(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def compare_signal(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def compare_total(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def compare_total_mag(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def copy_abs(self, __x: _Decimal) -> Decimal: ...\n def copy_decimal(self, __x: _Decimal) -> Decimal: ...\n def copy_negate(self, __x: _Decimal) -> Decimal: ...\n def copy_sign(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def divide(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def divide_int(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def divmod(self, __x: _Decimal, __y: _Decimal) -> tuple[Decimal, Decimal]: ...\n def exp(self, __x: _Decimal) -> Decimal: ...\n def fma(self, __x: _Decimal, __y: _Decimal, __z: _Decimal) -> Decimal: ...\n def is_canonical(self, __x: _Decimal) -> bool: ...\n def is_finite(self, __x: _Decimal) -> bool: ...\n def is_infinite(self, __x: _Decimal) -> bool: ...\n def is_nan(self, __x: _Decimal) -> bool: ...\n def is_normal(self, __x: _Decimal) -> bool: ...\n def is_qnan(self, __x: _Decimal) -> bool: ...\n def is_signed(self, __x: _Decimal) -> bool: ...\n def is_snan(self, __x: _Decimal) -> bool: ...\n def is_subnormal(self, __x: _Decimal) -> bool: ...\n def is_zero(self, __x: _Decimal) -> bool: ...\n def ln(self, __x: _Decimal) -> Decimal: ...\n def log10(self, __x: _Decimal) -> Decimal: ...\n def logb(self, __x: _Decimal) -> Decimal: ...\n def logical_and(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def logical_invert(self, __x: _Decimal) -> Decimal: ...\n def logical_or(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def logical_xor(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def max(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def max_mag(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def min(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def min_mag(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def minus(self, __x: _Decimal) -> Decimal: ...\n def multiply(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def next_minus(self, __x: _Decimal) -> Decimal: ...\n def next_plus(self, __x: _Decimal) -> Decimal: ...\n def next_toward(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def normalize(self, __x: _Decimal) -> Decimal: ...\n def number_class(self, __x: _Decimal) -> str: ...\n def plus(self, __x: _Decimal) -> Decimal: ...\n def power(self, a: _Decimal, b: _Decimal, modulo: _Decimal | None = None) -> Decimal: ...\n def quantize(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def radix(self) -> Decimal: ...\n def remainder(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def remainder_near(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def rotate(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def same_quantum(self, __x: _Decimal, __y: _Decimal) -> bool: ...\n def scaleb(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def shift(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def sqrt(self, __x: _Decimal) -> Decimal: ...\n def subtract(self, __x: _Decimal, __y: _Decimal) -> Decimal: ...\n def to_eng_string(self, __x: _Decimal) -> str: ...\n def to_sci_string(self, __x: _Decimal) -> str: ...\n def to_integral_exact(self, __x: _Decimal) -> Decimal: ...\n def to_integral_value(self, __x: _Decimal) -> Decimal: ...\n def to_integral(self, __x: _Decimal) -> Decimal: ...\n\nDefaultContext: Context\nBasicContext: Context\nExtendedContext: Context\n", + "/typeshed/stdlib/_dummy_thread.pyi": "from collections.abc import Callable\nfrom types import TracebackType\nfrom typing import Any, NoReturn\n\n__all__ = [\"error\", \"start_new_thread\", \"exit\", \"get_ident\", \"allocate_lock\", \"interrupt_main\", \"LockType\", \"RLock\"]\n\nTIMEOUT_MAX: int\nerror = RuntimeError\n\ndef start_new_thread(function: Callable[..., object], args: tuple[Any, ...], kwargs: dict[str, Any] = {}) -> None: ...\ndef exit() -> NoReturn: ...\ndef get_ident() -> int: ...\ndef allocate_lock() -> LockType: ...\ndef stack_size(size: int | None = None) -> int: ...\n\nclass LockType:\n locked_status: bool\n def acquire(self, waitflag: bool | None = None, timeout: int = -1) -> bool: ...\n def __enter__(self, waitflag: bool | None = None, timeout: int = -1) -> bool: ...\n def __exit__(self, typ: type[BaseException] | None, val: BaseException | None, tb: TracebackType | None) -> None: ...\n def release(self) -> bool: ...\n def locked(self) -> bool: ...\n\nclass RLock(LockType):\n def release(self) -> None: ... # type: ignore[override]\n\ndef interrupt_main() -> None: ...\n", + "/typeshed/stdlib/_dummy_threading.pyi": "import sys\nfrom _typeshed import ProfileFunction, TraceFunction\nfrom collections.abc import Callable, Iterable, Mapping\nfrom types import TracebackType\nfrom typing import Any, TypeVar\n\n_T = TypeVar(\"_T\")\n\n__all__ = [\n \"get_ident\",\n \"active_count\",\n \"Condition\",\n \"current_thread\",\n \"enumerate\",\n \"main_thread\",\n \"TIMEOUT_MAX\",\n \"Event\",\n \"Lock\",\n \"RLock\",\n \"Semaphore\",\n \"BoundedSemaphore\",\n \"Thread\",\n \"Barrier\",\n \"BrokenBarrierError\",\n \"Timer\",\n \"ThreadError\",\n \"setprofile\",\n \"settrace\",\n \"local\",\n \"stack_size\",\n]\n\nif sys.version_info >= (3, 8):\n __all__ += [\"ExceptHookArgs\", \"excepthook\"]\n\ndef active_count() -> int: ...\ndef current_thread() -> Thread: ...\ndef currentThread() -> Thread: ...\ndef get_ident() -> int: ...\ndef enumerate() -> list[Thread]: ...\ndef main_thread() -> Thread: ...\ndef settrace(func: TraceFunction) -> None: ...\ndef setprofile(func: ProfileFunction | None) -> None: ...\ndef stack_size(size: int | None = None) -> int: ...\n\nTIMEOUT_MAX: float\n\nclass ThreadError(Exception): ...\n\nclass local:\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n\nclass Thread:\n name: str\n daemon: bool\n @property\n def ident(self) -> int | None: ...\n def __init__(\n self,\n group: None = None,\n target: Callable[..., object] | None = None,\n name: str | None = None,\n args: Iterable[Any] = (),\n kwargs: Mapping[str, Any] | None = None,\n *,\n daemon: bool | None = None,\n ) -> None: ...\n def start(self) -> None: ...\n def run(self) -> None: ...\n def join(self, timeout: float | None = None) -> None: ...\n def getName(self) -> str: ...\n def setName(self, name: str) -> None: ...\n if sys.version_info >= (3, 8):\n @property\n def native_id(self) -> int | None: ... # only available on some platforms\n\n def is_alive(self) -> bool: ...\n if sys.version_info < (3, 9):\n def isAlive(self) -> bool: ...\n\n def isDaemon(self) -> bool: ...\n def setDaemon(self, daemonic: bool) -> None: ...\n\nclass _DummyThread(Thread): ...\n\nclass Lock:\n def __enter__(self) -> bool: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> bool | None: ...\n def acquire(self, blocking: bool = ..., timeout: float = ...) -> bool: ...\n def release(self) -> None: ...\n def locked(self) -> bool: ...\n\nclass _RLock:\n def __enter__(self) -> bool: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> bool | None: ...\n def acquire(self, blocking: bool = True, timeout: float = -1) -> bool: ...\n def release(self) -> None: ...\n\nRLock = _RLock\n\nclass Condition:\n def __init__(self, lock: Lock | _RLock | None = None) -> None: ...\n def __enter__(self) -> bool: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> bool | None: ...\n def acquire(self, blocking: bool = ..., timeout: float = ...) -> bool: ...\n def release(self) -> None: ...\n def wait(self, timeout: float | None = None) -> bool: ...\n def wait_for(self, predicate: Callable[[], _T], timeout: float | None = None) -> _T: ...\n def notify(self, n: int = 1) -> None: ...\n def notify_all(self) -> None: ...\n def notifyAll(self) -> None: ...\n\nclass Semaphore:\n def __init__(self, value: int = 1) -> None: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> bool | None: ...\n def acquire(self, blocking: bool = True, timeout: float | None = None) -> bool: ...\n def __enter__(self, blocking: bool = True, timeout: float | None = None) -> bool: ...\n if sys.version_info >= (3, 9):\n def release(self, n: int = ...) -> None: ...\n else:\n def release(self) -> None: ...\n\nclass BoundedSemaphore(Semaphore): ...\n\nclass Event:\n def is_set(self) -> bool: ...\n def set(self) -> None: ...\n def clear(self) -> None: ...\n def wait(self, timeout: float | None = None) -> bool: ...\n\nif sys.version_info >= (3, 8):\n from _thread import _excepthook, _ExceptHookArgs\n\n excepthook = _excepthook\n ExceptHookArgs = _ExceptHookArgs\n\nclass Timer(Thread):\n def __init__(\n self,\n interval: float,\n function: Callable[..., object],\n args: Iterable[Any] | None = None,\n kwargs: Mapping[str, Any] | None = None,\n ) -> None: ...\n def cancel(self) -> None: ...\n\nclass Barrier:\n @property\n def parties(self) -> int: ...\n @property\n def n_waiting(self) -> int: ...\n @property\n def broken(self) -> bool: ...\n def __init__(self, parties: int, action: Callable[[], None] | None = None, timeout: float | None = None) -> None: ...\n def wait(self, timeout: float | None = None) -> int: ...\n def reset(self) -> None: ...\n def abort(self) -> None: ...\n\nclass BrokenBarrierError(RuntimeError): ...\n", + "/typeshed/stdlib/_heapq.pyi": "from typing import Any, TypeVar\nfrom typing_extensions import Final\n\n_T = TypeVar(\"_T\")\n\n__about__: Final[str]\n\ndef heapify(__heap: list[Any]) -> None: ...\ndef heappop(__heap: list[_T]) -> _T: ...\ndef heappush(__heap: list[_T], __item: _T) -> None: ...\ndef heappushpop(__heap: list[_T], __item: _T) -> _T: ...\ndef heapreplace(__heap: list[_T], __item: _T) -> _T: ...\n", + "/typeshed/stdlib/_imp.pyi": "import sys\nimport types\nfrom _typeshed import ReadableBuffer\nfrom importlib.machinery import ModuleSpec\nfrom typing import Any\n\ncheck_hash_based_pycs: str\n\ndef source_hash(key: int, source: ReadableBuffer) -> bytes: ...\ndef create_builtin(__spec: ModuleSpec) -> types.ModuleType: ...\ndef create_dynamic(__spec: ModuleSpec, __file: Any = None) -> types.ModuleType: ...\ndef acquire_lock() -> None: ...\ndef exec_builtin(__mod: types.ModuleType) -> int: ...\ndef exec_dynamic(__mod: types.ModuleType) -> int: ...\ndef extension_suffixes() -> list[str]: ...\ndef init_frozen(__name: str) -> types.ModuleType: ...\ndef is_builtin(__name: str) -> int: ...\ndef is_frozen(__name: str) -> bool: ...\ndef is_frozen_package(__name: str) -> bool: ...\ndef lock_held() -> bool: ...\ndef release_lock() -> None: ...\n\nif sys.version_info >= (3, 11):\n def find_frozen(__name: str, *, withdata: bool = False) -> tuple[memoryview | None, bool, str | None] | None: ...\n def get_frozen_object(__name: str, __data: ReadableBuffer | None = None) -> types.CodeType: ...\n\nelse:\n def get_frozen_object(__name: str) -> types.CodeType: ...\n", + "/typeshed/stdlib/_json.pyi": "from collections.abc import Callable\nfrom typing import Any\nfrom typing_extensions import final\n\n@final\nclass make_encoder:\n @property\n def sort_keys(self) -> bool: ...\n @property\n def skipkeys(self) -> bool: ...\n @property\n def key_separator(self) -> str: ...\n @property\n def indent(self) -> int | None: ...\n @property\n def markers(self) -> dict[int, Any] | None: ...\n @property\n def default(self) -> Callable[[Any], Any]: ...\n @property\n def encoder(self) -> Callable[[str], str]: ...\n @property\n def item_separator(self) -> str: ...\n def __init__(\n self,\n markers: dict[int, Any] | None,\n default: Callable[[Any], Any],\n encoder: Callable[[str], str],\n indent: int | None,\n key_separator: str,\n item_separator: str,\n sort_keys: bool,\n skipkeys: bool,\n allow_nan: bool,\n ) -> None: ...\n def __call__(self, obj: object, _current_indent_level: int) -> Any: ...\n\n@final\nclass make_scanner:\n object_hook: Any\n object_pairs_hook: Any\n parse_int: Any\n parse_constant: Any\n parse_float: Any\n strict: bool\n # TODO: 'context' needs the attrs above (ducktype), but not __call__.\n def __init__(self, context: make_scanner) -> None: ...\n def __call__(self, string: str, index: int) -> tuple[Any, int]: ...\n\ndef encode_basestring_ascii(s: str) -> str: ...\ndef scanstring(string: str, end: int, strict: bool = ...) -> tuple[str, int]: ...\n", + "/typeshed/stdlib/_locale.pyi": "import sys\nfrom _typeshed import StrPath\nfrom collections.abc import Iterable, Mapping\n\nLC_CTYPE: int\nLC_COLLATE: int\nLC_TIME: int\nLC_MONETARY: int\nLC_NUMERIC: int\nLC_ALL: int\nCHAR_MAX: int\n\ndef setlocale(category: int, locale: str | Iterable[str | None] | None = None) -> str: ...\ndef localeconv() -> Mapping[str, int | str | list[int]]: ...\n\nif sys.version_info >= (3, 11):\n def getencoding() -> str: ...\n\ndef strcoll(__os1: str, __os2: str) -> int: ...\ndef strxfrm(__string: str) -> str: ...\n\n# native gettext functions\n# https://docs.python.org/3/library/locale.html#access-to-message-catalogs\n# https://github.com/python/cpython/blob/f4c03484da59049eb62a9bf7777b963e2267d187/Modules/_localemodule.c#L626\nif sys.platform != \"win32\":\n LC_MESSAGES: int\n\n ABDAY_1: int\n ABDAY_2: int\n ABDAY_3: int\n ABDAY_4: int\n ABDAY_5: int\n ABDAY_6: int\n ABDAY_7: int\n\n ABMON_1: int\n ABMON_2: int\n ABMON_3: int\n ABMON_4: int\n ABMON_5: int\n ABMON_6: int\n ABMON_7: int\n ABMON_8: int\n ABMON_9: int\n ABMON_10: int\n ABMON_11: int\n ABMON_12: int\n\n DAY_1: int\n DAY_2: int\n DAY_3: int\n DAY_4: int\n DAY_5: int\n DAY_6: int\n DAY_7: int\n\n ERA: int\n ERA_D_T_FMT: int\n ERA_D_FMT: int\n ERA_T_FMT: int\n\n MON_1: int\n MON_2: int\n MON_3: int\n MON_4: int\n MON_5: int\n MON_6: int\n MON_7: int\n MON_8: int\n MON_9: int\n MON_10: int\n MON_11: int\n MON_12: int\n\n CODESET: int\n D_T_FMT: int\n D_FMT: int\n T_FMT: int\n T_FMT_AMPM: int\n AM_STR: int\n PM_STR: int\n\n RADIXCHAR: int\n THOUSEP: int\n YESEXPR: int\n NOEXPR: int\n CRNCYSTR: int\n ALT_DIGITS: int\n\n def nl_langinfo(__key: int) -> str: ...\n\n # This is dependent on `libintl.h` which is a part of `gettext`\n # system dependency. These functions might be missing.\n # But, we always say that they are present.\n def gettext(__msg: str) -> str: ...\n def dgettext(__domain: str | None, __msg: str) -> str: ...\n def dcgettext(__domain: str | None, __msg: str, __category: int) -> str: ...\n def textdomain(__domain: str | None) -> str: ...\n def bindtextdomain(__domain: str, __dir: StrPath | None) -> str: ...\n def bind_textdomain_codeset(__domain: str, __codeset: str | None) -> str | None: ...\n", + "/typeshed/stdlib/_markupbase.pyi": "import sys\nfrom typing import Any\n\nclass ParserBase:\n def reset(self) -> None: ...\n def getpos(self) -> tuple[int, int]: ...\n def unknown_decl(self, data: str) -> None: ...\n def parse_comment(self, i: int, report: int = 1) -> int: ... # undocumented\n def parse_declaration(self, i: int) -> int: ... # undocumented\n def parse_marked_section(self, i: int, report: int = 1) -> int: ... # undocumented\n def updatepos(self, i: int, j: int) -> int: ... # undocumented\n if sys.version_info < (3, 10):\n # Removed from ParserBase: https://bugs.python.org/issue31844\n def error(self, message: str) -> Any: ... # undocumented\n lineno: int # undocumented\n offset: int # undocumented\n", + "/typeshed/stdlib/_msi.pyi": "import sys\n\nif sys.platform == \"win32\":\n class MSIError(Exception): ...\n # Actual typename View, not exposed by the implementation\n class _View:\n def Execute(self, params: _Record | None = ...) -> None: ...\n def GetColumnInfo(self, kind: int) -> _Record: ...\n def Fetch(self) -> _Record: ...\n def Modify(self, mode: int, record: _Record) -> None: ...\n def Close(self) -> None: ...\n # Don't exist at runtime\n __new__: None # type: ignore[assignment]\n __init__: None # type: ignore[assignment]\n\n # Actual typename SummaryInformation, not exposed by the implementation\n class _SummaryInformation:\n def GetProperty(self, field: int) -> int | bytes | None: ...\n def GetPropertyCount(self) -> int: ...\n def SetProperty(self, field: int, value: int | str) -> None: ...\n def Persist(self) -> None: ...\n # Don't exist at runtime\n __new__: None # type: ignore[assignment]\n __init__: None # type: ignore[assignment]\n\n # Actual typename Database, not exposed by the implementation\n class _Database:\n def OpenView(self, sql: str) -> _View: ...\n def Commit(self) -> None: ...\n def GetSummaryInformation(self, updateCount: int) -> _SummaryInformation: ...\n def Close(self) -> None: ...\n # Don't exist at runtime\n __new__: None # type: ignore[assignment]\n __init__: None # type: ignore[assignment]\n\n # Actual typename Record, not exposed by the implementation\n class _Record:\n def GetFieldCount(self) -> int: ...\n def GetInteger(self, field: int) -> int: ...\n def GetString(self, field: int) -> str: ...\n def SetString(self, field: int, str: str) -> None: ...\n def SetStream(self, field: int, stream: str) -> None: ...\n def SetInteger(self, field: int, int: int) -> None: ...\n def ClearData(self) -> None: ...\n # Don't exist at runtime\n __new__: None # type: ignore[assignment]\n __init__: None # type: ignore[assignment]\n def UuidCreate() -> str: ...\n def FCICreate(__cabname: str, __files: list[str]) -> None: ...\n def OpenDatabase(__path: str, __persist: int) -> _Database: ...\n def CreateRecord(__count: int) -> _Record: ...\n\n MSICOLINFO_NAMES: int\n MSICOLINFO_TYPES: int\n MSIDBOPEN_CREATE: int\n MSIDBOPEN_CREATEDIRECT: int\n MSIDBOPEN_DIRECT: int\n MSIDBOPEN_PATCHFILE: int\n MSIDBOPEN_READONLY: int\n MSIDBOPEN_TRANSACT: int\n MSIMODIFY_ASSIGN: int\n MSIMODIFY_DELETE: int\n MSIMODIFY_INSERT: int\n MSIMODIFY_INSERT_TEMPORARY: int\n MSIMODIFY_MERGE: int\n MSIMODIFY_REFRESH: int\n MSIMODIFY_REPLACE: int\n MSIMODIFY_SEEK: int\n MSIMODIFY_UPDATE: int\n MSIMODIFY_VALIDATE: int\n MSIMODIFY_VALIDATE_DELETE: int\n MSIMODIFY_VALIDATE_FIELD: int\n MSIMODIFY_VALIDATE_NEW: int\n\n PID_APPNAME: int\n PID_AUTHOR: int\n PID_CHARCOUNT: int\n PID_CODEPAGE: int\n PID_COMMENTS: int\n PID_CREATE_DTM: int\n PID_KEYWORDS: int\n PID_LASTAUTHOR: int\n PID_LASTPRINTED: int\n PID_LASTSAVE_DTM: int\n PID_PAGECOUNT: int\n PID_REVNUMBER: int\n PID_SECURITY: int\n PID_SUBJECT: int\n PID_TEMPLATE: int\n PID_TITLE: int\n PID_WORDCOUNT: int\n", + "/typeshed/stdlib/_operator.pyi": "import sys\nfrom _typeshed import SupportsGetItem\nfrom collections.abc import Callable, Container, Iterable, MutableMapping, MutableSequence, Sequence\nfrom typing import Any, AnyStr, Generic, Protocol, SupportsAbs, TypeVar, overload\nfrom typing_extensions import ParamSpec, SupportsIndex, TypeAlias, final\n\n_R = TypeVar(\"_R\")\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_K = TypeVar(\"_K\")\n_V = TypeVar(\"_V\")\n_P = ParamSpec(\"_P\")\n\n# The following protocols return \"Any\" instead of bool, since the comparison\n# operators can be overloaded to return an arbitrary object. For example,\n# the numpy.array comparison dunders return another numpy.array.\n\nclass _SupportsDunderLT(Protocol):\n def __lt__(self, __other: Any) -> Any: ...\n\nclass _SupportsDunderGT(Protocol):\n def __gt__(self, __other: Any) -> Any: ...\n\nclass _SupportsDunderLE(Protocol):\n def __le__(self, __other: Any) -> Any: ...\n\nclass _SupportsDunderGE(Protocol):\n def __ge__(self, __other: Any) -> Any: ...\n\n_SupportsComparison: TypeAlias = _SupportsDunderLE | _SupportsDunderGE | _SupportsDunderGT | _SupportsDunderLT\n\nclass _SupportsInversion(Protocol[_T_co]):\n def __invert__(self) -> _T_co: ...\n\nclass _SupportsNeg(Protocol[_T_co]):\n def __neg__(self) -> _T_co: ...\n\nclass _SupportsPos(Protocol[_T_co]):\n def __pos__(self) -> _T_co: ...\n\n# All four comparison functions must have the same signature, or we get false-positive errors\ndef lt(__a: _SupportsComparison, __b: _SupportsComparison) -> Any: ...\ndef le(__a: _SupportsComparison, __b: _SupportsComparison) -> Any: ...\ndef eq(__a: object, __b: object) -> Any: ...\ndef ne(__a: object, __b: object) -> Any: ...\ndef ge(__a: _SupportsComparison, __b: _SupportsComparison) -> Any: ...\ndef gt(__a: _SupportsComparison, __b: _SupportsComparison) -> Any: ...\ndef not_(__a: object) -> bool: ...\ndef truth(__a: object) -> bool: ...\ndef is_(__a: object, __b: object) -> bool: ...\ndef is_not(__a: object, __b: object) -> bool: ...\ndef abs(__a: SupportsAbs[_T]) -> _T: ...\ndef add(__a: Any, __b: Any) -> Any: ...\ndef and_(__a: Any, __b: Any) -> Any: ...\ndef floordiv(__a: Any, __b: Any) -> Any: ...\ndef index(__a: SupportsIndex) -> int: ...\ndef inv(__a: _SupportsInversion[_T_co]) -> _T_co: ...\ndef invert(__a: _SupportsInversion[_T_co]) -> _T_co: ...\ndef lshift(__a: Any, __b: Any) -> Any: ...\ndef mod(__a: Any, __b: Any) -> Any: ...\ndef mul(__a: Any, __b: Any) -> Any: ...\ndef matmul(__a: Any, __b: Any) -> Any: ...\ndef neg(__a: _SupportsNeg[_T_co]) -> _T_co: ...\ndef or_(__a: Any, __b: Any) -> Any: ...\ndef pos(__a: _SupportsPos[_T_co]) -> _T_co: ...\ndef pow(__a: Any, __b: Any) -> Any: ...\ndef rshift(__a: Any, __b: Any) -> Any: ...\ndef sub(__a: Any, __b: Any) -> Any: ...\ndef truediv(__a: Any, __b: Any) -> Any: ...\ndef xor(__a: Any, __b: Any) -> Any: ...\ndef concat(__a: Sequence[_T], __b: Sequence[_T]) -> Sequence[_T]: ...\ndef contains(__a: Container[object], __b: object) -> bool: ...\ndef countOf(__a: Iterable[object], __b: object) -> int: ...\n@overload\ndef delitem(__a: MutableSequence[Any], __b: SupportsIndex) -> None: ...\n@overload\ndef delitem(__a: MutableSequence[Any], __b: slice) -> None: ...\n@overload\ndef delitem(__a: MutableMapping[_K, Any], __b: _K) -> None: ...\n@overload\ndef getitem(__a: Sequence[_T], __b: slice) -> Sequence[_T]: ...\n@overload\ndef getitem(__a: SupportsGetItem[_K, _V], __b: _K) -> _V: ...\ndef indexOf(__a: Iterable[_T], __b: _T) -> int: ...\n@overload\ndef setitem(__a: MutableSequence[_T], __b: SupportsIndex, __c: _T) -> None: ...\n@overload\ndef setitem(__a: MutableSequence[_T], __b: slice, __c: Sequence[_T]) -> None: ...\n@overload\ndef setitem(__a: MutableMapping[_K, _V], __b: _K, __c: _V) -> None: ...\ndef length_hint(__obj: object, __default: int = 0) -> int: ...\n@final\nclass attrgetter(Generic[_T_co]):\n @overload\n def __new__(cls, attr: str) -> attrgetter[Any]: ...\n @overload\n def __new__(cls, attr: str, __attr2: str) -> attrgetter[tuple[Any, Any]]: ...\n @overload\n def __new__(cls, attr: str, __attr2: str, __attr3: str) -> attrgetter[tuple[Any, Any, Any]]: ...\n @overload\n def __new__(cls, attr: str, __attr2: str, __attr3: str, __attr4: str) -> attrgetter[tuple[Any, Any, Any, Any]]: ...\n @overload\n def __new__(cls, attr: str, *attrs: str) -> attrgetter[tuple[Any, ...]]: ...\n def __call__(self, obj: Any) -> _T_co: ...\n\n@final\nclass itemgetter(Generic[_T_co]):\n # mypy lacks support for PEP 646 https://github.com/python/mypy/issues/12280\n # So we have to define all of these overloads to simulate unpacking the arguments\n @overload\n def __new__(cls, item: _T_co) -> itemgetter[_T_co]: ...\n @overload\n def __new__(cls, item: _T_co, __item2: _T_co) -> itemgetter[tuple[_T_co, _T_co]]: ...\n @overload\n def __new__(cls, item: _T_co, __item2: _T_co, __item3: _T_co) -> itemgetter[tuple[_T_co, _T_co, _T_co]]: ...\n @overload\n def __new__(\n cls, item: _T_co, __item2: _T_co, __item3: _T_co, __item4: _T_co\n ) -> itemgetter[tuple[_T_co, _T_co, _T_co, _T_co]]: ...\n @overload\n def __new__(\n cls, item: _T_co, __item2: _T_co, __item3: _T_co, __item4: _T_co, *items: _T_co\n ) -> itemgetter[tuple[_T_co, ...]]: ...\n # __key: _KT_contra in SupportsGetItem seems to be causing variance issues, ie:\n # TypeVar \"_KT_contra@SupportsGetItem\" is contravariant\n # \"tuple[int, int]\" is incompatible with protocol \"SupportsIndex\"\n # preventing [_T_co, ...] instead of [Any, ...]\n #\n # A suspected mypy issue prevents using [..., _T] instead of [..., Any] here.\n # https://github.com/python/mypy/issues/14032\n def __call__(self, obj: SupportsGetItem[Any, Any]) -> Any: ...\n\n@final\nclass methodcaller:\n def __init__(self, __name: str, *args: Any, **kwargs: Any) -> None: ...\n def __call__(self, obj: Any) -> Any: ...\n\ndef iadd(__a: Any, __b: Any) -> Any: ...\ndef iand(__a: Any, __b: Any) -> Any: ...\ndef iconcat(__a: Any, __b: Any) -> Any: ...\ndef ifloordiv(__a: Any, __b: Any) -> Any: ...\ndef ilshift(__a: Any, __b: Any) -> Any: ...\ndef imod(__a: Any, __b: Any) -> Any: ...\ndef imul(__a: Any, __b: Any) -> Any: ...\ndef imatmul(__a: Any, __b: Any) -> Any: ...\ndef ior(__a: Any, __b: Any) -> Any: ...\ndef ipow(__a: Any, __b: Any) -> Any: ...\ndef irshift(__a: Any, __b: Any) -> Any: ...\ndef isub(__a: Any, __b: Any) -> Any: ...\ndef itruediv(__a: Any, __b: Any) -> Any: ...\ndef ixor(__a: Any, __b: Any) -> Any: ...\n\nif sys.version_info >= (3, 11):\n def call(__obj: Callable[_P, _R], *args: _P.args, **kwargs: _P.kwargs) -> _R: ...\n\ndef _compare_digest(__a: AnyStr, __b: AnyStr) -> bool: ...\n", + "/typeshed/stdlib/_osx_support.pyi": "import sys\nfrom collections.abc import Iterable, Sequence\nfrom typing import TypeVar\n\n_T = TypeVar(\"_T\")\n_K = TypeVar(\"_K\")\n_V = TypeVar(\"_V\")\n\n__all__ = [\"compiler_fixup\", \"customize_config_vars\", \"customize_compiler\", \"get_platform_osx\"]\n\n_UNIVERSAL_CONFIG_VARS: tuple[str, ...] # undocumented\n_COMPILER_CONFIG_VARS: tuple[str, ...] # undocumented\n_INITPRE: str # undocumented\n\ndef _find_executable(executable: str, path: str | None = None) -> str | None: ... # undocumented\n\nif sys.version_info >= (3, 8):\n def _read_output(commandstring: str, capture_stderr: bool = False) -> str | None: ... # undocumented\n\nelse:\n def _read_output(commandstring: str) -> str | None: ... # undocumented\n\ndef _find_build_tool(toolname: str) -> str: ... # undocumented\n\n_SYSTEM_VERSION: str | None # undocumented\n\ndef _get_system_version() -> str: ... # undocumented\ndef _remove_original_values(_config_vars: dict[str, str]) -> None: ... # undocumented\ndef _save_modified_value(_config_vars: dict[str, str], cv: str, newvalue: str) -> None: ... # undocumented\ndef _supports_universal_builds() -> bool: ... # undocumented\ndef _find_appropriate_compiler(_config_vars: dict[str, str]) -> dict[str, str]: ... # undocumented\ndef _remove_universal_flags(_config_vars: dict[str, str]) -> dict[str, str]: ... # undocumented\ndef _remove_unsupported_archs(_config_vars: dict[str, str]) -> dict[str, str]: ... # undocumented\ndef _override_all_archs(_config_vars: dict[str, str]) -> dict[str, str]: ... # undocumented\ndef _check_for_unavailable_sdk(_config_vars: dict[str, str]) -> dict[str, str]: ... # undocumented\ndef compiler_fixup(compiler_so: Iterable[str], cc_args: Sequence[str]) -> list[str]: ...\ndef customize_config_vars(_config_vars: dict[str, str]) -> dict[str, str]: ...\ndef customize_compiler(_config_vars: dict[str, str]) -> dict[str, str]: ...\ndef get_platform_osx(\n _config_vars: dict[str, str], osname: _T, release: _K, machine: _V\n) -> tuple[str | _T, str | _K, str | _V]: ...\n", + "/typeshed/stdlib/_posixsubprocess.pyi": "import sys\nfrom _typeshed import StrOrBytesPath\nfrom collections.abc import Callable, Sequence\nfrom typing_extensions import SupportsIndex\n\nif sys.platform != \"win32\":\n def cloexec_pipe() -> tuple[int, int]: ...\n def fork_exec(\n __args: Sequence[StrOrBytesPath] | None,\n __executable_list: Sequence[bytes],\n __close_fds: bool,\n __pass_fds: tuple[int, ...],\n __cwd: str,\n __env: Sequence[bytes] | None,\n __p2cread: int,\n __p2cwrite: int,\n __c2pread: int,\n __c2pwrite: int,\n __errread: int,\n __errwrite: int,\n __errpipe_read: int,\n __errpipe_write: int,\n __restore_signals: int,\n __call_setsid: int,\n __pgid_to_set: int,\n __gid: SupportsIndex | None,\n __extra_groups: list[int] | None,\n __uid: SupportsIndex | None,\n __child_umask: int,\n __preexec_fn: Callable[[], None],\n __allow_vfork: bool,\n ) -> int: ...\n", + "/typeshed/stdlib/_py_abc.pyi": "import _typeshed\nfrom typing import Any, NewType, TypeVar\n\n_T = TypeVar(\"_T\")\n\n_CacheToken = NewType(\"_CacheToken\", int)\n\ndef get_cache_token() -> _CacheToken: ...\n\nclass ABCMeta(type):\n def __new__(\n __mcls: type[_typeshed.Self], __name: str, __bases: tuple[type[Any], ...], __namespace: dict[str, Any]\n ) -> _typeshed.Self: ...\n def register(cls, subclass: type[_T]) -> type[_T]: ...\n", + "/typeshed/stdlib/_pydecimal.pyi": "# This is a slight lie, the implementations aren't exactly identical\n# However, in all likelihood, the differences are inconsequential\nfrom _decimal import *\n\n__all__ = [\n \"Decimal\",\n \"Context\",\n \"DecimalTuple\",\n \"DefaultContext\",\n \"BasicContext\",\n \"ExtendedContext\",\n \"DecimalException\",\n \"Clamped\",\n \"InvalidOperation\",\n \"DivisionByZero\",\n \"Inexact\",\n \"Rounded\",\n \"Subnormal\",\n \"Overflow\",\n \"Underflow\",\n \"FloatOperation\",\n \"DivisionImpossible\",\n \"InvalidContext\",\n \"ConversionSyntax\",\n \"DivisionUndefined\",\n \"ROUND_DOWN\",\n \"ROUND_HALF_UP\",\n \"ROUND_HALF_EVEN\",\n \"ROUND_CEILING\",\n \"ROUND_FLOOR\",\n \"ROUND_UP\",\n \"ROUND_HALF_DOWN\",\n \"ROUND_05UP\",\n \"setcontext\",\n \"getcontext\",\n \"localcontext\",\n \"MAX_PREC\",\n \"MAX_EMAX\",\n \"MIN_EMIN\",\n \"MIN_ETINY\",\n \"HAVE_THREADS\",\n \"HAVE_CONTEXTVAR\",\n]\n", + "/typeshed/stdlib/_random.pyi": "from typing_extensions import TypeAlias\n\n# Actually Tuple[(int,) * 625]\n_State: TypeAlias = tuple[int, ...]\n\nclass Random:\n def __init__(self, seed: object = ...) -> None: ...\n def seed(self, __n: object = None) -> None: ...\n def getstate(self) -> _State: ...\n def setstate(self, __state: _State) -> None: ...\n def random(self) -> float: ...\n def getrandbits(self, __k: int) -> int: ...\n", + "/typeshed/stdlib/_sitebuiltins.pyi": "from collections.abc import Iterable\nfrom typing import ClassVar, NoReturn\nfrom typing_extensions import Literal\n\nclass Quitter:\n name: str\n eof: str\n def __init__(self, name: str, eof: str) -> None: ...\n def __call__(self, code: int | None = None) -> NoReturn: ...\n\nclass _Printer:\n MAXLINES: ClassVar[Literal[23]]\n def __init__(self, name: str, data: str, files: Iterable[str] = (), dirs: Iterable[str] = ()) -> None: ...\n def __call__(self) -> None: ...\n\nclass _Helper:\n def __call__(self, request: object) -> None: ...\n", + "/typeshed/stdlib/_socket.pyi": "import sys\nfrom _typeshed import ReadableBuffer, WriteableBuffer\nfrom collections.abc import Iterable\nfrom typing import Any, SupportsInt, overload\nfrom typing_extensions import TypeAlias\n\nif sys.version_info >= (3, 8):\n from typing import SupportsIndex\n\n _FD: TypeAlias = SupportsIndex\nelse:\n _FD: TypeAlias = SupportsInt\n\n_CMSG: TypeAlias = tuple[int, int, bytes]\n_CMSGArg: TypeAlias = tuple[int, int, ReadableBuffer]\n\n# Addresses can be either tuples of varying lengths (AF_INET, AF_INET6,\n# AF_NETLINK, AF_TIPC) or strings/buffers (AF_UNIX).\n# See getsockaddrarg() in socketmodule.c.\n_Address: TypeAlias = tuple[Any, ...] | str | ReadableBuffer\n_RetAddress: TypeAlias = Any\n\n# ----- Constants -----\n# Some socket families are listed in the \"Socket families\" section of the docs,\n# but not the \"Constants\" section. These are listed at the end of the list of\n# constants.\n#\n# Besides those and the first few constants listed, the constants are listed in\n# documentation order.\n\nhas_ipv6: bool\n\nAF_INET: int\nAF_INET6: int\n\nSOCK_STREAM: int\nSOCK_DGRAM: int\nSOCK_RAW: int\nSOCK_RDM: int\nSOCK_SEQPACKET: int\n\nif sys.platform == \"linux\":\n SOCK_CLOEXEC: int\n SOCK_NONBLOCK: int\n\n# Address families not mentioned in the docs\nAF_APPLETALK: int\nAF_DECnet: int\nAF_IPX: int\nAF_SNA: int\nAF_UNSPEC: int\n\nif sys.platform != \"win32\":\n AF_ROUTE: int\n AF_SYSTEM: int\n AF_UNIX: int\n\nif sys.platform != \"darwin\":\n AF_IRDA: int\n\nif sys.platform != \"darwin\" and sys.platform != \"win32\":\n AF_AAL5: int\n AF_ASH: int\n AF_ATMPVC: int\n AF_ATMSVC: int\n AF_AX25: int\n AF_BRIDGE: int\n AF_ECONET: int\n AF_KEY: int\n AF_LLC: int\n AF_NETBEUI: int\n AF_NETROM: int\n AF_PPPOX: int\n AF_ROSE: int\n AF_SECURITY: int\n AF_WANPIPE: int\n AF_X25: int\n\n# The \"many constants\" referenced by the docs\nSOMAXCONN: int\nAI_ADDRCONFIG: int\nAI_ALL: int\nAI_CANONNAME: int\nAI_NUMERICHOST: int\nAI_NUMERICSERV: int\nAI_PASSIVE: int\nAI_V4MAPPED: int\nEAI_AGAIN: int\nEAI_BADFLAGS: int\nEAI_FAIL: int\nEAI_FAMILY: int\nEAI_MEMORY: int\nEAI_NODATA: int\nEAI_NONAME: int\nEAI_SERVICE: int\nEAI_SOCKTYPE: int\nINADDR_ALLHOSTS_GROUP: int\nINADDR_ANY: int\nINADDR_BROADCAST: int\nINADDR_LOOPBACK: int\nINADDR_MAX_LOCAL_GROUP: int\nINADDR_NONE: int\nINADDR_UNSPEC_GROUP: int\nIPPORT_RESERVED: int\nIPPORT_USERRESERVED: int\n\nif sys.platform != \"win32\" or sys.version_info >= (3, 8):\n IPPROTO_AH: int\n IPPROTO_DSTOPTS: int\n IPPROTO_EGP: int\n IPPROTO_ESP: int\n IPPROTO_FRAGMENT: int\n IPPROTO_GGP: int\n IPPROTO_HOPOPTS: int\n IPPROTO_ICMPV6: int\n IPPROTO_IDP: int\n IPPROTO_IGMP: int\n IPPROTO_IPV4: int\n IPPROTO_IPV6: int\n IPPROTO_MAX: int\n IPPROTO_ND: int\n IPPROTO_NONE: int\n IPPROTO_PIM: int\n IPPROTO_PUP: int\n IPPROTO_ROUTING: int\n IPPROTO_SCTP: int\n\n if sys.platform != \"darwin\":\n IPPROTO_CBT: int\n IPPROTO_ICLFXBM: int\n IPPROTO_IGP: int\n IPPROTO_L2TP: int\n IPPROTO_PGM: int\n IPPROTO_RDP: int\n IPPROTO_ST: int\n\nIPPROTO_ICMP: int\nIPPROTO_IP: int\nIPPROTO_RAW: int\nIPPROTO_TCP: int\nIPPROTO_UDP: int\nIPV6_CHECKSUM: int\nIPV6_JOIN_GROUP: int\nIPV6_LEAVE_GROUP: int\nIPV6_MULTICAST_HOPS: int\nIPV6_MULTICAST_IF: int\nIPV6_MULTICAST_LOOP: int\nIPV6_RECVTCLASS: int\nIPV6_TCLASS: int\nIPV6_UNICAST_HOPS: int\nIPV6_V6ONLY: int\n\nif sys.platform != \"darwin\" or sys.version_info >= (3, 9):\n IPV6_DONTFRAG: int\n IPV6_HOPLIMIT: int\n IPV6_HOPOPTS: int\n IPV6_PKTINFO: int\n IPV6_RECVRTHDR: int\n IPV6_RTHDR: int\n\nIP_ADD_MEMBERSHIP: int\nIP_DROP_MEMBERSHIP: int\nIP_HDRINCL: int\nIP_MULTICAST_IF: int\nIP_MULTICAST_LOOP: int\nIP_MULTICAST_TTL: int\nIP_OPTIONS: int\nIP_RECVDSTADDR: int\nif sys.version_info >= (3, 10):\n IP_RECVTOS: int\nelif sys.platform != \"win32\" and sys.platform != \"darwin\":\n IP_RECVTOS: int\nIP_TOS: int\nIP_TTL: int\nMSG_CTRUNC: int\nMSG_DONTROUTE: int\n\nif sys.platform != \"darwin\":\n MSG_ERRQUEUE: int\n\nMSG_OOB: int\nMSG_PEEK: int\nMSG_TRUNC: int\nMSG_WAITALL: int\nNI_DGRAM: int\nNI_MAXHOST: int\nNI_MAXSERV: int\nNI_NAMEREQD: int\nNI_NOFQDN: int\nNI_NUMERICHOST: int\nNI_NUMERICSERV: int\nSHUT_RD: int\nSHUT_RDWR: int\nSHUT_WR: int\nSOL_IP: int\nSOL_SOCKET: int\nSOL_TCP: int\nSOL_UDP: int\nSO_ACCEPTCONN: int\nSO_BROADCAST: int\nSO_DEBUG: int\nSO_DONTROUTE: int\nSO_ERROR: int\nSO_KEEPALIVE: int\nSO_LINGER: int\nSO_OOBINLINE: int\nSO_RCVBUF: int\nSO_RCVLOWAT: int\nSO_RCVTIMEO: int\nSO_REUSEADDR: int\nSO_SNDBUF: int\nSO_SNDLOWAT: int\nSO_SNDTIMEO: int\nSO_TYPE: int\nSO_USELOOPBACK: int\nif sys.platform == \"linux\" and sys.version_info >= (3, 11):\n SO_INCOMING_CPU: int\nTCP_FASTOPEN: int\nTCP_KEEPCNT: int\nTCP_KEEPINTVL: int\n\nif sys.platform != \"darwin\":\n TCP_KEEPIDLE: int\n\nTCP_MAXSEG: int\nTCP_NODELAY: int\nif sys.platform != \"win32\":\n TCP_NOTSENT_LOWAT: int\nif sys.version_info >= (3, 10) and sys.platform == \"darwin\":\n TCP_KEEPALIVE: int\nif sys.version_info >= (3, 11) and sys.platform == \"darwin\":\n TCP_CONNECTION_INFO: int\n\nif sys.platform != \"darwin\":\n MSG_BCAST: int\n MSG_MCAST: int\n SO_EXCLUSIVEADDRUSE: int\n\nif sys.platform != \"win32\":\n AI_DEFAULT: int\n AI_MASK: int\n AI_V4MAPPED_CFG: int\n EAI_ADDRFAMILY: int\n EAI_BADHINTS: int\n EAI_MAX: int\n EAI_OVERFLOW: int\n EAI_PROTOCOL: int\n EAI_SYSTEM: int\n IPPROTO_EON: int\n IPPROTO_GRE: int\n IPPROTO_HELLO: int\n IPPROTO_IPCOMP: int\n IPPROTO_IPIP: int\n IPPROTO_RSVP: int\n IPPROTO_TP: int\n IPPROTO_XTP: int\n IPV6_RTHDR_TYPE_0: int\n IP_DEFAULT_MULTICAST_LOOP: int\n IP_DEFAULT_MULTICAST_TTL: int\n IP_MAX_MEMBERSHIPS: int\n IP_RECVOPTS: int\n IP_RECVRETOPTS: int\n IP_RETOPTS: int\n LOCAL_PEERCRED: int\n MSG_DONTWAIT: int\n MSG_EOF: int\n MSG_EOR: int\n MSG_NOSIGNAL: int # Sometimes this exists on darwin, sometimes not\n SCM_CREDS: int\n SCM_RIGHTS: int\n SO_REUSEPORT: int\n\nif sys.platform != \"win32\":\n if sys.platform != \"darwin\" or sys.version_info >= (3, 9):\n IPV6_DSTOPTS: int\n IPV6_NEXTHOP: int\n IPV6_PATHMTU: int\n IPV6_RECVDSTOPTS: int\n IPV6_RECVHOPLIMIT: int\n IPV6_RECVHOPOPTS: int\n IPV6_RECVPATHMTU: int\n IPV6_RECVPKTINFO: int\n IPV6_RTHDRDSTOPTS: int\n IPV6_USE_MIN_MTU: int\n\nif sys.platform != \"win32\" and sys.platform != \"darwin\":\n IPPROTO_BIP: int\n IPPROTO_MOBILE: int\n IPPROTO_VRRP: int\n IPX_TYPE: int\n IP_TRANSPARENT: int\n MSG_BTAG: int\n MSG_CMSG_CLOEXEC: int\n MSG_CONFIRM: int\n MSG_ETAG: int\n MSG_FASTOPEN: int\n MSG_MORE: int\n MSG_NOTIFICATION: int\n SCM_CREDENTIALS: int\n SOL_ATALK: int\n SOL_AX25: int\n SOL_HCI: int\n SOL_IPX: int\n SOL_NETROM: int\n SOL_ROSE: int\n SO_BINDTODEVICE: int\n SO_MARK: int\n SO_PASSCRED: int\n SO_PEERCRED: int\n SO_PRIORITY: int\n SO_SETFIB: int\n TCP_CORK: int\n TCP_DEFER_ACCEPT: int\n TCP_INFO: int\n TCP_LINGER2: int\n TCP_QUICKACK: int\n TCP_SYNCNT: int\n TCP_WINDOW_CLAMP: int\n\n# Specifically-documented constants\n\nif sys.platform == \"linux\":\n AF_CAN: int\n PF_CAN: int\n SOL_CAN_BASE: int\n SOL_CAN_RAW: int\n CAN_EFF_FLAG: int\n CAN_EFF_MASK: int\n CAN_ERR_FLAG: int\n CAN_ERR_MASK: int\n CAN_RAW: int\n CAN_RAW_ERR_FILTER: int\n CAN_RAW_FILTER: int\n CAN_RAW_LOOPBACK: int\n CAN_RAW_RECV_OWN_MSGS: int\n CAN_RTR_FLAG: int\n CAN_SFF_MASK: int\n\n CAN_BCM: int\n CAN_BCM_TX_SETUP: int\n CAN_BCM_TX_DELETE: int\n CAN_BCM_TX_READ: int\n CAN_BCM_TX_SEND: int\n CAN_BCM_RX_SETUP: int\n CAN_BCM_RX_DELETE: int\n CAN_BCM_RX_READ: int\n CAN_BCM_TX_STATUS: int\n CAN_BCM_TX_EXPIRED: int\n CAN_BCM_RX_STATUS: int\n CAN_BCM_RX_TIMEOUT: int\n CAN_BCM_RX_CHANGED: int\n\n CAN_RAW_FD_FRAMES: int\n\nif sys.platform == \"linux\" and sys.version_info >= (3, 8):\n CAN_BCM_SETTIMER: int\n CAN_BCM_STARTTIMER: int\n CAN_BCM_TX_COUNTEVT: int\n CAN_BCM_TX_ANNOUNCE: int\n CAN_BCM_TX_CP_CAN_ID: int\n CAN_BCM_RX_FILTER_ID: int\n CAN_BCM_RX_CHECK_DLC: int\n CAN_BCM_RX_NO_AUTOTIMER: int\n CAN_BCM_RX_ANNOUNCE_RESUME: int\n CAN_BCM_TX_RESET_MULTI_IDX: int\n CAN_BCM_RX_RTR_FRAME: int\n CAN_BCM_CAN_FD_FRAME: int\n\nif sys.platform == \"linux\":\n CAN_ISOTP: int\n\nif sys.platform == \"linux\" and sys.version_info >= (3, 9):\n CAN_J1939: int\n CAN_RAW_JOIN_FILTERS: int\n\n J1939_MAX_UNICAST_ADDR: int\n J1939_IDLE_ADDR: int\n J1939_NO_ADDR: int\n J1939_NO_NAME: int\n J1939_PGN_REQUEST: int\n J1939_PGN_ADDRESS_CLAIMED: int\n J1939_PGN_ADDRESS_COMMANDED: int\n J1939_PGN_PDU1_MAX: int\n J1939_PGN_MAX: int\n J1939_NO_PGN: int\n\n SO_J1939_FILTER: int\n SO_J1939_PROMISC: int\n SO_J1939_SEND_PRIO: int\n SO_J1939_ERRQUEUE: int\n\n SCM_J1939_DEST_ADDR: int\n SCM_J1939_DEST_NAME: int\n SCM_J1939_PRIO: int\n SCM_J1939_ERRQUEUE: int\n\n J1939_NLA_PAD: int\n J1939_NLA_BYTES_ACKED: int\n\n J1939_EE_INFO_NONE: int\n J1939_EE_INFO_TX_ABORT: int\n\n J1939_FILTER_MAX: int\n\nif sys.platform == \"linux\" and sys.version_info >= (3, 10):\n IPPROTO_MPTCP: int\n\nif sys.platform == \"linux\":\n AF_PACKET: int\n PF_PACKET: int\n PACKET_BROADCAST: int\n PACKET_FASTROUTE: int\n PACKET_HOST: int\n PACKET_LOOPBACK: int\n PACKET_MULTICAST: int\n PACKET_OTHERHOST: int\n PACKET_OUTGOING: int\n\nif sys.platform == \"linux\":\n AF_RDS: int\n PF_RDS: int\n SOL_RDS: int\n RDS_CANCEL_SENT_TO: int\n RDS_CMSG_RDMA_ARGS: int\n RDS_CMSG_RDMA_DEST: int\n RDS_CMSG_RDMA_MAP: int\n RDS_CMSG_RDMA_STATUS: int\n RDS_CMSG_RDMA_UPDATE: int\n RDS_CONG_MONITOR: int\n RDS_FREE_MR: int\n RDS_GET_MR: int\n RDS_GET_MR_FOR_DEST: int\n RDS_RDMA_DONTWAIT: int\n RDS_RDMA_FENCE: int\n RDS_RDMA_INVALIDATE: int\n RDS_RDMA_NOTIFY_ME: int\n RDS_RDMA_READWRITE: int\n RDS_RDMA_SILENT: int\n RDS_RDMA_USE_ONCE: int\n RDS_RECVERR: int\n\nif sys.platform == \"win32\":\n SIO_RCVALL: int\n SIO_KEEPALIVE_VALS: int\n SIO_LOOPBACK_FAST_PATH: int\n RCVALL_MAX: int\n RCVALL_OFF: int\n RCVALL_ON: int\n RCVALL_SOCKETLEVELONLY: int\n\nif sys.platform == \"linux\":\n AF_TIPC: int\n SOL_TIPC: int\n TIPC_ADDR_ID: int\n TIPC_ADDR_NAME: int\n TIPC_ADDR_NAMESEQ: int\n TIPC_CFG_SRV: int\n TIPC_CLUSTER_SCOPE: int\n TIPC_CONN_TIMEOUT: int\n TIPC_CRITICAL_IMPORTANCE: int\n TIPC_DEST_DROPPABLE: int\n TIPC_HIGH_IMPORTANCE: int\n TIPC_IMPORTANCE: int\n TIPC_LOW_IMPORTANCE: int\n TIPC_MEDIUM_IMPORTANCE: int\n TIPC_NODE_SCOPE: int\n TIPC_PUBLISHED: int\n TIPC_SRC_DROPPABLE: int\n TIPC_SUBSCR_TIMEOUT: int\n TIPC_SUB_CANCEL: int\n TIPC_SUB_PORTS: int\n TIPC_SUB_SERVICE: int\n TIPC_TOP_SRV: int\n TIPC_WAIT_FOREVER: int\n TIPC_WITHDRAWN: int\n TIPC_ZONE_SCOPE: int\n\nif sys.platform == \"linux\":\n AF_ALG: int\n SOL_ALG: int\n ALG_OP_DECRYPT: int\n ALG_OP_ENCRYPT: int\n ALG_OP_SIGN: int\n ALG_OP_VERIFY: int\n ALG_SET_AEAD_ASSOCLEN: int\n ALG_SET_AEAD_AUTHSIZE: int\n ALG_SET_IV: int\n ALG_SET_KEY: int\n ALG_SET_OP: int\n ALG_SET_PUBKEY: int\n\nif sys.platform == \"linux\":\n AF_VSOCK: int\n IOCTL_VM_SOCKETS_GET_LOCAL_CID: int\n VMADDR_CID_ANY: int\n VMADDR_CID_HOST: int\n VMADDR_PORT_ANY: int\n SO_VM_SOCKETS_BUFFER_MAX_SIZE: int\n SO_VM_SOCKETS_BUFFER_SIZE: int\n SO_VM_SOCKETS_BUFFER_MIN_SIZE: int\n VM_SOCKETS_INVALID_VERSION: int\n\nif sys.platform != \"win32\" or sys.version_info >= (3, 9):\n AF_LINK: int\n\n# BDADDR_* and HCI_* listed with other bluetooth constants below\n\nif sys.platform != \"win32\" and sys.platform != \"darwin\":\n SO_DOMAIN: int\n SO_PASSSEC: int\n SO_PEERSEC: int\n SO_PROTOCOL: int\n TCP_CONGESTION: int\n TCP_USER_TIMEOUT: int\n\nif sys.platform == \"linux\" and sys.version_info >= (3, 8):\n AF_QIPCRTR: int\n\n# Semi-documented constants\n# (Listed under \"Socket families\" in the docs, but not \"Constants\")\n\nif sys.platform == \"linux\":\n # Netlink is defined by Linux\n AF_NETLINK: int\n NETLINK_ARPD: int\n NETLINK_CRYPTO: int\n NETLINK_DNRTMSG: int\n NETLINK_FIREWALL: int\n NETLINK_IP6_FW: int\n NETLINK_NFLOG: int\n NETLINK_ROUTE6: int\n NETLINK_ROUTE: int\n NETLINK_SKIP: int\n NETLINK_TAPBASE: int\n NETLINK_TCPDIAG: int\n NETLINK_USERSOCK: int\n NETLINK_W1: int\n NETLINK_XFRM: int\n\nif sys.platform != \"darwin\":\n if sys.platform != \"win32\" or sys.version_info >= (3, 9):\n AF_BLUETOOTH: int\n BDADDR_ANY: str\n BDADDR_LOCAL: str\n BTPROTO_RFCOMM: int\n\nif sys.platform != \"win32\" and sys.platform != \"darwin\":\n # Linux and some BSD support is explicit in the docs\n # Windows and macOS do not support in practice\n BTPROTO_HCI: int\n BTPROTO_L2CAP: int\n BTPROTO_SCO: int # not in FreeBSD\n HCI_FILTER: int # not in NetBSD or DragonFlyBSD\n # not in FreeBSD, NetBSD, or DragonFlyBSD\n HCI_TIME_STAMP: int\n HCI_DATA_DIR: int\n\nif sys.platform == \"darwin\":\n # PF_SYSTEM is defined by macOS\n PF_SYSTEM: int\n SYSPROTO_CONTROL: int\n\n# ----- Exceptions -----\n\nerror = OSError\n\nclass herror(error): ...\nclass gaierror(error): ...\n\nif sys.version_info >= (3, 10):\n timeout = TimeoutError\nelse:\n class timeout(error): ...\n\n# ----- Classes -----\n\nclass socket:\n @property\n def family(self) -> int: ...\n @property\n def type(self) -> int: ...\n @property\n def proto(self) -> int: ...\n @property\n def timeout(self) -> float | None: ...\n if sys.platform == \"win32\":\n def __init__(self, family: int = ..., type: int = ..., proto: int = ..., fileno: _FD | bytes | None = ...) -> None: ...\n else:\n def __init__(self, family: int = ..., type: int = ..., proto: int = ..., fileno: _FD | None = ...) -> None: ...\n\n def bind(self, __address: _Address) -> None: ...\n def close(self) -> None: ...\n def connect(self, __address: _Address) -> None: ...\n def connect_ex(self, __address: _Address) -> int: ...\n def detach(self) -> int: ...\n def fileno(self) -> int: ...\n def getpeername(self) -> _RetAddress: ...\n def getsockname(self) -> _RetAddress: ...\n @overload\n def getsockopt(self, __level: int, __optname: int) -> int: ...\n @overload\n def getsockopt(self, __level: int, __optname: int, __buflen: int) -> bytes: ...\n def getblocking(self) -> bool: ...\n def gettimeout(self) -> float | None: ...\n if sys.platform == \"win32\":\n def ioctl(self, __control: int, __option: int | tuple[int, int, int] | bool) -> None: ...\n\n def listen(self, __backlog: int = ...) -> None: ...\n def recv(self, __bufsize: int, __flags: int = ...) -> bytes: ...\n def recvfrom(self, __bufsize: int, __flags: int = ...) -> tuple[bytes, _RetAddress]: ...\n if sys.platform != \"win32\":\n def recvmsg(self, __bufsize: int, __ancbufsize: int = ..., __flags: int = ...) -> tuple[bytes, list[_CMSG], int, Any]: ...\n def recvmsg_into(\n self, __buffers: Iterable[WriteableBuffer], __ancbufsize: int = ..., __flags: int = ...\n ) -> tuple[int, list[_CMSG], int, Any]: ...\n\n def recvfrom_into(self, buffer: WriteableBuffer, nbytes: int = ..., flags: int = ...) -> tuple[int, _RetAddress]: ...\n def recv_into(self, buffer: WriteableBuffer, nbytes: int = ..., flags: int = ...) -> int: ...\n def send(self, __data: ReadableBuffer, __flags: int = ...) -> int: ...\n def sendall(self, __data: ReadableBuffer, __flags: int = ...) -> None: ...\n @overload\n def sendto(self, __data: ReadableBuffer, __address: _Address) -> int: ...\n @overload\n def sendto(self, __data: ReadableBuffer, __flags: int, __address: _Address) -> int: ...\n if sys.platform != \"win32\":\n def sendmsg(\n self,\n __buffers: Iterable[ReadableBuffer],\n __ancdata: Iterable[_CMSGArg] = ...,\n __flags: int = ...,\n __address: _Address | None = ...,\n ) -> int: ...\n if sys.platform == \"linux\":\n def sendmsg_afalg(\n self, msg: Iterable[ReadableBuffer] = ..., *, op: int, iv: Any = ..., assoclen: int = ..., flags: int = ...\n ) -> int: ...\n\n def setblocking(self, __flag: bool) -> None: ...\n def settimeout(self, __value: float | None) -> None: ...\n @overload\n def setsockopt(self, __level: int, __optname: int, __value: int | ReadableBuffer) -> None: ...\n @overload\n def setsockopt(self, __level: int, __optname: int, __value: None, __optlen: int) -> None: ...\n if sys.platform == \"win32\":\n def share(self, __process_id: int) -> bytes: ...\n\n def shutdown(self, __how: int) -> None: ...\n\nSocketType = socket\n\n# ----- Functions -----\n\ndef close(__fd: _FD) -> None: ...\ndef dup(__fd: _FD) -> int: ...\n\n# the 5th tuple item is an address\ndef getaddrinfo(\n host: bytes | str | None,\n port: bytes | str | int | None,\n family: int = ...,\n type: int = ...,\n proto: int = ...,\n flags: int = ...,\n) -> list[tuple[int, int, int, str, tuple[str, int] | tuple[str, int, int, int]]]: ...\ndef gethostbyname(__hostname: str) -> str: ...\ndef gethostbyname_ex(__hostname: str) -> tuple[str, list[str], list[str]]: ...\ndef gethostname() -> str: ...\ndef gethostbyaddr(__ip_address: str) -> tuple[str, list[str], list[str]]: ...\ndef getnameinfo(__sockaddr: tuple[str, int] | tuple[str, int, int, int], __flags: int) -> tuple[str, str]: ...\ndef getprotobyname(__protocolname: str) -> int: ...\ndef getservbyname(__servicename: str, __protocolname: str = ...) -> int: ...\ndef getservbyport(__port: int, __protocolname: str = ...) -> str: ...\ndef ntohl(__x: int) -> int: ... # param & ret val are 32-bit ints\ndef ntohs(__x: int) -> int: ... # param & ret val are 16-bit ints\ndef htonl(__x: int) -> int: ... # param & ret val are 32-bit ints\ndef htons(__x: int) -> int: ... # param & ret val are 16-bit ints\ndef inet_aton(__ip_string: str) -> bytes: ... # ret val 4 bytes in length\ndef inet_ntoa(__packed_ip: ReadableBuffer) -> str: ...\ndef inet_pton(__address_family: int, __ip_string: str) -> bytes: ...\ndef inet_ntop(__address_family: int, __packed_ip: ReadableBuffer) -> str: ...\ndef getdefaulttimeout() -> float | None: ...\ndef setdefaulttimeout(__timeout: float | None) -> None: ...\n\nif sys.platform != \"win32\":\n def sethostname(__name: str) -> None: ...\n def CMSG_LEN(__length: int) -> int: ...\n def CMSG_SPACE(__length: int) -> int: ...\n def socketpair(__family: int = ..., __type: int = ..., __proto: int = ...) -> tuple[socket, socket]: ...\n\n# Windows added these in 3.8, but didn't have them before\nif sys.platform != \"win32\" or sys.version_info >= (3, 8):\n def if_nameindex() -> list[tuple[int, str]]: ...\n def if_nametoindex(__name: str) -> int: ...\n def if_indextoname(__index: int) -> str: ...\n\nif sys.version_info >= (3, 12):\n IP_PKTINFO: int\n IP_UNBLOCK_SOURCE: int\n IP_BLOCK_SOURCE: int\n IP_ADD_SOURCE_MEMBERSHIP: int\n IP_DROP_SOURCE_MEMBERSHIP: int\n if sys.platform == \"win32\":\n AF_HYPERV: int\n HV_PROTOCOL_RAW: int\n HVSOCKET_CONNECT_TIMEOUT: int\n HVSOCKET_CONNECT_TIMEOUT_MAX: int\n HVSOCKET_CONNECTED_SUSPEND: int\n HVSOCKET_ADDRESS_FLAG_PASSTHRU: int\n HV_GUID_ZERO: str\n HV_GUID_WILDCARD: str\n HV_GUID_BROADCAST: str\n HV_GUID_CHILDREN: str\n HV_GUID_LOOPBACK: str\n HV_GUID_PARENT: str\n else:\n ETHERTYPE_ARP: int\n ETHERTYPE_IP: int\n ETHERTYPE_IPV6: int\n ETHERTYPE_VLAN: int\n", + "/typeshed/stdlib/_stat.pyi": "import sys\nfrom typing_extensions import Literal\n\nSF_APPEND: Literal[0x00040000]\nSF_ARCHIVED: Literal[0x00010000]\nSF_IMMUTABLE: Literal[0x00020000]\nSF_NOUNLINK: Literal[0x00100000]\nSF_SNAPSHOT: Literal[0x00200000]\n\nST_MODE: Literal[0]\nST_INO: Literal[1]\nST_DEV: Literal[2]\nST_NLINK: Literal[3]\nST_UID: Literal[4]\nST_GID: Literal[5]\nST_SIZE: Literal[6]\nST_ATIME: Literal[7]\nST_MTIME: Literal[8]\nST_CTIME: Literal[9]\n\nS_IFIFO: Literal[0o010000]\nS_IFLNK: Literal[0o120000]\nS_IFREG: Literal[0o100000]\nS_IFSOCK: Literal[0o140000]\nS_IFBLK: Literal[0o060000]\nS_IFCHR: Literal[0o020000]\nS_IFDIR: Literal[0o040000]\n\n# These are 0 on systems that don't support the specific kind of file.\n# Example: Linux doesn't support door files, so S_IFDOOR is 0 on linux.\nS_IFDOOR: int\nS_IFPORT: int\nS_IFWHT: int\n\nS_ISUID: Literal[0o4000]\nS_ISGID: Literal[0o2000]\nS_ISVTX: Literal[0o1000]\n\nS_IRWXU: Literal[0o0700]\nS_IRUSR: Literal[0o0400]\nS_IWUSR: Literal[0o0200]\nS_IXUSR: Literal[0o0100]\n\nS_IRWXG: Literal[0o0070]\nS_IRGRP: Literal[0o0040]\nS_IWGRP: Literal[0o0020]\nS_IXGRP: Literal[0o0010]\n\nS_IRWXO: Literal[0o0007]\nS_IROTH: Literal[0o0004]\nS_IWOTH: Literal[0o0002]\nS_IXOTH: Literal[0o0001]\n\nS_ENFMT: Literal[0o2000]\nS_IREAD: Literal[0o0400]\nS_IWRITE: Literal[0o0200]\nS_IEXEC: Literal[0o0100]\n\nUF_APPEND: Literal[0x00000004]\nUF_COMPRESSED: Literal[0x00000020] # OS X 10.6+ only\nUF_HIDDEN: Literal[0x00008000] # OX X 10.5+ only\nUF_IMMUTABLE: Literal[0x00000002]\nUF_NODUMP: Literal[0x00000001]\nUF_NOUNLINK: Literal[0x00000010]\nUF_OPAQUE: Literal[0x00000008]\n\ndef S_IMODE(mode: int) -> int: ...\ndef S_IFMT(mode: int) -> int: ...\ndef S_ISBLK(mode: int) -> bool: ...\ndef S_ISCHR(mode: int) -> bool: ...\ndef S_ISDIR(mode: int) -> bool: ...\ndef S_ISDOOR(mode: int) -> bool: ...\ndef S_ISFIFO(mode: int) -> bool: ...\ndef S_ISLNK(mode: int) -> bool: ...\ndef S_ISPORT(mode: int) -> bool: ...\ndef S_ISREG(mode: int) -> bool: ...\ndef S_ISSOCK(mode: int) -> bool: ...\ndef S_ISWHT(mode: int) -> bool: ...\ndef filemode(mode: int) -> str: ...\n\nif sys.platform == \"win32\" and sys.version_info >= (3, 8):\n IO_REPARSE_TAG_SYMLINK: int\n IO_REPARSE_TAG_MOUNT_POINT: int\n IO_REPARSE_TAG_APPEXECLINK: int\n\nif sys.platform == \"win32\":\n FILE_ATTRIBUTE_ARCHIVE: Literal[32]\n FILE_ATTRIBUTE_COMPRESSED: Literal[2048]\n FILE_ATTRIBUTE_DEVICE: Literal[64]\n FILE_ATTRIBUTE_DIRECTORY: Literal[16]\n FILE_ATTRIBUTE_ENCRYPTED: Literal[16384]\n FILE_ATTRIBUTE_HIDDEN: Literal[2]\n FILE_ATTRIBUTE_INTEGRITY_STREAM: Literal[32768]\n FILE_ATTRIBUTE_NORMAL: Literal[128]\n FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: Literal[8192]\n FILE_ATTRIBUTE_NO_SCRUB_DATA: Literal[131072]\n FILE_ATTRIBUTE_OFFLINE: Literal[4096]\n FILE_ATTRIBUTE_READONLY: Literal[1]\n FILE_ATTRIBUTE_REPARSE_POINT: Literal[1024]\n FILE_ATTRIBUTE_SPARSE_FILE: Literal[512]\n FILE_ATTRIBUTE_SYSTEM: Literal[4]\n FILE_ATTRIBUTE_TEMPORARY: Literal[256]\n FILE_ATTRIBUTE_VIRTUAL: Literal[65536]\n", + "/typeshed/stdlib/_thread.pyi": "import sys\nfrom _typeshed import structseq\nfrom collections.abc import Callable\nfrom threading import Thread\nfrom types import TracebackType\nfrom typing import Any, NoReturn\nfrom typing_extensions import Final, final\n\nerror = RuntimeError\n\ndef _count() -> int: ...\n@final\nclass LockType:\n def acquire(self, blocking: bool = ..., timeout: float = ...) -> bool: ...\n def release(self) -> None: ...\n def locked(self) -> bool: ...\n def __enter__(self) -> bool: ...\n def __exit__(\n self, type: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None\n ) -> None: ...\n\ndef start_new_thread(function: Callable[..., object], args: tuple[Any, ...], kwargs: dict[str, Any] = ...) -> int: ...\ndef interrupt_main() -> None: ...\ndef exit() -> NoReturn: ...\ndef allocate_lock() -> LockType: ...\ndef get_ident() -> int: ...\ndef stack_size(size: int = ...) -> int: ...\n\nTIMEOUT_MAX: float\n\nif sys.version_info >= (3, 8):\n def get_native_id() -> int: ... # only available on some platforms\n @final\n class _ExceptHookArgs(structseq[Any], tuple[type[BaseException], BaseException | None, TracebackType | None, Thread | None]):\n if sys.version_info >= (3, 10):\n __match_args__: Final = (\"exc_type\", \"exc_value\", \"exc_traceback\", \"thread\")\n @property\n def exc_type(self) -> type[BaseException]: ...\n @property\n def exc_value(self) -> BaseException | None: ...\n @property\n def exc_traceback(self) -> TracebackType | None: ...\n @property\n def thread(self) -> Thread | None: ...\n _excepthook: Callable[[_ExceptHookArgs], Any]\n\nif sys.version_info >= (3, 12):\n def daemon_threads_allowed() -> bool: ...\n", + "/typeshed/stdlib/_threading_local.pyi": "from typing import Any\nfrom typing_extensions import TypeAlias\nfrom weakref import ReferenceType\n\n__all__ = [\"local\"]\n_LocalDict: TypeAlias = dict[Any, Any]\n\nclass _localimpl:\n key: str\n dicts: dict[int, tuple[ReferenceType[Any], _LocalDict]]\n def get_dict(self) -> _LocalDict: ...\n def create_dict(self) -> _LocalDict: ...\n\nclass local:\n def __getattribute__(self, name: str) -> Any: ...\n def __setattr__(self, name: str, value: Any) -> None: ...\n def __delattr__(self, name: str) -> None: ...\n", + "/typeshed/stdlib/_tkinter.pyi": "import sys\nfrom typing import Any, ClassVar\nfrom typing_extensions import Literal, final\n\n# _tkinter is meant to be only used internally by tkinter, but some tkinter\n# functions e.g. return _tkinter.Tcl_Obj objects. Tcl_Obj represents a Tcl\n# object that hasn't been converted to a string.\n#\n# There are not many ways to get Tcl_Objs from tkinter, and I'm not sure if the\n# only existing ways are supposed to return Tcl_Objs as opposed to returning\n# strings. Here's one of these things that return Tcl_Objs:\n#\n# >>> import tkinter\n# >>> text = tkinter.Text()\n# >>> text.tag_add('foo', '1.0', 'end')\n# >>> text.tag_ranges('foo')\n# (, )\n@final\nclass Tcl_Obj:\n @property\n def string(self) -> str: ...\n @property\n def typename(self) -> str: ...\n __hash__: ClassVar[None] # type: ignore[assignment]\n def __eq__(self, __value): ...\n def __ge__(self, __value): ...\n def __gt__(self, __value): ...\n def __le__(self, __value): ...\n def __lt__(self, __value): ...\n def __ne__(self, __value): ...\n\nclass TclError(Exception): ...\n\n# This class allows running Tcl code. Tkinter uses it internally a lot, and\n# it's often handy to drop a piece of Tcl code into a tkinter program. Example:\n#\n# >>> import tkinter, _tkinter\n# >>> tkapp = tkinter.Tk().tk\n# >>> isinstance(tkapp, _tkinter.TkappType)\n# True\n# >>> tkapp.call('set', 'foo', (1,2,3))\n# (1, 2, 3)\n# >>> tkapp.eval('return $foo')\n# '1 2 3'\n# >>>\n#\n# call args can be pretty much anything. Also, call(some_tuple) is same as call(*some_tuple).\n#\n# eval always returns str because _tkinter_tkapp_eval_impl in _tkinter.c calls\n# Tkapp_UnicodeResult, and it returns a string when it succeeds.\n@final\nclass TkappType:\n # Please keep in sync with tkinter.Tk\n def adderrorinfo(self, __msg): ...\n def call(self, __command: Any, *args: Any) -> Any: ...\n def createcommand(self, __name, __func): ...\n if sys.platform != \"win32\":\n def createfilehandler(self, __file, __mask, __func): ...\n def deletefilehandler(self, __file): ...\n\n def createtimerhandler(self, __milliseconds, __func): ...\n def deletecommand(self, __name): ...\n def dooneevent(self, __flags: int = 0): ...\n def eval(self, __script: str) -> str: ...\n def evalfile(self, __fileName): ...\n def exprboolean(self, __s): ...\n def exprdouble(self, __s): ...\n def exprlong(self, __s): ...\n def exprstring(self, __s): ...\n def getboolean(self, __arg): ...\n def getdouble(self, __arg): ...\n def getint(self, __arg): ...\n def getvar(self, *args, **kwargs): ...\n def globalgetvar(self, *args, **kwargs): ...\n def globalsetvar(self, *args, **kwargs): ...\n def globalunsetvar(self, *args, **kwargs): ...\n def interpaddr(self): ...\n def loadtk(self) -> None: ...\n def mainloop(self, __threshold: int = 0): ...\n def quit(self): ...\n def record(self, __script): ...\n def setvar(self, *ags, **kwargs): ...\n if sys.version_info < (3, 11):\n def split(self, __arg): ...\n\n def splitlist(self, __arg): ...\n def unsetvar(self, *args, **kwargs): ...\n def wantobjects(self, *args, **kwargs): ...\n def willdispatch(self): ...\n\n# These should be kept in sync with tkinter.tix constants, except ALL_EVENTS which doesn't match TCL_ALL_EVENTS\nALL_EVENTS: Literal[-3]\nFILE_EVENTS: Literal[8]\nIDLE_EVENTS: Literal[32]\nTIMER_EVENTS: Literal[16]\nWINDOW_EVENTS: Literal[4]\n\nDONT_WAIT: Literal[2]\nEXCEPTION: Literal[8]\nREADABLE: Literal[2]\nWRITABLE: Literal[4]\n\nTCL_VERSION: str\nTK_VERSION: str\n\n@final\nclass TkttType:\n def deletetimerhandler(self): ...\n\nif sys.version_info >= (3, 8):\n def create(\n __screenName: str | None = None,\n __baseName: str = \"\",\n __className: str = \"Tk\",\n __interactive: bool = False,\n __wantobjects: bool = False,\n __wantTk: bool = True,\n __sync: bool = False,\n __use: str | None = None,\n ): ...\n\nelse:\n def create(\n __screenName: str | None = None,\n __baseName: str | None = None,\n __className: str = \"Tk\",\n __interactive: bool = False,\n __wantobjects: bool = False,\n __wantTk: bool = True,\n __sync: bool = False,\n __use: str | None = None,\n ): ...\n\ndef getbusywaitinterval(): ...\ndef setbusywaitinterval(__new_val): ...\n", + "/typeshed/stdlib/_tracemalloc.pyi": "import sys\nfrom collections.abc import Sequence\nfrom tracemalloc import _FrameTuple, _TraceTuple\n\ndef _get_object_traceback(__obj: object) -> Sequence[_FrameTuple] | None: ...\ndef _get_traces() -> Sequence[_TraceTuple]: ...\ndef clear_traces() -> None: ...\ndef get_traceback_limit() -> int: ...\ndef get_traced_memory() -> tuple[int, int]: ...\ndef get_tracemalloc_memory() -> int: ...\ndef is_tracing() -> bool: ...\n\nif sys.version_info >= (3, 9):\n def reset_peak() -> None: ...\n\ndef start(__nframe: int = 1) -> None: ...\ndef stop() -> None: ...\n", + "/typeshed/stdlib/_warnings.pyi": "from typing import Any, overload\n\n_defaultaction: str\n_onceregistry: dict[Any, Any]\nfilters: list[tuple[str, str | None, type[Warning], str | None, int]]\n\n@overload\ndef warn(message: str, category: type[Warning] | None = None, stacklevel: int = 1, source: Any | None = None) -> None: ...\n@overload\ndef warn(message: Warning, category: Any = None, stacklevel: int = 1, source: Any | None = None) -> None: ...\n@overload\ndef warn_explicit(\n message: str,\n category: type[Warning],\n filename: str,\n lineno: int,\n module: str | None = ...,\n registry: dict[str | tuple[str, type[Warning], int], int] | None = ...,\n module_globals: dict[str, Any] | None = ...,\n source: Any | None = ...,\n) -> None: ...\n@overload\ndef warn_explicit(\n message: Warning,\n category: Any,\n filename: str,\n lineno: int,\n module: str | None = ...,\n registry: dict[str | tuple[str, type[Warning], int], int] | None = ...,\n module_globals: dict[str, Any] | None = ...,\n source: Any | None = ...,\n) -> None: ...\n", + "/typeshed/stdlib/_weakref.pyi": "import sys\nfrom collections.abc import Callable\nfrom typing import Any, Generic, TypeVar, overload\nfrom typing_extensions import Self, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n_C = TypeVar(\"_C\", bound=Callable[..., Any])\n_T = TypeVar(\"_T\")\n\n@final\nclass CallableProxyType(Generic[_C]): # \"weakcallableproxy\"\n def __eq__(self, __value: object) -> bool: ...\n def __getattr__(self, attr: str) -> Any: ...\n __call__: _C\n\n@final\nclass ProxyType(Generic[_T]): # \"weakproxy\"\n def __eq__(self, __value: object) -> bool: ...\n def __getattr__(self, attr: str) -> Any: ...\n\nclass ReferenceType(Generic[_T]):\n __callback__: Callable[[ReferenceType[_T]], Any]\n def __new__(cls, __o: _T, __callback: Callable[[ReferenceType[_T]], Any] | None = ...) -> Self: ...\n def __call__(self) -> _T | None: ...\n def __eq__(self, __value: object) -> bool: ...\n def __hash__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nref = ReferenceType\n\ndef getweakrefcount(__object: Any) -> int: ...\ndef getweakrefs(__object: Any) -> list[Any]: ...\n\n# Return CallableProxyType if object is callable, ProxyType otherwise\n@overload\ndef proxy(__object: _C, __callback: Callable[[_C], Any] | None = None) -> CallableProxyType[_C]: ...\n@overload\ndef proxy(__object: _T, __callback: Callable[[_T], Any] | None = None) -> Any: ...\n", + "/typeshed/stdlib/_weakrefset.pyi": "import sys\nfrom collections.abc import Iterable, Iterator, MutableSet\nfrom typing import Any, TypeVar, overload\nfrom typing_extensions import Self\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = [\"WeakSet\"]\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n\nclass WeakSet(MutableSet[_T]):\n @overload\n def __init__(self, data: None = None) -> None: ...\n @overload\n def __init__(self, data: Iterable[_T]) -> None: ...\n def add(self, item: _T) -> None: ...\n def discard(self, item: _T) -> None: ...\n def copy(self) -> Self: ...\n def remove(self, item: _T) -> None: ...\n def update(self, other: Iterable[_T]) -> None: ...\n def __contains__(self, item: object) -> bool: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __ior__(self, other: Iterable[_T]) -> Self: ... # type: ignore[override,misc]\n def difference(self, other: Iterable[_T]) -> Self: ...\n def __sub__(self, other: Iterable[Any]) -> Self: ...\n def difference_update(self, other: Iterable[Any]) -> None: ...\n def __isub__(self, other: Iterable[Any]) -> Self: ...\n def intersection(self, other: Iterable[_T]) -> Self: ...\n def __and__(self, other: Iterable[Any]) -> Self: ...\n def intersection_update(self, other: Iterable[Any]) -> None: ...\n def __iand__(self, other: Iterable[Any]) -> Self: ...\n def issubset(self, other: Iterable[_T]) -> bool: ...\n def __le__(self, other: Iterable[_T]) -> bool: ...\n def __lt__(self, other: Iterable[_T]) -> bool: ...\n def issuperset(self, other: Iterable[_T]) -> bool: ...\n def __ge__(self, other: Iterable[_T]) -> bool: ...\n def __gt__(self, other: Iterable[_T]) -> bool: ...\n def __eq__(self, other: object) -> bool: ...\n def symmetric_difference(self, other: Iterable[_S]) -> WeakSet[_S | _T]: ...\n def __xor__(self, other: Iterable[_S]) -> WeakSet[_S | _T]: ...\n def symmetric_difference_update(self, other: Iterable[_T]) -> None: ...\n def __ixor__(self, other: Iterable[_T]) -> Self: ... # type: ignore[override,misc]\n def union(self, other: Iterable[_S]) -> WeakSet[_S | _T]: ...\n def __or__(self, other: Iterable[_S]) -> WeakSet[_S | _T]: ...\n def isdisjoint(self, other: Iterable[_T]) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n", + "/typeshed/stdlib/_winapi.pyi": "import sys\nfrom _typeshed import ReadableBuffer\nfrom collections.abc import Sequence\nfrom typing import Any, NoReturn, overload\nfrom typing_extensions import Literal, final\n\nif sys.platform == \"win32\":\n ABOVE_NORMAL_PRIORITY_CLASS: Literal[0x8000]\n BELOW_NORMAL_PRIORITY_CLASS: Literal[0x4000]\n\n CREATE_BREAKAWAY_FROM_JOB: Literal[0x1000000]\n CREATE_DEFAULT_ERROR_MODE: Literal[0x4000000]\n CREATE_NO_WINDOW: Literal[0x8000000]\n CREATE_NEW_CONSOLE: Literal[0x10]\n CREATE_NEW_PROCESS_GROUP: Literal[0x200]\n\n DETACHED_PROCESS: Literal[8]\n DUPLICATE_CLOSE_SOURCE: Literal[1]\n DUPLICATE_SAME_ACCESS: Literal[2]\n\n ERROR_ALREADY_EXISTS: Literal[183]\n ERROR_BROKEN_PIPE: Literal[109]\n ERROR_IO_PENDING: Literal[997]\n ERROR_MORE_DATA: Literal[234]\n ERROR_NETNAME_DELETED: Literal[64]\n ERROR_NO_DATA: Literal[232]\n ERROR_NO_SYSTEM_RESOURCES: Literal[1450]\n ERROR_OPERATION_ABORTED: Literal[995]\n ERROR_PIPE_BUSY: Literal[231]\n ERROR_PIPE_CONNECTED: Literal[535]\n ERROR_SEM_TIMEOUT: Literal[121]\n\n FILE_FLAG_FIRST_PIPE_INSTANCE: Literal[0x80000]\n FILE_FLAG_OVERLAPPED: Literal[0x40000000]\n\n FILE_GENERIC_READ: Literal[1179785]\n FILE_GENERIC_WRITE: Literal[1179926]\n\n if sys.version_info >= (3, 8):\n FILE_MAP_ALL_ACCESS: Literal[983071]\n FILE_MAP_COPY: Literal[1]\n FILE_MAP_EXECUTE: Literal[32]\n FILE_MAP_READ: Literal[4]\n FILE_MAP_WRITE: Literal[2]\n\n FILE_TYPE_CHAR: Literal[2]\n FILE_TYPE_DISK: Literal[1]\n FILE_TYPE_PIPE: Literal[3]\n FILE_TYPE_REMOTE: Literal[32768]\n FILE_TYPE_UNKNOWN: Literal[0]\n\n GENERIC_READ: Literal[0x80000000]\n GENERIC_WRITE: Literal[0x40000000]\n HIGH_PRIORITY_CLASS: Literal[0x80]\n INFINITE: Literal[0xFFFFFFFF]\n if sys.version_info >= (3, 8):\n # Ignore the Flake8 error -- flake8-pyi assumes\n # most numbers this long will be implementation details,\n # but here we can see that it's a power of 2\n INVALID_HANDLE_VALUE: Literal[0xFFFFFFFFFFFFFFFF] # noqa: Y054\n IDLE_PRIORITY_CLASS: Literal[0x40]\n NORMAL_PRIORITY_CLASS: Literal[0x20]\n REALTIME_PRIORITY_CLASS: Literal[0x100]\n NMPWAIT_WAIT_FOREVER: Literal[0xFFFFFFFF]\n\n if sys.version_info >= (3, 8):\n MEM_COMMIT: Literal[0x1000]\n MEM_FREE: Literal[0x10000]\n MEM_IMAGE: Literal[0x1000000]\n MEM_MAPPED: Literal[0x40000]\n MEM_PRIVATE: Literal[0x20000]\n MEM_RESERVE: Literal[0x2000]\n\n NULL: Literal[0]\n OPEN_EXISTING: Literal[3]\n\n PIPE_ACCESS_DUPLEX: Literal[3]\n PIPE_ACCESS_INBOUND: Literal[1]\n PIPE_READMODE_MESSAGE: Literal[2]\n PIPE_TYPE_MESSAGE: Literal[4]\n PIPE_UNLIMITED_INSTANCES: Literal[255]\n PIPE_WAIT: Literal[0]\n\n if sys.version_info >= (3, 8):\n PAGE_EXECUTE: Literal[0x10]\n PAGE_EXECUTE_READ: Literal[0x20]\n PAGE_EXECUTE_READWRITE: Literal[0x40]\n PAGE_EXECUTE_WRITECOPY: Literal[0x80]\n PAGE_GUARD: Literal[0x100]\n PAGE_NOACCESS: Literal[0x1]\n PAGE_NOCACHE: Literal[0x200]\n PAGE_READONLY: Literal[0x2]\n PAGE_READWRITE: Literal[0x4]\n PAGE_WRITECOMBINE: Literal[0x400]\n PAGE_WRITECOPY: Literal[0x8]\n\n PROCESS_ALL_ACCESS: Literal[0x1FFFFF]\n PROCESS_DUP_HANDLE: Literal[0x40]\n\n if sys.version_info >= (3, 8):\n SEC_COMMIT: Literal[0x8000000]\n SEC_IMAGE: Literal[0x1000000]\n SEC_LARGE_PAGES: Literal[0x80000000]\n SEC_NOCACHE: Literal[0x10000000]\n SEC_RESERVE: Literal[0x4000000]\n SEC_WRITECOMBINE: Literal[0x40000000]\n\n STARTF_USESHOWWINDOW: Literal[0x1]\n STARTF_USESTDHANDLES: Literal[0x100]\n\n STD_ERROR_HANDLE: Literal[0xFFFFFFF4]\n STD_OUTPUT_HANDLE: Literal[0xFFFFFFF5]\n STD_INPUT_HANDLE: Literal[0xFFFFFFF6]\n\n STILL_ACTIVE: Literal[259]\n SW_HIDE: Literal[0]\n if sys.version_info >= (3, 8):\n SYNCHRONIZE: Literal[0x100000]\n WAIT_ABANDONED_0: Literal[128]\n WAIT_OBJECT_0: Literal[0]\n WAIT_TIMEOUT: Literal[258]\n\n if sys.version_info >= (3, 10):\n LOCALE_NAME_INVARIANT: str\n LOCALE_NAME_MAX_LENGTH: int\n LOCALE_NAME_SYSTEM_DEFAULT: str\n LOCALE_NAME_USER_DEFAULT: str | None\n\n LCMAP_FULLWIDTH: int\n LCMAP_HALFWIDTH: int\n LCMAP_HIRAGANA: int\n LCMAP_KATAKANA: int\n LCMAP_LINGUISTIC_CASING: int\n LCMAP_LOWERCASE: int\n LCMAP_SIMPLIFIED_CHINESE: int\n LCMAP_TITLECASE: int\n LCMAP_TRADITIONAL_CHINESE: int\n LCMAP_UPPERCASE: int\n\n if sys.version_info >= (3, 12):\n COPYFILE2_CALLBACK_CHUNK_STARTED: Literal[1]\n COPYFILE2_CALLBACK_CHUNK_FINISHED: Literal[2]\n COPYFILE2_CALLBACK_STREAM_STARTED: Literal[3]\n COPYFILE2_CALLBACK_STREAM_FINISHED: Literal[4]\n COPYFILE2_CALLBACK_POLL_CONTINUE: Literal[5]\n COPYFILE2_CALLBACK_ERROR: Literal[6]\n\n COPYFILE2_PROGRESS_CONTINUE: Literal[0]\n COPYFILE2_PROGRESS_CANCEL: Literal[1]\n COPYFILE2_PROGRESS_STOP: Literal[2]\n COPYFILE2_PROGRESS_QUIET: Literal[3]\n COPYFILE2_PROGRESS_PAUSE: Literal[4]\n\n COPY_FILE_FAIL_IF_EXISTS: Literal[0x1]\n COPY_FILE_RESTARTABLE: Literal[0x2]\n COPY_FILE_OPEN_SOURCE_FOR_WRITE: Literal[0x4]\n COPY_FILE_ALLOW_DECRYPTED_DESTINATION: Literal[0x8]\n COPY_FILE_COPY_SYMLINK: Literal[0x800]\n COPY_FILE_NO_BUFFERING: Literal[0x1000]\n COPY_FILE_REQUEST_SECURITY_PRIVILEGES: Literal[0x2000]\n COPY_FILE_RESUME_FROM_PAUSE: Literal[0x4000]\n COPY_FILE_NO_OFFLOAD: Literal[0x40000]\n COPY_FILE_REQUEST_COMPRESSED_TRAFFIC: Literal[0x10000000]\n\n ERROR_ACCESS_DENIED: Literal[5]\n ERROR_PRIVILEGE_NOT_HELD: Literal[1314]\n\n def CloseHandle(__handle: int) -> None: ...\n @overload\n def ConnectNamedPipe(handle: int, overlapped: Literal[True]) -> Overlapped: ...\n @overload\n def ConnectNamedPipe(handle: int, overlapped: Literal[False] = False) -> None: ...\n @overload\n def ConnectNamedPipe(handle: int, overlapped: bool) -> Overlapped | None: ...\n def CreateFile(\n __file_name: str,\n __desired_access: int,\n __share_mode: int,\n __security_attributes: int,\n __creation_disposition: int,\n __flags_and_attributes: int,\n __template_file: int,\n ) -> int: ...\n def CreateJunction(__src_path: str, __dst_path: str) -> None: ...\n def CreateNamedPipe(\n __name: str,\n __open_mode: int,\n __pipe_mode: int,\n __max_instances: int,\n __out_buffer_size: int,\n __in_buffer_size: int,\n __default_timeout: int,\n __security_attributes: int,\n ) -> int: ...\n def CreatePipe(__pipe_attrs: Any, __size: int) -> tuple[int, int]: ...\n def CreateProcess(\n __application_name: str | None,\n __command_line: str | None,\n __proc_attrs: Any,\n __thread_attrs: Any,\n __inherit_handles: bool,\n __creation_flags: int,\n __env_mapping: dict[str, str],\n __current_directory: str | None,\n __startup_info: Any,\n ) -> tuple[int, int, int, int]: ...\n def DuplicateHandle(\n __source_process_handle: int,\n __source_handle: int,\n __target_process_handle: int,\n __desired_access: int,\n __inherit_handle: bool,\n __options: int = 0,\n ) -> int: ...\n def ExitProcess(__ExitCode: int) -> NoReturn: ...\n def GetACP() -> int: ...\n def GetFileType(handle: int) -> int: ...\n def GetCurrentProcess() -> int: ...\n def GetExitCodeProcess(__process: int) -> int: ...\n def GetLastError() -> int: ...\n def GetModuleFileName(__module_handle: int) -> str: ...\n def GetStdHandle(__std_handle: int) -> int: ...\n def GetVersion() -> int: ...\n def OpenProcess(__desired_access: int, __inherit_handle: bool, __process_id: int) -> int: ...\n def PeekNamedPipe(__handle: int, __size: int = 0) -> tuple[int, int] | tuple[bytes, int, int]: ...\n if sys.version_info >= (3, 10):\n def LCMapStringEx(locale: str, flags: int, src: str) -> str: ...\n def UnmapViewOfFile(__address: int) -> None: ...\n\n @overload\n def ReadFile(handle: int, size: int, overlapped: Literal[True]) -> tuple[Overlapped, int]: ...\n @overload\n def ReadFile(handle: int, size: int, overlapped: Literal[False] = False) -> tuple[bytes, int]: ...\n @overload\n def ReadFile(handle: int, size: int, overlapped: int | bool) -> tuple[Any, int]: ...\n def SetNamedPipeHandleState(\n __named_pipe: int, __mode: int | None, __max_collection_count: int | None, __collect_data_timeout: int | None\n ) -> None: ...\n def TerminateProcess(__handle: int, __exit_code: int) -> None: ...\n def WaitForMultipleObjects(__handle_seq: Sequence[int], __wait_flag: bool, __milliseconds: int = 0xFFFFFFFF) -> int: ...\n def WaitForSingleObject(__handle: int, __milliseconds: int) -> int: ...\n def WaitNamedPipe(__name: str, __timeout: int) -> None: ...\n @overload\n def WriteFile(handle: int, buffer: ReadableBuffer, overlapped: Literal[True]) -> tuple[Overlapped, int]: ...\n @overload\n def WriteFile(handle: int, buffer: ReadableBuffer, overlapped: Literal[False] = False) -> tuple[int, int]: ...\n @overload\n def WriteFile(handle: int, buffer: ReadableBuffer, overlapped: int | bool) -> tuple[Any, int]: ...\n @final\n class Overlapped:\n event: int\n def GetOverlappedResult(self, __wait: bool) -> tuple[int, int]: ...\n def cancel(self) -> None: ...\n def getbuffer(self) -> bytes | None: ...\n\n if sys.version_info >= (3, 12):\n def CopyFile2(existing_file_name: str, new_file_name: str, flags: int, progress_routine: int | None = None) -> int: ...\n def NeedCurrentDirectoryForExePath(__exe_name: str) -> bool: ...\n", + "/typeshed/stdlib/abc.pyi": "import _typeshed\nimport sys\nfrom _typeshed import SupportsWrite\nfrom collections.abc import Callable\nfrom typing import Any, TypeVar\nfrom typing_extensions import Concatenate, Literal, ParamSpec\n\n_T = TypeVar(\"_T\")\n_R_co = TypeVar(\"_R_co\", covariant=True)\n_FuncT = TypeVar(\"_FuncT\", bound=Callable[..., Any])\n_P = ParamSpec(\"_P\")\n\n# These definitions have special processing in mypy\nclass ABCMeta(type):\n __abstractmethods__: frozenset[str]\n if sys.version_info >= (3, 11):\n def __new__(\n __mcls: type[_typeshed.Self], __name: str, __bases: tuple[type, ...], __namespace: dict[str, Any], **kwargs: Any\n ) -> _typeshed.Self: ...\n else:\n def __new__(\n mcls: type[_typeshed.Self], name: str, bases: tuple[type, ...], namespace: dict[str, Any], **kwargs: Any\n ) -> _typeshed.Self: ...\n\n def __instancecheck__(cls: ABCMeta, instance: Any) -> bool: ...\n def __subclasscheck__(cls: ABCMeta, subclass: type) -> bool: ...\n def _dump_registry(cls: ABCMeta, file: SupportsWrite[str] | None = None) -> None: ...\n def register(cls: ABCMeta, subclass: type[_T]) -> type[_T]: ...\n\ndef abstractmethod(funcobj: _FuncT) -> _FuncT: ...\n\nclass abstractclassmethod(classmethod[_T, _P, _R_co]):\n __isabstractmethod__: Literal[True]\n def __init__(self, callable: Callable[Concatenate[type[_T], _P], _R_co]) -> None: ...\n\nclass abstractstaticmethod(staticmethod[_P, _R_co]):\n __isabstractmethod__: Literal[True]\n def __init__(self, callable: Callable[_P, _R_co]) -> None: ...\n\nclass abstractproperty(property):\n __isabstractmethod__: Literal[True]\n\nclass ABC(metaclass=ABCMeta):\n __slots__ = ()\n\ndef get_cache_token() -> object: ...\n\nif sys.version_info >= (3, 10):\n def update_abstractmethods(cls: type[_T]) -> type[_T]: ...\n", + "/typeshed/stdlib/aifc.pyi": "import sys\nfrom types import TracebackType\nfrom typing import IO, Any, NamedTuple, overload\nfrom typing_extensions import Literal, Self, TypeAlias\n\nif sys.version_info >= (3, 9):\n __all__ = [\"Error\", \"open\"]\nelse:\n __all__ = [\"Error\", \"open\", \"openfp\"]\n\nclass Error(Exception): ...\n\nclass _aifc_params(NamedTuple):\n nchannels: int\n sampwidth: int\n framerate: int\n nframes: int\n comptype: bytes\n compname: bytes\n\n_File: TypeAlias = str | IO[bytes]\n_Marker: TypeAlias = tuple[int, int, bytes]\n\nclass Aifc_read:\n def __init__(self, f: _File) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> None: ...\n def initfp(self, file: IO[bytes]) -> None: ...\n def getfp(self) -> IO[bytes]: ...\n def rewind(self) -> None: ...\n def close(self) -> None: ...\n def tell(self) -> int: ...\n def getnchannels(self) -> int: ...\n def getnframes(self) -> int: ...\n def getsampwidth(self) -> int: ...\n def getframerate(self) -> int: ...\n def getcomptype(self) -> bytes: ...\n def getcompname(self) -> bytes: ...\n def getparams(self) -> _aifc_params: ...\n def getmarkers(self) -> list[_Marker] | None: ...\n def getmark(self, id: int) -> _Marker: ...\n def setpos(self, pos: int) -> None: ...\n def readframes(self, nframes: int) -> bytes: ...\n\nclass Aifc_write:\n def __init__(self, f: _File) -> None: ...\n def __del__(self) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> None: ...\n def initfp(self, file: IO[bytes]) -> None: ...\n def aiff(self) -> None: ...\n def aifc(self) -> None: ...\n def setnchannels(self, nchannels: int) -> None: ...\n def getnchannels(self) -> int: ...\n def setsampwidth(self, sampwidth: int) -> None: ...\n def getsampwidth(self) -> int: ...\n def setframerate(self, framerate: int) -> None: ...\n def getframerate(self) -> int: ...\n def setnframes(self, nframes: int) -> None: ...\n def getnframes(self) -> int: ...\n def setcomptype(self, comptype: bytes, compname: bytes) -> None: ...\n def getcomptype(self) -> bytes: ...\n def getcompname(self) -> bytes: ...\n def setparams(self, params: tuple[int, int, int, int, bytes, bytes]) -> None: ...\n def getparams(self) -> _aifc_params: ...\n def setmark(self, id: int, pos: int, name: bytes) -> None: ...\n def getmark(self, id: int) -> _Marker: ...\n def getmarkers(self) -> list[_Marker] | None: ...\n def tell(self) -> int: ...\n def writeframesraw(self, data: Any) -> None: ... # Actual type for data is Buffer Protocol\n def writeframes(self, data: Any) -> None: ...\n def close(self) -> None: ...\n\n@overload\ndef open(f: _File, mode: Literal[\"r\", \"rb\"]) -> Aifc_read: ...\n@overload\ndef open(f: _File, mode: Literal[\"w\", \"wb\"]) -> Aifc_write: ...\n@overload\ndef open(f: _File, mode: str | None = None) -> Any: ...\n\nif sys.version_info < (3, 9):\n @overload\n def openfp(f: _File, mode: Literal[\"r\", \"rb\"]) -> Aifc_read: ...\n @overload\n def openfp(f: _File, mode: Literal[\"w\", \"wb\"]) -> Aifc_write: ...\n @overload\n def openfp(f: _File, mode: str | None = None) -> Any: ...\n", + "/typeshed/stdlib/antigravity.pyi": "from _typeshed import ReadableBuffer\n\ndef geohash(latitude: float, longitude: float, datedow: ReadableBuffer) -> None: ...\n", + "/typeshed/stdlib/array.pyi": "import sys\nfrom _typeshed import ReadableBuffer, SupportsRead, SupportsWrite\nfrom collections.abc import Iterable\n\n# pytype crashes if array inherits from collections.abc.MutableSequence instead of typing.MutableSequence\nfrom typing import Any, MutableSequence, TypeVar, overload # noqa: Y022\nfrom typing_extensions import Literal, Self, SupportsIndex, TypeAlias\n\nif sys.version_info >= (3, 12):\n from types import GenericAlias\n\n_IntTypeCode: TypeAlias = Literal[\"b\", \"B\", \"h\", \"H\", \"i\", \"I\", \"l\", \"L\", \"q\", \"Q\"]\n_FloatTypeCode: TypeAlias = Literal[\"f\", \"d\"]\n_UnicodeTypeCode: TypeAlias = Literal[\"u\"]\n_TypeCode: TypeAlias = _IntTypeCode | _FloatTypeCode | _UnicodeTypeCode\n\n_T = TypeVar(\"_T\", int, float, str)\n\ntypecodes: str\n\nclass array(MutableSequence[_T]):\n @property\n def typecode(self) -> _TypeCode: ...\n @property\n def itemsize(self) -> int: ...\n @overload\n def __init__(self: array[int], __typecode: _IntTypeCode, __initializer: bytes | bytearray | Iterable[int] = ...) -> None: ...\n @overload\n def __init__(\n self: array[float], __typecode: _FloatTypeCode, __initializer: bytes | bytearray | Iterable[float] = ...\n ) -> None: ...\n @overload\n def __init__(\n self: array[str], __typecode: _UnicodeTypeCode, __initializer: bytes | bytearray | Iterable[str] = ...\n ) -> None: ...\n @overload\n def __init__(self, __typecode: str, __initializer: Iterable[_T]) -> None: ...\n @overload\n def __init__(self, __typecode: str, __initializer: bytes | bytearray = ...) -> None: ...\n def append(self, __v: _T) -> None: ...\n def buffer_info(self) -> tuple[int, int]: ...\n def byteswap(self) -> None: ...\n def count(self, __v: _T) -> int: ...\n def extend(self, __bb: Iterable[_T]) -> None: ...\n def frombytes(self, __buffer: ReadableBuffer) -> None: ...\n def fromfile(self, __f: SupportsRead[bytes], __n: int) -> None: ...\n def fromlist(self, __list: list[_T]) -> None: ...\n def fromunicode(self, __ustr: str) -> None: ...\n if sys.version_info >= (3, 10):\n def index(self, __v: _T, __start: int = 0, __stop: int = sys.maxsize) -> int: ...\n else:\n def index(self, __v: _T) -> int: ... # type: ignore[override]\n\n def insert(self, __i: int, __v: _T) -> None: ...\n def pop(self, __i: int = -1) -> _T: ...\n def remove(self, __v: _T) -> None: ...\n def tobytes(self) -> bytes: ...\n def tofile(self, __f: SupportsWrite[bytes]) -> None: ...\n def tolist(self) -> list[_T]: ...\n def tounicode(self) -> str: ...\n if sys.version_info < (3, 9):\n def fromstring(self, __buffer: str | ReadableBuffer) -> None: ...\n def tostring(self) -> bytes: ...\n\n def __len__(self) -> int: ...\n @overload\n def __getitem__(self, __key: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, __key: slice) -> array[_T]: ...\n @overload # type: ignore[override]\n def __setitem__(self, __key: SupportsIndex, __value: _T) -> None: ...\n @overload\n def __setitem__(self, __key: slice, __value: array[_T]) -> None: ...\n def __delitem__(self, __key: SupportsIndex | slice) -> None: ...\n def __add__(self, __value: array[_T]) -> array[_T]: ...\n def __eq__(self, __value: object) -> bool: ...\n def __ge__(self, __value: array[_T]) -> bool: ...\n def __gt__(self, __value: array[_T]) -> bool: ...\n def __iadd__(self, __value: array[_T]) -> Self: ... # type: ignore[override]\n def __imul__(self, __value: int) -> Self: ...\n def __le__(self, __value: array[_T]) -> bool: ...\n def __lt__(self, __value: array[_T]) -> bool: ...\n def __mul__(self, __value: int) -> array[_T]: ...\n def __rmul__(self, __value: int) -> array[_T]: ...\n def __copy__(self) -> array[_T]: ...\n def __deepcopy__(self, __unused: Any) -> array[_T]: ...\n def __buffer__(self, __flags: int) -> memoryview: ...\n def __release_buffer__(self, __buffer: memoryview) -> None: ...\n if sys.version_info >= (3, 12):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nArrayType = array\n", + "/typeshed/stdlib/ast.pyi": "import os\nimport sys\nfrom _ast import *\nfrom _typeshed import ReadableBuffer, Unused\nfrom collections.abc import Iterator\nfrom typing import Any, TypeVar as _TypeVar, overload\nfrom typing_extensions import Literal\n\nif sys.version_info >= (3, 8):\n class _ABC(type):\n if sys.version_info >= (3, 9):\n def __init__(cls, *args: Unused) -> None: ...\n\n class Num(Constant, metaclass=_ABC):\n value: int | float | complex\n\n class Str(Constant, metaclass=_ABC):\n value: str\n # Aliases for value, for backwards compatibility\n s: str\n\n class Bytes(Constant, metaclass=_ABC):\n value: bytes\n # Aliases for value, for backwards compatibility\n s: bytes\n\n class NameConstant(Constant, metaclass=_ABC): ...\n class Ellipsis(Constant, metaclass=_ABC): ...\n\nif sys.version_info >= (3, 9):\n class slice(AST): ...\n class ExtSlice(slice): ...\n class Index(slice): ...\n class Suite(mod): ...\n class AugLoad(expr_context): ...\n class AugStore(expr_context): ...\n class Param(expr_context): ...\n\nclass NodeVisitor:\n def visit(self, node: AST) -> Any: ...\n def generic_visit(self, node: AST) -> Any: ...\n def visit_Module(self, node: Module) -> Any: ...\n def visit_Interactive(self, node: Interactive) -> Any: ...\n def visit_Expression(self, node: Expression) -> Any: ...\n def visit_FunctionDef(self, node: FunctionDef) -> Any: ...\n def visit_AsyncFunctionDef(self, node: AsyncFunctionDef) -> Any: ...\n def visit_ClassDef(self, node: ClassDef) -> Any: ...\n def visit_Return(self, node: Return) -> Any: ...\n def visit_Delete(self, node: Delete) -> Any: ...\n def visit_Assign(self, node: Assign) -> Any: ...\n def visit_AugAssign(self, node: AugAssign) -> Any: ...\n def visit_AnnAssign(self, node: AnnAssign) -> Any: ...\n def visit_For(self, node: For) -> Any: ...\n def visit_AsyncFor(self, node: AsyncFor) -> Any: ...\n def visit_While(self, node: While) -> Any: ...\n def visit_If(self, node: If) -> Any: ...\n def visit_With(self, node: With) -> Any: ...\n def visit_AsyncWith(self, node: AsyncWith) -> Any: ...\n def visit_Raise(self, node: Raise) -> Any: ...\n def visit_Try(self, node: Try) -> Any: ...\n def visit_Assert(self, node: Assert) -> Any: ...\n def visit_Import(self, node: Import) -> Any: ...\n def visit_ImportFrom(self, node: ImportFrom) -> Any: ...\n def visit_Global(self, node: Global) -> Any: ...\n def visit_Nonlocal(self, node: Nonlocal) -> Any: ...\n def visit_Expr(self, node: Expr) -> Any: ...\n def visit_Pass(self, node: Pass) -> Any: ...\n def visit_Break(self, node: Break) -> Any: ...\n def visit_Continue(self, node: Continue) -> Any: ...\n def visit_Slice(self, node: Slice) -> Any: ...\n def visit_BoolOp(self, node: BoolOp) -> Any: ...\n def visit_BinOp(self, node: BinOp) -> Any: ...\n def visit_UnaryOp(self, node: UnaryOp) -> Any: ...\n def visit_Lambda(self, node: Lambda) -> Any: ...\n def visit_IfExp(self, node: IfExp) -> Any: ...\n def visit_Dict(self, node: Dict) -> Any: ...\n def visit_Set(self, node: Set) -> Any: ...\n def visit_ListComp(self, node: ListComp) -> Any: ...\n def visit_SetComp(self, node: SetComp) -> Any: ...\n def visit_DictComp(self, node: DictComp) -> Any: ...\n def visit_GeneratorExp(self, node: GeneratorExp) -> Any: ...\n def visit_Await(self, node: Await) -> Any: ...\n def visit_Yield(self, node: Yield) -> Any: ...\n def visit_YieldFrom(self, node: YieldFrom) -> Any: ...\n def visit_Compare(self, node: Compare) -> Any: ...\n def visit_Call(self, node: Call) -> Any: ...\n def visit_FormattedValue(self, node: FormattedValue) -> Any: ...\n def visit_JoinedStr(self, node: JoinedStr) -> Any: ...\n def visit_Constant(self, node: Constant) -> Any: ...\n if sys.version_info >= (3, 8):\n def visit_NamedExpr(self, node: NamedExpr) -> Any: ...\n def visit_TypeIgnore(self, node: TypeIgnore) -> Any: ...\n\n def visit_Attribute(self, node: Attribute) -> Any: ...\n def visit_Subscript(self, node: Subscript) -> Any: ...\n def visit_Starred(self, node: Starred) -> Any: ...\n def visit_Name(self, node: Name) -> Any: ...\n def visit_List(self, node: List) -> Any: ...\n def visit_Tuple(self, node: Tuple) -> Any: ...\n def visit_Del(self, node: Del) -> Any: ...\n def visit_Load(self, node: Load) -> Any: ...\n def visit_Store(self, node: Store) -> Any: ...\n def visit_And(self, node: And) -> Any: ...\n def visit_Or(self, node: Or) -> Any: ...\n def visit_Add(self, node: Add) -> Any: ...\n def visit_BitAnd(self, node: BitAnd) -> Any: ...\n def visit_BitOr(self, node: BitOr) -> Any: ...\n def visit_BitXor(self, node: BitXor) -> Any: ...\n def visit_Div(self, node: Div) -> Any: ...\n def visit_FloorDiv(self, node: FloorDiv) -> Any: ...\n def visit_LShift(self, node: LShift) -> Any: ...\n def visit_Mod(self, node: Mod) -> Any: ...\n def visit_Mult(self, node: Mult) -> Any: ...\n def visit_MatMult(self, node: MatMult) -> Any: ...\n def visit_Pow(self, node: Pow) -> Any: ...\n def visit_RShift(self, node: RShift) -> Any: ...\n def visit_Sub(self, node: Sub) -> Any: ...\n def visit_Invert(self, node: Invert) -> Any: ...\n def visit_Not(self, node: Not) -> Any: ...\n def visit_UAdd(self, node: UAdd) -> Any: ...\n def visit_USub(self, node: USub) -> Any: ...\n def visit_Eq(self, node: Eq) -> Any: ...\n def visit_Gt(self, node: Gt) -> Any: ...\n def visit_GtE(self, node: GtE) -> Any: ...\n def visit_In(self, node: In) -> Any: ...\n def visit_Is(self, node: Is) -> Any: ...\n def visit_IsNot(self, node: IsNot) -> Any: ...\n def visit_Lt(self, node: Lt) -> Any: ...\n def visit_LtE(self, node: LtE) -> Any: ...\n def visit_NotEq(self, node: NotEq) -> Any: ...\n def visit_NotIn(self, node: NotIn) -> Any: ...\n def visit_comprehension(self, node: comprehension) -> Any: ...\n def visit_ExceptHandler(self, node: ExceptHandler) -> Any: ...\n def visit_arguments(self, node: arguments) -> Any: ...\n def visit_arg(self, node: arg) -> Any: ...\n def visit_keyword(self, node: keyword) -> Any: ...\n def visit_alias(self, node: alias) -> Any: ...\n def visit_withitem(self, node: withitem) -> Any: ...\n if sys.version_info >= (3, 10):\n def visit_Match(self, node: Match) -> Any: ...\n def visit_match_case(self, node: match_case) -> Any: ...\n def visit_MatchValue(self, node: MatchValue) -> Any: ...\n def visit_MatchSequence(self, node: MatchSequence) -> Any: ...\n def visit_MatchSingleton(self, node: MatchSingleton) -> Any: ...\n def visit_MatchStar(self, node: MatchStar) -> Any: ...\n def visit_MatchMapping(self, node: MatchMapping) -> Any: ...\n def visit_MatchClass(self, node: MatchClass) -> Any: ...\n def visit_MatchAs(self, node: MatchAs) -> Any: ...\n def visit_MatchOr(self, node: MatchOr) -> Any: ...\n\n if sys.version_info >= (3, 11):\n def visit_TryStar(self, node: TryStar) -> Any: ...\n\n if sys.version_info >= (3, 12):\n def visit_TypeVar(self, node: TypeVar) -> Any: ...\n def visit_ParamSpec(self, node: ParamSpec) -> Any: ...\n def visit_TypeVarTuple(self, node: TypeVarTuple) -> Any: ...\n def visit_TypeAlias(self, node: TypeAlias) -> Any: ...\n\n # visit methods for deprecated nodes\n def visit_ExtSlice(self, node: ExtSlice) -> Any: ...\n def visit_Index(self, node: Index) -> Any: ...\n def visit_Suite(self, node: Suite) -> Any: ...\n def visit_AugLoad(self, node: AugLoad) -> Any: ...\n def visit_AugStore(self, node: AugStore) -> Any: ...\n def visit_Param(self, node: Param) -> Any: ...\n def visit_Num(self, node: Num) -> Any: ...\n def visit_Str(self, node: Str) -> Any: ...\n def visit_Bytes(self, node: Bytes) -> Any: ...\n def visit_NameConstant(self, node: NameConstant) -> Any: ...\n def visit_Ellipsis(self, node: Ellipsis) -> Any: ...\n\nclass NodeTransformer(NodeVisitor):\n def generic_visit(self, node: AST) -> AST: ...\n # TODO: Override the visit_* methods with better return types.\n # The usual return type is AST | None, but Iterable[AST]\n # is also allowed in some cases -- this needs to be mapped.\n\n_T = _TypeVar(\"_T\", bound=AST)\n\nif sys.version_info >= (3, 8):\n @overload\n def parse(\n source: str | ReadableBuffer,\n filename: str | ReadableBuffer | os.PathLike[Any] = \"\",\n mode: Literal[\"exec\"] = \"exec\",\n *,\n type_comments: bool = False,\n feature_version: None | int | tuple[int, int] = None,\n ) -> Module: ...\n @overload\n def parse(\n source: str | ReadableBuffer,\n filename: str | ReadableBuffer | os.PathLike[Any],\n mode: Literal[\"eval\"],\n *,\n type_comments: bool = False,\n feature_version: None | int | tuple[int, int] = None,\n ) -> Expression: ...\n @overload\n def parse(\n source: str | ReadableBuffer,\n filename: str | ReadableBuffer | os.PathLike[Any],\n mode: Literal[\"func_type\"],\n *,\n type_comments: bool = False,\n feature_version: None | int | tuple[int, int] = None,\n ) -> FunctionType: ...\n @overload\n def parse(\n source: str | ReadableBuffer,\n filename: str | ReadableBuffer | os.PathLike[Any],\n mode: Literal[\"single\"],\n *,\n type_comments: bool = False,\n feature_version: None | int | tuple[int, int] = None,\n ) -> Interactive: ...\n @overload\n def parse(\n source: str | ReadableBuffer,\n *,\n mode: Literal[\"eval\"],\n type_comments: bool = False,\n feature_version: None | int | tuple[int, int] = None,\n ) -> Expression: ...\n @overload\n def parse(\n source: str | ReadableBuffer,\n *,\n mode: Literal[\"func_type\"],\n type_comments: bool = False,\n feature_version: None | int | tuple[int, int] = None,\n ) -> FunctionType: ...\n @overload\n def parse(\n source: str | ReadableBuffer,\n *,\n mode: Literal[\"single\"],\n type_comments: bool = False,\n feature_version: None | int | tuple[int, int] = None,\n ) -> Interactive: ...\n @overload\n def parse(\n source: str | ReadableBuffer,\n filename: str | ReadableBuffer | os.PathLike[Any] = \"\",\n mode: str = \"exec\",\n *,\n type_comments: bool = False,\n feature_version: None | int | tuple[int, int] = None,\n ) -> AST: ...\n\nelse:\n @overload\n def parse(\n source: str | ReadableBuffer,\n filename: str | ReadableBuffer | os.PathLike[Any] = \"\",\n mode: Literal[\"exec\"] = \"exec\",\n ) -> Module: ...\n @overload\n def parse(\n source: str | ReadableBuffer, filename: str | ReadableBuffer | os.PathLike[Any], mode: Literal[\"eval\"]\n ) -> Expression: ...\n @overload\n def parse(\n source: str | ReadableBuffer, filename: str | ReadableBuffer | os.PathLike[Any], mode: Literal[\"single\"]\n ) -> Interactive: ...\n @overload\n def parse(source: str | ReadableBuffer, *, mode: Literal[\"eval\"]) -> Expression: ...\n @overload\n def parse(source: str | ReadableBuffer, *, mode: Literal[\"single\"]) -> Interactive: ...\n @overload\n def parse(\n source: str | ReadableBuffer, filename: str | ReadableBuffer | os.PathLike[Any] = \"\", mode: str = \"exec\"\n ) -> AST: ...\n\nif sys.version_info >= (3, 9):\n def unparse(ast_obj: AST) -> str: ...\n\ndef copy_location(new_node: _T, old_node: AST) -> _T: ...\n\nif sys.version_info >= (3, 9):\n def dump(\n node: AST, annotate_fields: bool = True, include_attributes: bool = False, *, indent: int | str | None = None\n ) -> str: ...\n\nelse:\n def dump(node: AST, annotate_fields: bool = True, include_attributes: bool = False) -> str: ...\n\ndef fix_missing_locations(node: _T) -> _T: ...\ndef get_docstring(node: AsyncFunctionDef | FunctionDef | ClassDef | Module, clean: bool = True) -> str | None: ...\ndef increment_lineno(node: _T, n: int = 1) -> _T: ...\ndef iter_child_nodes(node: AST) -> Iterator[AST]: ...\ndef iter_fields(node: AST) -> Iterator[tuple[str, Any]]: ...\ndef literal_eval(node_or_string: str | AST) -> Any: ...\n\nif sys.version_info >= (3, 8):\n def get_source_segment(source: str, node: AST, *, padded: bool = False) -> str | None: ...\n\ndef walk(node: AST) -> Iterator[AST]: ...\n\nif sys.version_info >= (3, 9):\n def main() -> None: ...\n", + "/typeshed/stdlib/asynchat.pyi": "import asyncore\nfrom abc import abstractmethod\n\nclass simple_producer:\n def __init__(self, data: bytes, buffer_size: int = 512) -> None: ...\n def more(self) -> bytes: ...\n\nclass async_chat(asyncore.dispatcher):\n ac_in_buffer_size: int\n ac_out_buffer_size: int\n @abstractmethod\n def collect_incoming_data(self, data: bytes) -> None: ...\n @abstractmethod\n def found_terminator(self) -> None: ...\n def set_terminator(self, term: bytes | int | None) -> None: ...\n def get_terminator(self) -> bytes | int | None: ...\n def push(self, data: bytes) -> None: ...\n def push_with_producer(self, producer: simple_producer) -> None: ...\n def close_when_done(self) -> None: ...\n def initiate_send(self) -> None: ...\n def discard_buffers(self) -> None: ...\n", + "/typeshed/stdlib/asyncore.pyi": "import sys\nfrom _typeshed import FileDescriptorLike, ReadableBuffer\nfrom socket import socket\nfrom typing import Any, overload\nfrom typing_extensions import TypeAlias\n\n# cyclic dependence with asynchat\n_MapType: TypeAlias = dict[int, Any]\n_Socket: TypeAlias = socket\n\nsocket_map: _MapType # undocumented\n\nclass ExitNow(Exception): ...\n\ndef read(obj: Any) -> None: ...\ndef write(obj: Any) -> None: ...\ndef readwrite(obj: Any, flags: int) -> None: ...\ndef poll(timeout: float = 0.0, map: _MapType | None = None) -> None: ...\ndef poll2(timeout: float = 0.0, map: _MapType | None = None) -> None: ...\n\npoll3 = poll2\n\ndef loop(timeout: float = 30.0, use_poll: bool = False, map: _MapType | None = None, count: int | None = None) -> None: ...\n\n# Not really subclass of socket.socket; it's only delegation.\n# It is not covariant to it.\nclass dispatcher:\n debug: bool\n connected: bool\n accepting: bool\n connecting: bool\n closing: bool\n ignore_log_types: frozenset[str]\n socket: _Socket | None\n def __init__(self, sock: _Socket | None = None, map: _MapType | None = None) -> None: ...\n def add_channel(self, map: _MapType | None = None) -> None: ...\n def del_channel(self, map: _MapType | None = None) -> None: ...\n def create_socket(self, family: int = ..., type: int = ...) -> None: ...\n def set_socket(self, sock: _Socket, map: _MapType | None = None) -> None: ...\n def set_reuse_addr(self) -> None: ...\n def readable(self) -> bool: ...\n def writable(self) -> bool: ...\n def listen(self, num: int) -> None: ...\n def bind(self, addr: tuple[Any, ...] | str) -> None: ...\n def connect(self, address: tuple[Any, ...] | str) -> None: ...\n def accept(self) -> tuple[_Socket, Any] | None: ...\n def send(self, data: ReadableBuffer) -> int: ...\n def recv(self, buffer_size: int) -> bytes: ...\n def close(self) -> None: ...\n def log(self, message: Any) -> None: ...\n def log_info(self, message: Any, type: str = \"info\") -> None: ...\n def handle_read_event(self) -> None: ...\n def handle_connect_event(self) -> None: ...\n def handle_write_event(self) -> None: ...\n def handle_expt_event(self) -> None: ...\n def handle_error(self) -> None: ...\n def handle_expt(self) -> None: ...\n def handle_read(self) -> None: ...\n def handle_write(self) -> None: ...\n def handle_connect(self) -> None: ...\n def handle_accept(self) -> None: ...\n def handle_close(self) -> None: ...\n\nclass dispatcher_with_send(dispatcher):\n def initiate_send(self) -> None: ...\n # incompatible signature:\n # def send(self, data: bytes) -> int | None: ...\n\ndef compact_traceback() -> tuple[tuple[str, str, str], type, type, str]: ...\ndef close_all(map: _MapType | None = None, ignore_all: bool = False) -> None: ...\n\nif sys.platform != \"win32\":\n class file_wrapper:\n fd: int\n def __init__(self, fd: int) -> None: ...\n def recv(self, bufsize: int, flags: int = ...) -> bytes: ...\n def send(self, data: bytes, flags: int = ...) -> int: ...\n @overload\n def getsockopt(self, level: int, optname: int, buflen: None = None) -> int: ...\n @overload\n def getsockopt(self, level: int, optname: int, buflen: int) -> bytes: ...\n def read(self, bufsize: int, flags: int = ...) -> bytes: ...\n def write(self, data: bytes, flags: int = ...) -> int: ...\n def close(self) -> None: ...\n def fileno(self) -> int: ...\n\n class file_dispatcher(dispatcher):\n def __init__(self, fd: FileDescriptorLike, map: _MapType | None = None) -> None: ...\n def set_file(self, fd: int) -> None: ...\n", + "/typeshed/stdlib/atexit.pyi": "from collections.abc import Callable\nfrom typing import TypeVar\nfrom typing_extensions import ParamSpec\n\n_T = TypeVar(\"_T\")\n_P = ParamSpec(\"_P\")\n\ndef _clear() -> None: ...\ndef _ncallbacks() -> int: ...\ndef _run_exitfuncs() -> None: ...\ndef register(func: Callable[_P, _T], *args: _P.args, **kwargs: _P.kwargs) -> Callable[_P, _T]: ...\ndef unregister(func: Callable[..., object]) -> None: ...\n", + "/typeshed/stdlib/audioop.pyi": "from typing_extensions import TypeAlias\n\n_AdpcmState: TypeAlias = tuple[int, int]\n_RatecvState: TypeAlias = tuple[int, tuple[tuple[int, int], ...]]\n\nclass error(Exception): ...\n\ndef add(__fragment1: bytes, __fragment2: bytes, __width: int) -> bytes: ...\ndef adpcm2lin(__fragment: bytes, __width: int, __state: _AdpcmState | None) -> tuple[bytes, _AdpcmState]: ...\ndef alaw2lin(__fragment: bytes, __width: int) -> bytes: ...\ndef avg(__fragment: bytes, __width: int) -> int: ...\ndef avgpp(__fragment: bytes, __width: int) -> int: ...\ndef bias(__fragment: bytes, __width: int, __bias: int) -> bytes: ...\ndef byteswap(__fragment: bytes, __width: int) -> bytes: ...\ndef cross(__fragment: bytes, __width: int) -> int: ...\ndef findfactor(__fragment: bytes, __reference: bytes) -> float: ...\ndef findfit(__fragment: bytes, __reference: bytes) -> tuple[int, float]: ...\ndef findmax(__fragment: bytes, __length: int) -> int: ...\ndef getsample(__fragment: bytes, __width: int, __index: int) -> int: ...\ndef lin2adpcm(__fragment: bytes, __width: int, __state: _AdpcmState | None) -> tuple[bytes, _AdpcmState]: ...\ndef lin2alaw(__fragment: bytes, __width: int) -> bytes: ...\ndef lin2lin(__fragment: bytes, __width: int, __newwidth: int) -> bytes: ...\ndef lin2ulaw(__fragment: bytes, __width: int) -> bytes: ...\ndef max(__fragment: bytes, __width: int) -> int: ...\ndef maxpp(__fragment: bytes, __width: int) -> int: ...\ndef minmax(__fragment: bytes, __width: int) -> tuple[int, int]: ...\ndef mul(__fragment: bytes, __width: int, __factor: float) -> bytes: ...\ndef ratecv(\n __fragment: bytes,\n __width: int,\n __nchannels: int,\n __inrate: int,\n __outrate: int,\n __state: _RatecvState | None,\n __weightA: int = 1,\n __weightB: int = 0,\n) -> tuple[bytes, _RatecvState]: ...\ndef reverse(__fragment: bytes, __width: int) -> bytes: ...\ndef rms(__fragment: bytes, __width: int) -> int: ...\ndef tomono(__fragment: bytes, __width: int, __lfactor: float, __rfactor: float) -> bytes: ...\ndef tostereo(__fragment: bytes, __width: int, __lfactor: float, __rfactor: float) -> bytes: ...\ndef ulaw2lin(__fragment: bytes, __width: int) -> bytes: ...\n", + "/typeshed/stdlib/base64.pyi": "import sys\nfrom _typeshed import ReadableBuffer\nfrom typing import IO\n\n__all__ = [\n \"encode\",\n \"decode\",\n \"encodebytes\",\n \"decodebytes\",\n \"b64encode\",\n \"b64decode\",\n \"b32encode\",\n \"b32decode\",\n \"b16encode\",\n \"b16decode\",\n \"b85encode\",\n \"b85decode\",\n \"a85encode\",\n \"a85decode\",\n \"standard_b64encode\",\n \"standard_b64decode\",\n \"urlsafe_b64encode\",\n \"urlsafe_b64decode\",\n]\n\nif sys.version_info >= (3, 10):\n __all__ += [\"b32hexencode\", \"b32hexdecode\"]\n\ndef b64encode(s: ReadableBuffer, altchars: ReadableBuffer | None = None) -> bytes: ...\ndef b64decode(s: str | ReadableBuffer, altchars: ReadableBuffer | None = None, validate: bool = False) -> bytes: ...\ndef standard_b64encode(s: ReadableBuffer) -> bytes: ...\ndef standard_b64decode(s: str | ReadableBuffer) -> bytes: ...\ndef urlsafe_b64encode(s: ReadableBuffer) -> bytes: ...\ndef urlsafe_b64decode(s: str | ReadableBuffer) -> bytes: ...\ndef b32encode(s: ReadableBuffer) -> bytes: ...\ndef b32decode(s: str | ReadableBuffer, casefold: bool = False, map01: bytes | None = None) -> bytes: ...\ndef b16encode(s: ReadableBuffer) -> bytes: ...\ndef b16decode(s: str | ReadableBuffer, casefold: bool = False) -> bytes: ...\n\nif sys.version_info >= (3, 10):\n def b32hexencode(s: ReadableBuffer) -> bytes: ...\n def b32hexdecode(s: str | ReadableBuffer, casefold: bool = False) -> bytes: ...\n\ndef a85encode(\n b: ReadableBuffer, *, foldspaces: bool = False, wrapcol: int = 0, pad: bool = False, adobe: bool = False\n) -> bytes: ...\ndef a85decode(\n b: str | ReadableBuffer, *, foldspaces: bool = False, adobe: bool = False, ignorechars: bytearray | bytes = b\" \\t\\n\\r\\x0b\"\n) -> bytes: ...\ndef b85encode(b: ReadableBuffer, pad: bool = False) -> bytes: ...\ndef b85decode(b: str | ReadableBuffer) -> bytes: ...\ndef decode(input: IO[bytes], output: IO[bytes]) -> None: ...\ndef encode(input: IO[bytes], output: IO[bytes]) -> None: ...\ndef encodebytes(s: ReadableBuffer) -> bytes: ...\ndef decodebytes(s: ReadableBuffer) -> bytes: ...\n\nif sys.version_info < (3, 9):\n def encodestring(s: ReadableBuffer) -> bytes: ...\n def decodestring(s: ReadableBuffer) -> bytes: ...\n", + "/typeshed/stdlib/bdb.pyi": "import sys\nfrom _typeshed import ExcInfo, TraceFunction\nfrom collections.abc import Callable, Iterable, Mapping\nfrom types import CodeType, FrameType, TracebackType\nfrom typing import IO, Any, SupportsInt, TypeVar\nfrom typing_extensions import Literal, ParamSpec\n\n__all__ = [\"BdbQuit\", \"Bdb\", \"Breakpoint\"]\n\n_T = TypeVar(\"_T\")\n_P = ParamSpec(\"_P\")\n\nGENERATOR_AND_COROUTINE_FLAGS: Literal[672]\n\nclass BdbQuit(Exception): ...\n\nclass Bdb:\n skip: set[str] | None\n breaks: dict[str, list[int]]\n fncache: dict[str, str]\n frame_returning: FrameType | None\n botframe: FrameType | None\n quitting: bool\n stopframe: FrameType | None\n returnframe: FrameType | None\n stoplineno: int\n def __init__(self, skip: Iterable[str] | None = None) -> None: ...\n def canonic(self, filename: str) -> str: ...\n def reset(self) -> None: ...\n def trace_dispatch(self, frame: FrameType, event: str, arg: Any) -> TraceFunction: ...\n def dispatch_line(self, frame: FrameType) -> TraceFunction: ...\n def dispatch_call(self, frame: FrameType, arg: None) -> TraceFunction: ...\n def dispatch_return(self, frame: FrameType, arg: Any) -> TraceFunction: ...\n def dispatch_exception(self, frame: FrameType, arg: ExcInfo) -> TraceFunction: ...\n def is_skipped_module(self, module_name: str) -> bool: ...\n def stop_here(self, frame: FrameType) -> bool: ...\n def break_here(self, frame: FrameType) -> bool: ...\n def do_clear(self, arg: Any) -> bool | None: ...\n def break_anywhere(self, frame: FrameType) -> bool: ...\n def user_call(self, frame: FrameType, argument_list: None) -> None: ...\n def user_line(self, frame: FrameType) -> None: ...\n def user_return(self, frame: FrameType, return_value: Any) -> None: ...\n def user_exception(self, frame: FrameType, exc_info: ExcInfo) -> None: ...\n def set_until(self, frame: FrameType, lineno: int | None = None) -> None: ...\n def set_step(self) -> None: ...\n def set_next(self, frame: FrameType) -> None: ...\n def set_return(self, frame: FrameType) -> None: ...\n def set_trace(self, frame: FrameType | None = None) -> None: ...\n def set_continue(self) -> None: ...\n def set_quit(self) -> None: ...\n def set_break(\n self, filename: str, lineno: int, temporary: bool = False, cond: str | None = None, funcname: str | None = None\n ) -> None: ...\n def clear_break(self, filename: str, lineno: int) -> None: ...\n def clear_bpbynumber(self, arg: SupportsInt) -> None: ...\n def clear_all_file_breaks(self, filename: str) -> None: ...\n def clear_all_breaks(self) -> None: ...\n def get_bpbynumber(self, arg: SupportsInt) -> Breakpoint: ...\n def get_break(self, filename: str, lineno: int) -> bool: ...\n def get_breaks(self, filename: str, lineno: int) -> list[Breakpoint]: ...\n def get_file_breaks(self, filename: str) -> list[Breakpoint]: ...\n def get_all_breaks(self) -> list[Breakpoint]: ...\n def get_stack(self, f: FrameType | None, t: TracebackType | None) -> tuple[list[tuple[FrameType, int]], int]: ...\n def format_stack_entry(self, frame_lineno: int, lprefix: str = \": \") -> str: ...\n def run(\n self, cmd: str | CodeType, globals: dict[str, Any] | None = None, locals: Mapping[str, Any] | None = None\n ) -> None: ...\n def runeval(self, expr: str, globals: dict[str, Any] | None = None, locals: Mapping[str, Any] | None = None) -> None: ...\n def runctx(self, cmd: str | CodeType, globals: dict[str, Any] | None, locals: Mapping[str, Any] | None) -> None: ...\n def runcall(self, __func: Callable[_P, _T], *args: _P.args, **kwds: _P.kwargs) -> _T | None: ...\n\nclass Breakpoint:\n next: int\n bplist: dict[tuple[str, int], list[Breakpoint]]\n bpbynumber: list[Breakpoint | None]\n\n funcname: str | None\n func_first_executable_line: int | None\n file: str\n line: int\n temporary: bool\n cond: str | None\n enabled: bool\n ignore: int\n hits: int\n number: int\n def __init__(\n self, file: str, line: int, temporary: bool = False, cond: str | None = None, funcname: str | None = None\n ) -> None: ...\n if sys.version_info >= (3, 11):\n @staticmethod\n def clearBreakpoints() -> None: ...\n\n def deleteMe(self) -> None: ...\n def enable(self) -> None: ...\n def disable(self) -> None: ...\n def bpprint(self, out: IO[str] | None = None) -> None: ...\n def bpformat(self) -> str: ...\n\ndef checkfuncname(b: Breakpoint, frame: FrameType) -> bool: ...\ndef effective(file: str, line: int, frame: FrameType) -> tuple[Breakpoint, bool] | tuple[None, None]: ...\ndef set_trace() -> None: ...\n", + "/typeshed/stdlib/binascii.pyi": "import sys\nfrom _typeshed import ReadableBuffer\nfrom typing_extensions import TypeAlias\n\n# Many functions in binascii accept buffer objects\n# or ASCII-only strings.\n_AsciiBuffer: TypeAlias = str | ReadableBuffer\n\ndef a2b_uu(__data: _AsciiBuffer) -> bytes: ...\ndef b2a_uu(__data: ReadableBuffer, *, backtick: bool = False) -> bytes: ...\n\nif sys.version_info >= (3, 11):\n def a2b_base64(__data: _AsciiBuffer, *, strict_mode: bool = False) -> bytes: ...\n\nelse:\n def a2b_base64(__data: _AsciiBuffer) -> bytes: ...\n\ndef b2a_base64(__data: ReadableBuffer, *, newline: bool = True) -> bytes: ...\ndef a2b_qp(data: _AsciiBuffer, header: bool = False) -> bytes: ...\ndef b2a_qp(data: ReadableBuffer, quotetabs: bool = False, istext: bool = True, header: bool = False) -> bytes: ...\n\nif sys.version_info < (3, 11):\n def a2b_hqx(__data: _AsciiBuffer) -> bytes: ...\n def rledecode_hqx(__data: ReadableBuffer) -> bytes: ...\n def rlecode_hqx(__data: ReadableBuffer) -> bytes: ...\n def b2a_hqx(__data: ReadableBuffer) -> bytes: ...\n\ndef crc_hqx(__data: ReadableBuffer, __crc: int) -> int: ...\ndef crc32(__data: ReadableBuffer, __crc: int = 0) -> int: ...\n\nif sys.version_info >= (3, 8):\n # sep must be str or bytes, not bytearray or any other buffer\n def b2a_hex(data: ReadableBuffer, sep: str | bytes = ..., bytes_per_sep: int = ...) -> bytes: ...\n def hexlify(data: ReadableBuffer, sep: str | bytes = ..., bytes_per_sep: int = ...) -> bytes: ...\n\nelse:\n def b2a_hex(__data: ReadableBuffer) -> bytes: ...\n def hexlify(__data: ReadableBuffer) -> bytes: ...\n\ndef a2b_hex(__hexstr: _AsciiBuffer) -> bytes: ...\ndef unhexlify(__hexstr: _AsciiBuffer) -> bytes: ...\n\nclass Error(ValueError): ...\nclass Incomplete(Exception): ...\n", + "/typeshed/stdlib/binhex.pyi": "from _typeshed import SizedBuffer\nfrom typing import IO, Any\nfrom typing_extensions import Literal, TypeAlias\n\n__all__ = [\"binhex\", \"hexbin\", \"Error\"]\n\nclass Error(Exception): ...\n\nREASONABLY_LARGE: Literal[32768]\nLINELEN: Literal[64]\nRUNCHAR: Literal[b\"\\x90\"]\n\nclass FInfo:\n Type: str\n Creator: str\n Flags: int\n\n_FileInfoTuple: TypeAlias = tuple[str, FInfo, int, int]\n_FileHandleUnion: TypeAlias = str | IO[bytes]\n\ndef getfileinfo(name: str) -> _FileInfoTuple: ...\n\nclass openrsrc:\n def __init__(self, *args: Any) -> None: ...\n def read(self, *args: Any) -> bytes: ...\n def write(self, *args: Any) -> None: ...\n def close(self) -> None: ...\n\nclass BinHex:\n def __init__(self, name_finfo_dlen_rlen: _FileInfoTuple, ofp: _FileHandleUnion) -> None: ...\n def write(self, data: SizedBuffer) -> None: ...\n def close_data(self) -> None: ...\n def write_rsrc(self, data: SizedBuffer) -> None: ...\n def close(self) -> None: ...\n\ndef binhex(inp: str, out: str) -> None: ...\n\nclass HexBin:\n def __init__(self, ifp: _FileHandleUnion) -> None: ...\n def read(self, *n: int) -> bytes: ...\n def close_data(self) -> None: ...\n def read_rsrc(self, *n: int) -> bytes: ...\n def close(self) -> None: ...\n\ndef hexbin(inp: str, out: str) -> None: ...\n", + "/typeshed/stdlib/bisect.pyi": "from _bisect import *\n\nbisect = bisect_right\ninsort = insort_right\n", + "/typeshed/stdlib/builtins.pyi": "import _ast\nimport _typeshed\nimport sys\nimport types\nfrom _collections_abc import dict_items, dict_keys, dict_values\nfrom _typeshed import (\n AnyStr_co,\n ConvertibleToFloat,\n ConvertibleToInt,\n FileDescriptorOrPath,\n OpenBinaryMode,\n OpenBinaryModeReading,\n OpenBinaryModeUpdating,\n OpenBinaryModeWriting,\n OpenTextMode,\n ReadableBuffer,\n SupportsAdd,\n SupportsAiter,\n SupportsAnext,\n SupportsDivMod,\n SupportsIter,\n SupportsKeysAndGetItem,\n SupportsLenAndGetItem,\n SupportsNext,\n SupportsRAdd,\n SupportsRDivMod,\n SupportsRichComparison,\n SupportsRichComparisonT,\n SupportsWrite,\n)\nfrom collections.abc import Awaitable, Callable, Iterable, Iterator, MutableSet, Reversible, Set as AbstractSet, Sized\nfrom io import BufferedRandom, BufferedReader, BufferedWriter, FileIO, TextIOWrapper\nfrom types import CodeType, TracebackType, _Cell\n\n# mypy crashes if any of {ByteString, Sequence, MutableSequence, Mapping, MutableMapping} are imported from collections.abc in builtins.pyi\nfrom typing import ( # noqa: Y022\n IO,\n Any,\n BinaryIO,\n ClassVar,\n Generic,\n Mapping,\n MutableMapping,\n MutableSequence,\n NoReturn,\n Protocol,\n Sequence,\n SupportsAbs,\n SupportsBytes,\n SupportsComplex,\n SupportsFloat,\n TypeVar,\n overload,\n type_check_only,\n)\nfrom typing_extensions import (\n Concatenate,\n Literal,\n LiteralString,\n ParamSpec,\n Self,\n SupportsIndex,\n TypeAlias,\n TypeGuard,\n TypeVarTuple,\n final,\n)\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n_R_co = TypeVar(\"_R_co\", covariant=True)\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_S = TypeVar(\"_S\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_SupportsNextT = TypeVar(\"_SupportsNextT\", bound=SupportsNext[Any], covariant=True)\n_SupportsAnextT = TypeVar(\"_SupportsAnextT\", bound=SupportsAnext[Any], covariant=True)\n_AwaitableT = TypeVar(\"_AwaitableT\", bound=Awaitable[Any])\n_AwaitableT_co = TypeVar(\"_AwaitableT_co\", bound=Awaitable[Any], covariant=True)\n_P = ParamSpec(\"_P\")\n\nclass object:\n __doc__: str | None\n __dict__: dict[str, Any]\n __module__: str\n __annotations__: dict[str, Any]\n @property\n def __class__(self) -> type[Self]: ...\n # Ignore errors about type mismatch between property getter and setter\n @__class__.setter\n def __class__(self, __type: type[object]) -> None: ... # noqa: F811\n def __init__(self) -> None: ...\n def __new__(cls) -> Self: ...\n # N.B. `object.__setattr__` and `object.__delattr__` are heavily special-cased by type checkers.\n # Overriding them in subclasses has different semantics, even if the override has an identical signature.\n def __setattr__(self, __name: str, __value: Any) -> None: ...\n def __delattr__(self, __name: str) -> None: ...\n def __eq__(self, __value: object) -> bool: ...\n def __ne__(self, __value: object) -> bool: ...\n def __str__(self) -> str: ... # noqa: Y029\n def __repr__(self) -> str: ... # noqa: Y029\n def __hash__(self) -> int: ...\n def __format__(self, __format_spec: str) -> str: ...\n def __getattribute__(self, __name: str) -> Any: ...\n def __sizeof__(self) -> int: ...\n # return type of pickle methods is rather hard to express in the current type system\n # see #6661 and https://docs.python.org/3/library/pickle.html#object.__reduce__\n def __reduce__(self) -> str | tuple[Any, ...]: ...\n if sys.version_info >= (3, 8):\n def __reduce_ex__(self, __protocol: SupportsIndex) -> str | tuple[Any, ...]: ...\n else:\n def __reduce_ex__(self, __protocol: int) -> str | tuple[Any, ...]: ...\n if sys.version_info >= (3, 11):\n def __getstate__(self) -> object: ...\n\n def __dir__(self) -> Iterable[str]: ...\n def __init_subclass__(cls) -> None: ...\n @classmethod\n def __subclasshook__(cls, __subclass: type) -> bool: ...\n\nclass staticmethod(Generic[_P, _R_co]):\n @property\n def __func__(self) -> Callable[_P, _R_co]: ...\n @property\n def __isabstractmethod__(self) -> bool: ...\n def __init__(self, __f: Callable[_P, _R_co]) -> None: ...\n @overload\n def __get__(self, __instance: None, __owner: type) -> Callable[_P, _R_co]: ...\n @overload\n def __get__(self, __instance: _T, __owner: type[_T] | None = None) -> Callable[_P, _R_co]: ...\n if sys.version_info >= (3, 10):\n __name__: str\n __qualname__: str\n @property\n def __wrapped__(self) -> Callable[_P, _R_co]: ...\n def __call__(self, *args: _P.args, **kwargs: _P.kwargs) -> _R_co: ...\n\nclass classmethod(Generic[_T, _P, _R_co]):\n @property\n def __func__(self) -> Callable[Concatenate[type[_T], _P], _R_co]: ...\n @property\n def __isabstractmethod__(self) -> bool: ...\n def __init__(self, __f: Callable[Concatenate[type[_T], _P], _R_co]) -> None: ...\n @overload\n def __get__(self, __instance: _T, __owner: type[_T] | None = None) -> Callable[_P, _R_co]: ...\n @overload\n def __get__(self, __instance: None, __owner: type[_T]) -> Callable[_P, _R_co]: ...\n if sys.version_info >= (3, 10):\n __name__: str\n __qualname__: str\n @property\n def __wrapped__(self) -> Callable[Concatenate[type[_T], _P], _R_co]: ...\n\nclass type:\n @property\n def __base__(self) -> type: ...\n __bases__: tuple[type, ...]\n @property\n def __basicsize__(self) -> int: ...\n @property\n def __dict__(self) -> types.MappingProxyType[str, Any]: ... # type: ignore[override]\n @property\n def __dictoffset__(self) -> int: ...\n @property\n def __flags__(self) -> int: ...\n @property\n def __itemsize__(self) -> int: ...\n __module__: str\n @property\n def __mro__(self) -> tuple[type, ...]: ...\n __name__: str\n __qualname__: str\n @property\n def __text_signature__(self) -> str | None: ...\n @property\n def __weakrefoffset__(self) -> int: ...\n @overload\n def __init__(self, __o: object) -> None: ...\n @overload\n def __init__(self, __name: str, __bases: tuple[type, ...], __dict: dict[str, Any], **kwds: Any) -> None: ...\n @overload\n def __new__(cls, __o: object) -> type: ...\n @overload\n def __new__(\n cls: type[_typeshed.Self], __name: str, __bases: tuple[type, ...], __namespace: dict[str, Any], **kwds: Any\n ) -> _typeshed.Self: ...\n def __call__(self, *args: Any, **kwds: Any) -> Any: ...\n def __subclasses__(self: _typeshed.Self) -> list[_typeshed.Self]: ...\n # Note: the documentation doesn't specify what the return type is, the standard\n # implementation seems to be returning a list.\n def mro(self) -> list[type]: ...\n def __instancecheck__(self, __instance: Any) -> bool: ...\n def __subclasscheck__(self, __subclass: type) -> bool: ...\n @classmethod\n def __prepare__(metacls, __name: str, __bases: tuple[type, ...], **kwds: Any) -> Mapping[str, object]: ...\n if sys.version_info >= (3, 10):\n def __or__(self, __value: Any) -> types.UnionType: ...\n def __ror__(self, __value: Any) -> types.UnionType: ...\n if sys.version_info >= (3, 12):\n __type_params__: tuple[TypeVar | ParamSpec | TypeVarTuple, ...]\n\nclass super:\n @overload\n def __init__(self, __t: Any, __obj: Any) -> None: ...\n @overload\n def __init__(self, __t: Any) -> None: ...\n @overload\n def __init__(self) -> None: ...\n\n_PositiveInteger: TypeAlias = Literal[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]\n_NegativeInteger: TypeAlias = Literal[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20]\n_LiteralInteger = _PositiveInteger | _NegativeInteger | Literal[0] # noqa: Y026 # TODO: Use TypeAlias once mypy bugs are fixed\n\nclass int:\n @overload\n def __new__(cls, __x: ConvertibleToInt = ...) -> Self: ...\n @overload\n def __new__(cls, __x: str | bytes | bytearray, base: SupportsIndex) -> Self: ...\n if sys.version_info >= (3, 8):\n def as_integer_ratio(self) -> tuple[int, Literal[1]]: ...\n\n @property\n def real(self) -> int: ...\n @property\n def imag(self) -> Literal[0]: ...\n @property\n def numerator(self) -> int: ...\n @property\n def denominator(self) -> Literal[1]: ...\n def conjugate(self) -> int: ...\n def bit_length(self) -> int: ...\n if sys.version_info >= (3, 10):\n def bit_count(self) -> int: ...\n\n if sys.version_info >= (3, 11):\n def to_bytes(\n self, length: SupportsIndex = 1, byteorder: Literal[\"little\", \"big\"] = \"big\", *, signed: bool = False\n ) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes | ReadableBuffer,\n byteorder: Literal[\"little\", \"big\"] = \"big\",\n *,\n signed: bool = False,\n ) -> Self: ...\n else:\n def to_bytes(self, length: SupportsIndex, byteorder: Literal[\"little\", \"big\"], *, signed: bool = False) -> bytes: ...\n @classmethod\n def from_bytes(\n cls,\n bytes: Iterable[SupportsIndex] | SupportsBytes | ReadableBuffer,\n byteorder: Literal[\"little\", \"big\"],\n *,\n signed: bool = False,\n ) -> Self: ...\n\n if sys.version_info >= (3, 12):\n def is_integer(self) -> Literal[True]: ...\n\n def __add__(self, __value: int) -> int: ...\n def __sub__(self, __value: int) -> int: ...\n def __mul__(self, __value: int) -> int: ...\n def __floordiv__(self, __value: int) -> int: ...\n def __truediv__(self, __value: int) -> float: ...\n def __mod__(self, __value: int) -> int: ...\n def __divmod__(self, __value: int) -> tuple[int, int]: ...\n def __radd__(self, __value: int) -> int: ...\n def __rsub__(self, __value: int) -> int: ...\n def __rmul__(self, __value: int) -> int: ...\n def __rfloordiv__(self, __value: int) -> int: ...\n def __rtruediv__(self, __value: int) -> float: ...\n def __rmod__(self, __value: int) -> int: ...\n def __rdivmod__(self, __value: int) -> tuple[int, int]: ...\n @overload\n def __pow__(self, __x: Literal[0]) -> Literal[1]: ...\n @overload\n def __pow__(self, __value: Literal[0], __mod: None) -> Literal[1]: ...\n @overload\n def __pow__(self, __value: _PositiveInteger, __mod: None = None) -> int: ...\n @overload\n def __pow__(self, __value: _NegativeInteger, __mod: None = None) -> float: ...\n # positive __value -> int; negative __value -> float\n # return type must be Any as `int | float` causes too many false-positive errors\n @overload\n def __pow__(self, __value: int, __mod: None = None) -> Any: ...\n @overload\n def __pow__(self, __value: int, __mod: int) -> int: ...\n def __rpow__(self, __value: int, __mod: int | None = None) -> Any: ...\n def __and__(self, __value: int) -> int: ...\n def __or__(self, __value: int) -> int: ...\n def __xor__(self, __value: int) -> int: ...\n def __lshift__(self, __value: int) -> int: ...\n def __rshift__(self, __value: int) -> int: ...\n def __rand__(self, __value: int) -> int: ...\n def __ror__(self, __value: int) -> int: ...\n def __rxor__(self, __value: int) -> int: ...\n def __rlshift__(self, __value: int) -> int: ...\n def __rrshift__(self, __value: int) -> int: ...\n def __neg__(self) -> int: ...\n def __pos__(self) -> int: ...\n def __invert__(self) -> int: ...\n def __trunc__(self) -> int: ...\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n def __round__(self, __ndigits: SupportsIndex = ...) -> int: ...\n def __getnewargs__(self) -> tuple[int]: ...\n def __eq__(self, __value: object) -> bool: ...\n def __ne__(self, __value: object) -> bool: ...\n def __lt__(self, __value: int) -> bool: ...\n def __le__(self, __value: int) -> bool: ...\n def __gt__(self, __value: int) -> bool: ...\n def __ge__(self, __value: int) -> bool: ...\n def __float__(self) -> float: ...\n def __int__(self) -> int: ...\n def __abs__(self) -> int: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n def __index__(self) -> int: ...\n\nclass float:\n def __new__(cls, __x: ConvertibleToFloat = ...) -> Self: ...\n def as_integer_ratio(self) -> tuple[int, int]: ...\n def hex(self) -> str: ...\n def is_integer(self) -> bool: ...\n @classmethod\n def fromhex(cls, __string: str) -> Self: ...\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def conjugate(self) -> float: ...\n def __add__(self, __value: float) -> float: ...\n def __sub__(self, __value: float) -> float: ...\n def __mul__(self, __value: float) -> float: ...\n def __floordiv__(self, __value: float) -> float: ...\n def __truediv__(self, __value: float) -> float: ...\n def __mod__(self, __value: float) -> float: ...\n def __divmod__(self, __value: float) -> tuple[float, float]: ...\n @overload\n def __pow__(self, __value: int, __mod: None = None) -> float: ...\n # positive __value -> float; negative __value -> complex\n # return type must be Any as `float | complex` causes too many false-positive errors\n @overload\n def __pow__(self, __value: float, __mod: None = None) -> Any: ...\n def __radd__(self, __value: float) -> float: ...\n def __rsub__(self, __value: float) -> float: ...\n def __rmul__(self, __value: float) -> float: ...\n def __rfloordiv__(self, __value: float) -> float: ...\n def __rtruediv__(self, __value: float) -> float: ...\n def __rmod__(self, __value: float) -> float: ...\n def __rdivmod__(self, __value: float) -> tuple[float, float]: ...\n @overload\n def __rpow__(self, __value: _PositiveInteger, __mod: None = None) -> float: ...\n @overload\n def __rpow__(self, __value: _NegativeInteger, __mod: None = None) -> complex: ...\n # Returning `complex` for the general case gives too many false-positive errors.\n @overload\n def __rpow__(self, __value: float, __mod: None = None) -> Any: ...\n def __getnewargs__(self) -> tuple[float]: ...\n def __trunc__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __ceil__(self) -> int: ...\n def __floor__(self) -> int: ...\n\n @overload\n def __round__(self, __ndigits: None = None) -> int: ...\n @overload\n def __round__(self, __ndigits: SupportsIndex) -> float: ...\n def __eq__(self, __value: object) -> bool: ...\n def __ne__(self, __value: object) -> bool: ...\n def __lt__(self, __value: float) -> bool: ...\n def __le__(self, __value: float) -> bool: ...\n def __gt__(self, __value: float) -> bool: ...\n def __ge__(self, __value: float) -> bool: ...\n def __neg__(self) -> float: ...\n def __pos__(self) -> float: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n\nclass complex:\n if sys.version_info >= (3, 8):\n # Python doesn't currently accept SupportsComplex for the second argument\n @overload\n def __new__(\n cls,\n real: complex | SupportsComplex | SupportsFloat | SupportsIndex = ...,\n imag: complex | SupportsFloat | SupportsIndex = ...,\n ) -> Self: ...\n @overload\n def __new__(cls, real: str | SupportsComplex | SupportsFloat | SupportsIndex | complex) -> Self: ...\n else:\n @overload\n def __new__(cls, real: complex | SupportsComplex | SupportsFloat = ..., imag: complex | SupportsFloat = ...) -> Self: ...\n @overload\n def __new__(cls, real: str | SupportsComplex | SupportsFloat | complex) -> Self: ...\n\n @property\n def real(self) -> float: ...\n @property\n def imag(self) -> float: ...\n def conjugate(self) -> complex: ...\n def __add__(self, __value: complex) -> complex: ...\n def __sub__(self, __value: complex) -> complex: ...\n def __mul__(self, __value: complex) -> complex: ...\n def __pow__(self, __value: complex, __mod: None = None) -> complex: ...\n def __truediv__(self, __value: complex) -> complex: ...\n def __radd__(self, __value: complex) -> complex: ...\n def __rsub__(self, __value: complex) -> complex: ...\n def __rmul__(self, __value: complex) -> complex: ...\n def __rpow__(self, __value: complex, __mod: None = None) -> complex: ...\n def __rtruediv__(self, __value: complex) -> complex: ...\n def __eq__(self, __value: object) -> bool: ...\n def __ne__(self, __value: object) -> bool: ...\n def __neg__(self) -> complex: ...\n def __pos__(self) -> complex: ...\n def __abs__(self) -> float: ...\n def __hash__(self) -> int: ...\n def __bool__(self) -> bool: ...\n if sys.version_info >= (3, 11):\n def __complex__(self) -> complex: ...\n\nclass _FormatMapMapping(Protocol):\n def __getitem__(self, __key: str) -> Any: ...\n\nclass _TranslateTable(Protocol):\n def __getitem__(self, __key: int) -> str | int | None: ...\n\nclass str(Sequence[str]):\n @overload\n def __new__(cls, object: object = ...) -> Self: ...\n @overload\n def __new__(cls, object: ReadableBuffer, encoding: str = ..., errors: str = ...) -> Self: ...\n @overload\n def capitalize(self: LiteralString) -> LiteralString: ...\n @overload\n def capitalize(self) -> str: ... # type: ignore[misc]\n @overload\n def casefold(self: LiteralString) -> LiteralString: ...\n @overload\n def casefold(self) -> str: ... # type: ignore[misc]\n @overload\n def center(self: LiteralString, __width: SupportsIndex, __fillchar: LiteralString = \" \") -> LiteralString: ...\n @overload\n def center(self, __width: SupportsIndex, __fillchar: str = \" \") -> str: ... # type: ignore[misc]\n def count(self, x: str, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...) -> int: ...\n def encode(self, encoding: str = \"utf-8\", errors: str = \"strict\") -> bytes: ...\n def endswith(\n self, __suffix: str | tuple[str, ...], __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...\n ) -> bool: ...\n if sys.version_info >= (3, 8):\n @overload\n def expandtabs(self: LiteralString, tabsize: SupportsIndex = 8) -> LiteralString: ...\n @overload\n def expandtabs(self, tabsize: SupportsIndex = 8) -> str: ... # type: ignore[misc]\n else:\n @overload\n def expandtabs(self: LiteralString, tabsize: int = 8) -> LiteralString: ...\n @overload\n def expandtabs(self, tabsize: int = 8) -> str: ... # type: ignore[misc]\n\n def find(self, __sub: str, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...) -> int: ...\n @overload\n def format(self: LiteralString, *args: LiteralString, **kwargs: LiteralString) -> LiteralString: ...\n @overload\n def format(self, *args: object, **kwargs: object) -> str: ...\n def format_map(self, map: _FormatMapMapping) -> str: ...\n def index(self, __sub: str, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...) -> int: ...\n def isalnum(self) -> bool: ...\n def isalpha(self) -> bool: ...\n def isascii(self) -> bool: ...\n def isdecimal(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def isidentifier(self) -> bool: ...\n def islower(self) -> bool: ...\n def isnumeric(self) -> bool: ...\n def isprintable(self) -> bool: ...\n def isspace(self) -> bool: ...\n def istitle(self) -> bool: ...\n def isupper(self) -> bool: ...\n @overload\n def join(self: LiteralString, __iterable: Iterable[LiteralString]) -> LiteralString: ...\n @overload\n def join(self, __iterable: Iterable[str]) -> str: ... # type: ignore[misc]\n @overload\n def ljust(self: LiteralString, __width: SupportsIndex, __fillchar: LiteralString = \" \") -> LiteralString: ...\n @overload\n def ljust(self, __width: SupportsIndex, __fillchar: str = \" \") -> str: ... # type: ignore[misc]\n @overload\n def lower(self: LiteralString) -> LiteralString: ...\n @overload\n def lower(self) -> str: ... # type: ignore[misc]\n @overload\n def lstrip(self: LiteralString, __chars: LiteralString | None = None) -> LiteralString: ...\n @overload\n def lstrip(self, __chars: str | None = None) -> str: ... # type: ignore[misc]\n @overload\n def partition(self: LiteralString, __sep: LiteralString) -> tuple[LiteralString, LiteralString, LiteralString]: ...\n @overload\n def partition(self, __sep: str) -> tuple[str, str, str]: ... # type: ignore[misc]\n @overload\n def replace(\n self: LiteralString, __old: LiteralString, __new: LiteralString, __count: SupportsIndex = -1\n ) -> LiteralString: ...\n @overload\n def replace(self, __old: str, __new: str, __count: SupportsIndex = -1) -> str: ... # type: ignore[misc]\n if sys.version_info >= (3, 9):\n @overload\n def removeprefix(self: LiteralString, __prefix: LiteralString) -> LiteralString: ...\n @overload\n def removeprefix(self, __prefix: str) -> str: ... # type: ignore[misc]\n @overload\n def removesuffix(self: LiteralString, __suffix: LiteralString) -> LiteralString: ...\n @overload\n def removesuffix(self, __suffix: str) -> str: ... # type: ignore[misc]\n\n def rfind(self, __sub: str, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...) -> int: ...\n def rindex(self, __sub: str, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...) -> int: ...\n @overload\n def rjust(self: LiteralString, __width: SupportsIndex, __fillchar: LiteralString = \" \") -> LiteralString: ...\n @overload\n def rjust(self, __width: SupportsIndex, __fillchar: str = \" \") -> str: ... # type: ignore[misc]\n @overload\n def rpartition(self: LiteralString, __sep: LiteralString) -> tuple[LiteralString, LiteralString, LiteralString]: ...\n @overload\n def rpartition(self, __sep: str) -> tuple[str, str, str]: ... # type: ignore[misc]\n @overload\n def rsplit(self: LiteralString, sep: LiteralString | None = None, maxsplit: SupportsIndex = -1) -> list[LiteralString]: ...\n @overload\n def rsplit(self, sep: str | None = None, maxsplit: SupportsIndex = -1) -> list[str]: ... # type: ignore[misc]\n @overload\n def rstrip(self: LiteralString, __chars: LiteralString | None = None) -> LiteralString: ...\n @overload\n def rstrip(self, __chars: str | None = None) -> str: ... # type: ignore[misc]\n @overload\n def split(self: LiteralString, sep: LiteralString | None = None, maxsplit: SupportsIndex = -1) -> list[LiteralString]: ...\n @overload\n def split(self, sep: str | None = None, maxsplit: SupportsIndex = -1) -> list[str]: ... # type: ignore[misc]\n @overload\n def splitlines(self: LiteralString, keepends: bool = False) -> list[LiteralString]: ...\n @overload\n def splitlines(self, keepends: bool = False) -> list[str]: ... # type: ignore[misc]\n def startswith(\n self, __prefix: str | tuple[str, ...], __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...\n ) -> bool: ...\n @overload\n def strip(self: LiteralString, __chars: LiteralString | None = None) -> LiteralString: ...\n @overload\n def strip(self, __chars: str | None = None) -> str: ... # type: ignore[misc]\n @overload\n def swapcase(self: LiteralString) -> LiteralString: ...\n @overload\n def swapcase(self) -> str: ... # type: ignore[misc]\n @overload\n def title(self: LiteralString) -> LiteralString: ...\n @overload\n def title(self) -> str: ... # type: ignore[misc]\n def translate(self, __table: _TranslateTable) -> str: ...\n @overload\n def upper(self: LiteralString) -> LiteralString: ...\n @overload\n def upper(self) -> str: ... # type: ignore[misc]\n @overload\n def zfill(self: LiteralString, __width: SupportsIndex) -> LiteralString: ...\n @overload\n def zfill(self, __width: SupportsIndex) -> str: ... # type: ignore[misc]\n @staticmethod\n @overload\n def maketrans(__x: dict[int, _T] | dict[str, _T] | dict[str | int, _T]) -> dict[int, _T]: ...\n @staticmethod\n @overload\n def maketrans(__x: str, __y: str) -> dict[int, int]: ...\n @staticmethod\n @overload\n def maketrans(__x: str, __y: str, __z: str) -> dict[int, int | None]: ...\n @overload\n def __add__(self: LiteralString, __value: LiteralString) -> LiteralString: ...\n @overload\n def __add__(self, __value: str) -> str: ... # type: ignore[misc]\n # Incompatible with Sequence.__contains__\n def __contains__(self, __key: str) -> bool: ... # type: ignore[override]\n def __eq__(self, __value: object) -> bool: ...\n def __ge__(self, __value: str) -> bool: ...\n def __getitem__(self, __key: SupportsIndex | slice) -> str: ...\n def __gt__(self, __value: str) -> bool: ...\n def __hash__(self) -> int: ...\n @overload\n def __iter__(self: LiteralString) -> Iterator[LiteralString]: ...\n @overload\n def __iter__(self) -> Iterator[str]: ... # type: ignore[misc]\n def __le__(self, __value: str) -> bool: ...\n def __len__(self) -> int: ...\n def __lt__(self, __value: str) -> bool: ...\n @overload\n def __mod__(self: LiteralString, __value: LiteralString | tuple[LiteralString, ...]) -> LiteralString: ...\n @overload\n def __mod__(self, __value: Any) -> str: ...\n @overload\n def __mul__(self: LiteralString, __value: SupportsIndex) -> LiteralString: ...\n @overload\n def __mul__(self, __value: SupportsIndex) -> str: ... # type: ignore[misc]\n def __ne__(self, __value: object) -> bool: ...\n @overload\n def __rmul__(self: LiteralString, __value: SupportsIndex) -> LiteralString: ...\n @overload\n def __rmul__(self, __value: SupportsIndex) -> str: ... # type: ignore[misc]\n def __getnewargs__(self) -> tuple[str]: ...\n\nclass bytes(Sequence[int]):\n @overload\n def __new__(cls, __o: Iterable[SupportsIndex] | SupportsIndex | SupportsBytes | ReadableBuffer) -> Self: ...\n @overload\n def __new__(cls, __string: str, encoding: str, errors: str = ...) -> Self: ...\n @overload\n def __new__(cls) -> Self: ...\n def capitalize(self) -> bytes: ...\n def center(self, __width: SupportsIndex, __fillchar: bytes = b\" \") -> bytes: ...\n def count(\n self, __sub: ReadableBuffer | SupportsIndex, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...\n ) -> int: ...\n def decode(self, encoding: str = \"utf-8\", errors: str = \"strict\") -> str: ...\n def endswith(\n self,\n __suffix: ReadableBuffer | tuple[ReadableBuffer, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n if sys.version_info >= (3, 8):\n def expandtabs(self, tabsize: SupportsIndex = 8) -> bytes: ...\n else:\n def expandtabs(self, tabsize: int = ...) -> bytes: ...\n\n def find(\n self, __sub: ReadableBuffer | SupportsIndex, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...\n ) -> int: ...\n if sys.version_info >= (3, 8):\n def hex(self, sep: str | bytes = ..., bytes_per_sep: SupportsIndex = ...) -> str: ...\n else:\n def hex(self) -> str: ...\n\n def index(\n self, __sub: ReadableBuffer | SupportsIndex, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...\n ) -> int: ...\n def isalnum(self) -> bool: ...\n def isalpha(self) -> bool: ...\n def isascii(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def istitle(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ReadableBuffer]) -> bytes: ...\n def ljust(self, __width: SupportsIndex, __fillchar: bytes | bytearray = b\" \") -> bytes: ...\n def lower(self) -> bytes: ...\n def lstrip(self, __bytes: ReadableBuffer | None = None) -> bytes: ...\n def partition(self, __sep: ReadableBuffer) -> tuple[bytes, bytes, bytes]: ...\n def replace(self, __old: ReadableBuffer, __new: ReadableBuffer, __count: SupportsIndex = -1) -> bytes: ...\n if sys.version_info >= (3, 9):\n def removeprefix(self, __prefix: ReadableBuffer) -> bytes: ...\n def removesuffix(self, __suffix: ReadableBuffer) -> bytes: ...\n\n def rfind(\n self, __sub: ReadableBuffer | SupportsIndex, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...\n ) -> int: ...\n def rindex(\n self, __sub: ReadableBuffer | SupportsIndex, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...\n ) -> int: ...\n def rjust(self, __width: SupportsIndex, __fillchar: bytes | bytearray = b\" \") -> bytes: ...\n def rpartition(self, __sep: ReadableBuffer) -> tuple[bytes, bytes, bytes]: ...\n def rsplit(self, sep: ReadableBuffer | None = None, maxsplit: SupportsIndex = -1) -> list[bytes]: ...\n def rstrip(self, __bytes: ReadableBuffer | None = None) -> bytes: ...\n def split(self, sep: ReadableBuffer | None = None, maxsplit: SupportsIndex = -1) -> list[bytes]: ...\n def splitlines(self, keepends: bool = False) -> list[bytes]: ...\n def startswith(\n self,\n __prefix: ReadableBuffer | tuple[ReadableBuffer, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: ReadableBuffer | None = None) -> bytes: ...\n def swapcase(self) -> bytes: ...\n def title(self) -> bytes: ...\n def translate(self, __table: ReadableBuffer | None, delete: bytes = b\"\") -> bytes: ...\n def upper(self) -> bytes: ...\n def zfill(self, __width: SupportsIndex) -> bytes: ...\n @classmethod\n def fromhex(cls, __string: str) -> Self: ...\n @staticmethod\n def maketrans(__frm: ReadableBuffer, __to: ReadableBuffer) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n def __hash__(self) -> int: ...\n @overload\n def __getitem__(self, __key: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, __key: slice) -> bytes: ...\n def __add__(self, __value: ReadableBuffer) -> bytes: ...\n def __mul__(self, __value: SupportsIndex) -> bytes: ...\n def __rmul__(self, __value: SupportsIndex) -> bytes: ...\n def __mod__(self, __value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, __key: SupportsIndex | ReadableBuffer) -> bool: ... # type: ignore[override]\n def __eq__(self, __value: object) -> bool: ...\n def __ne__(self, __value: object) -> bool: ...\n def __lt__(self, __value: bytes) -> bool: ...\n def __le__(self, __value: bytes) -> bool: ...\n def __gt__(self, __value: bytes) -> bool: ...\n def __ge__(self, __value: bytes) -> bool: ...\n def __getnewargs__(self) -> tuple[bytes]: ...\n if sys.version_info >= (3, 11):\n def __bytes__(self) -> bytes: ...\n\n def __buffer__(self, __flags: int) -> memoryview: ...\n\nclass bytearray(MutableSequence[int]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, __ints: Iterable[SupportsIndex] | SupportsIndex | ReadableBuffer) -> None: ...\n @overload\n def __init__(self, __string: str, encoding: str, errors: str = ...) -> None: ...\n def append(self, __item: SupportsIndex) -> None: ...\n def capitalize(self) -> bytearray: ...\n def center(self, __width: SupportsIndex, __fillchar: bytes = b\" \") -> bytearray: ...\n def count(\n self, __sub: ReadableBuffer | SupportsIndex, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...\n ) -> int: ...\n def copy(self) -> bytearray: ...\n def decode(self, encoding: str = \"utf-8\", errors: str = \"strict\") -> str: ...\n def endswith(\n self,\n __suffix: ReadableBuffer | tuple[ReadableBuffer, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n if sys.version_info >= (3, 8):\n def expandtabs(self, tabsize: SupportsIndex = 8) -> bytearray: ...\n else:\n def expandtabs(self, tabsize: int = ...) -> bytearray: ...\n\n def extend(self, __iterable_of_ints: Iterable[SupportsIndex]) -> None: ...\n def find(\n self, __sub: ReadableBuffer | SupportsIndex, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...\n ) -> int: ...\n if sys.version_info >= (3, 8):\n def hex(self, sep: str | bytes = ..., bytes_per_sep: SupportsIndex = ...) -> str: ...\n else:\n def hex(self) -> str: ...\n\n def index(\n self, __sub: ReadableBuffer | SupportsIndex, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...\n ) -> int: ...\n def insert(self, __index: SupportsIndex, __item: SupportsIndex) -> None: ...\n def isalnum(self) -> bool: ...\n def isalpha(self) -> bool: ...\n def isascii(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def islower(self) -> bool: ...\n def isspace(self) -> bool: ...\n def istitle(self) -> bool: ...\n def isupper(self) -> bool: ...\n def join(self, __iterable_of_bytes: Iterable[ReadableBuffer]) -> bytearray: ...\n def ljust(self, __width: SupportsIndex, __fillchar: bytes | bytearray = b\" \") -> bytearray: ...\n def lower(self) -> bytearray: ...\n def lstrip(self, __bytes: ReadableBuffer | None = None) -> bytearray: ...\n def partition(self, __sep: ReadableBuffer) -> tuple[bytearray, bytearray, bytearray]: ...\n def pop(self, __index: int = -1) -> int: ...\n def remove(self, __value: int) -> None: ...\n if sys.version_info >= (3, 9):\n def removeprefix(self, __prefix: ReadableBuffer) -> bytearray: ...\n def removesuffix(self, __suffix: ReadableBuffer) -> bytearray: ...\n\n def replace(self, __old: ReadableBuffer, __new: ReadableBuffer, __count: SupportsIndex = -1) -> bytearray: ...\n def rfind(\n self, __sub: ReadableBuffer | SupportsIndex, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...\n ) -> int: ...\n def rindex(\n self, __sub: ReadableBuffer | SupportsIndex, __start: SupportsIndex | None = ..., __end: SupportsIndex | None = ...\n ) -> int: ...\n def rjust(self, __width: SupportsIndex, __fillchar: bytes | bytearray = b\" \") -> bytearray: ...\n def rpartition(self, __sep: ReadableBuffer) -> tuple[bytearray, bytearray, bytearray]: ...\n def rsplit(self, sep: ReadableBuffer | None = None, maxsplit: SupportsIndex = -1) -> list[bytearray]: ...\n def rstrip(self, __bytes: ReadableBuffer | None = None) -> bytearray: ...\n def split(self, sep: ReadableBuffer | None = None, maxsplit: SupportsIndex = -1) -> list[bytearray]: ...\n def splitlines(self, keepends: bool = False) -> list[bytearray]: ...\n def startswith(\n self,\n __prefix: ReadableBuffer | tuple[ReadableBuffer, ...],\n __start: SupportsIndex | None = ...,\n __end: SupportsIndex | None = ...,\n ) -> bool: ...\n def strip(self, __bytes: ReadableBuffer | None = None) -> bytearray: ...\n def swapcase(self) -> bytearray: ...\n def title(self) -> bytearray: ...\n def translate(self, __table: ReadableBuffer | None, delete: bytes = b\"\") -> bytearray: ...\n def upper(self) -> bytearray: ...\n def zfill(self, __width: SupportsIndex) -> bytearray: ...\n @classmethod\n def fromhex(cls, __string: str) -> Self: ...\n @staticmethod\n def maketrans(__frm: ReadableBuffer, __to: ReadableBuffer) -> bytes: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[int]: ...\n __hash__: ClassVar[None] # type: ignore[assignment]\n @overload\n def __getitem__(self, __key: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, __key: slice) -> bytearray: ...\n @overload\n def __setitem__(self, __key: SupportsIndex, __value: SupportsIndex) -> None: ...\n @overload\n def __setitem__(self, __key: slice, __value: Iterable[SupportsIndex] | bytes) -> None: ...\n def __delitem__(self, __key: SupportsIndex | slice) -> None: ...\n def __add__(self, __value: ReadableBuffer) -> bytearray: ...\n # The superclass wants us to accept Iterable[int], but that fails at runtime.\n def __iadd__(self, __value: ReadableBuffer) -> Self: ... # type: ignore[override]\n def __mul__(self, __value: SupportsIndex) -> bytearray: ...\n def __rmul__(self, __value: SupportsIndex) -> bytearray: ...\n def __imul__(self, __value: SupportsIndex) -> Self: ...\n def __mod__(self, __value: Any) -> bytes: ...\n # Incompatible with Sequence.__contains__\n def __contains__(self, __key: SupportsIndex | ReadableBuffer) -> bool: ... # type: ignore[override]\n def __eq__(self, __value: object) -> bool: ...\n def __ne__(self, __value: object) -> bool: ...\n def __lt__(self, __value: ReadableBuffer) -> bool: ...\n def __le__(self, __value: ReadableBuffer) -> bool: ...\n def __gt__(self, __value: ReadableBuffer) -> bool: ...\n def __ge__(self, __value: ReadableBuffer) -> bool: ...\n def __alloc__(self) -> int: ...\n def __buffer__(self, __flags: int) -> memoryview: ...\n def __release_buffer__(self, __buffer: memoryview) -> None: ...\n\n@final\nclass memoryview(Sequence[int]):\n @property\n def format(self) -> str: ...\n @property\n def itemsize(self) -> int: ...\n @property\n def shape(self) -> tuple[int, ...] | None: ...\n @property\n def strides(self) -> tuple[int, ...] | None: ...\n @property\n def suboffsets(self) -> tuple[int, ...] | None: ...\n @property\n def readonly(self) -> bool: ...\n @property\n def ndim(self) -> int: ...\n @property\n def obj(self) -> ReadableBuffer: ...\n @property\n def c_contiguous(self) -> bool: ...\n @property\n def f_contiguous(self) -> bool: ...\n @property\n def contiguous(self) -> bool: ...\n @property\n def nbytes(self) -> int: ...\n def __new__(cls, obj: ReadableBuffer) -> Self: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, __exc_type: type[BaseException] | None, __exc_val: BaseException | None, __exc_tb: TracebackType | None\n ) -> None: ...\n def cast(self, format: str, shape: list[int] | tuple[int, ...] = ...) -> memoryview: ...\n @overload\n def __getitem__(self, __key: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, __key: slice) -> memoryview: ...\n def __contains__(self, __x: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n def __len__(self) -> int: ...\n def __eq__(self, __value: object) -> bool: ...\n def __hash__(self) -> int: ...\n @overload\n def __setitem__(self, __key: slice, __value: ReadableBuffer) -> None: ...\n @overload\n def __setitem__(self, __key: SupportsIndex, __value: SupportsIndex) -> None: ...\n if sys.version_info >= (3, 10):\n def tobytes(self, order: Literal[\"C\", \"F\", \"A\"] | None = \"C\") -> bytes: ...\n elif sys.version_info >= (3, 8):\n def tobytes(self, order: Literal[\"C\", \"F\", \"A\"] | None = None) -> bytes: ...\n else:\n def tobytes(self) -> bytes: ...\n\n def tolist(self) -> list[int]: ...\n if sys.version_info >= (3, 8):\n def toreadonly(self) -> memoryview: ...\n\n def release(self) -> None: ...\n if sys.version_info >= (3, 8):\n def hex(self, sep: str | bytes = ..., bytes_per_sep: SupportsIndex = ...) -> str: ...\n else:\n def hex(self) -> str: ...\n\n def __buffer__(self, __flags: int) -> memoryview: ...\n def __release_buffer__(self, __buffer: memoryview) -> None: ...\n\n@final\nclass bool(int):\n def __new__(cls, __o: object = ...) -> Self: ...\n # The following overloads could be represented more elegantly with a TypeVar(\"_B\", bool, int),\n # however mypy has a bug regarding TypeVar constraints (https://github.com/python/mypy/issues/11880).\n @overload\n def __and__(self, __value: bool) -> bool: ...\n @overload\n def __and__(self, __value: int) -> int: ...\n @overload\n def __or__(self, __value: bool) -> bool: ...\n @overload\n def __or__(self, __value: int) -> int: ...\n @overload\n def __xor__(self, __value: bool) -> bool: ...\n @overload\n def __xor__(self, __value: int) -> int: ...\n @overload\n def __rand__(self, __value: bool) -> bool: ...\n @overload\n def __rand__(self, __value: int) -> int: ...\n @overload\n def __ror__(self, __value: bool) -> bool: ...\n @overload\n def __ror__(self, __value: int) -> int: ...\n @overload\n def __rxor__(self, __value: bool) -> bool: ...\n @overload\n def __rxor__(self, __value: int) -> int: ...\n def __getnewargs__(self) -> tuple[int]: ...\n\n@final\nclass slice:\n @property\n def start(self) -> Any: ...\n @property\n def step(self) -> Any: ...\n @property\n def stop(self) -> Any: ...\n @overload\n def __new__(cls, __stop: Any) -> Self: ...\n @overload\n def __new__(cls, __start: Any, __stop: Any, __step: Any = ...) -> Self: ...\n def __eq__(self, __value: object) -> bool: ...\n __hash__: ClassVar[None] # type: ignore[assignment]\n def indices(self, __len: SupportsIndex) -> tuple[int, int, int]: ...\n\nclass tuple(Sequence[_T_co]):\n def __new__(cls, __iterable: Iterable[_T_co] = ...) -> Self: ...\n def __len__(self) -> int: ...\n def __contains__(self, __key: object) -> bool: ...\n @overload\n def __getitem__(self, __key: SupportsIndex) -> _T_co: ...\n @overload\n def __getitem__(self, __key: slice) -> tuple[_T_co, ...]: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __lt__(self, __value: tuple[_T_co, ...]) -> bool: ...\n def __le__(self, __value: tuple[_T_co, ...]) -> bool: ...\n def __gt__(self, __value: tuple[_T_co, ...]) -> bool: ...\n def __ge__(self, __value: tuple[_T_co, ...]) -> bool: ...\n def __eq__(self, __value: object) -> bool: ...\n def __hash__(self) -> int: ...\n @overload\n def __add__(self, __value: tuple[_T_co, ...]) -> tuple[_T_co, ...]: ...\n @overload\n def __add__(self, __value: tuple[_T, ...]) -> tuple[_T_co | _T, ...]: ...\n def __mul__(self, __value: SupportsIndex) -> tuple[_T_co, ...]: ...\n def __rmul__(self, __value: SupportsIndex) -> tuple[_T_co, ...]: ...\n def count(self, __value: Any) -> int: ...\n def index(self, __value: Any, __start: SupportsIndex = 0, __stop: SupportsIndex = sys.maxsize) -> int: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, __item: Any) -> GenericAlias: ...\n\n# Doesn't exist at runtime, but deleting this breaks mypy. See #2999\n@final\n@type_check_only\nclass function:\n # Make sure this class definition stays roughly in line with `types.FunctionType`\n @property\n def __closure__(self) -> tuple[_Cell, ...] | None: ...\n __code__: CodeType\n __defaults__: tuple[Any, ...] | None\n __dict__: dict[str, Any]\n @property\n def __globals__(self) -> dict[str, Any]: ...\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n if sys.version_info >= (3, 10):\n @property\n def __builtins__(self) -> dict[str, Any]: ...\n if sys.version_info >= (3, 12):\n __type_params__: tuple[TypeVar | ParamSpec | TypeVarTuple, ...]\n\n __module__: str\n # mypy uses `builtins.function.__get__` to represent methods, properties, and getset_descriptors so we type the return as Any.\n def __get__(self, __instance: object, __owner: type | None = None) -> Any: ...\n\nclass list(MutableSequence[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, __iterable: Iterable[_T]) -> None: ...\n def copy(self) -> list[_T]: ...\n def append(self, __object: _T) -> None: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def pop(self, __index: SupportsIndex = -1) -> _T: ...\n # Signature of `list.index` should be kept in line with `collections.UserList.index()`\n # and multiprocessing.managers.ListProxy.index()\n def index(self, __value: _T, __start: SupportsIndex = 0, __stop: SupportsIndex = sys.maxsize) -> int: ...\n def count(self, __value: _T) -> int: ...\n def insert(self, __index: SupportsIndex, __object: _T) -> None: ...\n def remove(self, __value: _T) -> None: ...\n # Signature of `list.sort` should be kept inline with `collections.UserList.sort()`\n # and multiprocessing.managers.ListProxy.sort()\n #\n # Use list[SupportsRichComparisonT] for the first overload rather than [SupportsRichComparison]\n # to work around invariance\n @overload\n def sort(self: list[SupportsRichComparisonT], *, key: None = None, reverse: bool = False) -> None: ...\n @overload\n def sort(self, *, key: Callable[[_T], SupportsRichComparison], reverse: bool = False) -> None: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[_T]: ...\n __hash__: ClassVar[None] # type: ignore[assignment]\n @overload\n def __getitem__(self, __i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, __s: slice) -> list[_T]: ...\n @overload\n def __setitem__(self, __key: SupportsIndex, __value: _T) -> None: ...\n @overload\n def __setitem__(self, __key: slice, __value: Iterable[_T]) -> None: ...\n def __delitem__(self, __key: SupportsIndex | slice) -> None: ...\n # Overloading looks unnecessary, but is needed to work around complex mypy problems\n @overload\n def __add__(self, __value: list[_T]) -> list[_T]: ...\n @overload\n def __add__(self, __value: list[_S]) -> list[_S | _T]: ...\n def __iadd__(self, __value: Iterable[_T]) -> Self: ... # type: ignore[misc]\n def __mul__(self, __value: SupportsIndex) -> list[_T]: ...\n def __rmul__(self, __value: SupportsIndex) -> list[_T]: ...\n def __imul__(self, __value: SupportsIndex) -> Self: ...\n def __contains__(self, __key: object) -> bool: ...\n def __reversed__(self) -> Iterator[_T]: ...\n def __gt__(self, __value: list[_T]) -> bool: ...\n def __ge__(self, __value: list[_T]) -> bool: ...\n def __lt__(self, __value: list[_T]) -> bool: ...\n def __le__(self, __value: list[_T]) -> bool: ...\n def __eq__(self, __value: object) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, __item: Any) -> GenericAlias: ...\n\nclass dict(MutableMapping[_KT, _VT]):\n # __init__ should be kept roughly in line with `collections.UserDict.__init__`, which has similar semantics\n # Also multiprocessing.managers.SyncManager.dict()\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(self, __map: SupportsKeysAndGetItem[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], __map: SupportsKeysAndGetItem[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(self, __iterable: Iterable[tuple[_KT, _VT]]) -> None: ...\n @overload\n def __init__(self: dict[str, _VT], __iterable: Iterable[tuple[str, _VT]], **kwargs: _VT) -> None: ...\n # Next two overloads are for dict(string.split(sep) for string in iterable)\n # Cannot be Iterable[Sequence[_T]] or otherwise dict([\"foo\", \"bar\", \"baz\"]) is not an error\n @overload\n def __init__(self: dict[str, str], __iterable: Iterable[list[str]]) -> None: ...\n @overload\n def __init__(self: dict[bytes, bytes], __iterable: Iterable[list[bytes]]) -> None: ...\n def __new__(cls, *args: Any, **kwargs: Any) -> Self: ...\n def copy(self) -> dict[_KT, _VT]: ...\n def keys(self) -> dict_keys[_KT, _VT]: ...\n def values(self) -> dict_values[_KT, _VT]: ...\n def items(self) -> dict_items[_KT, _VT]: ...\n # Signature of `dict.fromkeys` should be kept identical to `fromkeys` methods of `OrderedDict`/`ChainMap`/`UserDict` in `collections`\n # TODO: the true signature of `dict.fromkeys` is not expressible in the current type system.\n # See #3800 & https://github.com/python/typing/issues/548#issuecomment-683336963.\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: None = None) -> dict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> dict[_T, _S]: ...\n # Positional-only in dict, but not in MutableMapping\n @overload # type: ignore[override]\n def get(self, __key: _KT) -> _VT | None: ...\n @overload\n def get(self, __key: _KT, __default: _VT) -> _VT: ...\n @overload\n def get(self, __key: _KT, __default: _T) -> _VT | _T: ...\n @overload\n def pop(self, __key: _KT) -> _VT: ...\n @overload\n def pop(self, __key: _KT, __default: _VT) -> _VT: ...\n @overload\n def pop(self, __key: _KT, __default: _T) -> _VT | _T: ...\n def __len__(self) -> int: ...\n def __getitem__(self, __key: _KT) -> _VT: ...\n def __setitem__(self, __key: _KT, __value: _VT) -> None: ...\n def __delitem__(self, __key: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __eq__(self, __value: object) -> bool: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT]: ...\n __hash__: ClassVar[None] # type: ignore[assignment]\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, __item: Any) -> GenericAlias: ...\n @overload\n def __or__(self, __value: dict[_KT, _VT]) -> dict[_KT, _VT]: ...\n @overload\n def __or__(self, __value: dict[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n @overload\n def __ror__(self, __value: dict[_KT, _VT]) -> dict[_KT, _VT]: ...\n @overload\n def __ror__(self, __value: dict[_T1, _T2]) -> dict[_KT | _T1, _VT | _T2]: ...\n # dict.__ior__ should be kept roughly in line with MutableMapping.update()\n @overload # type: ignore[misc]\n def __ior__(self, __value: SupportsKeysAndGetItem[_KT, _VT]) -> Self: ...\n @overload\n def __ior__(self, __value: Iterable[tuple[_KT, _VT]]) -> Self: ...\n\nclass set(MutableSet[_T]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self, __iterable: Iterable[_T]) -> None: ...\n def add(self, __element: _T) -> None: ...\n def copy(self) -> set[_T]: ...\n def difference(self, *s: Iterable[Any]) -> set[_T]: ...\n def difference_update(self, *s: Iterable[Any]) -> None: ...\n def discard(self, __element: _T) -> None: ...\n def intersection(self, *s: Iterable[Any]) -> set[_T]: ...\n def intersection_update(self, *s: Iterable[Any]) -> None: ...\n def isdisjoint(self, __s: Iterable[Any]) -> bool: ...\n def issubset(self, __s: Iterable[Any]) -> bool: ...\n def issuperset(self, __s: Iterable[Any]) -> bool: ...\n def remove(self, __element: _T) -> None: ...\n def symmetric_difference(self, __s: Iterable[_T]) -> set[_T]: ...\n def symmetric_difference_update(self, __s: Iterable[_T]) -> None: ...\n def union(self, *s: Iterable[_S]) -> set[_T | _S]: ...\n def update(self, *s: Iterable[_T]) -> None: ...\n def __len__(self) -> int: ...\n def __contains__(self, __o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T]: ...\n def __and__(self, __value: AbstractSet[object]) -> set[_T]: ...\n def __iand__(self, __value: AbstractSet[object]) -> Self: ...\n def __or__(self, __value: AbstractSet[_S]) -> set[_T | _S]: ...\n def __ior__(self, __value: AbstractSet[_T]) -> Self: ... # type: ignore[override,misc]\n def __sub__(self, __value: AbstractSet[_T | None]) -> set[_T]: ...\n def __isub__(self, __value: AbstractSet[object]) -> Self: ...\n def __xor__(self, __value: AbstractSet[_S]) -> set[_T | _S]: ...\n def __ixor__(self, __value: AbstractSet[_T]) -> Self: ... # type: ignore[override,misc]\n def __le__(self, __value: AbstractSet[object]) -> bool: ...\n def __lt__(self, __value: AbstractSet[object]) -> bool: ...\n def __ge__(self, __value: AbstractSet[object]) -> bool: ...\n def __gt__(self, __value: AbstractSet[object]) -> bool: ...\n def __eq__(self, __value: object) -> bool: ...\n __hash__: ClassVar[None] # type: ignore[assignment]\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, __item: Any) -> GenericAlias: ...\n\nclass frozenset(AbstractSet[_T_co]):\n @overload\n def __new__(cls) -> Self: ...\n @overload\n def __new__(cls, __iterable: Iterable[_T_co]) -> Self: ...\n def copy(self) -> frozenset[_T_co]: ...\n def difference(self, *s: Iterable[object]) -> frozenset[_T_co]: ...\n def intersection(self, *s: Iterable[object]) -> frozenset[_T_co]: ...\n def isdisjoint(self, __s: Iterable[_T_co]) -> bool: ...\n def issubset(self, __s: Iterable[object]) -> bool: ...\n def issuperset(self, __s: Iterable[object]) -> bool: ...\n def symmetric_difference(self, __s: Iterable[_T_co]) -> frozenset[_T_co]: ...\n def union(self, *s: Iterable[_S]) -> frozenset[_T_co | _S]: ...\n def __len__(self) -> int: ...\n def __contains__(self, __o: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __and__(self, __value: AbstractSet[_T_co]) -> frozenset[_T_co]: ...\n def __or__(self, __value: AbstractSet[_S]) -> frozenset[_T_co | _S]: ...\n def __sub__(self, __value: AbstractSet[_T_co]) -> frozenset[_T_co]: ...\n def __xor__(self, __value: AbstractSet[_S]) -> frozenset[_T_co | _S]: ...\n def __le__(self, __value: AbstractSet[object]) -> bool: ...\n def __lt__(self, __value: AbstractSet[object]) -> bool: ...\n def __ge__(self, __value: AbstractSet[object]) -> bool: ...\n def __gt__(self, __value: AbstractSet[object]) -> bool: ...\n def __eq__(self, __value: object) -> bool: ...\n def __hash__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, __item: Any) -> GenericAlias: ...\n\nclass enumerate(Iterator[tuple[int, _T]]):\n def __new__(cls, iterable: Iterable[_T], start: int = ...) -> Self: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> tuple[int, _T]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, __item: Any) -> GenericAlias: ...\n\n@final\nclass range(Sequence[int]):\n @property\n def start(self) -> int: ...\n @property\n def stop(self) -> int: ...\n @property\n def step(self) -> int: ...\n @overload\n def __new__(cls, __stop: SupportsIndex) -> Self: ...\n @overload\n def __new__(cls, __start: SupportsIndex, __stop: SupportsIndex, __step: SupportsIndex = ...) -> Self: ...\n def count(self, __value: int) -> int: ...\n def index(self, __value: int) -> int: ... # type: ignore[override]\n def __len__(self) -> int: ...\n def __eq__(self, __value: object) -> bool: ...\n def __hash__(self) -> int: ...\n def __contains__(self, __key: object) -> bool: ...\n def __iter__(self) -> Iterator[int]: ...\n @overload\n def __getitem__(self, __key: SupportsIndex) -> int: ...\n @overload\n def __getitem__(self, __key: slice) -> range: ...\n def __reversed__(self) -> Iterator[int]: ...\n\nclass property:\n fget: Callable[[Any], Any] | None\n fset: Callable[[Any, Any], None] | None\n fdel: Callable[[Any], None] | None\n __isabstractmethod__: bool\n def __init__(\n self,\n fget: Callable[[Any], Any] | None = ...,\n fset: Callable[[Any, Any], None] | None = ...,\n fdel: Callable[[Any], None] | None = ...,\n doc: str | None = ...,\n ) -> None: ...\n def getter(self, __fget: Callable[[Any], Any]) -> property: ...\n def setter(self, __fset: Callable[[Any, Any], None]) -> property: ...\n def deleter(self, __fdel: Callable[[Any], None]) -> property: ...\n def __get__(self, __instance: Any, __owner: type | None = None) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, __instance: Any) -> None: ...\n\n@final\nclass _NotImplementedType(Any):\n # A little weird, but typing the __call__ as NotImplemented makes the error message\n # for NotImplemented() much better\n __call__: NotImplemented # type: ignore[valid-type] # pyright: ignore[reportGeneralTypeIssues]\n\nNotImplemented: _NotImplementedType\n\ndef abs(__x: SupportsAbs[_T]) -> _T: ...\ndef all(__iterable: Iterable[object]) -> bool: ...\ndef any(__iterable: Iterable[object]) -> bool: ...\ndef ascii(__obj: object) -> str: ...\ndef bin(__number: int | SupportsIndex) -> str: ...\ndef breakpoint(*args: Any, **kws: Any) -> None: ...\ndef callable(__obj: object) -> TypeGuard[Callable[..., object]]: ...\ndef chr(__i: int) -> str: ...\n\n# We define this here instead of using os.PathLike to avoid import cycle issues.\n# See https://github.com/python/typeshed/pull/991#issuecomment-288160993\nclass _PathLike(Protocol[AnyStr_co]):\n def __fspath__(self) -> AnyStr_co: ...\n\nif sys.version_info >= (3, 10):\n def aiter(__async_iterable: SupportsAiter[_SupportsAnextT]) -> _SupportsAnextT: ...\n\n class _SupportsSynchronousAnext(Protocol[_AwaitableT_co]):\n def __anext__(self) -> _AwaitableT_co: ...\n\n @overload\n # `anext` is not, in fact, an async function. When default is not provided\n # `anext` is just a passthrough for `obj.__anext__`\n # See discussion in #7491 and pure-Python implementation of `anext` at https://github.com/python/cpython/blob/ea786a882b9ed4261eafabad6011bc7ef3b5bf94/Lib/test/test_asyncgen.py#L52-L80\n def anext(__i: _SupportsSynchronousAnext[_AwaitableT]) -> _AwaitableT: ...\n @overload\n async def anext(__i: SupportsAnext[_T], default: _VT) -> _T | _VT: ...\n\n# compile() returns a CodeType, unless the flags argument includes PyCF_ONLY_AST (=1024),\n# in which case it returns ast.AST. We have overloads for flag 0 (the default) and for\n# explicitly passing PyCF_ONLY_AST. We fall back to Any for other values of flags.\nif sys.version_info >= (3, 8):\n @overload\n def compile(\n source: str | ReadableBuffer | _ast.Module | _ast.Expression | _ast.Interactive,\n filename: str | ReadableBuffer | _PathLike[Any],\n mode: str,\n flags: Literal[0],\n dont_inherit: bool = False,\n optimize: int = -1,\n *,\n _feature_version: int = -1,\n ) -> CodeType: ...\n @overload\n def compile(\n source: str | ReadableBuffer | _ast.Module | _ast.Expression | _ast.Interactive,\n filename: str | ReadableBuffer | _PathLike[Any],\n mode: str,\n *,\n dont_inherit: bool = False,\n optimize: int = -1,\n _feature_version: int = -1,\n ) -> CodeType: ...\n @overload\n def compile(\n source: str | ReadableBuffer | _ast.Module | _ast.Expression | _ast.Interactive,\n filename: str | ReadableBuffer | _PathLike[Any],\n mode: str,\n flags: Literal[1024],\n dont_inherit: bool = False,\n optimize: int = -1,\n *,\n _feature_version: int = -1,\n ) -> _ast.AST: ...\n @overload\n def compile(\n source: str | ReadableBuffer | _ast.Module | _ast.Expression | _ast.Interactive,\n filename: str | ReadableBuffer | _PathLike[Any],\n mode: str,\n flags: int,\n dont_inherit: bool = False,\n optimize: int = -1,\n *,\n _feature_version: int = -1,\n ) -> Any: ...\n\nelse:\n @overload\n def compile(\n source: str | ReadableBuffer | _ast.Module | _ast.Expression | _ast.Interactive,\n filename: str | ReadableBuffer | _PathLike[Any],\n mode: str,\n flags: Literal[0],\n dont_inherit: bool = False,\n optimize: int = -1,\n ) -> CodeType: ...\n @overload\n def compile(\n source: str | ReadableBuffer | _ast.Module | _ast.Expression | _ast.Interactive,\n filename: str | ReadableBuffer | _PathLike[Any],\n mode: str,\n *,\n dont_inherit: bool = False,\n optimize: int = -1,\n ) -> CodeType: ...\n @overload\n def compile(\n source: str | ReadableBuffer | _ast.Module | _ast.Expression | _ast.Interactive,\n filename: str | ReadableBuffer | _PathLike[Any],\n mode: str,\n flags: Literal[1024],\n dont_inherit: bool = False,\n optimize: int = -1,\n ) -> _ast.AST: ...\n @overload\n def compile(\n source: str | ReadableBuffer | _ast.Module | _ast.Expression | _ast.Interactive,\n filename: str | ReadableBuffer | _PathLike[Any],\n mode: str,\n flags: int,\n dont_inherit: bool = False,\n optimize: int = -1,\n ) -> Any: ...\n\ndef copyright() -> None: ...\ndef credits() -> None: ...\ndef delattr(__obj: object, __name: str) -> None: ...\ndef dir(__o: object = ...) -> list[str]: ...\n@overload\ndef divmod(__x: SupportsDivMod[_T_contra, _T_co], __y: _T_contra) -> _T_co: ...\n@overload\ndef divmod(__x: _T_contra, __y: SupportsRDivMod[_T_contra, _T_co]) -> _T_co: ...\n\n# The `globals` argument to `eval` has to be `dict[str, Any]` rather than `dict[str, object]` due to invariance.\n# (The `globals` argument has to be a \"real dict\", rather than any old mapping, unlike the `locals` argument.)\ndef eval(\n __source: str | ReadableBuffer | CodeType,\n __globals: dict[str, Any] | None = None,\n __locals: Mapping[str, object] | None = None,\n) -> Any: ...\n\n# Comment above regarding `eval` applies to `exec` as well\nif sys.version_info >= (3, 11):\n def exec(\n __source: str | ReadableBuffer | CodeType,\n __globals: dict[str, Any] | None = None,\n __locals: Mapping[str, object] | None = None,\n *,\n closure: tuple[_Cell, ...] | None = None,\n ) -> None: ...\n\nelse:\n def exec(\n __source: str | ReadableBuffer | CodeType,\n __globals: dict[str, Any] | None = None,\n __locals: Mapping[str, object] | None = None,\n ) -> None: ...\n\ndef exit(code: sys._ExitCode = None) -> NoReturn: ...\n\nclass filter(Iterator[_T]):\n @overload\n def __new__(cls, __function: None, __iterable: Iterable[_T | None]) -> Self: ...\n @overload\n def __new__(cls, __function: Callable[[_S], TypeGuard[_T]], __iterable: Iterable[_S]) -> Self: ...\n @overload\n def __new__(cls, __function: Callable[[_T], Any], __iterable: Iterable[_T]) -> Self: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> _T: ...\n\ndef format(__value: object, __format_spec: str = \"\") -> str: ...\n@overload\ndef getattr(__o: object, __name: str) -> Any: ...\n\n# While technically covered by the last overload, spelling out the types for None, bool\n# and basic containers help mypy out in some tricky situations involving type context\n# (aka bidirectional inference)\n@overload\ndef getattr(__o: object, __name: str, __default: None) -> Any | None: ...\n@overload\ndef getattr(__o: object, __name: str, __default: bool) -> Any | bool: ...\n@overload\ndef getattr(__o: object, name: str, __default: list[Any]) -> Any | list[Any]: ...\n@overload\ndef getattr(__o: object, name: str, __default: dict[Any, Any]) -> Any | dict[Any, Any]: ...\n@overload\ndef getattr(__o: object, __name: str, __default: _T) -> Any | _T: ...\ndef globals() -> dict[str, Any]: ...\ndef hasattr(__obj: object, __name: str) -> bool: ...\ndef hash(__obj: object) -> int: ...\ndef help(request: object = ...) -> None: ...\ndef hex(__number: int | SupportsIndex) -> str: ...\ndef id(__obj: object) -> int: ...\ndef input(__prompt: object = \"\") -> str: ...\n\nclass _GetItemIterable(Protocol[_T_co]):\n def __getitem__(self, __i: int) -> _T_co: ...\n\n@overload\ndef iter(__iterable: SupportsIter[_SupportsNextT]) -> _SupportsNextT: ...\n@overload\ndef iter(__iterable: _GetItemIterable[_T]) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T | None], __sentinel: None) -> Iterator[_T]: ...\n@overload\ndef iter(__function: Callable[[], _T], __sentinel: object) -> Iterator[_T]: ...\n\n# Keep this alias in sync with unittest.case._ClassInfo\nif sys.version_info >= (3, 10):\n _ClassInfo: TypeAlias = type | types.UnionType | tuple[_ClassInfo, ...]\nelse:\n _ClassInfo: TypeAlias = type | tuple[_ClassInfo, ...]\n\ndef isinstance(__obj: object, __class_or_tuple: _ClassInfo) -> bool: ...\ndef issubclass(__cls: type, __class_or_tuple: _ClassInfo) -> bool: ...\ndef len(__obj: Sized) -> int: ...\ndef license() -> None: ...\ndef locals() -> dict[str, Any]: ...\n\nclass map(Iterator[_S]):\n @overload\n def __new__(cls, __func: Callable[[_T1], _S], __iter1: Iterable[_T1]) -> Self: ...\n @overload\n def __new__(cls, __func: Callable[[_T1, _T2], _S], __iter1: Iterable[_T1], __iter2: Iterable[_T2]) -> Self: ...\n @overload\n def __new__(\n cls, __func: Callable[[_T1, _T2, _T3], _S], __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> Self: ...\n @overload\n def __new__(\n cls,\n __func: Callable[[_T1, _T2, _T3, _T4], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n ) -> Self: ...\n @overload\n def __new__(\n cls,\n __func: Callable[[_T1, _T2, _T3, _T4, _T5], _S],\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> Self: ...\n @overload\n def __new__(\n cls,\n __func: Callable[..., _S],\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> Self: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> _S: ...\n\n@overload\ndef max(\n __arg1: SupportsRichComparisonT, __arg2: SupportsRichComparisonT, *_args: SupportsRichComparisonT, key: None = None\n) -> SupportsRichComparisonT: ...\n@overload\ndef max(__arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsRichComparison]) -> _T: ...\n@overload\ndef max(__iterable: Iterable[SupportsRichComparisonT], *, key: None = None) -> SupportsRichComparisonT: ...\n@overload\ndef max(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsRichComparison]) -> _T: ...\n@overload\ndef max(__iterable: Iterable[SupportsRichComparisonT], *, key: None = None, default: _T) -> SupportsRichComparisonT | _T: ...\n@overload\ndef max(__iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsRichComparison], default: _T2) -> _T1 | _T2: ...\n@overload\ndef min(\n __arg1: SupportsRichComparisonT, __arg2: SupportsRichComparisonT, *_args: SupportsRichComparisonT, key: None = None\n) -> SupportsRichComparisonT: ...\n@overload\ndef min(__arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], SupportsRichComparison]) -> _T: ...\n@overload\ndef min(__iterable: Iterable[SupportsRichComparisonT], *, key: None = None) -> SupportsRichComparisonT: ...\n@overload\ndef min(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsRichComparison]) -> _T: ...\n@overload\ndef min(__iterable: Iterable[SupportsRichComparisonT], *, key: None = None, default: _T) -> SupportsRichComparisonT | _T: ...\n@overload\ndef min(__iterable: Iterable[_T1], *, key: Callable[[_T1], SupportsRichComparison], default: _T2) -> _T1 | _T2: ...\n@overload\ndef next(__i: SupportsNext[_T]) -> _T: ...\n@overload\ndef next(__i: SupportsNext[_T], __default: _VT) -> _T | _VT: ...\ndef oct(__number: int | SupportsIndex) -> str: ...\n\n_Opener: TypeAlias = Callable[[str, int], int]\n\n# Text mode: always returns a TextIOWrapper\n@overload\ndef open(\n file: FileDescriptorOrPath,\n mode: OpenTextMode = \"r\",\n buffering: int = -1,\n encoding: str | None = None,\n errors: str | None = None,\n newline: str | None = None,\n closefd: bool = True,\n opener: _Opener | None = None,\n) -> TextIOWrapper: ...\n\n# Unbuffered binary mode: returns a FileIO\n@overload\ndef open(\n file: FileDescriptorOrPath,\n mode: OpenBinaryMode,\n buffering: Literal[0],\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n closefd: bool = True,\n opener: _Opener | None = None,\n) -> FileIO: ...\n\n# Buffering is on: return BufferedRandom, BufferedReader, or BufferedWriter\n@overload\ndef open(\n file: FileDescriptorOrPath,\n mode: OpenBinaryModeUpdating,\n buffering: Literal[-1, 1] = -1,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n closefd: bool = True,\n opener: _Opener | None = None,\n) -> BufferedRandom: ...\n@overload\ndef open(\n file: FileDescriptorOrPath,\n mode: OpenBinaryModeWriting,\n buffering: Literal[-1, 1] = -1,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n closefd: bool = True,\n opener: _Opener | None = None,\n) -> BufferedWriter: ...\n@overload\ndef open(\n file: FileDescriptorOrPath,\n mode: OpenBinaryModeReading,\n buffering: Literal[-1, 1] = -1,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n closefd: bool = True,\n opener: _Opener | None = None,\n) -> BufferedReader: ...\n\n# Buffering cannot be determined: fall back to BinaryIO\n@overload\ndef open(\n file: FileDescriptorOrPath,\n mode: OpenBinaryMode,\n buffering: int = -1,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n closefd: bool = True,\n opener: _Opener | None = None,\n) -> BinaryIO: ...\n\n# Fallback if mode is not specified\n@overload\ndef open(\n file: FileDescriptorOrPath,\n mode: str,\n buffering: int = -1,\n encoding: str | None = None,\n errors: str | None = None,\n newline: str | None = None,\n closefd: bool = True,\n opener: _Opener | None = None,\n) -> IO[Any]: ...\ndef ord(__c: str | bytes | bytearray) -> int: ...\n\nclass _SupportsWriteAndFlush(SupportsWrite[_T_contra], Protocol[_T_contra]):\n def flush(self) -> None: ...\n\n@overload\ndef print(\n *values: object,\n sep: str | None = \" \",\n end: str | None = \"\\n\",\n file: SupportsWrite[str] | None = None,\n flush: Literal[False] = False,\n) -> None: ...\n@overload\ndef print(\n *values: object, sep: str | None = \" \", end: str | None = \"\\n\", file: _SupportsWriteAndFlush[str] | None = None, flush: bool\n) -> None: ...\n\n_E = TypeVar(\"_E\", contravariant=True)\n_M = TypeVar(\"_M\", contravariant=True)\n\nclass _SupportsPow2(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E) -> _T_co: ...\n\nclass _SupportsPow3NoneOnly(Protocol[_E, _T_co]):\n def __pow__(self, __other: _E, __modulo: None = None) -> _T_co: ...\n\nclass _SupportsPow3(Protocol[_E, _M, _T_co]):\n def __pow__(self, __other: _E, __modulo: _M) -> _T_co: ...\n\n_SupportsSomeKindOfPow = ( # noqa: Y026 # TODO: Use TypeAlias once mypy bugs are fixed\n _SupportsPow2[Any, Any] | _SupportsPow3NoneOnly[Any, Any] | _SupportsPow3[Any, Any, Any]\n)\n\nif sys.version_info >= (3, 8):\n # TODO: `pow(int, int, Literal[0])` fails at runtime,\n # but adding a `NoReturn` overload isn't a good solution for expressing that (see #8566).\n @overload\n def pow(base: int, exp: int, mod: int) -> int: ...\n @overload\n def pow(base: int, exp: Literal[0], mod: None = None) -> Literal[1]: ...\n @overload\n def pow(base: int, exp: _PositiveInteger, mod: None = None) -> int: ...\n @overload\n def pow(base: int, exp: _NegativeInteger, mod: None = None) -> float: ...\n # int base & positive-int exp -> int; int base & negative-int exp -> float\n # return type must be Any as `int | float` causes too many false-positive errors\n @overload\n def pow(base: int, exp: int, mod: None = None) -> Any: ...\n @overload\n def pow(base: _PositiveInteger, exp: float, mod: None = None) -> float: ...\n @overload\n def pow(base: _NegativeInteger, exp: float, mod: None = None) -> complex: ...\n @overload\n def pow(base: float, exp: int, mod: None = None) -> float: ...\n # float base & float exp could return float or complex\n # return type must be Any (same as complex base, complex exp),\n # as `float | complex` causes too many false-positive errors\n @overload\n def pow(base: float, exp: complex | _SupportsSomeKindOfPow, mod: None = None) -> Any: ...\n @overload\n def pow(base: complex, exp: complex | _SupportsSomeKindOfPow, mod: None = None) -> complex: ...\n @overload\n def pow(base: _SupportsPow2[_E, _T_co], exp: _E, mod: None = None) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3NoneOnly[_E, _T_co], exp: _E, mod: None = None) -> _T_co: ...\n @overload\n def pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co: ...\n @overload\n def pow(base: _SupportsSomeKindOfPow, exp: float, mod: None = None) -> Any: ...\n @overload\n def pow(base: _SupportsSomeKindOfPow, exp: complex, mod: None = None) -> complex: ...\n\nelse:\n @overload\n def pow(__x: int, __y: int, __z: int) -> int: ...\n @overload\n def pow(__x: int, __y: Literal[0], __z: None = None) -> Literal[1]: ...\n @overload\n def pow(__x: int, __y: _PositiveInteger, __z: None = None) -> int: ...\n @overload\n def pow(__x: int, __y: _NegativeInteger, __z: None = None) -> float: ...\n @overload\n def pow(__x: int, __y: int, __z: None = None) -> Any: ...\n @overload\n def pow(__x: _PositiveInteger, __y: float, __z: None = None) -> float: ...\n @overload\n def pow(__x: _NegativeInteger, __y: float, __z: None = None) -> complex: ...\n @overload\n def pow(__x: float, __y: int, __z: None = None) -> float: ...\n @overload\n def pow(__x: float, __y: complex | _SupportsSomeKindOfPow, __z: None = None) -> Any: ...\n @overload\n def pow(__x: complex, __y: complex | _SupportsSomeKindOfPow, __z: None = None) -> complex: ...\n @overload\n def pow(__x: _SupportsPow2[_E, _T_co], __y: _E, __z: None = None) -> _T_co: ...\n @overload\n def pow(__x: _SupportsPow3NoneOnly[_E, _T_co], __y: _E, __z: None = None) -> _T_co: ...\n @overload\n def pow(__x: _SupportsPow3[_E, _M, _T_co], __y: _E, __z: _M) -> _T_co: ...\n @overload\n def pow(__x: _SupportsSomeKindOfPow, __y: float, __z: None = None) -> Any: ...\n @overload\n def pow(__x: _SupportsSomeKindOfPow, __y: complex, __z: None = None) -> complex: ...\n\ndef quit(code: sys._ExitCode = None) -> NoReturn: ...\n\nclass reversed(Iterator[_T]):\n @overload\n def __init__(self, __sequence: Reversible[_T]) -> None: ...\n @overload\n def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> _T: ...\n def __length_hint__(self) -> int: ...\n\ndef repr(__obj: object) -> str: ...\n\n# See https://github.com/python/typeshed/pull/9141\n# and https://github.com/python/typeshed/pull/9151\n# on why we don't use `SupportsRound` from `typing.pyi`\n\nclass _SupportsRound1(Protocol[_T_co]):\n def __round__(self) -> _T_co: ...\n\nclass _SupportsRound2(Protocol[_T_co]):\n def __round__(self, __ndigits: int) -> _T_co: ...\n\n@overload\ndef round(number: _SupportsRound1[_T], ndigits: None = None) -> _T: ...\n@overload\ndef round(number: _SupportsRound2[_T], ndigits: SupportsIndex) -> _T: ...\n\n# See https://github.com/python/typeshed/pull/6292#discussion_r748875189\n# for why arg 3 of `setattr` should be annotated with `Any` and not `object`\ndef setattr(__obj: object, __name: str, __value: Any) -> None: ...\n@overload\ndef sorted(\n __iterable: Iterable[SupportsRichComparisonT], *, key: None = None, reverse: bool = False\n) -> list[SupportsRichComparisonT]: ...\n@overload\ndef sorted(__iterable: Iterable[_T], *, key: Callable[[_T], SupportsRichComparison], reverse: bool = False) -> list[_T]: ...\n\n_AddableT1 = TypeVar(\"_AddableT1\", bound=SupportsAdd[Any, Any])\n_AddableT2 = TypeVar(\"_AddableT2\", bound=SupportsAdd[Any, Any])\n\nclass _SupportsSumWithNoDefaultGiven(SupportsAdd[Any, Any], SupportsRAdd[int, Any], Protocol): ...\n\n_SupportsSumNoDefaultT = TypeVar(\"_SupportsSumNoDefaultT\", bound=_SupportsSumWithNoDefaultGiven)\n\n# In general, the return type of `x + x` is *not* guaranteed to be the same type as x.\n# However, we can't express that in the stub for `sum()`\n# without creating many false-positive errors (see #7578).\n# Instead, we special-case the most common examples of this: bool and literal integers.\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[bool | _LiteralInteger], start: int = 0) -> int: ... # type: ignore[misc]\n\nelse:\n @overload\n def sum(__iterable: Iterable[bool | _LiteralInteger], __start: int = 0) -> int: ... # type: ignore[misc]\n\n@overload\ndef sum(__iterable: Iterable[_SupportsSumNoDefaultT]) -> _SupportsSumNoDefaultT | Literal[0]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def sum(__iterable: Iterable[_AddableT1], start: _AddableT2) -> _AddableT1 | _AddableT2: ...\n\nelse:\n @overload\n def sum(__iterable: Iterable[_AddableT1], __start: _AddableT2) -> _AddableT1 | _AddableT2: ...\n\n# The argument to `vars()` has to have a `__dict__` attribute, so the second overload can't be annotated with `object`\n# (A \"SupportsDunderDict\" protocol doesn't work)\n# Use a type: ignore to make complaints about overlapping overloads go away\n@overload\ndef vars(__object: type) -> types.MappingProxyType[str, Any]: ... # type: ignore[misc]\n@overload\ndef vars(__object: Any = ...) -> dict[str, Any]: ...\n\nclass zip(Iterator[_T_co]):\n if sys.version_info >= (3, 10):\n @overload\n def __new__(cls, *, strict: bool = ...) -> zip[Any]: ...\n @overload\n def __new__(cls, __iter1: Iterable[_T1], *, strict: bool = ...) -> zip[tuple[_T1]]: ...\n @overload\n def __new__(cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], *, strict: bool = ...) -> zip[tuple[_T1, _T2]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], *, strict: bool = ...\n ) -> zip[tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n *,\n strict: bool = ...,\n ) -> zip[tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n *,\n strict: bool = ...,\n ) -> zip[tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n strict: bool = ...,\n ) -> zip[tuple[Any, ...]]: ...\n else:\n @overload\n def __new__(cls) -> zip[Any]: ...\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> zip[tuple[_T1]]: ...\n @overload\n def __new__(cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]) -> zip[tuple[_T1, _T2]]: ...\n @overload\n def __new__(cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]) -> zip[tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], __iter4: Iterable[_T4]\n ) -> zip[tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip[tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> zip[tuple[Any, ...]]: ...\n\n def __iter__(self) -> Self: ...\n def __next__(self) -> _T_co: ...\n\n# Signature of `builtins.__import__` should be kept identical to `importlib.__import__`\n# Return type of `__import__` should be kept the same as return type of `importlib.import_module`\ndef __import__(\n name: str,\n globals: Mapping[str, object] | None = None,\n locals: Mapping[str, object] | None = None,\n fromlist: Sequence[str] = (),\n level: int = 0,\n) -> types.ModuleType: ...\ndef __build_class__(__func: Callable[[], _Cell | Any], __name: str, *bases: Any, metaclass: Any = ..., **kwds: Any) -> Any: ...\n\nif sys.version_info >= (3, 10):\n # In Python 3.10, EllipsisType is exposed publicly in the types module.\n @final\n class ellipsis: ...\n\nelse:\n # Actually the type of Ellipsis is , but since it's\n # not exposed anywhere under that name, we make it private here.\n @final\n @type_check_only\n class ellipsis: ...\n\nEllipsis: ellipsis\n\nclass BaseException:\n args: tuple[Any, ...]\n __cause__: BaseException | None\n __context__: BaseException | None\n __suppress_context__: bool\n __traceback__: TracebackType | None\n def __init__(self, *args: object) -> None: ...\n def __setstate__(self, __state: dict[str, Any] | None) -> None: ...\n def with_traceback(self, __tb: TracebackType | None) -> Self: ...\n if sys.version_info >= (3, 11):\n # only present after add_note() is called\n __notes__: list[str]\n def add_note(self, __note: str) -> None: ...\n\nclass GeneratorExit(BaseException): ...\nclass KeyboardInterrupt(BaseException): ...\n\nclass SystemExit(BaseException):\n code: sys._ExitCode\n\nclass Exception(BaseException): ...\n\nclass StopIteration(Exception):\n value: Any\n\nclass OSError(Exception):\n errno: int\n strerror: str\n # filename, filename2 are actually str | bytes | None\n filename: Any\n filename2: Any\n if sys.platform == \"win32\":\n winerror: int\n\nEnvironmentError = OSError\nIOError = OSError\nif sys.platform == \"win32\":\n WindowsError = OSError\n\nclass ArithmeticError(Exception): ...\nclass AssertionError(Exception): ...\n\nclass AttributeError(Exception):\n if sys.version_info >= (3, 10):\n def __init__(self, *args: object, name: str | None = ..., obj: object = ...) -> None: ...\n name: str\n obj: object\n\nclass BufferError(Exception): ...\nclass EOFError(Exception): ...\n\nclass ImportError(Exception):\n def __init__(self, *args: object, name: str | None = ..., path: str | None = ...) -> None: ...\n name: str | None\n path: str | None\n msg: str # undocumented\n if sys.version_info >= (3, 12):\n name_from: str | None # undocumented\n\nclass LookupError(Exception): ...\nclass MemoryError(Exception): ...\n\nclass NameError(Exception):\n if sys.version_info >= (3, 10):\n name: str\n\nclass ReferenceError(Exception): ...\nclass RuntimeError(Exception): ...\n\nclass StopAsyncIteration(Exception):\n value: Any\n\nclass SyntaxError(Exception):\n msg: str\n lineno: int | None\n offset: int | None\n text: str | None\n filename: str | None\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n end_offset: int | None\n\nclass SystemError(Exception): ...\nclass TypeError(Exception): ...\nclass ValueError(Exception): ...\nclass FloatingPointError(ArithmeticError): ...\nclass OverflowError(ArithmeticError): ...\nclass ZeroDivisionError(ArithmeticError): ...\nclass ModuleNotFoundError(ImportError): ...\nclass IndexError(LookupError): ...\nclass KeyError(LookupError): ...\nclass UnboundLocalError(NameError): ...\n\nclass BlockingIOError(OSError):\n characters_written: int\n\nclass ChildProcessError(OSError): ...\nclass ConnectionError(OSError): ...\nclass BrokenPipeError(ConnectionError): ...\nclass ConnectionAbortedError(ConnectionError): ...\nclass ConnectionRefusedError(ConnectionError): ...\nclass ConnectionResetError(ConnectionError): ...\nclass FileExistsError(OSError): ...\nclass FileNotFoundError(OSError): ...\nclass InterruptedError(OSError): ...\nclass IsADirectoryError(OSError): ...\nclass NotADirectoryError(OSError): ...\nclass PermissionError(OSError): ...\nclass ProcessLookupError(OSError): ...\nclass TimeoutError(OSError): ...\nclass NotImplementedError(RuntimeError): ...\nclass RecursionError(RuntimeError): ...\nclass IndentationError(SyntaxError): ...\nclass TabError(IndentationError): ...\nclass UnicodeError(ValueError): ...\n\nclass UnicodeDecodeError(UnicodeError):\n encoding: str\n object: bytes\n start: int\n end: int\n reason: str\n def __init__(self, __encoding: str, __object: ReadableBuffer, __start: int, __end: int, __reason: str) -> None: ...\n\nclass UnicodeEncodeError(UnicodeError):\n encoding: str\n object: str\n start: int\n end: int\n reason: str\n def __init__(self, __encoding: str, __object: str, __start: int, __end: int, __reason: str) -> None: ...\n\nclass UnicodeTranslateError(UnicodeError):\n encoding: None\n object: str\n start: int\n end: int\n reason: str\n def __init__(self, __object: str, __start: int, __end: int, __reason: str) -> None: ...\n\nclass Warning(Exception): ...\nclass UserWarning(Warning): ...\nclass DeprecationWarning(Warning): ...\nclass SyntaxWarning(Warning): ...\nclass RuntimeWarning(Warning): ...\nclass FutureWarning(Warning): ...\nclass PendingDeprecationWarning(Warning): ...\nclass ImportWarning(Warning): ...\nclass UnicodeWarning(Warning): ...\nclass BytesWarning(Warning): ...\nclass ResourceWarning(Warning): ...\n\nif sys.version_info >= (3, 10):\n class EncodingWarning(Warning): ...\n\nif sys.version_info >= (3, 11):\n _BaseExceptionT_co = TypeVar(\"_BaseExceptionT_co\", bound=BaseException, covariant=True)\n _BaseExceptionT = TypeVar(\"_BaseExceptionT\", bound=BaseException)\n _ExceptionT_co = TypeVar(\"_ExceptionT_co\", bound=Exception, covariant=True)\n _ExceptionT = TypeVar(\"_ExceptionT\", bound=Exception)\n\n # See `check_exception_group.py` for use-cases and comments.\n class BaseExceptionGroup(BaseException, Generic[_BaseExceptionT_co]):\n def __new__(cls, __message: str, __exceptions: Sequence[_BaseExceptionT_co]) -> Self: ...\n def __init__(self, __message: str, __exceptions: Sequence[_BaseExceptionT_co]) -> None: ...\n @property\n def message(self) -> str: ...\n @property\n def exceptions(self) -> tuple[_BaseExceptionT_co | BaseExceptionGroup[_BaseExceptionT_co], ...]: ...\n @overload\n def subgroup(\n self, __condition: type[_ExceptionT] | tuple[type[_ExceptionT], ...]\n ) -> ExceptionGroup[_ExceptionT] | None: ...\n @overload\n def subgroup(\n self, __condition: type[_BaseExceptionT] | tuple[type[_BaseExceptionT], ...]\n ) -> BaseExceptionGroup[_BaseExceptionT] | None: ...\n @overload\n def subgroup(\n self, __condition: Callable[[_BaseExceptionT_co | Self], bool]\n ) -> BaseExceptionGroup[_BaseExceptionT_co] | None: ...\n @overload\n def split(\n self, __condition: type[_ExceptionT] | tuple[type[_ExceptionT], ...]\n ) -> tuple[ExceptionGroup[_ExceptionT] | None, BaseExceptionGroup[_BaseExceptionT_co] | None]: ...\n @overload\n def split(\n self, __condition: type[_BaseExceptionT] | tuple[type[_BaseExceptionT], ...]\n ) -> tuple[BaseExceptionGroup[_BaseExceptionT] | None, BaseExceptionGroup[_BaseExceptionT_co] | None]: ...\n @overload\n def split(\n self, __condition: Callable[[_BaseExceptionT_co | Self], bool]\n ) -> tuple[BaseExceptionGroup[_BaseExceptionT_co] | None, BaseExceptionGroup[_BaseExceptionT_co] | None]: ...\n # In reality it is `NonEmptySequence`:\n @overload\n def derive(self, __excs: Sequence[_ExceptionT]) -> ExceptionGroup[_ExceptionT]: ...\n @overload\n def derive(self, __excs: Sequence[_BaseExceptionT]) -> BaseExceptionGroup[_BaseExceptionT]: ...\n def __class_getitem__(cls, __item: Any) -> GenericAlias: ...\n\n class ExceptionGroup(BaseExceptionGroup[_ExceptionT_co], Exception):\n def __new__(cls, __message: str, __exceptions: Sequence[_ExceptionT_co]) -> Self: ...\n def __init__(self, __message: str, __exceptions: Sequence[_ExceptionT_co]) -> None: ...\n @property\n def exceptions(self) -> tuple[_ExceptionT_co | ExceptionGroup[_ExceptionT_co], ...]: ...\n # We accept a narrower type, but that's OK.\n @overload # type: ignore[override]\n def subgroup(\n self, __condition: type[_ExceptionT] | tuple[type[_ExceptionT], ...]\n ) -> ExceptionGroup[_ExceptionT] | None: ...\n @overload\n def subgroup(self, __condition: Callable[[_ExceptionT_co | Self], bool]) -> ExceptionGroup[_ExceptionT_co] | None: ...\n @overload # type: ignore[override]\n def split(\n self, __condition: type[_ExceptionT] | tuple[type[_ExceptionT], ...]\n ) -> tuple[ExceptionGroup[_ExceptionT] | None, ExceptionGroup[_ExceptionT_co] | None]: ...\n @overload\n def split(\n self, __condition: Callable[[_ExceptionT_co | Self], bool]\n ) -> tuple[ExceptionGroup[_ExceptionT_co] | None, ExceptionGroup[_ExceptionT_co] | None]: ...\n", + "/typeshed/stdlib/bz2.pyi": "import _compression\nimport sys\nfrom _compression import BaseStream\nfrom _typeshed import ReadableBuffer, StrOrBytesPath, WriteableBuffer\nfrom collections.abc import Iterable\nfrom typing import IO, Any, Protocol, TextIO, overload\nfrom typing_extensions import Literal, Self, SupportsIndex, TypeAlias, final\n\n__all__ = [\"BZ2File\", \"BZ2Compressor\", \"BZ2Decompressor\", \"open\", \"compress\", \"decompress\"]\n\n# The following attributes and methods are optional:\n# def fileno(self) -> int: ...\n# def close(self) -> object: ...\nclass _ReadableFileobj(_compression._Reader, Protocol): ...\n\nclass _WritableFileobj(Protocol):\n def write(self, __b: bytes) -> object: ...\n # The following attributes and methods are optional:\n # def fileno(self) -> int: ...\n # def close(self) -> object: ...\n\ndef compress(data: ReadableBuffer, compresslevel: int = 9) -> bytes: ...\ndef decompress(data: ReadableBuffer) -> bytes: ...\n\n_ReadBinaryMode: TypeAlias = Literal[\"\", \"r\", \"rb\"]\n_WriteBinaryMode: TypeAlias = Literal[\"w\", \"wb\", \"x\", \"xb\", \"a\", \"ab\"]\n_ReadTextMode: TypeAlias = Literal[\"rt\"]\n_WriteTextMode: TypeAlias = Literal[\"wt\", \"xt\", \"at\"]\n\n@overload\ndef open(\n filename: _ReadableFileobj,\n mode: _ReadBinaryMode = \"rb\",\n compresslevel: int = 9,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n) -> BZ2File: ...\n@overload\ndef open(\n filename: _ReadableFileobj,\n mode: _ReadTextMode,\n compresslevel: int = 9,\n encoding: str | None = None,\n errors: str | None = None,\n newline: str | None = None,\n) -> TextIO: ...\n@overload\ndef open(\n filename: _WritableFileobj,\n mode: _WriteBinaryMode,\n compresslevel: int = 9,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n) -> BZ2File: ...\n@overload\ndef open(\n filename: _WritableFileobj,\n mode: _WriteTextMode,\n compresslevel: int = 9,\n encoding: str | None = None,\n errors: str | None = None,\n newline: str | None = None,\n) -> TextIO: ...\n@overload\ndef open(\n filename: StrOrBytesPath,\n mode: _ReadBinaryMode | _WriteBinaryMode = \"rb\",\n compresslevel: int = 9,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n) -> BZ2File: ...\n@overload\ndef open(\n filename: StrOrBytesPath,\n mode: _ReadTextMode | _WriteTextMode,\n compresslevel: int = 9,\n encoding: str | None = None,\n errors: str | None = None,\n newline: str | None = None,\n) -> TextIO: ...\n@overload\ndef open(\n filename: StrOrBytesPath | _ReadableFileobj | _WritableFileobj,\n mode: str,\n compresslevel: int = 9,\n encoding: str | None = None,\n errors: str | None = None,\n newline: str | None = None,\n) -> BZ2File | TextIO: ...\n\nclass BZ2File(BaseStream, IO[bytes]):\n def __enter__(self) -> Self: ...\n if sys.version_info >= (3, 9):\n @overload\n def __init__(self, filename: _WritableFileobj, mode: _WriteBinaryMode, *, compresslevel: int = 9) -> None: ...\n @overload\n def __init__(self, filename: _ReadableFileobj, mode: _ReadBinaryMode = \"r\", *, compresslevel: int = 9) -> None: ...\n @overload\n def __init__(\n self, filename: StrOrBytesPath, mode: _ReadBinaryMode | _WriteBinaryMode = \"r\", *, compresslevel: int = 9\n ) -> None: ...\n else:\n @overload\n def __init__(\n self, filename: _WritableFileobj, mode: _WriteBinaryMode, buffering: Any | None = None, compresslevel: int = 9\n ) -> None: ...\n @overload\n def __init__(\n self, filename: _ReadableFileobj, mode: _ReadBinaryMode = \"r\", buffering: Any | None = None, compresslevel: int = 9\n ) -> None: ...\n @overload\n def __init__(\n self,\n filename: StrOrBytesPath,\n mode: _ReadBinaryMode | _WriteBinaryMode = \"r\",\n buffering: Any | None = None,\n compresslevel: int = 9,\n ) -> None: ...\n\n def read(self, size: int | None = -1) -> bytes: ...\n def read1(self, size: int = -1) -> bytes: ...\n def readline(self, size: SupportsIndex = -1) -> bytes: ... # type: ignore[override]\n def readinto(self, b: WriteableBuffer) -> int: ...\n def readlines(self, size: SupportsIndex = -1) -> list[bytes]: ...\n def seek(self, offset: int, whence: int = 0) -> int: ...\n def write(self, data: ReadableBuffer) -> int: ...\n def writelines(self, seq: Iterable[ReadableBuffer]) -> None: ...\n\n@final\nclass BZ2Compressor:\n def __init__(self, compresslevel: int = ...) -> None: ...\n def compress(self, __data: ReadableBuffer) -> bytes: ...\n def flush(self) -> bytes: ...\n\n@final\nclass BZ2Decompressor:\n def decompress(self, data: ReadableBuffer, max_length: int = -1) -> bytes: ...\n @property\n def eof(self) -> bool: ...\n @property\n def needs_input(self) -> bool: ...\n @property\n def unused_data(self) -> bytes: ...\n", + "/typeshed/stdlib/cProfile.pyi": "import sys\nfrom _typeshed import StrOrBytesPath, Unused\nfrom collections.abc import Callable\nfrom types import CodeType\nfrom typing import Any, TypeVar\nfrom typing_extensions import ParamSpec, Self, TypeAlias\n\n__all__ = [\"run\", \"runctx\", \"Profile\"]\n\ndef run(statement: str, filename: str | None = None, sort: str | int = -1) -> None: ...\ndef runctx(\n statement: str, globals: dict[str, Any], locals: dict[str, Any], filename: str | None = None, sort: str | int = -1\n) -> None: ...\n\n_T = TypeVar(\"_T\")\n_P = ParamSpec(\"_P\")\n_Label: TypeAlias = tuple[str, int, str]\n\nclass Profile:\n stats: dict[_Label, tuple[int, int, int, int, dict[_Label, tuple[int, int, int, int]]]] # undocumented\n def __init__(\n self, timer: Callable[[], float] = ..., timeunit: float = ..., subcalls: bool = ..., builtins: bool = ...\n ) -> None: ...\n def enable(self) -> None: ...\n def disable(self) -> None: ...\n def print_stats(self, sort: str | int = -1) -> None: ...\n def dump_stats(self, file: StrOrBytesPath) -> None: ...\n def create_stats(self) -> None: ...\n def snapshot_stats(self) -> None: ...\n def run(self, cmd: str) -> Self: ...\n def runctx(self, cmd: str, globals: dict[str, Any], locals: dict[str, Any]) -> Self: ...\n def runcall(self, __func: Callable[_P, _T], *args: _P.args, **kw: _P.kwargs) -> _T: ...\n if sys.version_info >= (3, 8):\n def __enter__(self) -> Self: ...\n def __exit__(self, *exc_info: Unused) -> None: ...\n\ndef label(code: str | CodeType) -> _Label: ... # undocumented\n", + "/typeshed/stdlib/calendar.pyi": "import datetime\nimport enum\nimport sys\nfrom _typeshed import Unused\nfrom collections.abc import Iterable, Sequence\nfrom time import struct_time\nfrom typing import ClassVar\nfrom typing_extensions import Literal, TypeAlias\n\n__all__ = [\n \"IllegalMonthError\",\n \"IllegalWeekdayError\",\n \"setfirstweekday\",\n \"firstweekday\",\n \"isleap\",\n \"leapdays\",\n \"weekday\",\n \"monthrange\",\n \"monthcalendar\",\n \"prmonth\",\n \"month\",\n \"prcal\",\n \"calendar\",\n \"timegm\",\n \"month_name\",\n \"month_abbr\",\n \"day_name\",\n \"day_abbr\",\n \"Calendar\",\n \"TextCalendar\",\n \"HTMLCalendar\",\n \"LocaleTextCalendar\",\n \"LocaleHTMLCalendar\",\n \"weekheader\",\n]\n\nif sys.version_info >= (3, 10):\n __all__ += [\"FRIDAY\", \"MONDAY\", \"SATURDAY\", \"SUNDAY\", \"THURSDAY\", \"TUESDAY\", \"WEDNESDAY\"]\nif sys.version_info >= (3, 12):\n __all__ += [\n \"Day\",\n \"Month\",\n \"JANUARY\",\n \"FEBRUARY\",\n \"MARCH\",\n \"APRIL\",\n \"MAY\",\n \"JUNE\",\n \"JULY\",\n \"AUGUST\",\n \"SEPTEMBER\",\n \"OCTOBER\",\n \"NOVEMBER\",\n \"DECEMBER\",\n ]\n\n_LocaleType: TypeAlias = tuple[str | None, str | None]\n\nclass IllegalMonthError(ValueError):\n def __init__(self, month: int) -> None: ...\n\nclass IllegalWeekdayError(ValueError):\n def __init__(self, weekday: int) -> None: ...\n\ndef isleap(year: int) -> bool: ...\ndef leapdays(y1: int, y2: int) -> int: ...\ndef weekday(year: int, month: int, day: int) -> int: ...\ndef monthrange(year: int, month: int) -> tuple[int, int]: ...\n\nclass Calendar:\n firstweekday: int\n def __init__(self, firstweekday: int = 0) -> None: ...\n def getfirstweekday(self) -> int: ...\n def setfirstweekday(self, firstweekday: int) -> None: ...\n def iterweekdays(self) -> Iterable[int]: ...\n def itermonthdates(self, year: int, month: int) -> Iterable[datetime.date]: ...\n def itermonthdays2(self, year: int, month: int) -> Iterable[tuple[int, int]]: ...\n def itermonthdays(self, year: int, month: int) -> Iterable[int]: ...\n def monthdatescalendar(self, year: int, month: int) -> list[list[datetime.date]]: ...\n def monthdays2calendar(self, year: int, month: int) -> list[list[tuple[int, int]]]: ...\n def monthdayscalendar(self, year: int, month: int) -> list[list[int]]: ...\n def yeardatescalendar(self, year: int, width: int = 3) -> list[list[int]]: ...\n def yeardays2calendar(self, year: int, width: int = 3) -> list[list[tuple[int, int]]]: ...\n def yeardayscalendar(self, year: int, width: int = 3) -> list[list[int]]: ...\n def itermonthdays3(self, year: int, month: int) -> Iterable[tuple[int, int, int]]: ...\n def itermonthdays4(self, year: int, month: int) -> Iterable[tuple[int, int, int, int]]: ...\n\nclass TextCalendar(Calendar):\n def prweek(self, theweek: int, width: int) -> None: ...\n def formatday(self, day: int, weekday: int, width: int) -> str: ...\n def formatweek(self, theweek: int, width: int) -> str: ...\n def formatweekday(self, day: int, width: int) -> str: ...\n def formatweekheader(self, width: int) -> str: ...\n def formatmonthname(self, theyear: int, themonth: int, width: int, withyear: bool = True) -> str: ...\n def prmonth(self, theyear: int, themonth: int, w: int = 0, l: int = 0) -> None: ...\n def formatmonth(self, theyear: int, themonth: int, w: int = 0, l: int = 0) -> str: ...\n def formatyear(self, theyear: int, w: int = 2, l: int = 1, c: int = 6, m: int = 3) -> str: ...\n def pryear(self, theyear: int, w: int = 0, l: int = 0, c: int = 6, m: int = 3) -> None: ...\n\ndef firstweekday() -> int: ...\ndef monthcalendar(year: int, month: int) -> list[list[int]]: ...\ndef prweek(theweek: int, width: int) -> None: ...\ndef week(theweek: int, width: int) -> str: ...\ndef weekheader(width: int) -> str: ...\ndef prmonth(theyear: int, themonth: int, w: int = 0, l: int = 0) -> None: ...\ndef month(theyear: int, themonth: int, w: int = 0, l: int = 0) -> str: ...\ndef calendar(theyear: int, w: int = 2, l: int = 1, c: int = 6, m: int = 3) -> str: ...\ndef prcal(theyear: int, w: int = 0, l: int = 0, c: int = 6, m: int = 3) -> None: ...\n\nclass HTMLCalendar(Calendar):\n cssclasses: ClassVar[list[str]]\n cssclass_noday: ClassVar[str]\n cssclasses_weekday_head: ClassVar[list[str]]\n cssclass_month_head: ClassVar[str]\n cssclass_month: ClassVar[str]\n cssclass_year: ClassVar[str]\n cssclass_year_head: ClassVar[str]\n def formatday(self, day: int, weekday: int) -> str: ...\n def formatweek(self, theweek: int) -> str: ...\n def formatweekday(self, day: int) -> str: ...\n def formatweekheader(self) -> str: ...\n def formatmonthname(self, theyear: int, themonth: int, withyear: bool = True) -> str: ...\n def formatmonth(self, theyear: int, themonth: int, withyear: bool = True) -> str: ...\n def formatyear(self, theyear: int, width: int = 3) -> str: ...\n def formatyearpage(\n self, theyear: int, width: int = 3, css: str | None = \"calendar.css\", encoding: str | None = None\n ) -> str: ...\n\nclass different_locale:\n def __init__(self, locale: _LocaleType) -> None: ...\n def __enter__(self) -> None: ...\n def __exit__(self, *args: Unused) -> None: ...\n\nclass LocaleTextCalendar(TextCalendar):\n def __init__(self, firstweekday: int = 0, locale: _LocaleType | None = None) -> None: ...\n\nclass LocaleHTMLCalendar(HTMLCalendar):\n def __init__(self, firstweekday: int = 0, locale: _LocaleType | None = None) -> None: ...\n def formatweekday(self, day: int) -> str: ...\n def formatmonthname(self, theyear: int, themonth: int, withyear: bool = True) -> str: ...\n\nc: TextCalendar\n\ndef setfirstweekday(firstweekday: int) -> None: ...\ndef format(cols: int, colwidth: int = 20, spacing: int = 6) -> str: ...\ndef formatstring(cols: int, colwidth: int = 20, spacing: int = 6) -> str: ...\ndef timegm(tuple: tuple[int, ...] | struct_time) -> int: ...\n\n# Data attributes\nday_name: Sequence[str]\nday_abbr: Sequence[str]\nmonth_name: Sequence[str]\nmonth_abbr: Sequence[str]\n\nif sys.version_info >= (3, 12):\n class Month(enum.IntEnum):\n JANUARY: Literal[1]\n FEBRUARY: Literal[2]\n MARCH: Literal[3]\n APRIL: Literal[4]\n MAY: Literal[5]\n JUNE: Literal[6]\n JULY: Literal[7]\n AUGUST: Literal[8]\n SEPTEMBER: Literal[9]\n OCTOBER: Literal[10]\n NOVEMBER: Literal[11]\n DECEMBER: Literal[12]\n JANUARY = Month.JANUARY\n FEBRUARY = Month.FEBRUARY\n MARCH = Month.MARCH\n APRIL = Month.APRIL\n MAY = Month.MAY\n JUNE = Month.JUNE\n JULY = Month.JULY\n AUGUST = Month.AUGUST\n SEPTEMBER = Month.SEPTEMBER\n OCTOBER = Month.OCTOBER\n NOVEMBER = Month.NOVEMBER\n DECEMBER = Month.DECEMBER\n\n class Day(enum.IntEnum):\n MONDAY: Literal[0]\n TUESDAY: Literal[1]\n WEDNESDAY: Literal[2]\n THURSDAY: Literal[3]\n FRIDAY: Literal[4]\n SATURDAY: Literal[5]\n SUNDAY: Literal[6]\n MONDAY = Day.MONDAY\n TUESDAY = Day.TUESDAY\n WEDNESDAY = Day.WEDNESDAY\n THURSDAY = Day.THURSDAY\n FRIDAY = Day.FRIDAY\n SATURDAY = Day.SATURDAY\n SUNDAY = Day.SUNDAY\nelse:\n MONDAY: Literal[0]\n TUESDAY: Literal[1]\n WEDNESDAY: Literal[2]\n THURSDAY: Literal[3]\n FRIDAY: Literal[4]\n SATURDAY: Literal[5]\n SUNDAY: Literal[6]\n\nEPOCH: Literal[1970]\n", + "/typeshed/stdlib/cgi.pyi": "import sys\nfrom _typeshed import SupportsGetItem, SupportsItemAccess, Unused\nfrom builtins import list as _list, type as _type\nfrom collections.abc import Iterable, Iterator, Mapping\nfrom email.message import Message\nfrom types import TracebackType\nfrom typing import IO, Any, Protocol\nfrom typing_extensions import Self\n\n__all__ = [\n \"MiniFieldStorage\",\n \"FieldStorage\",\n \"parse\",\n \"parse_multipart\",\n \"parse_header\",\n \"test\",\n \"print_exception\",\n \"print_environ\",\n \"print_form\",\n \"print_directory\",\n \"print_arguments\",\n \"print_environ_usage\",\n]\n\nif sys.version_info < (3, 8):\n __all__ += [\"parse_qs\", \"parse_qsl\", \"escape\"]\n\ndef parse(\n fp: IO[Any] | None = None,\n environ: SupportsItemAccess[str, str] = ...,\n keep_blank_values: bool = ...,\n strict_parsing: bool = ...,\n separator: str = \"&\",\n) -> dict[str, list[str]]: ...\n\nif sys.version_info < (3, 8):\n def parse_qs(qs: str, keep_blank_values: bool = ..., strict_parsing: bool = ...) -> dict[str, list[str]]: ...\n def parse_qsl(qs: str, keep_blank_values: bool = ..., strict_parsing: bool = ...) -> list[tuple[str, str]]: ...\n\ndef parse_multipart(\n fp: IO[Any], pdict: SupportsGetItem[str, bytes], encoding: str = \"utf-8\", errors: str = \"replace\", separator: str = \"&\"\n) -> dict[str, list[Any]]: ...\n\nclass _Environ(Protocol):\n def __getitem__(self, __k: str) -> str: ...\n def keys(self) -> Iterable[str]: ...\n\ndef parse_header(line: str) -> tuple[str, dict[str, str]]: ...\ndef test(environ: _Environ = ...) -> None: ...\ndef print_environ(environ: _Environ = ...) -> None: ...\ndef print_form(form: dict[str, Any]) -> None: ...\ndef print_directory() -> None: ...\ndef print_environ_usage() -> None: ...\n\nif sys.version_info < (3, 8):\n def escape(s: str, quote: bool | None = None) -> str: ...\n\nclass MiniFieldStorage:\n # The first five \"Any\" attributes here are always None, but mypy doesn't support that\n filename: Any\n list: Any\n type: Any\n file: IO[bytes] | None\n type_options: dict[Any, Any]\n disposition: Any\n disposition_options: dict[Any, Any]\n headers: dict[Any, Any]\n name: Any\n value: Any\n def __init__(self, name: Any, value: Any) -> None: ...\n\nclass FieldStorage:\n FieldStorageClass: _type | None\n keep_blank_values: int\n strict_parsing: int\n qs_on_post: str | None\n headers: Mapping[str, str] | Message\n fp: IO[bytes]\n encoding: str\n errors: str\n outerboundary: bytes\n bytes_read: int\n limit: int | None\n disposition: str\n disposition_options: dict[str, str]\n filename: str | None\n file: IO[bytes] | None\n type: str\n type_options: dict[str, str]\n innerboundary: bytes\n length: int\n done: int\n list: _list[Any] | None\n value: None | bytes | _list[Any]\n def __init__(\n self,\n fp: IO[Any] | None = None,\n headers: Mapping[str, str] | Message | None = None,\n outerboundary: bytes = b\"\",\n environ: SupportsGetItem[str, str] = ...,\n keep_blank_values: int = 0,\n strict_parsing: int = 0,\n limit: int | None = None,\n encoding: str = \"utf-8\",\n errors: str = \"replace\",\n max_num_fields: int | None = None,\n separator: str = \"&\",\n ) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, *args: Unused) -> None: ...\n def __iter__(self) -> Iterator[str]: ...\n def __getitem__(self, key: str) -> Any: ...\n def getvalue(self, key: str, default: Any = None) -> Any: ...\n def getfirst(self, key: str, default: Any = None) -> Any: ...\n def getlist(self, key: str) -> _list[Any]: ...\n def keys(self) -> _list[str]: ...\n def __contains__(self, key: str) -> bool: ...\n def __len__(self) -> int: ...\n def __bool__(self) -> bool: ...\n # In Python 3 it returns bytes or str IO depending on an internal flag\n def make_file(self) -> IO[Any]: ...\n\ndef print_exception(\n type: type[BaseException] | None = None,\n value: BaseException | None = None,\n tb: TracebackType | None = None,\n limit: int | None = None,\n) -> None: ...\ndef print_arguments() -> None: ...\n", + "/typeshed/stdlib/cgitb.pyi": "from _typeshed import OptExcInfo, StrOrBytesPath\nfrom collections.abc import Callable\nfrom types import FrameType, TracebackType\nfrom typing import IO, Any\nfrom typing_extensions import Final\n\n__UNDEF__: Final[object] # undocumented sentinel\n\ndef reset() -> str: ... # undocumented\ndef small(text: str) -> str: ... # undocumented\ndef strong(text: str) -> str: ... # undocumented\ndef grey(text: str) -> str: ... # undocumented\ndef lookup(name: str, frame: FrameType, locals: dict[str, Any]) -> tuple[str | None, Any]: ... # undocumented\ndef scanvars(\n reader: Callable[[], bytes], frame: FrameType, locals: dict[str, Any]\n) -> list[tuple[str, str | None, Any]]: ... # undocumented\ndef html(einfo: OptExcInfo, context: int = 5) -> str: ...\ndef text(einfo: OptExcInfo, context: int = 5) -> str: ...\n\nclass Hook: # undocumented\n def __init__(\n self,\n display: int = 1,\n logdir: StrOrBytesPath | None = None,\n context: int = 5,\n file: IO[str] | None = None,\n format: str = \"html\",\n ) -> None: ...\n def __call__(self, etype: type[BaseException] | None, evalue: BaseException | None, etb: TracebackType | None) -> None: ...\n def handle(self, info: OptExcInfo | None = None) -> None: ...\n\ndef handler(info: OptExcInfo | None = None) -> None: ...\ndef enable(display: int = 1, logdir: StrOrBytesPath | None = None, context: int = 5, format: str = \"html\") -> None: ...\n", + "/typeshed/stdlib/chunk.pyi": "from typing import IO\n\nclass Chunk:\n closed: bool\n align: bool\n file: IO[bytes]\n chunkname: bytes\n chunksize: int\n size_read: int\n offset: int\n seekable: bool\n def __init__(self, file: IO[bytes], align: bool = True, bigendian: bool = True, inclheader: bool = False) -> None: ...\n def getname(self) -> bytes: ...\n def getsize(self) -> int: ...\n def close(self) -> None: ...\n def isatty(self) -> bool: ...\n def seek(self, pos: int, whence: int = 0) -> None: ...\n def tell(self) -> int: ...\n def read(self, size: int = -1) -> bytes: ...\n def skip(self) -> None: ...\n", + "/typeshed/stdlib/cmath.pyi": "import sys\nfrom typing import SupportsComplex, SupportsFloat\nfrom typing_extensions import TypeAlias\n\nif sys.version_info >= (3, 8):\n from typing import SupportsIndex\n\ne: float\npi: float\ninf: float\ninfj: complex\nnan: float\nnanj: complex\ntau: float\n\nif sys.version_info >= (3, 8):\n _C: TypeAlias = SupportsFloat | SupportsComplex | SupportsIndex | complex\nelse:\n _C: TypeAlias = SupportsFloat | SupportsComplex | complex\n\ndef acos(__z: _C) -> complex: ...\ndef acosh(__z: _C) -> complex: ...\ndef asin(__z: _C) -> complex: ...\ndef asinh(__z: _C) -> complex: ...\ndef atan(__z: _C) -> complex: ...\ndef atanh(__z: _C) -> complex: ...\ndef cos(__z: _C) -> complex: ...\ndef cosh(__z: _C) -> complex: ...\ndef exp(__z: _C) -> complex: ...\ndef isclose(a: _C, b: _C, *, rel_tol: SupportsFloat = 1e-09, abs_tol: SupportsFloat = 0.0) -> bool: ...\ndef isinf(__z: _C) -> bool: ...\ndef isnan(__z: _C) -> bool: ...\ndef log(__x: _C, __y_obj: _C = ...) -> complex: ...\ndef log10(__z: _C) -> complex: ...\ndef phase(__z: _C) -> float: ...\ndef polar(__z: _C) -> tuple[float, float]: ...\ndef rect(__r: float, __phi: float) -> complex: ...\ndef sin(__z: _C) -> complex: ...\ndef sinh(__z: _C) -> complex: ...\ndef sqrt(__z: _C) -> complex: ...\ndef tan(__z: _C) -> complex: ...\ndef tanh(__z: _C) -> complex: ...\ndef isfinite(__z: _C) -> bool: ...\n", + "/typeshed/stdlib/cmd.pyi": "from collections.abc import Callable\nfrom typing import IO, Any\nfrom typing_extensions import Literal\n\n__all__ = [\"Cmd\"]\n\nPROMPT: Literal[\"(Cmd) \"]\nIDENTCHARS: str # Too big to be `Literal`\n\nclass Cmd:\n prompt: str\n identchars: str\n ruler: str\n lastcmd: str\n intro: Any | None\n doc_leader: str\n doc_header: str\n misc_header: str\n undoc_header: str\n nohelp: str\n use_rawinput: bool\n stdin: IO[str]\n stdout: IO[str]\n cmdqueue: list[str]\n completekey: str\n def __init__(self, completekey: str = \"tab\", stdin: IO[str] | None = None, stdout: IO[str] | None = None) -> None: ...\n old_completer: Callable[[str, int], str | None] | None\n def cmdloop(self, intro: Any | None = None) -> None: ...\n def precmd(self, line: str) -> str: ...\n def postcmd(self, stop: bool, line: str) -> bool: ...\n def preloop(self) -> None: ...\n def postloop(self) -> None: ...\n def parseline(self, line: str) -> tuple[str | None, str | None, str]: ...\n def onecmd(self, line: str) -> bool: ...\n def emptyline(self) -> bool: ...\n def default(self, line: str) -> None: ...\n def completedefault(self, *ignored: Any) -> list[str]: ...\n def completenames(self, text: str, *ignored: Any) -> list[str]: ...\n completion_matches: list[str] | None\n def complete(self, text: str, state: int) -> list[str] | None: ...\n def get_names(self) -> list[str]: ...\n # Only the first element of args matters.\n def complete_help(self, *args: Any) -> list[str]: ...\n def do_help(self, arg: str) -> bool | None: ...\n def print_topics(self, header: str, cmds: list[str] | None, cmdlen: Any, maxcol: int) -> None: ...\n def columnize(self, list: list[str] | None, displaywidth: int = 80) -> None: ...\n", + "/typeshed/stdlib/code.pyi": "from codeop import CommandCompiler\nfrom collections.abc import Callable, Mapping\nfrom types import CodeType\nfrom typing import Any\n\n__all__ = [\"InteractiveInterpreter\", \"InteractiveConsole\", \"interact\", \"compile_command\"]\n\nclass InteractiveInterpreter:\n locals: Mapping[str, Any] # undocumented\n compile: CommandCompiler # undocumented\n def __init__(self, locals: Mapping[str, Any] | None = None) -> None: ...\n def runsource(self, source: str, filename: str = \"\", symbol: str = \"single\") -> bool: ...\n def runcode(self, code: CodeType) -> None: ...\n def showsyntaxerror(self, filename: str | None = None) -> None: ...\n def showtraceback(self) -> None: ...\n def write(self, data: str) -> None: ...\n\nclass InteractiveConsole(InteractiveInterpreter):\n buffer: list[str] # undocumented\n filename: str # undocumented\n def __init__(self, locals: Mapping[str, Any] | None = None, filename: str = \"\") -> None: ...\n def interact(self, banner: str | None = None, exitmsg: str | None = None) -> None: ...\n def push(self, line: str) -> bool: ...\n def resetbuffer(self) -> None: ...\n def raw_input(self, prompt: str = \"\") -> str: ...\n\ndef interact(\n banner: str | None = None,\n readfunc: Callable[[str], str] | None = None,\n local: Mapping[str, Any] | None = None,\n exitmsg: str | None = None,\n) -> None: ...\ndef compile_command(source: str, filename: str = \"\", symbol: str = \"single\") -> CodeType | None: ...\n", + "/typeshed/stdlib/codecs.pyi": "import sys\nimport types\nfrom _codecs import *\nfrom _typeshed import ReadableBuffer\nfrom abc import abstractmethod\nfrom collections.abc import Callable, Generator, Iterable\nfrom typing import Any, BinaryIO, Protocol, TextIO\nfrom typing_extensions import Literal, Self\n\n__all__ = [\n \"register\",\n \"lookup\",\n \"open\",\n \"EncodedFile\",\n \"BOM\",\n \"BOM_BE\",\n \"BOM_LE\",\n \"BOM32_BE\",\n \"BOM32_LE\",\n \"BOM64_BE\",\n \"BOM64_LE\",\n \"BOM_UTF8\",\n \"BOM_UTF16\",\n \"BOM_UTF16_LE\",\n \"BOM_UTF16_BE\",\n \"BOM_UTF32\",\n \"BOM_UTF32_LE\",\n \"BOM_UTF32_BE\",\n \"CodecInfo\",\n \"Codec\",\n \"IncrementalEncoder\",\n \"IncrementalDecoder\",\n \"StreamReader\",\n \"StreamWriter\",\n \"StreamReaderWriter\",\n \"StreamRecoder\",\n \"getencoder\",\n \"getdecoder\",\n \"getincrementalencoder\",\n \"getincrementaldecoder\",\n \"getreader\",\n \"getwriter\",\n \"encode\",\n \"decode\",\n \"iterencode\",\n \"iterdecode\",\n \"strict_errors\",\n \"ignore_errors\",\n \"replace_errors\",\n \"xmlcharrefreplace_errors\",\n \"backslashreplace_errors\",\n \"namereplace_errors\",\n \"register_error\",\n \"lookup_error\",\n]\n\nBOM32_BE: Literal[b\"\\xfe\\xff\"]\nBOM32_LE: Literal[b\"\\xff\\xfe\"]\nBOM64_BE: Literal[b\"\\x00\\x00\\xfe\\xff\"]\nBOM64_LE: Literal[b\"\\xff\\xfe\\x00\\x00\"]\n\nclass _WritableStream(Protocol):\n def write(self, __data: bytes) -> object: ...\n def seek(self, __offset: int, __whence: int) -> object: ...\n def close(self) -> object: ...\n\nclass _ReadableStream(Protocol):\n def read(self, __size: int = ...) -> bytes: ...\n def seek(self, __offset: int, __whence: int) -> object: ...\n def close(self) -> object: ...\n\nclass _Stream(_WritableStream, _ReadableStream, Protocol): ...\n\n# TODO: this only satisfies the most common interface, where\n# bytes is the raw form and str is the cooked form.\n# In the long run, both should become template parameters maybe?\n# There *are* bytes->bytes and str->str encodings in the standard library.\n# They were much more common in Python 2 than in Python 3.\n\nclass _Encoder(Protocol):\n def __call__(self, __input: str, __errors: str = ...) -> tuple[bytes, int]: ... # signature of Codec().encode\n\nclass _Decoder(Protocol):\n def __call__(self, __input: bytes, __errors: str = ...) -> tuple[str, int]: ... # signature of Codec().decode\n\nclass _StreamReader(Protocol):\n def __call__(self, __stream: _ReadableStream, __errors: str = ...) -> StreamReader: ...\n\nclass _StreamWriter(Protocol):\n def __call__(self, __stream: _WritableStream, __errors: str = ...) -> StreamWriter: ...\n\nclass _IncrementalEncoder(Protocol):\n def __call__(self, errors: str = ...) -> IncrementalEncoder: ...\n\nclass _IncrementalDecoder(Protocol):\n def __call__(self, errors: str = ...) -> IncrementalDecoder: ...\n\nclass CodecInfo(tuple[_Encoder, _Decoder, _StreamReader, _StreamWriter]):\n _is_text_encoding: bool\n @property\n def encode(self) -> _Encoder: ...\n @property\n def decode(self) -> _Decoder: ...\n @property\n def streamreader(self) -> _StreamReader: ...\n @property\n def streamwriter(self) -> _StreamWriter: ...\n @property\n def incrementalencoder(self) -> _IncrementalEncoder: ...\n @property\n def incrementaldecoder(self) -> _IncrementalDecoder: ...\n name: str\n def __new__(\n cls,\n encode: _Encoder,\n decode: _Decoder,\n streamreader: _StreamReader | None = None,\n streamwriter: _StreamWriter | None = None,\n incrementalencoder: _IncrementalEncoder | None = None,\n incrementaldecoder: _IncrementalDecoder | None = None,\n name: str | None = None,\n *,\n _is_text_encoding: bool | None = None,\n ) -> Self: ...\n\ndef getencoder(encoding: str) -> _Encoder: ...\ndef getdecoder(encoding: str) -> _Decoder: ...\ndef getincrementalencoder(encoding: str) -> _IncrementalEncoder: ...\ndef getincrementaldecoder(encoding: str) -> _IncrementalDecoder: ...\ndef getreader(encoding: str) -> _StreamReader: ...\ndef getwriter(encoding: str) -> _StreamWriter: ...\n\nif sys.version_info >= (3, 8):\n def open(\n filename: str, mode: str = \"r\", encoding: str | None = None, errors: str = \"strict\", buffering: int = -1\n ) -> StreamReaderWriter: ...\n\nelse:\n def open(\n filename: str, mode: str = \"r\", encoding: str | None = None, errors: str = \"strict\", buffering: int = 1\n ) -> StreamReaderWriter: ...\n\ndef EncodedFile(file: _Stream, data_encoding: str, file_encoding: str | None = None, errors: str = \"strict\") -> StreamRecoder: ...\ndef iterencode(iterator: Iterable[str], encoding: str, errors: str = \"strict\") -> Generator[bytes, None, None]: ...\ndef iterdecode(iterator: Iterable[bytes], encoding: str, errors: str = \"strict\") -> Generator[str, None, None]: ...\n\nBOM: Literal[b\"\\xff\\xfe\", b\"\\xfe\\xff\"] # depends on `sys.byteorder`\nBOM_BE: Literal[b\"\\xfe\\xff\"]\nBOM_LE: Literal[b\"\\xff\\xfe\"]\nBOM_UTF8: Literal[b\"\\xef\\xbb\\xbf\"]\nBOM_UTF16: Literal[b\"\\xff\\xfe\", b\"\\xfe\\xff\"] # depends on `sys.byteorder`\nBOM_UTF16_BE: Literal[b\"\\xfe\\xff\"]\nBOM_UTF16_LE: Literal[b\"\\xff\\xfe\"]\nBOM_UTF32: Literal[b\"\\xff\\xfe\\x00\\x00\", b\"\\x00\\x00\\xfe\\xff\"] # depends on `sys.byteorder`\nBOM_UTF32_BE: Literal[b\"\\x00\\x00\\xfe\\xff\"]\nBOM_UTF32_LE: Literal[b\"\\xff\\xfe\\x00\\x00\"]\n\ndef strict_errors(exception: UnicodeError) -> tuple[str | bytes, int]: ...\ndef replace_errors(exception: UnicodeError) -> tuple[str | bytes, int]: ...\ndef ignore_errors(exception: UnicodeError) -> tuple[str | bytes, int]: ...\ndef xmlcharrefreplace_errors(exception: UnicodeError) -> tuple[str | bytes, int]: ...\ndef backslashreplace_errors(exception: UnicodeError) -> tuple[str | bytes, int]: ...\ndef namereplace_errors(exception: UnicodeError) -> tuple[str | bytes, int]: ...\n\nclass Codec:\n # These are sort of @abstractmethod but sort of not.\n # The StreamReader and StreamWriter subclasses only implement one.\n def encode(self, input: str, errors: str = \"strict\") -> tuple[bytes, int]: ...\n def decode(self, input: bytes, errors: str = \"strict\") -> tuple[str, int]: ...\n\nclass IncrementalEncoder:\n errors: str\n def __init__(self, errors: str = \"strict\") -> None: ...\n @abstractmethod\n def encode(self, input: str, final: bool = False) -> bytes: ...\n def reset(self) -> None: ...\n # documentation says int but str is needed for the subclass.\n def getstate(self) -> int | str: ...\n def setstate(self, state: int | str) -> None: ...\n\nclass IncrementalDecoder:\n errors: str\n def __init__(self, errors: str = \"strict\") -> None: ...\n @abstractmethod\n def decode(self, input: ReadableBuffer, final: bool = False) -> str: ...\n def reset(self) -> None: ...\n def getstate(self) -> tuple[bytes, int]: ...\n def setstate(self, state: tuple[bytes, int]) -> None: ...\n\n# These are not documented but used in encodings/*.py implementations.\nclass BufferedIncrementalEncoder(IncrementalEncoder):\n buffer: str\n def __init__(self, errors: str = \"strict\") -> None: ...\n @abstractmethod\n def _buffer_encode(self, input: str, errors: str, final: bool) -> tuple[bytes, int]: ...\n def encode(self, input: str, final: bool = False) -> bytes: ...\n\nclass BufferedIncrementalDecoder(IncrementalDecoder):\n buffer: bytes\n def __init__(self, errors: str = \"strict\") -> None: ...\n @abstractmethod\n def _buffer_decode(self, input: ReadableBuffer, errors: str, final: bool) -> tuple[str, int]: ...\n def decode(self, input: ReadableBuffer, final: bool = False) -> str: ...\n\n# TODO: it is not possible to specify the requirement that all other\n# attributes and methods are passed-through from the stream.\nclass StreamWriter(Codec):\n stream: _WritableStream\n errors: str\n def __init__(self, stream: _WritableStream, errors: str = \"strict\") -> None: ...\n def write(self, object: str) -> None: ...\n def writelines(self, list: Iterable[str]) -> None: ...\n def reset(self) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, type: type[BaseException] | None, value: BaseException | None, tb: types.TracebackType | None) -> None: ...\n def __getattr__(self, name: str, getattr: Callable[[str], Any] = ...) -> Any: ...\n\nclass StreamReader(Codec):\n stream: _ReadableStream\n errors: str\n def __init__(self, stream: _ReadableStream, errors: str = \"strict\") -> None: ...\n def read(self, size: int = -1, chars: int = -1, firstline: bool = False) -> str: ...\n def readline(self, size: int | None = None, keepends: bool = True) -> str: ...\n def readlines(self, sizehint: int | None = None, keepends: bool = True) -> list[str]: ...\n def reset(self) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, type: type[BaseException] | None, value: BaseException | None, tb: types.TracebackType | None) -> None: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> str: ...\n def __getattr__(self, name: str, getattr: Callable[[str], Any] = ...) -> Any: ...\n\n# Doesn't actually inherit from TextIO, but wraps a BinaryIO to provide text reading and writing\n# and delegates attributes to the underlying binary stream with __getattr__.\nclass StreamReaderWriter(TextIO):\n stream: _Stream\n def __init__(self, stream: _Stream, Reader: _StreamReader, Writer: _StreamWriter, errors: str = \"strict\") -> None: ...\n def read(self, size: int = -1) -> str: ...\n def readline(self, size: int | None = None) -> str: ...\n def readlines(self, sizehint: int | None = None) -> list[str]: ...\n def __next__(self) -> str: ...\n def __iter__(self) -> Self: ...\n def write(self, data: str) -> None: ... # type: ignore[override]\n def writelines(self, list: Iterable[str]) -> None: ...\n def reset(self) -> None: ...\n def seek(self, offset: int, whence: int = 0) -> None: ... # type: ignore[override]\n def __enter__(self) -> Self: ...\n def __exit__(self, type: type[BaseException] | None, value: BaseException | None, tb: types.TracebackType | None) -> None: ...\n def __getattr__(self, name: str) -> Any: ...\n # These methods don't actually exist directly, but they are needed to satisfy the TextIO\n # interface. At runtime, they are delegated through __getattr__.\n def close(self) -> None: ...\n def fileno(self) -> int: ...\n def flush(self) -> None: ...\n def isatty(self) -> bool: ...\n def readable(self) -> bool: ...\n def truncate(self, size: int | None = ...) -> int: ...\n def seekable(self) -> bool: ...\n def tell(self) -> int: ...\n def writable(self) -> bool: ...\n\nclass StreamRecoder(BinaryIO):\n def __init__(\n self,\n stream: _Stream,\n encode: _Encoder,\n decode: _Decoder,\n Reader: _StreamReader,\n Writer: _StreamWriter,\n errors: str = \"strict\",\n ) -> None: ...\n def read(self, size: int = -1) -> bytes: ...\n def readline(self, size: int | None = None) -> bytes: ...\n def readlines(self, sizehint: int | None = None) -> list[bytes]: ...\n def __next__(self) -> bytes: ...\n def __iter__(self) -> Self: ...\n # Base class accepts more types than just bytes\n def write(self, data: bytes) -> None: ... # type: ignore[override]\n def writelines(self, list: Iterable[bytes]) -> None: ... # type: ignore[override]\n def reset(self) -> None: ...\n def __getattr__(self, name: str) -> Any: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, type: type[BaseException] | None, value: BaseException | None, tb: types.TracebackType | None) -> None: ...\n def seek(self, offset: int, whence: int = 0) -> None: ... # type: ignore[override]\n # These methods don't actually exist directly, but they are needed to satisfy the BinaryIO\n # interface. At runtime, they are delegated through __getattr__.\n def close(self) -> None: ...\n def fileno(self) -> int: ...\n def flush(self) -> None: ...\n def isatty(self) -> bool: ...\n def readable(self) -> bool: ...\n def truncate(self, size: int | None = ...) -> int: ...\n def seekable(self) -> bool: ...\n def tell(self) -> int: ...\n def writable(self) -> bool: ...\n", + "/typeshed/stdlib/codeop.pyi": "from types import CodeType\n\n__all__ = [\"compile_command\", \"Compile\", \"CommandCompiler\"]\n\ndef compile_command(source: str, filename: str = \"\", symbol: str = \"single\") -> CodeType | None: ...\n\nclass Compile:\n flags: int\n def __call__(self, source: str, filename: str, symbol: str) -> CodeType: ...\n\nclass CommandCompiler:\n compiler: Compile\n def __call__(self, source: str, filename: str = \"\", symbol: str = \"single\") -> CodeType | None: ...\n", + "/typeshed/stdlib/colorsys.pyi": "__all__ = [\"rgb_to_yiq\", \"yiq_to_rgb\", \"rgb_to_hls\", \"hls_to_rgb\", \"rgb_to_hsv\", \"hsv_to_rgb\"]\n\ndef rgb_to_yiq(r: float, g: float, b: float) -> tuple[float, float, float]: ...\ndef yiq_to_rgb(y: float, i: float, q: float) -> tuple[float, float, float]: ...\ndef rgb_to_hls(r: float, g: float, b: float) -> tuple[float, float, float]: ...\ndef hls_to_rgb(h: float, l: float, s: float) -> tuple[float, float, float]: ...\ndef rgb_to_hsv(r: float, g: float, b: float) -> tuple[float, float, float]: ...\ndef hsv_to_rgb(h: float, s: float, v: float) -> tuple[float, float, float]: ...\n\n# TODO undocumented\nONE_SIXTH: float\nONE_THIRD: float\nTWO_THIRD: float\n", + "/typeshed/stdlib/compileall.pyi": "import sys\nfrom _typeshed import StrPath\nfrom py_compile import PycInvalidationMode\nfrom typing import Any, Protocol\n\n__all__ = [\"compile_dir\", \"compile_file\", \"compile_path\"]\n\nclass _SupportsSearch(Protocol):\n def search(self, string: str) -> Any: ...\n\nif sys.version_info >= (3, 10):\n def compile_dir(\n dir: StrPath,\n maxlevels: int | None = None,\n ddir: StrPath | None = None,\n force: bool = False,\n rx: _SupportsSearch | None = None,\n quiet: int = 0,\n legacy: bool = False,\n optimize: int = -1,\n workers: int = 1,\n invalidation_mode: PycInvalidationMode | None = None,\n *,\n stripdir: StrPath | None = None,\n prependdir: StrPath | None = None,\n limit_sl_dest: StrPath | None = None,\n hardlink_dupes: bool = False,\n ) -> int: ...\n def compile_file(\n fullname: StrPath,\n ddir: StrPath | None = None,\n force: bool = False,\n rx: _SupportsSearch | None = None,\n quiet: int = 0,\n legacy: bool = False,\n optimize: int = -1,\n invalidation_mode: PycInvalidationMode | None = None,\n *,\n stripdir: StrPath | None = None,\n prependdir: StrPath | None = None,\n limit_sl_dest: StrPath | None = None,\n hardlink_dupes: bool = False,\n ) -> int: ...\n\nelif sys.version_info >= (3, 9):\n def compile_dir(\n dir: StrPath,\n maxlevels: int | None = None,\n ddir: StrPath | None = None,\n force: bool = False,\n rx: _SupportsSearch | None = None,\n quiet: int = 0,\n legacy: bool = False,\n optimize: int = -1,\n workers: int = 1,\n invalidation_mode: PycInvalidationMode | None = None,\n *,\n stripdir: str | None = None, # https://bugs.python.org/issue40447\n prependdir: StrPath | None = None,\n limit_sl_dest: StrPath | None = None,\n hardlink_dupes: bool = False,\n ) -> int: ...\n def compile_file(\n fullname: StrPath,\n ddir: StrPath | None = None,\n force: bool = False,\n rx: _SupportsSearch | None = None,\n quiet: int = 0,\n legacy: bool = False,\n optimize: int = -1,\n invalidation_mode: PycInvalidationMode | None = None,\n *,\n stripdir: str | None = None, # https://bugs.python.org/issue40447\n prependdir: StrPath | None = None,\n limit_sl_dest: StrPath | None = None,\n hardlink_dupes: bool = False,\n ) -> int: ...\n\nelse:\n def compile_dir(\n dir: StrPath,\n maxlevels: int = 10,\n ddir: StrPath | None = None,\n force: bool = False,\n rx: _SupportsSearch | None = None,\n quiet: int = 0,\n legacy: bool = False,\n optimize: int = -1,\n workers: int = 1,\n invalidation_mode: PycInvalidationMode | None = None,\n ) -> int: ...\n def compile_file(\n fullname: StrPath,\n ddir: StrPath | None = None,\n force: bool = False,\n rx: _SupportsSearch | None = None,\n quiet: int = 0,\n legacy: bool = False,\n optimize: int = -1,\n invalidation_mode: PycInvalidationMode | None = None,\n ) -> int: ...\n\ndef compile_path(\n skip_curdir: bool = ...,\n maxlevels: int = 0,\n force: bool = False,\n quiet: int = 0,\n legacy: bool = False,\n optimize: int = -1,\n invalidation_mode: PycInvalidationMode | None = None,\n) -> int: ...\n", + "/typeshed/stdlib/configparser.pyi": "import sys\nfrom _typeshed import StrOrBytesPath, SupportsWrite\nfrom collections.abc import Callable, ItemsView, Iterable, Iterator, Mapping, MutableMapping, Sequence\nfrom re import Pattern\nfrom typing import Any, ClassVar, TypeVar, overload\nfrom typing_extensions import Literal, TypeAlias\n\nif sys.version_info >= (3, 12):\n __all__ = (\n \"NoSectionError\",\n \"DuplicateOptionError\",\n \"DuplicateSectionError\",\n \"NoOptionError\",\n \"InterpolationError\",\n \"InterpolationDepthError\",\n \"InterpolationMissingOptionError\",\n \"InterpolationSyntaxError\",\n \"ParsingError\",\n \"MissingSectionHeaderError\",\n \"ConfigParser\",\n \"RawConfigParser\",\n \"Interpolation\",\n \"BasicInterpolation\",\n \"ExtendedInterpolation\",\n \"LegacyInterpolation\",\n \"SectionProxy\",\n \"ConverterMapping\",\n \"DEFAULTSECT\",\n \"MAX_INTERPOLATION_DEPTH\",\n )\nelse:\n __all__ = [\n \"NoSectionError\",\n \"DuplicateOptionError\",\n \"DuplicateSectionError\",\n \"NoOptionError\",\n \"InterpolationError\",\n \"InterpolationDepthError\",\n \"InterpolationMissingOptionError\",\n \"InterpolationSyntaxError\",\n \"ParsingError\",\n \"MissingSectionHeaderError\",\n \"ConfigParser\",\n \"SafeConfigParser\",\n \"RawConfigParser\",\n \"Interpolation\",\n \"BasicInterpolation\",\n \"ExtendedInterpolation\",\n \"LegacyInterpolation\",\n \"SectionProxy\",\n \"ConverterMapping\",\n \"DEFAULTSECT\",\n \"MAX_INTERPOLATION_DEPTH\",\n ]\n\n_Section: TypeAlias = Mapping[str, str]\n_Parser: TypeAlias = MutableMapping[str, _Section]\n_ConverterCallback: TypeAlias = Callable[[str], Any]\n_ConvertersMap: TypeAlias = dict[str, _ConverterCallback]\n_T = TypeVar(\"_T\")\n\nDEFAULTSECT: Literal[\"DEFAULT\"]\nMAX_INTERPOLATION_DEPTH: Literal[10]\n\nclass Interpolation:\n def before_get(self, parser: _Parser, section: str, option: str, value: str, defaults: _Section) -> str: ...\n def before_set(self, parser: _Parser, section: str, option: str, value: str) -> str: ...\n def before_read(self, parser: _Parser, section: str, option: str, value: str) -> str: ...\n def before_write(self, parser: _Parser, section: str, option: str, value: str) -> str: ...\n\nclass BasicInterpolation(Interpolation): ...\nclass ExtendedInterpolation(Interpolation): ...\n\nclass LegacyInterpolation(Interpolation):\n def before_get(self, parser: _Parser, section: str, option: str, value: str, vars: _Section) -> str: ...\n\nclass RawConfigParser(_Parser):\n _SECT_TMPL: ClassVar[str] # undocumented\n _OPT_TMPL: ClassVar[str] # undocumented\n _OPT_NV_TMPL: ClassVar[str] # undocumented\n\n SECTCRE: Pattern[str]\n OPTCRE: ClassVar[Pattern[str]]\n OPTCRE_NV: ClassVar[Pattern[str]] # undocumented\n NONSPACECRE: ClassVar[Pattern[str]] # undocumented\n\n BOOLEAN_STATES: ClassVar[Mapping[str, bool]] # undocumented\n default_section: str\n @overload\n def __init__(\n self,\n defaults: Mapping[str, str | None] | None = None,\n dict_type: type[Mapping[str, str]] = ...,\n *,\n allow_no_value: Literal[True],\n delimiters: Sequence[str] = (\"=\", \":\"),\n comment_prefixes: Sequence[str] = (\"#\", \";\"),\n inline_comment_prefixes: Sequence[str] | None = None,\n strict: bool = True,\n empty_lines_in_values: bool = True,\n default_section: str = \"DEFAULT\",\n interpolation: Interpolation | None = ...,\n converters: _ConvertersMap = ...,\n ) -> None: ...\n @overload\n def __init__(\n self,\n defaults: Mapping[str, str | None] | None,\n dict_type: type[Mapping[str, str]],\n allow_no_value: Literal[True],\n *,\n delimiters: Sequence[str] = (\"=\", \":\"),\n comment_prefixes: Sequence[str] = (\"#\", \";\"),\n inline_comment_prefixes: Sequence[str] | None = None,\n strict: bool = True,\n empty_lines_in_values: bool = True,\n default_section: str = \"DEFAULT\",\n interpolation: Interpolation | None = ...,\n converters: _ConvertersMap = ...,\n ) -> None: ...\n @overload\n def __init__(\n self,\n defaults: _Section | None = None,\n dict_type: type[Mapping[str, str]] = ...,\n allow_no_value: bool = False,\n *,\n delimiters: Sequence[str] = (\"=\", \":\"),\n comment_prefixes: Sequence[str] = (\"#\", \";\"),\n inline_comment_prefixes: Sequence[str] | None = None,\n strict: bool = True,\n empty_lines_in_values: bool = True,\n default_section: str = \"DEFAULT\",\n interpolation: Interpolation | None = ...,\n converters: _ConvertersMap = ...,\n ) -> None: ...\n def __len__(self) -> int: ...\n def __getitem__(self, key: str) -> SectionProxy: ...\n def __setitem__(self, key: str, value: _Section) -> None: ...\n def __delitem__(self, key: str) -> None: ...\n def __iter__(self) -> Iterator[str]: ...\n def __contains__(self, key: object) -> bool: ...\n def defaults(self) -> _Section: ...\n def sections(self) -> list[str]: ...\n def add_section(self, section: str) -> None: ...\n def has_section(self, section: str) -> bool: ...\n def options(self, section: str) -> list[str]: ...\n def has_option(self, section: str, option: str) -> bool: ...\n def read(self, filenames: StrOrBytesPath | Iterable[StrOrBytesPath], encoding: str | None = None) -> list[str]: ...\n def read_file(self, f: Iterable[str], source: str | None = None) -> None: ...\n def read_string(self, string: str, source: str = \"\") -> None: ...\n def read_dict(self, dictionary: Mapping[str, Mapping[str, Any]], source: str = \"\") -> None: ...\n if sys.version_info < (3, 12):\n def readfp(self, fp: Iterable[str], filename: str | None = None) -> None: ...\n # These get* methods are partially applied (with the same names) in\n # SectionProxy; the stubs should be kept updated together\n @overload\n def getint(self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None) -> int: ...\n @overload\n def getint(\n self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T = ...\n ) -> int | _T: ...\n @overload\n def getfloat(self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None) -> float: ...\n @overload\n def getfloat(\n self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T = ...\n ) -> float | _T: ...\n @overload\n def getboolean(self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None) -> bool: ...\n @overload\n def getboolean(\n self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T = ...\n ) -> bool | _T: ...\n def _get_conv(\n self,\n section: str,\n option: str,\n conv: Callable[[str], _T],\n *,\n raw: bool = False,\n vars: _Section | None = None,\n fallback: _T = ...,\n ) -> _T: ...\n # This is incompatible with MutableMapping so we ignore the type\n @overload # type: ignore[override]\n def get(self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None) -> str | Any: ...\n @overload\n def get(\n self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T\n ) -> str | _T | Any: ...\n @overload\n def items(self, *, raw: bool = False, vars: _Section | None = None) -> ItemsView[str, SectionProxy]: ...\n @overload\n def items(self, section: str, raw: bool = False, vars: _Section | None = None) -> list[tuple[str, str]]: ...\n def set(self, section: str, option: str, value: str | None = None) -> None: ...\n def write(self, fp: SupportsWrite[str], space_around_delimiters: bool = True) -> None: ...\n def remove_option(self, section: str, option: str) -> bool: ...\n def remove_section(self, section: str) -> bool: ...\n def optionxform(self, optionstr: str) -> str: ...\n\nclass ConfigParser(RawConfigParser):\n # This is incompatible with MutableMapping so we ignore the type\n @overload # type: ignore[override]\n def get(self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None) -> str: ...\n @overload\n def get(self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T) -> str | _T: ...\n\nif sys.version_info < (3, 12):\n class SafeConfigParser(ConfigParser): ... # deprecated alias\n\nclass SectionProxy(MutableMapping[str, str]):\n def __init__(self, parser: RawConfigParser, name: str) -> None: ...\n def __getitem__(self, key: str) -> str: ...\n def __setitem__(self, key: str, value: str) -> None: ...\n def __delitem__(self, key: str) -> None: ...\n def __contains__(self, key: object) -> bool: ...\n def __len__(self) -> int: ...\n def __iter__(self) -> Iterator[str]: ...\n @property\n def parser(self) -> RawConfigParser: ...\n @property\n def name(self) -> str: ...\n def get( # type: ignore[override]\n self,\n option: str,\n fallback: str | None = None,\n *,\n raw: bool = False,\n vars: _Section | None = None,\n _impl: Any | None = None,\n **kwargs: Any,\n ) -> str | Any: ... # can be None in RawConfigParser's sections\n # These are partially-applied version of the methods with the same names in\n # RawConfigParser; the stubs should be kept updated together\n @overload\n def getint(self, option: str, *, raw: bool = ..., vars: _Section | None = ...) -> int: ...\n @overload\n def getint(self, option: str, fallback: _T = ..., *, raw: bool = ..., vars: _Section | None = ...) -> int | _T: ...\n @overload\n def getfloat(self, option: str, *, raw: bool = ..., vars: _Section | None = ...) -> float: ...\n @overload\n def getfloat(self, option: str, fallback: _T = ..., *, raw: bool = ..., vars: _Section | None = ...) -> float | _T: ...\n @overload\n def getboolean(self, option: str, *, raw: bool = ..., vars: _Section | None = ...) -> bool: ...\n @overload\n def getboolean(self, option: str, fallback: _T = ..., *, raw: bool = ..., vars: _Section | None = ...) -> bool | _T: ...\n # SectionProxy can have arbitrary attributes when custom converters are used\n def __getattr__(self, key: str) -> Callable[..., Any]: ...\n\nclass ConverterMapping(MutableMapping[str, _ConverterCallback | None]):\n GETTERCRE: ClassVar[Pattern[Any]]\n def __init__(self, parser: RawConfigParser) -> None: ...\n def __getitem__(self, key: str) -> _ConverterCallback: ...\n def __setitem__(self, key: str, value: _ConverterCallback | None) -> None: ...\n def __delitem__(self, key: str) -> None: ...\n def __iter__(self) -> Iterator[str]: ...\n def __len__(self) -> int: ...\n\nclass Error(Exception):\n message: str\n def __init__(self, msg: str = \"\") -> None: ...\n\nclass NoSectionError(Error):\n section: str\n def __init__(self, section: str) -> None: ...\n\nclass DuplicateSectionError(Error):\n section: str\n source: str | None\n lineno: int | None\n def __init__(self, section: str, source: str | None = None, lineno: int | None = None) -> None: ...\n\nclass DuplicateOptionError(Error):\n section: str\n option: str\n source: str | None\n lineno: int | None\n def __init__(self, section: str, option: str, source: str | None = None, lineno: int | None = None) -> None: ...\n\nclass NoOptionError(Error):\n section: str\n option: str\n def __init__(self, option: str, section: str) -> None: ...\n\nclass InterpolationError(Error):\n section: str\n option: str\n def __init__(self, option: str, section: str, msg: str) -> None: ...\n\nclass InterpolationDepthError(InterpolationError):\n def __init__(self, option: str, section: str, rawval: object) -> None: ...\n\nclass InterpolationMissingOptionError(InterpolationError):\n reference: str\n def __init__(self, option: str, section: str, rawval: object, reference: str) -> None: ...\n\nclass InterpolationSyntaxError(InterpolationError): ...\n\nclass ParsingError(Error):\n source: str\n errors: list[tuple[int, str]]\n if sys.version_info >= (3, 12):\n def __init__(self, source: str) -> None: ...\n else:\n def __init__(self, source: str | None = None, filename: str | None = None) -> None: ...\n\n def append(self, lineno: int, line: str) -> None: ...\n\nclass MissingSectionHeaderError(ParsingError):\n lineno: int\n line: str\n def __init__(self, filename: str, lineno: int, line: str) -> None: ...\n", + "/typeshed/stdlib/contextlib.pyi": "import abc\nimport sys\nfrom _typeshed import FileDescriptorOrPath, Unused\nfrom abc import abstractmethod\nfrom collections.abc import AsyncGenerator, AsyncIterator, Awaitable, Callable, Generator, Iterator\nfrom types import TracebackType\nfrom typing import IO, Any, Generic, Protocol, TypeVar, overload, runtime_checkable\nfrom typing_extensions import ParamSpec, Self, TypeAlias\n\n__all__ = [\n \"contextmanager\",\n \"closing\",\n \"AbstractContextManager\",\n \"ContextDecorator\",\n \"ExitStack\",\n \"redirect_stdout\",\n \"redirect_stderr\",\n \"suppress\",\n \"AbstractAsyncContextManager\",\n \"AsyncExitStack\",\n \"asynccontextmanager\",\n \"nullcontext\",\n]\n\nif sys.version_info >= (3, 10):\n __all__ += [\"aclosing\"]\n\nif sys.version_info >= (3, 11):\n __all__ += [\"chdir\"]\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_io = TypeVar(\"_T_io\", bound=IO[str] | None)\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_P = ParamSpec(\"_P\")\n\n_ExitFunc: TypeAlias = Callable[[type[BaseException] | None, BaseException | None, TracebackType | None], bool | None]\n_CM_EF = TypeVar(\"_CM_EF\", bound=AbstractContextManager[Any] | _ExitFunc)\n\n@runtime_checkable\nclass AbstractContextManager(Protocol[_T_co]):\n def __enter__(self) -> _T_co: ...\n @abstractmethod\n def __exit__(\n self, __exc_type: type[BaseException] | None, __exc_value: BaseException | None, __traceback: TracebackType | None\n ) -> bool | None: ...\n\n@runtime_checkable\nclass AbstractAsyncContextManager(Protocol[_T_co]):\n async def __aenter__(self) -> _T_co: ...\n @abstractmethod\n async def __aexit__(\n self, __exc_type: type[BaseException] | None, __exc_value: BaseException | None, __traceback: TracebackType | None\n ) -> bool | None: ...\n\nclass ContextDecorator:\n def __call__(self, func: _F) -> _F: ...\n\nclass _GeneratorContextManager(AbstractContextManager[_T_co], ContextDecorator, Generic[_T_co]):\n # __init__ and all instance attributes are actually inherited from _GeneratorContextManagerBase\n # _GeneratorContextManagerBase is more trouble than it's worth to include in the stub; see #6676\n def __init__(self, func: Callable[..., Iterator[_T_co]], args: tuple[Any, ...], kwds: dict[str, Any]) -> None: ...\n gen: Generator[_T_co, Any, Any]\n func: Callable[..., Generator[_T_co, Any, Any]]\n args: tuple[Any, ...]\n kwds: dict[str, Any]\n if sys.version_info >= (3, 9):\n def __exit__(\n self, typ: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None\n ) -> bool | None: ...\n else:\n def __exit__(\n self, type: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None\n ) -> bool | None: ...\n\ndef contextmanager(func: Callable[_P, Iterator[_T_co]]) -> Callable[_P, _GeneratorContextManager[_T_co]]: ...\n\nif sys.version_info >= (3, 10):\n _AF = TypeVar(\"_AF\", bound=Callable[..., Awaitable[Any]])\n\n class AsyncContextDecorator:\n def __call__(self, func: _AF) -> _AF: ...\n\n class _AsyncGeneratorContextManager(AbstractAsyncContextManager[_T_co], AsyncContextDecorator, Generic[_T_co]):\n # __init__ and these attributes are actually defined in the base class _GeneratorContextManagerBase,\n # which is more trouble than it's worth to include in the stub (see #6676)\n def __init__(self, func: Callable[..., AsyncIterator[_T_co]], args: tuple[Any, ...], kwds: dict[str, Any]) -> None: ...\n gen: AsyncGenerator[_T_co, Any]\n func: Callable[..., AsyncGenerator[_T_co, Any]]\n args: tuple[Any, ...]\n kwds: dict[str, Any]\n async def __aexit__(\n self, typ: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None\n ) -> bool | None: ...\n\nelse:\n class _AsyncGeneratorContextManager(AbstractAsyncContextManager[_T_co]):\n def __init__(self, func: Callable[..., AsyncIterator[_T_co]], args: tuple[Any, ...], kwds: dict[str, Any]) -> None: ...\n gen: AsyncGenerator[_T_co, Any]\n func: Callable[..., AsyncGenerator[_T_co, Any]]\n args: tuple[Any, ...]\n kwds: dict[str, Any]\n async def __aexit__(\n self, typ: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None\n ) -> bool | None: ...\n\ndef asynccontextmanager(func: Callable[_P, AsyncIterator[_T_co]]) -> Callable[_P, _AsyncGeneratorContextManager[_T_co]]: ...\n\nclass _SupportsClose(Protocol):\n def close(self) -> object: ...\n\n_SupportsCloseT = TypeVar(\"_SupportsCloseT\", bound=_SupportsClose)\n\nclass closing(AbstractContextManager[_SupportsCloseT]):\n def __init__(self, thing: _SupportsCloseT) -> None: ...\n def __exit__(self, *exc_info: Unused) -> None: ...\n\nif sys.version_info >= (3, 10):\n class _SupportsAclose(Protocol):\n def aclose(self) -> Awaitable[object]: ...\n _SupportsAcloseT = TypeVar(\"_SupportsAcloseT\", bound=_SupportsAclose)\n\n class aclosing(AbstractAsyncContextManager[_SupportsAcloseT]):\n def __init__(self, thing: _SupportsAcloseT) -> None: ...\n async def __aexit__(self, *exc_info: Unused) -> None: ...\n\nclass suppress(AbstractContextManager[None]):\n def __init__(self, *exceptions: type[BaseException]) -> None: ...\n def __exit__(\n self, exctype: type[BaseException] | None, excinst: BaseException | None, exctb: TracebackType | None\n ) -> bool: ...\n\nclass _RedirectStream(AbstractContextManager[_T_io]):\n def __init__(self, new_target: _T_io) -> None: ...\n def __exit__(\n self, exctype: type[BaseException] | None, excinst: BaseException | None, exctb: TracebackType | None\n ) -> None: ...\n\nclass redirect_stdout(_RedirectStream[_T_io]): ...\nclass redirect_stderr(_RedirectStream[_T_io]): ...\n\n# In reality this is a subclass of `AbstractContextManager`;\n# see #7961 for why we don't do that in the stub\nclass ExitStack(metaclass=abc.ABCMeta):\n def enter_context(self, cm: AbstractContextManager[_T]) -> _T: ...\n def push(self, exit: _CM_EF) -> _CM_EF: ...\n def callback(self, __callback: Callable[_P, _T], *args: _P.args, **kwds: _P.kwargs) -> Callable[_P, _T]: ...\n def pop_all(self) -> Self: ...\n def close(self) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, __exc_type: type[BaseException] | None, __exc_value: BaseException | None, __traceback: TracebackType | None\n ) -> bool: ...\n\n_ExitCoroFunc: TypeAlias = Callable[\n [type[BaseException] | None, BaseException | None, TracebackType | None], Awaitable[bool | None]\n]\n_ACM_EF = TypeVar(\"_ACM_EF\", bound=AbstractAsyncContextManager[Any] | _ExitCoroFunc)\n\n# In reality this is a subclass of `AbstractAsyncContextManager`;\n# see #7961 for why we don't do that in the stub\nclass AsyncExitStack(metaclass=abc.ABCMeta):\n def enter_context(self, cm: AbstractContextManager[_T]) -> _T: ...\n async def enter_async_context(self, cm: AbstractAsyncContextManager[_T]) -> _T: ...\n def push(self, exit: _CM_EF) -> _CM_EF: ...\n def push_async_exit(self, exit: _ACM_EF) -> _ACM_EF: ...\n def callback(self, __callback: Callable[_P, _T], *args: _P.args, **kwds: _P.kwargs) -> Callable[_P, _T]: ...\n def push_async_callback(\n self, __callback: Callable[_P, Awaitable[_T]], *args: _P.args, **kwds: _P.kwargs\n ) -> Callable[_P, Awaitable[_T]]: ...\n def pop_all(self) -> Self: ...\n async def aclose(self) -> None: ...\n async def __aenter__(self) -> Self: ...\n async def __aexit__(\n self, __exc_type: type[BaseException] | None, __exc_value: BaseException | None, __traceback: TracebackType | None\n ) -> bool: ...\n\nif sys.version_info >= (3, 10):\n class nullcontext(AbstractContextManager[_T], AbstractAsyncContextManager[_T]):\n enter_result: _T\n @overload\n def __init__(self: nullcontext[None], enter_result: None = None) -> None: ...\n @overload\n def __init__(self: nullcontext[_T], enter_result: _T) -> None: ...\n def __enter__(self) -> _T: ...\n def __exit__(self, *exctype: Unused) -> None: ...\n async def __aenter__(self) -> _T: ...\n async def __aexit__(self, *exctype: Unused) -> None: ...\n\nelse:\n class nullcontext(AbstractContextManager[_T]):\n enter_result: _T\n @overload\n def __init__(self: nullcontext[None], enter_result: None = None) -> None: ...\n @overload\n def __init__(self: nullcontext[_T], enter_result: _T) -> None: ...\n def __enter__(self) -> _T: ...\n def __exit__(self, *exctype: Unused) -> None: ...\n\nif sys.version_info >= (3, 11):\n _T_fd_or_any_path = TypeVar(\"_T_fd_or_any_path\", bound=FileDescriptorOrPath)\n\n class chdir(AbstractContextManager[None], Generic[_T_fd_or_any_path]):\n path: _T_fd_or_any_path\n def __init__(self, path: _T_fd_or_any_path) -> None: ...\n def __enter__(self) -> None: ...\n def __exit__(self, *excinfo: Unused) -> None: ...\n", + "/typeshed/stdlib/contextvars.pyi": "import sys\nfrom collections.abc import Callable, Iterator, Mapping\nfrom typing import Any, ClassVar, Generic, TypeVar, overload\nfrom typing_extensions import ParamSpec, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = (\"Context\", \"ContextVar\", \"Token\", \"copy_context\")\n\n_T = TypeVar(\"_T\")\n_D = TypeVar(\"_D\")\n_P = ParamSpec(\"_P\")\n\n@final\nclass ContextVar(Generic[_T]):\n @overload\n def __init__(self, name: str) -> None: ...\n @overload\n def __init__(self, name: str, *, default: _T) -> None: ...\n def __hash__(self) -> int: ...\n @property\n def name(self) -> str: ...\n @overload\n def get(self) -> _T: ...\n if sys.version_info >= (3, 8):\n @overload\n def get(self, default: _T) -> _T: ...\n @overload\n def get(self, default: _D) -> _D | _T: ...\n else:\n @overload\n def get(self, __default: _T) -> _T: ...\n @overload\n def get(self, __default: _D) -> _D | _T: ...\n\n def set(self, __value: _T) -> Token[_T]: ...\n def reset(self, __token: Token[_T]) -> None: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n@final\nclass Token(Generic[_T]):\n @property\n def var(self) -> ContextVar[_T]: ...\n @property\n def old_value(self) -> Any: ... # returns either _T or MISSING, but that's hard to express\n MISSING: ClassVar[object]\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\ndef copy_context() -> Context: ...\n\n# It doesn't make sense to make this generic, because for most Contexts each ContextVar will have\n# a different value.\n@final\nclass Context(Mapping[ContextVar[Any], Any]):\n def __init__(self) -> None: ...\n @overload\n def get(self, __key: ContextVar[_T], __default: None = None) -> _T | None: ... # type: ignore[misc] # overlapping overloads\n @overload\n def get(self, __key: ContextVar[_T], __default: _T) -> _T: ...\n @overload\n def get(self, __key: ContextVar[_T], __default: _D) -> _T | _D: ...\n def run(self, callable: Callable[_P, _T], *args: _P.args, **kwargs: _P.kwargs) -> _T: ...\n def copy(self) -> Context: ...\n def __getitem__(self, __key: ContextVar[_T]) -> _T: ...\n def __iter__(self) -> Iterator[ContextVar[Any]]: ...\n def __len__(self) -> int: ...\n def __eq__(self, __value: object) -> bool: ...\n", + "/typeshed/stdlib/copy.pyi": "from typing import Any, TypeVar\n\n__all__ = [\"Error\", \"copy\", \"deepcopy\"]\n\n_T = TypeVar(\"_T\")\n\n# None in CPython but non-None in Jython\nPyStringMap: Any\n\n# Note: memo and _nil are internal kwargs.\ndef deepcopy(x: _T, memo: dict[int, Any] | None = None, _nil: Any = []) -> _T: ...\ndef copy(x: _T) -> _T: ...\n\nclass Error(Exception): ...\n\nerror = Error\n", + "/typeshed/stdlib/copyreg.pyi": "from collections.abc import Callable, Hashable\nfrom typing import Any, SupportsInt, TypeVar\nfrom typing_extensions import TypeAlias\n\n_T = TypeVar(\"_T\")\n_Reduce: TypeAlias = tuple[Callable[..., _T], tuple[Any, ...]] | tuple[Callable[..., _T], tuple[Any, ...], Any | None]\n\n__all__ = [\"pickle\", \"constructor\", \"add_extension\", \"remove_extension\", \"clear_extension_cache\"]\n\ndef pickle(\n ob_type: type[_T],\n pickle_function: Callable[[_T], str | _Reduce[_T]],\n constructor_ob: Callable[[_Reduce[_T]], _T] | None = None,\n) -> None: ...\ndef constructor(object: Callable[[_Reduce[_T]], _T]) -> None: ...\ndef add_extension(module: Hashable, name: Hashable, code: SupportsInt) -> None: ...\ndef remove_extension(module: Hashable, name: Hashable, code: int) -> None: ...\ndef clear_extension_cache() -> None: ...\n\n_DispatchTableType: TypeAlias = dict[type, Callable[[Any], str | _Reduce[Any]]] # imported by multiprocessing.reduction\ndispatch_table: _DispatchTableType # undocumented\n", + "/typeshed/stdlib/crypt.pyi": "import sys\n\nif sys.platform != \"win32\":\n class _Method: ...\n METHOD_CRYPT: _Method\n METHOD_MD5: _Method\n METHOD_SHA256: _Method\n METHOD_SHA512: _Method\n METHOD_BLOWFISH: _Method\n methods: list[_Method]\n def mksalt(method: _Method | None = None, *, rounds: int | None = None) -> str: ...\n def crypt(word: str, salt: str | _Method | None = None) -> str: ...\n", + "/typeshed/stdlib/csv.pyi": "import sys\n\n# actually csv.Dialect is a different class to _csv.Dialect at runtime, but for typing purposes, they're identical\nfrom _csv import (\n QUOTE_ALL as QUOTE_ALL,\n QUOTE_MINIMAL as QUOTE_MINIMAL,\n QUOTE_NONE as QUOTE_NONE,\n QUOTE_NONNUMERIC as QUOTE_NONNUMERIC,\n Dialect as Dialect,\n Error as Error,\n __version__ as __version__,\n _DialectLike,\n _QuotingType,\n _reader,\n _writer,\n field_size_limit as field_size_limit,\n get_dialect as get_dialect,\n list_dialects as list_dialects,\n reader as reader,\n register_dialect as register_dialect,\n unregister_dialect as unregister_dialect,\n writer as writer,\n)\n\nif sys.version_info >= (3, 12):\n from _csv import QUOTE_NOTNULL as QUOTE_NOTNULL, QUOTE_STRINGS as QUOTE_STRINGS\nfrom _typeshed import SupportsWrite\nfrom collections.abc import Collection, Iterable, Iterator, Mapping, Sequence\nfrom typing import Any, Generic, TypeVar, overload\nfrom typing_extensions import Literal, Self\n\nif sys.version_info >= (3, 8):\n from builtins import dict as _DictReadMapping\nelse:\n from collections import OrderedDict as _DictReadMapping\n\nif sys.version_info >= (3, 12):\n from types import GenericAlias\n\n__all__ = [\n \"QUOTE_MINIMAL\",\n \"QUOTE_ALL\",\n \"QUOTE_NONNUMERIC\",\n \"QUOTE_NONE\",\n \"Error\",\n \"Dialect\",\n \"__doc__\",\n \"excel\",\n \"excel_tab\",\n \"field_size_limit\",\n \"reader\",\n \"writer\",\n \"register_dialect\",\n \"get_dialect\",\n \"list_dialects\",\n \"Sniffer\",\n \"unregister_dialect\",\n \"__version__\",\n \"DictReader\",\n \"DictWriter\",\n \"unix_dialect\",\n]\nif sys.version_info >= (3, 12):\n __all__ += [\"QUOTE_STRINGS\", \"QUOTE_NOTNULL\"]\n\n_T = TypeVar(\"_T\")\n\nclass excel(Dialect): ...\nclass excel_tab(excel): ...\nclass unix_dialect(Dialect): ...\n\nclass DictReader(Iterator[_DictReadMapping[_T | Any, str | Any]], Generic[_T]):\n fieldnames: Sequence[_T] | None\n restkey: _T | None\n restval: str | Any | None\n reader: _reader\n dialect: _DialectLike\n line_num: int\n @overload\n def __init__(\n self,\n f: Iterable[str],\n fieldnames: Sequence[_T],\n restkey: _T | None = None,\n restval: str | Any | None = None,\n dialect: _DialectLike = \"excel\",\n *,\n delimiter: str = \",\",\n quotechar: str | None = '\"',\n escapechar: str | None = None,\n doublequote: bool = True,\n skipinitialspace: bool = False,\n lineterminator: str = \"\\r\\n\",\n quoting: _QuotingType = 0,\n strict: bool = False,\n ) -> None: ...\n @overload\n def __init__(\n self: DictReader[str],\n f: Iterable[str],\n fieldnames: Sequence[str] | None = None,\n restkey: str | None = None,\n restval: str | None = None,\n dialect: _DialectLike = \"excel\",\n *,\n delimiter: str = \",\",\n quotechar: str | None = '\"',\n escapechar: str | None = None,\n doublequote: bool = True,\n skipinitialspace: bool = False,\n lineterminator: str = \"\\r\\n\",\n quoting: _QuotingType = 0,\n strict: bool = False,\n ) -> None: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> _DictReadMapping[_T | Any, str | Any]: ...\n if sys.version_info >= (3, 12):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass DictWriter(Generic[_T]):\n fieldnames: Collection[_T]\n restval: Any | None\n extrasaction: Literal[\"raise\", \"ignore\"]\n writer: _writer\n def __init__(\n self,\n f: SupportsWrite[str],\n fieldnames: Collection[_T],\n restval: Any | None = \"\",\n extrasaction: Literal[\"raise\", \"ignore\"] = \"raise\",\n dialect: _DialectLike = \"excel\",\n *,\n delimiter: str = \",\",\n quotechar: str | None = '\"',\n escapechar: str | None = None,\n doublequote: bool = True,\n skipinitialspace: bool = False,\n lineterminator: str = \"\\r\\n\",\n quoting: _QuotingType = 0,\n strict: bool = False,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def writeheader(self) -> Any: ...\n else:\n def writeheader(self) -> None: ...\n\n def writerow(self, rowdict: Mapping[_T, Any]) -> Any: ...\n def writerows(self, rowdicts: Iterable[Mapping[_T, Any]]) -> None: ...\n if sys.version_info >= (3, 12):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Sniffer:\n preferred: list[str]\n def sniff(self, sample: str, delimiters: str | None = None) -> type[Dialect]: ...\n def has_header(self, sample: str) -> bool: ...\n", + "/typeshed/stdlib/dataclasses.pyi": "import enum\nimport sys\nimport types\nfrom _typeshed import DataclassInstance\nfrom builtins import type as Type # alias to avoid name clashes with fields named \"type\"\nfrom collections.abc import Callable, Iterable, Mapping\nfrom typing import Any, Generic, Protocol, TypeVar, overload\nfrom typing_extensions import Literal, TypeAlias, TypeGuard\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n\n__all__ = [\n \"dataclass\",\n \"field\",\n \"Field\",\n \"FrozenInstanceError\",\n \"InitVar\",\n \"MISSING\",\n \"fields\",\n \"asdict\",\n \"astuple\",\n \"make_dataclass\",\n \"replace\",\n \"is_dataclass\",\n]\n\nif sys.version_info >= (3, 10):\n __all__ += [\"KW_ONLY\"]\n\n_DataclassT = TypeVar(\"_DataclassT\", bound=DataclassInstance)\n\n# define _MISSING_TYPE as an enum within the type stubs,\n# even though that is not really its type at runtime\n# this allows us to use Literal[_MISSING_TYPE.MISSING]\n# for background, see:\n# https://github.com/python/typeshed/pull/5900#issuecomment-895513797\nclass _MISSING_TYPE(enum.Enum):\n MISSING = enum.auto()\n\nMISSING = _MISSING_TYPE.MISSING\n\nif sys.version_info >= (3, 10):\n class KW_ONLY: ...\n\n@overload\ndef asdict(obj: DataclassInstance) -> dict[str, Any]: ...\n@overload\ndef asdict(obj: DataclassInstance, *, dict_factory: Callable[[list[tuple[str, Any]]], _T]) -> _T: ...\n@overload\ndef astuple(obj: DataclassInstance) -> tuple[Any, ...]: ...\n@overload\ndef astuple(obj: DataclassInstance, *, tuple_factory: Callable[[list[Any]], _T]) -> _T: ...\n\nif sys.version_info >= (3, 8):\n # cls argument is now positional-only\n @overload\n def dataclass(__cls: None) -> Callable[[type[_T]], type[_T]]: ...\n @overload\n def dataclass(__cls: type[_T]) -> type[_T]: ...\n\nelse:\n @overload\n def dataclass(_cls: None) -> Callable[[type[_T]], type[_T]]: ...\n @overload\n def dataclass(_cls: type[_T]) -> type[_T]: ...\n\nif sys.version_info >= (3, 11):\n @overload\n def dataclass(\n *,\n init: bool = True,\n repr: bool = True,\n eq: bool = True,\n order: bool = False,\n unsafe_hash: bool = False,\n frozen: bool = False,\n match_args: bool = True,\n kw_only: bool = False,\n slots: bool = False,\n weakref_slot: bool = False,\n ) -> Callable[[type[_T]], type[_T]]: ...\n\nelif sys.version_info >= (3, 10):\n @overload\n def dataclass(\n *,\n init: bool = True,\n repr: bool = True,\n eq: bool = True,\n order: bool = False,\n unsafe_hash: bool = False,\n frozen: bool = False,\n match_args: bool = True,\n kw_only: bool = False,\n slots: bool = False,\n ) -> Callable[[type[_T]], type[_T]]: ...\n\nelse:\n @overload\n def dataclass(\n *,\n init: bool = True,\n repr: bool = True,\n eq: bool = True,\n order: bool = False,\n unsafe_hash: bool = False,\n frozen: bool = False,\n ) -> Callable[[type[_T]], type[_T]]: ...\n\n# See https://github.com/python/mypy/issues/10750\nclass _DefaultFactory(Protocol[_T_co]):\n def __call__(self) -> _T_co: ...\n\nclass Field(Generic[_T]):\n name: str\n type: Type[_T]\n default: _T | Literal[_MISSING_TYPE.MISSING]\n default_factory: _DefaultFactory[_T] | Literal[_MISSING_TYPE.MISSING]\n repr: bool\n hash: bool | None\n init: bool\n compare: bool\n metadata: types.MappingProxyType[Any, Any]\n if sys.version_info >= (3, 10):\n kw_only: bool | Literal[_MISSING_TYPE.MISSING]\n def __init__(\n self,\n default: _T,\n default_factory: Callable[[], _T],\n init: bool,\n repr: bool,\n hash: bool | None,\n compare: bool,\n metadata: Mapping[Any, Any],\n kw_only: bool,\n ) -> None: ...\n else:\n def __init__(\n self,\n default: _T,\n default_factory: Callable[[], _T],\n init: bool,\n repr: bool,\n hash: bool | None,\n compare: bool,\n metadata: Mapping[Any, Any],\n ) -> None: ...\n\n def __set_name__(self, owner: Type[Any], name: str) -> None: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# NOTE: Actual return type is 'Field[_T]', but we want to help type checkers\n# to understand the magic that happens at runtime.\nif sys.version_info >= (3, 10):\n @overload # `default` and `default_factory` are optional and mutually exclusive.\n def field(\n *,\n default: _T,\n init: bool = True,\n repr: bool = True,\n hash: bool | None = None,\n compare: bool = True,\n metadata: Mapping[Any, Any] | None = None,\n kw_only: bool = ...,\n ) -> _T: ...\n @overload\n def field(\n *,\n default_factory: Callable[[], _T],\n init: bool = True,\n repr: bool = True,\n hash: bool | None = None,\n compare: bool = True,\n metadata: Mapping[Any, Any] | None = None,\n kw_only: bool = ...,\n ) -> _T: ...\n @overload\n def field(\n *,\n init: bool = True,\n repr: bool = True,\n hash: bool | None = None,\n compare: bool = True,\n metadata: Mapping[Any, Any] | None = None,\n kw_only: bool = ...,\n ) -> Any: ...\n\nelse:\n @overload # `default` and `default_factory` are optional and mutually exclusive.\n def field(\n *,\n default: _T,\n init: bool = True,\n repr: bool = True,\n hash: bool | None = None,\n compare: bool = True,\n metadata: Mapping[Any, Any] | None = None,\n ) -> _T: ...\n @overload\n def field(\n *,\n default_factory: Callable[[], _T],\n init: bool = True,\n repr: bool = True,\n hash: bool | None = None,\n compare: bool = True,\n metadata: Mapping[Any, Any] | None = None,\n ) -> _T: ...\n @overload\n def field(\n *,\n init: bool = True,\n repr: bool = True,\n hash: bool | None = None,\n compare: bool = True,\n metadata: Mapping[Any, Any] | None = None,\n ) -> Any: ...\n\ndef fields(class_or_instance: DataclassInstance | type[DataclassInstance]) -> tuple[Field[Any], ...]: ...\n@overload\ndef is_dataclass(obj: DataclassInstance) -> Literal[True]: ...\n@overload\ndef is_dataclass(obj: type) -> TypeGuard[type[DataclassInstance]]: ...\n@overload\ndef is_dataclass(obj: object) -> TypeGuard[DataclassInstance | type[DataclassInstance]]: ...\n\nclass FrozenInstanceError(AttributeError): ...\n\nif sys.version_info >= (3, 9):\n _InitVarMeta: TypeAlias = type\nelse:\n class _InitVarMeta(type):\n # Not used, instead `InitVar.__class_getitem__` is called.\n def __getitem__(self, params: Any) -> InitVar[Any]: ...\n\nclass InitVar(Generic[_T], metaclass=_InitVarMeta):\n type: Type[_T]\n def __init__(self, type: Type[_T]) -> None: ...\n if sys.version_info >= (3, 9):\n @overload\n def __class_getitem__(cls, type: Type[_T]) -> InitVar[_T]: ...\n @overload\n def __class_getitem__(cls, type: Any) -> InitVar[Any]: ...\n\nif sys.version_info >= (3, 12):\n def make_dataclass(\n cls_name: str,\n fields: Iterable[str | tuple[str, type] | tuple[str, type, Any]],\n *,\n bases: tuple[type, ...] = (),\n namespace: dict[str, Any] | None = None,\n init: bool = True,\n repr: bool = True,\n eq: bool = True,\n order: bool = False,\n unsafe_hash: bool = False,\n frozen: bool = False,\n match_args: bool = True,\n kw_only: bool = False,\n slots: bool = False,\n weakref_slot: bool = False,\n module: str | None = None,\n ) -> type: ...\n\nelif sys.version_info >= (3, 11):\n def make_dataclass(\n cls_name: str,\n fields: Iterable[str | tuple[str, type] | tuple[str, type, Any]],\n *,\n bases: tuple[type, ...] = (),\n namespace: dict[str, Any] | None = None,\n init: bool = True,\n repr: bool = True,\n eq: bool = True,\n order: bool = False,\n unsafe_hash: bool = False,\n frozen: bool = False,\n match_args: bool = True,\n kw_only: bool = False,\n slots: bool = False,\n weakref_slot: bool = False,\n ) -> type: ...\n\nelif sys.version_info >= (3, 10):\n def make_dataclass(\n cls_name: str,\n fields: Iterable[str | tuple[str, type] | tuple[str, type, Any]],\n *,\n bases: tuple[type, ...] = (),\n namespace: dict[str, Any] | None = None,\n init: bool = True,\n repr: bool = True,\n eq: bool = True,\n order: bool = False,\n unsafe_hash: bool = False,\n frozen: bool = False,\n match_args: bool = True,\n kw_only: bool = False,\n slots: bool = False,\n ) -> type: ...\n\nelse:\n def make_dataclass(\n cls_name: str,\n fields: Iterable[str | tuple[str, type] | tuple[str, type, Any]],\n *,\n bases: tuple[type, ...] = (),\n namespace: dict[str, Any] | None = None,\n init: bool = True,\n repr: bool = True,\n eq: bool = True,\n order: bool = False,\n unsafe_hash: bool = False,\n frozen: bool = False,\n ) -> type: ...\n\ndef replace(__obj: _DataclassT, **changes: Any) -> _DataclassT: ...\n", + "/typeshed/stdlib/datetime.pyi": "import sys\nfrom abc import abstractmethod\nfrom time import struct_time\nfrom typing import ClassVar, NamedTuple, NoReturn, TypeVar, overload\nfrom typing_extensions import Literal, Self, SupportsIndex, TypeAlias, final\n\nif sys.version_info >= (3, 11):\n __all__ = (\"date\", \"datetime\", \"time\", \"timedelta\", \"timezone\", \"tzinfo\", \"MINYEAR\", \"MAXYEAR\", \"UTC\")\nelif sys.version_info >= (3, 9):\n __all__ = (\"date\", \"datetime\", \"time\", \"timedelta\", \"timezone\", \"tzinfo\", \"MINYEAR\", \"MAXYEAR\")\n\n_D = TypeVar(\"_D\", bound=date)\n\nMINYEAR: Literal[1]\nMAXYEAR: Literal[9999]\n\nclass tzinfo:\n @abstractmethod\n def tzname(self, __dt: datetime | None) -> str | None: ...\n @abstractmethod\n def utcoffset(self, __dt: datetime | None) -> timedelta | None: ...\n @abstractmethod\n def dst(self, __dt: datetime | None) -> timedelta | None: ...\n def fromutc(self, __dt: datetime) -> datetime: ...\n\n# Alias required to avoid name conflicts with date(time).tzinfo.\n_TzInfo: TypeAlias = tzinfo\n\n@final\nclass timezone(tzinfo):\n utc: ClassVar[timezone]\n min: ClassVar[timezone]\n max: ClassVar[timezone]\n def __init__(self, offset: timedelta, name: str = ...) -> None: ...\n def tzname(self, __dt: datetime | None) -> str: ...\n def utcoffset(self, __dt: datetime | None) -> timedelta: ...\n def dst(self, __dt: datetime | None) -> None: ...\n def __hash__(self) -> int: ...\n def __eq__(self, __value: object) -> bool: ...\n\nif sys.version_info >= (3, 11):\n UTC: timezone\n\nif sys.version_info >= (3, 9):\n class _IsoCalendarDate(NamedTuple):\n year: int\n week: int\n weekday: int\n\nclass date:\n min: ClassVar[date]\n max: ClassVar[date]\n resolution: ClassVar[timedelta]\n def __new__(cls, year: SupportsIndex, month: SupportsIndex, day: SupportsIndex) -> Self: ...\n @classmethod\n def fromtimestamp(cls, __timestamp: float) -> Self: ...\n @classmethod\n def today(cls) -> Self: ...\n @classmethod\n def fromordinal(cls, __n: int) -> Self: ...\n @classmethod\n def fromisoformat(cls, __date_string: str) -> Self: ...\n if sys.version_info >= (3, 8):\n @classmethod\n def fromisocalendar(cls, year: int, week: int, day: int) -> Self: ...\n\n @property\n def year(self) -> int: ...\n @property\n def month(self) -> int: ...\n @property\n def day(self) -> int: ...\n def ctime(self) -> str: ...\n # On <3.12, the name of the parameter in the pure-Python implementation\n # didn't match the name in the C implementation,\n # meaning it is only *safe* to pass it as a keyword argument on 3.12+\n if sys.version_info >= (3, 12):\n def strftime(self, format: str) -> str: ...\n else:\n def strftime(self, __format: str) -> str: ...\n\n def __format__(self, __fmt: str) -> str: ...\n def isoformat(self) -> str: ...\n def timetuple(self) -> struct_time: ...\n def toordinal(self) -> int: ...\n def replace(self, year: SupportsIndex = ..., month: SupportsIndex = ..., day: SupportsIndex = ...) -> Self: ...\n def __le__(self, __value: date) -> bool: ...\n def __lt__(self, __value: date) -> bool: ...\n def __ge__(self, __value: date) -> bool: ...\n def __gt__(self, __value: date) -> bool: ...\n def __eq__(self, __value: object) -> bool: ...\n if sys.version_info >= (3, 8):\n def __add__(self, __value: timedelta) -> Self: ...\n def __radd__(self, __value: timedelta) -> Self: ...\n @overload\n def __sub__(self, __value: timedelta) -> Self: ...\n @overload\n def __sub__(self, __value: datetime) -> NoReturn: ...\n @overload\n def __sub__(self: _D, __value: _D) -> timedelta: ...\n else:\n # Prior to Python 3.8, arithmetic operations always returned `date`, even in subclasses\n def __add__(self, __value: timedelta) -> date: ...\n def __radd__(self, __value: timedelta) -> date: ...\n @overload\n def __sub__(self, __value: timedelta) -> date: ...\n @overload\n def __sub__(self, __value: datetime) -> NoReturn: ...\n @overload\n def __sub__(self, __value: date) -> timedelta: ...\n\n def __hash__(self) -> int: ...\n def weekday(self) -> int: ...\n def isoweekday(self) -> int: ...\n if sys.version_info >= (3, 9):\n def isocalendar(self) -> _IsoCalendarDate: ...\n else:\n def isocalendar(self) -> tuple[int, int, int]: ...\n\nclass time:\n min: ClassVar[time]\n max: ClassVar[time]\n resolution: ClassVar[timedelta]\n def __new__(\n cls,\n hour: SupportsIndex = ...,\n minute: SupportsIndex = ...,\n second: SupportsIndex = ...,\n microsecond: SupportsIndex = ...,\n tzinfo: _TzInfo | None = ...,\n *,\n fold: int = ...,\n ) -> Self: ...\n @property\n def hour(self) -> int: ...\n @property\n def minute(self) -> int: ...\n @property\n def second(self) -> int: ...\n @property\n def microsecond(self) -> int: ...\n @property\n def tzinfo(self) -> _TzInfo | None: ...\n @property\n def fold(self) -> int: ...\n def __le__(self, __value: time) -> bool: ...\n def __lt__(self, __value: time) -> bool: ...\n def __ge__(self, __value: time) -> bool: ...\n def __gt__(self, __value: time) -> bool: ...\n def __eq__(self, __value: object) -> bool: ...\n def __hash__(self) -> int: ...\n def isoformat(self, timespec: str = ...) -> str: ...\n @classmethod\n def fromisoformat(cls, __time_string: str) -> Self: ...\n # On <3.12, the name of the parameter in the pure-Python implementation\n # didn't match the name in the C implementation,\n # meaning it is only *safe* to pass it as a keyword argument on 3.12+\n if sys.version_info >= (3, 12):\n def strftime(self, format: str) -> str: ...\n else:\n def strftime(self, __format: str) -> str: ...\n\n def __format__(self, __fmt: str) -> str: ...\n def utcoffset(self) -> timedelta | None: ...\n def tzname(self) -> str | None: ...\n def dst(self) -> timedelta | None: ...\n def replace(\n self,\n hour: SupportsIndex = ...,\n minute: SupportsIndex = ...,\n second: SupportsIndex = ...,\n microsecond: SupportsIndex = ...,\n tzinfo: _TzInfo | None = ...,\n *,\n fold: int = ...,\n ) -> Self: ...\n\n_Date: TypeAlias = date\n_Time: TypeAlias = time\n\nclass timedelta:\n min: ClassVar[timedelta]\n max: ClassVar[timedelta]\n resolution: ClassVar[timedelta]\n def __new__(\n cls,\n days: float = ...,\n seconds: float = ...,\n microseconds: float = ...,\n milliseconds: float = ...,\n minutes: float = ...,\n hours: float = ...,\n weeks: float = ...,\n ) -> Self: ...\n @property\n def days(self) -> int: ...\n @property\n def seconds(self) -> int: ...\n @property\n def microseconds(self) -> int: ...\n def total_seconds(self) -> float: ...\n def __add__(self, __value: timedelta) -> timedelta: ...\n def __radd__(self, __value: timedelta) -> timedelta: ...\n def __sub__(self, __value: timedelta) -> timedelta: ...\n def __rsub__(self, __value: timedelta) -> timedelta: ...\n def __neg__(self) -> timedelta: ...\n def __pos__(self) -> timedelta: ...\n def __abs__(self) -> timedelta: ...\n def __mul__(self, __value: float) -> timedelta: ...\n def __rmul__(self, __value: float) -> timedelta: ...\n @overload\n def __floordiv__(self, __value: timedelta) -> int: ...\n @overload\n def __floordiv__(self, __value: int) -> timedelta: ...\n @overload\n def __truediv__(self, __value: timedelta) -> float: ...\n @overload\n def __truediv__(self, __value: float) -> timedelta: ...\n def __mod__(self, __value: timedelta) -> timedelta: ...\n def __divmod__(self, __value: timedelta) -> tuple[int, timedelta]: ...\n def __le__(self, __value: timedelta) -> bool: ...\n def __lt__(self, __value: timedelta) -> bool: ...\n def __ge__(self, __value: timedelta) -> bool: ...\n def __gt__(self, __value: timedelta) -> bool: ...\n def __eq__(self, __value: object) -> bool: ...\n def __bool__(self) -> bool: ...\n def __hash__(self) -> int: ...\n\nclass datetime(date):\n min: ClassVar[datetime]\n max: ClassVar[datetime]\n def __new__(\n cls,\n year: SupportsIndex,\n month: SupportsIndex,\n day: SupportsIndex,\n hour: SupportsIndex = ...,\n minute: SupportsIndex = ...,\n second: SupportsIndex = ...,\n microsecond: SupportsIndex = ...,\n tzinfo: _TzInfo | None = ...,\n *,\n fold: int = ...,\n ) -> Self: ...\n @property\n def hour(self) -> int: ...\n @property\n def minute(self) -> int: ...\n @property\n def second(self) -> int: ...\n @property\n def microsecond(self) -> int: ...\n @property\n def tzinfo(self) -> _TzInfo | None: ...\n @property\n def fold(self) -> int: ...\n # On <3.12, the name of the first parameter in the pure-Python implementation\n # didn't match the name in the C implementation,\n # meaning it is only *safe* to pass it as a keyword argument on 3.12+\n if sys.version_info >= (3, 12):\n @classmethod\n def fromtimestamp(cls, timestamp: float, tz: _TzInfo | None = ...) -> Self: ...\n else:\n @classmethod\n def fromtimestamp(cls, __timestamp: float, tz: _TzInfo | None = ...) -> Self: ...\n\n @classmethod\n def utcfromtimestamp(cls, __t: float) -> Self: ...\n if sys.version_info >= (3, 8):\n @classmethod\n def now(cls, tz: _TzInfo | None = None) -> Self: ...\n else:\n @overload\n @classmethod\n def now(cls, tz: None = None) -> Self: ...\n @overload\n @classmethod\n def now(cls, tz: _TzInfo) -> datetime: ...\n\n @classmethod\n def utcnow(cls) -> Self: ...\n @classmethod\n def combine(cls, date: _Date, time: _Time, tzinfo: _TzInfo | None = ...) -> Self: ...\n def timestamp(self) -> float: ...\n def utctimetuple(self) -> struct_time: ...\n def date(self) -> _Date: ...\n def time(self) -> _Time: ...\n def timetz(self) -> _Time: ...\n def replace(\n self,\n year: SupportsIndex = ...,\n month: SupportsIndex = ...,\n day: SupportsIndex = ...,\n hour: SupportsIndex = ...,\n minute: SupportsIndex = ...,\n second: SupportsIndex = ...,\n microsecond: SupportsIndex = ...,\n tzinfo: _TzInfo | None = ...,\n *,\n fold: int = ...,\n ) -> Self: ...\n if sys.version_info >= (3, 8):\n def astimezone(self, tz: _TzInfo | None = ...) -> Self: ...\n else:\n def astimezone(self, tz: _TzInfo | None = ...) -> datetime: ...\n\n def isoformat(self, sep: str = ..., timespec: str = ...) -> str: ...\n @classmethod\n def strptime(cls, __date_string: str, __format: str) -> Self: ...\n def utcoffset(self) -> timedelta | None: ...\n def tzname(self) -> str | None: ...\n def dst(self) -> timedelta | None: ...\n def __le__(self, __value: datetime) -> bool: ... # type: ignore[override]\n def __lt__(self, __value: datetime) -> bool: ... # type: ignore[override]\n def __ge__(self, __value: datetime) -> bool: ... # type: ignore[override]\n def __gt__(self, __value: datetime) -> bool: ... # type: ignore[override]\n def __eq__(self, __value: object) -> bool: ...\n def __hash__(self) -> int: ...\n if sys.version_info >= (3, 8):\n @overload # type: ignore[override]\n def __sub__(self, __value: timedelta) -> Self: ...\n @overload\n def __sub__(self: _D, __value: _D) -> timedelta: ...\n else:\n # Prior to Python 3.8, arithmetic operations always returned `datetime`, even in subclasses\n def __add__(self, __value: timedelta) -> datetime: ...\n def __radd__(self, __value: timedelta) -> datetime: ...\n @overload # type: ignore[override]\n def __sub__(self, __value: datetime) -> timedelta: ...\n @overload\n def __sub__(self, __value: timedelta) -> datetime: ...\n", + "/typeshed/stdlib/decimal.pyi": "from _decimal import *\nfrom _decimal import __libmpdec_version__ as __libmpdec_version__, __version__ as __version__\n", + "/typeshed/stdlib/difflib.pyi": "import sys\nfrom collections.abc import Callable, Iterable, Iterator, Sequence\nfrom typing import Any, AnyStr, Generic, NamedTuple, TypeVar, overload\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = [\n \"get_close_matches\",\n \"ndiff\",\n \"restore\",\n \"SequenceMatcher\",\n \"Differ\",\n \"IS_CHARACTER_JUNK\",\n \"IS_LINE_JUNK\",\n \"context_diff\",\n \"unified_diff\",\n \"diff_bytes\",\n \"HtmlDiff\",\n \"Match\",\n]\n\n_T = TypeVar(\"_T\")\n\nclass Match(NamedTuple):\n a: int\n b: int\n size: int\n\nclass SequenceMatcher(Generic[_T]):\n @overload\n def __init__(self, isjunk: Callable[[_T], bool] | None, a: Sequence[_T], b: Sequence[_T], autojunk: bool = True) -> None: ...\n @overload\n def __init__(self, *, a: Sequence[_T], b: Sequence[_T], autojunk: bool = True) -> None: ...\n @overload\n def __init__(\n self: SequenceMatcher[str],\n isjunk: Callable[[str], bool] | None = None,\n a: Sequence[str] = \"\",\n b: Sequence[str] = \"\",\n autojunk: bool = True,\n ) -> None: ...\n def set_seqs(self, a: Sequence[_T], b: Sequence[_T]) -> None: ...\n def set_seq1(self, a: Sequence[_T]) -> None: ...\n def set_seq2(self, b: Sequence[_T]) -> None: ...\n if sys.version_info >= (3, 9):\n def find_longest_match(self, alo: int = 0, ahi: int | None = None, blo: int = 0, bhi: int | None = None) -> Match: ...\n else:\n def find_longest_match(self, alo: int, ahi: int, blo: int, bhi: int) -> Match: ...\n\n def get_matching_blocks(self) -> list[Match]: ...\n def get_opcodes(self) -> list[tuple[str, int, int, int, int]]: ...\n def get_grouped_opcodes(self, n: int = 3) -> Iterable[list[tuple[str, int, int, int, int]]]: ...\n def ratio(self) -> float: ...\n def quick_ratio(self) -> float: ...\n def real_quick_ratio(self) -> float: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n@overload\ndef get_close_matches(word: AnyStr, possibilities: Iterable[AnyStr], n: int = 3, cutoff: float = 0.6) -> list[AnyStr]: ...\n@overload\ndef get_close_matches(\n word: Sequence[_T], possibilities: Iterable[Sequence[_T]], n: int = 3, cutoff: float = 0.6\n) -> list[Sequence[_T]]: ...\n\nclass Differ:\n def __init__(self, linejunk: Callable[[str], bool] | None = None, charjunk: Callable[[str], bool] | None = None) -> None: ...\n def compare(self, a: Sequence[str], b: Sequence[str]) -> Iterator[str]: ...\n\ndef IS_LINE_JUNK(line: str, pat: Any = ...) -> bool: ... # pat is undocumented\ndef IS_CHARACTER_JUNK(ch: str, ws: str = \" \\t\") -> bool: ... # ws is undocumented\ndef unified_diff(\n a: Sequence[str],\n b: Sequence[str],\n fromfile: str = \"\",\n tofile: str = \"\",\n fromfiledate: str = \"\",\n tofiledate: str = \"\",\n n: int = 3,\n lineterm: str = \"\\n\",\n) -> Iterator[str]: ...\ndef context_diff(\n a: Sequence[str],\n b: Sequence[str],\n fromfile: str = \"\",\n tofile: str = \"\",\n fromfiledate: str = \"\",\n tofiledate: str = \"\",\n n: int = 3,\n lineterm: str = \"\\n\",\n) -> Iterator[str]: ...\ndef ndiff(\n a: Sequence[str],\n b: Sequence[str],\n linejunk: Callable[[str], bool] | None = None,\n charjunk: Callable[[str], bool] | None = ...,\n) -> Iterator[str]: ...\n\nclass HtmlDiff:\n def __init__(\n self,\n tabsize: int = 8,\n wrapcolumn: int | None = None,\n linejunk: Callable[[str], bool] | None = None,\n charjunk: Callable[[str], bool] | None = ...,\n ) -> None: ...\n def make_file(\n self,\n fromlines: Sequence[str],\n tolines: Sequence[str],\n fromdesc: str = \"\",\n todesc: str = \"\",\n context: bool = False,\n numlines: int = 5,\n *,\n charset: str = \"utf-8\",\n ) -> str: ...\n def make_table(\n self,\n fromlines: Sequence[str],\n tolines: Sequence[str],\n fromdesc: str = \"\",\n todesc: str = \"\",\n context: bool = False,\n numlines: int = 5,\n ) -> str: ...\n\ndef restore(delta: Iterable[str], which: int) -> Iterator[str]: ...\ndef diff_bytes(\n dfunc: Callable[[Sequence[str], Sequence[str], str, str, str, str, int, str], Iterator[str]],\n a: Iterable[bytes | bytearray],\n b: Iterable[bytes | bytearray],\n fromfile: bytes | bytearray = b\"\",\n tofile: bytes | bytearray = b\"\",\n fromfiledate: bytes | bytearray = b\"\",\n tofiledate: bytes | bytearray = b\"\",\n n: int = 3,\n lineterm: bytes | bytearray = b\"\\n\",\n) -> Iterator[bytes]: ...\n", + "/typeshed/stdlib/dis.pyi": "import sys\nimport types\nfrom collections.abc import Callable, Iterator\nfrom opcode import * # `dis` re-exports it as a part of public API\nfrom typing import IO, Any, NamedTuple\nfrom typing_extensions import Self, TypeAlias\n\n__all__ = [\n \"code_info\",\n \"dis\",\n \"disassemble\",\n \"distb\",\n \"disco\",\n \"findlinestarts\",\n \"findlabels\",\n \"show_code\",\n \"get_instructions\",\n \"Instruction\",\n \"Bytecode\",\n \"cmp_op\",\n \"hasconst\",\n \"hasname\",\n \"hasjrel\",\n \"hasjabs\",\n \"haslocal\",\n \"hascompare\",\n \"hasfree\",\n \"opname\",\n \"opmap\",\n \"HAVE_ARGUMENT\",\n \"EXTENDED_ARG\",\n \"stack_effect\",\n]\nif sys.version_info >= (3, 12):\n __all__ += [\"hasarg\", \"hasexc\"]\nelse:\n __all__ += [\"hasnargs\"]\n\n# Strictly this should not have to include Callable, but mypy doesn't use FunctionType\n# for functions (python/mypy#3171)\n_HaveCodeType: TypeAlias = types.MethodType | types.FunctionType | types.CodeType | type | Callable[..., Any]\n\nif sys.version_info >= (3, 11):\n class Positions(NamedTuple):\n lineno: int | None = None\n end_lineno: int | None = None\n col_offset: int | None = None\n end_col_offset: int | None = None\n\nif sys.version_info >= (3, 11):\n class Instruction(NamedTuple):\n opname: str\n opcode: int\n arg: int | None\n argval: Any\n argrepr: str\n offset: int\n starts_line: int | None\n is_jump_target: bool\n positions: Positions | None = None\n\nelse:\n class Instruction(NamedTuple):\n opname: str\n opcode: int\n arg: int | None\n argval: Any\n argrepr: str\n offset: int\n starts_line: int | None\n is_jump_target: bool\n\nclass Bytecode:\n codeobj: types.CodeType\n first_line: int\n if sys.version_info >= (3, 11):\n def __init__(\n self,\n x: _HaveCodeType | str,\n *,\n first_line: int | None = None,\n current_offset: int | None = None,\n show_caches: bool = False,\n adaptive: bool = False,\n ) -> None: ...\n @classmethod\n def from_traceback(cls, tb: types.TracebackType, *, show_caches: bool = False, adaptive: bool = False) -> Self: ...\n else:\n def __init__(\n self, x: _HaveCodeType | str, *, first_line: int | None = None, current_offset: int | None = None\n ) -> None: ...\n @classmethod\n def from_traceback(cls, tb: types.TracebackType) -> Self: ...\n\n def __iter__(self) -> Iterator[Instruction]: ...\n def info(self) -> str: ...\n def dis(self) -> str: ...\n\nCOMPILER_FLAG_NAMES: dict[int, str]\n\ndef findlabels(code: _HaveCodeType) -> list[int]: ...\ndef findlinestarts(code: _HaveCodeType) -> Iterator[tuple[int, int]]: ...\ndef pretty_flags(flags: int) -> str: ...\ndef code_info(x: _HaveCodeType | str) -> str: ...\n\nif sys.version_info >= (3, 11):\n def dis(\n x: _HaveCodeType | str | bytes | bytearray | None = None,\n *,\n file: IO[str] | None = None,\n depth: int | None = None,\n show_caches: bool = False,\n adaptive: bool = False,\n ) -> None: ...\n\nelse:\n def dis(\n x: _HaveCodeType | str | bytes | bytearray | None = None, *, file: IO[str] | None = None, depth: int | None = None\n ) -> None: ...\n\nif sys.version_info >= (3, 11):\n def disassemble(\n co: _HaveCodeType, lasti: int = -1, *, file: IO[str] | None = None, show_caches: bool = False, adaptive: bool = False\n ) -> None: ...\n def disco(\n co: _HaveCodeType, lasti: int = -1, *, file: IO[str] | None = None, show_caches: bool = False, adaptive: bool = False\n ) -> None: ...\n def distb(\n tb: types.TracebackType | None = None, *, file: IO[str] | None = None, show_caches: bool = False, adaptive: bool = False\n ) -> None: ...\n def get_instructions(\n x: _HaveCodeType, *, first_line: int | None = None, show_caches: bool = False, adaptive: bool = False\n ) -> Iterator[Instruction]: ...\n\nelse:\n def disassemble(co: _HaveCodeType, lasti: int = -1, *, file: IO[str] | None = None) -> None: ...\n def disco(co: _HaveCodeType, lasti: int = -1, *, file: IO[str] | None = None) -> None: ...\n def distb(tb: types.TracebackType | None = None, *, file: IO[str] | None = None) -> None: ...\n def get_instructions(x: _HaveCodeType, *, first_line: int | None = None) -> Iterator[Instruction]: ...\n\ndef show_code(co: _HaveCodeType, *, file: IO[str] | None = None) -> None: ...\n", + "/typeshed/stdlib/doctest.pyi": "import types\nimport unittest\nfrom _typeshed import ExcInfo\nfrom collections.abc import Callable\nfrom typing import Any, NamedTuple\nfrom typing_extensions import TypeAlias\n\n__all__ = [\n \"register_optionflag\",\n \"DONT_ACCEPT_TRUE_FOR_1\",\n \"DONT_ACCEPT_BLANKLINE\",\n \"NORMALIZE_WHITESPACE\",\n \"ELLIPSIS\",\n \"SKIP\",\n \"IGNORE_EXCEPTION_DETAIL\",\n \"COMPARISON_FLAGS\",\n \"REPORT_UDIFF\",\n \"REPORT_CDIFF\",\n \"REPORT_NDIFF\",\n \"REPORT_ONLY_FIRST_FAILURE\",\n \"REPORTING_FLAGS\",\n \"FAIL_FAST\",\n \"Example\",\n \"DocTest\",\n \"DocTestParser\",\n \"DocTestFinder\",\n \"DocTestRunner\",\n \"OutputChecker\",\n \"DocTestFailure\",\n \"UnexpectedException\",\n \"DebugRunner\",\n \"testmod\",\n \"testfile\",\n \"run_docstring_examples\",\n \"DocTestSuite\",\n \"DocFileSuite\",\n \"set_unittest_reportflags\",\n \"script_from_examples\",\n \"testsource\",\n \"debug_src\",\n \"debug\",\n]\n\nclass TestResults(NamedTuple):\n failed: int\n attempted: int\n\nOPTIONFLAGS_BY_NAME: dict[str, int]\n\ndef register_optionflag(name: str) -> int: ...\n\nDONT_ACCEPT_TRUE_FOR_1: int\nDONT_ACCEPT_BLANKLINE: int\nNORMALIZE_WHITESPACE: int\nELLIPSIS: int\nSKIP: int\nIGNORE_EXCEPTION_DETAIL: int\n\nCOMPARISON_FLAGS: int\n\nREPORT_UDIFF: int\nREPORT_CDIFF: int\nREPORT_NDIFF: int\nREPORT_ONLY_FIRST_FAILURE: int\nFAIL_FAST: int\n\nREPORTING_FLAGS: int\n\nBLANKLINE_MARKER: str\nELLIPSIS_MARKER: str\n\nclass Example:\n source: str\n want: str\n exc_msg: str | None\n lineno: int\n indent: int\n options: dict[int, bool]\n def __init__(\n self,\n source: str,\n want: str,\n exc_msg: str | None = None,\n lineno: int = 0,\n indent: int = 0,\n options: dict[int, bool] | None = None,\n ) -> None: ...\n def __hash__(self) -> int: ...\n def __eq__(self, other: object) -> bool: ...\n\nclass DocTest:\n examples: list[Example]\n globs: dict[str, Any]\n name: str\n filename: str | None\n lineno: int | None\n docstring: str | None\n def __init__(\n self,\n examples: list[Example],\n globs: dict[str, Any],\n name: str,\n filename: str | None,\n lineno: int | None,\n docstring: str | None,\n ) -> None: ...\n def __hash__(self) -> int: ...\n def __lt__(self, other: DocTest) -> bool: ...\n def __eq__(self, other: object) -> bool: ...\n\nclass DocTestParser:\n def parse(self, string: str, name: str = \"\") -> list[str | Example]: ...\n def get_doctest(self, string: str, globs: dict[str, Any], name: str, filename: str | None, lineno: int | None) -> DocTest: ...\n def get_examples(self, string: str, name: str = \"\") -> list[Example]: ...\n\nclass DocTestFinder:\n def __init__(\n self, verbose: bool = False, parser: DocTestParser = ..., recurse: bool = True, exclude_empty: bool = True\n ) -> None: ...\n def find(\n self,\n obj: object,\n name: str | None = None,\n module: None | bool | types.ModuleType = None,\n globs: dict[str, Any] | None = None,\n extraglobs: dict[str, Any] | None = None,\n ) -> list[DocTest]: ...\n\n_Out: TypeAlias = Callable[[str], object]\n\nclass DocTestRunner:\n DIVIDER: str\n optionflags: int\n original_optionflags: int\n tries: int\n failures: int\n test: DocTest\n def __init__(self, checker: OutputChecker | None = None, verbose: bool | None = None, optionflags: int = 0) -> None: ...\n def report_start(self, out: _Out, test: DocTest, example: Example) -> None: ...\n def report_success(self, out: _Out, test: DocTest, example: Example, got: str) -> None: ...\n def report_failure(self, out: _Out, test: DocTest, example: Example, got: str) -> None: ...\n def report_unexpected_exception(self, out: _Out, test: DocTest, example: Example, exc_info: ExcInfo) -> None: ...\n def run(\n self, test: DocTest, compileflags: int | None = None, out: _Out | None = None, clear_globs: bool = True\n ) -> TestResults: ...\n def summarize(self, verbose: bool | None = None) -> TestResults: ...\n def merge(self, other: DocTestRunner) -> None: ...\n\nclass OutputChecker:\n def check_output(self, want: str, got: str, optionflags: int) -> bool: ...\n def output_difference(self, example: Example, got: str, optionflags: int) -> str: ...\n\nclass DocTestFailure(Exception):\n test: DocTest\n example: Example\n got: str\n def __init__(self, test: DocTest, example: Example, got: str) -> None: ...\n\nclass UnexpectedException(Exception):\n test: DocTest\n example: Example\n exc_info: ExcInfo\n def __init__(self, test: DocTest, example: Example, exc_info: ExcInfo) -> None: ...\n\nclass DebugRunner(DocTestRunner): ...\n\nmaster: DocTestRunner | None\n\ndef testmod(\n m: types.ModuleType | None = None,\n name: str | None = None,\n globs: dict[str, Any] | None = None,\n verbose: bool | None = None,\n report: bool = True,\n optionflags: int = 0,\n extraglobs: dict[str, Any] | None = None,\n raise_on_error: bool = False,\n exclude_empty: bool = False,\n) -> TestResults: ...\ndef testfile(\n filename: str,\n module_relative: bool = True,\n name: str | None = None,\n package: None | str | types.ModuleType = None,\n globs: dict[str, Any] | None = None,\n verbose: bool | None = None,\n report: bool = True,\n optionflags: int = 0,\n extraglobs: dict[str, Any] | None = None,\n raise_on_error: bool = False,\n parser: DocTestParser = ...,\n encoding: str | None = None,\n) -> TestResults: ...\ndef run_docstring_examples(\n f: object,\n globs: dict[str, Any],\n verbose: bool = False,\n name: str = \"NoName\",\n compileflags: int | None = None,\n optionflags: int = 0,\n) -> None: ...\ndef set_unittest_reportflags(flags: int) -> int: ...\n\nclass DocTestCase(unittest.TestCase):\n def __init__(\n self,\n test: DocTest,\n optionflags: int = 0,\n setUp: Callable[[DocTest], Any] | None = None,\n tearDown: Callable[[DocTest], Any] | None = None,\n checker: OutputChecker | None = None,\n ) -> None: ...\n def runTest(self) -> None: ...\n def format_failure(self, err: str) -> str: ...\n def __hash__(self) -> int: ...\n def __eq__(self, other: object) -> bool: ...\n\nclass SkipDocTestCase(DocTestCase):\n def __init__(self, module: types.ModuleType) -> None: ...\n def test_skip(self) -> None: ...\n\nclass _DocTestSuite(unittest.TestSuite): ...\n\ndef DocTestSuite(\n module: None | str | types.ModuleType = None,\n globs: dict[str, Any] | None = None,\n extraglobs: dict[str, Any] | None = None,\n test_finder: DocTestFinder | None = None,\n **options: Any,\n) -> _DocTestSuite: ...\n\nclass DocFileCase(DocTestCase): ...\n\ndef DocFileTest(\n path: str,\n module_relative: bool = True,\n package: None | str | types.ModuleType = None,\n globs: dict[str, Any] | None = None,\n parser: DocTestParser = ...,\n encoding: str | None = None,\n **options: Any,\n) -> DocFileCase: ...\ndef DocFileSuite(*paths: str, **kw: Any) -> _DocTestSuite: ...\ndef script_from_examples(s: str) -> str: ...\ndef testsource(module: None | str | types.ModuleType, name: str) -> str: ...\ndef debug_src(src: str, pm: bool = False, globs: dict[str, Any] | None = None) -> None: ...\ndef debug_script(src: str, pm: bool = False, globs: dict[str, Any] | None = None) -> None: ...\ndef debug(module: None | str | types.ModuleType, name: str, pm: bool = False) -> None: ...\n", + "/typeshed/stdlib/dummy_threading.pyi": "from _dummy_threading import *\nfrom _dummy_threading import __all__ as __all__\n", + "/typeshed/stdlib/enum.pyi": "import _typeshed\nimport sys\nimport types\nfrom _typeshed import SupportsKeysAndGetItem, Unused\nfrom builtins import property as _builtins_property\nfrom collections.abc import Callable, Iterable, Iterator, Mapping\nfrom typing import Any, Generic, TypeVar, overload\nfrom typing_extensions import Literal, Self, TypeAlias\n\n__all__ = [\"EnumMeta\", \"Enum\", \"IntEnum\", \"Flag\", \"IntFlag\", \"auto\", \"unique\"]\n\nif sys.version_info >= (3, 11):\n __all__ += [\n \"CONFORM\",\n \"CONTINUOUS\",\n \"EJECT\",\n \"EnumCheck\",\n \"EnumType\",\n \"FlagBoundary\",\n \"KEEP\",\n \"NAMED_FLAGS\",\n \"ReprEnum\",\n \"STRICT\",\n \"StrEnum\",\n \"UNIQUE\",\n \"global_enum\",\n \"global_enum_repr\",\n \"global_flag_repr\",\n \"global_str\",\n \"member\",\n \"nonmember\",\n \"property\",\n \"verify\",\n ]\n\nif sys.version_info >= (3, 11):\n __all__ += [\"pickle_by_enum_name\", \"pickle_by_global_name\"]\n\n_EnumMemberT = TypeVar(\"_EnumMemberT\")\n_EnumerationT = TypeVar(\"_EnumerationT\", bound=type[Enum])\n\n# The following all work:\n# >>> from enum import Enum\n# >>> from string import ascii_lowercase\n# >>> Enum('Foo', names='RED YELLOW GREEN')\n# \n# >>> Enum('Foo', names=[('RED', 1), ('YELLOW, 2)])\n# \n# >>> Enum('Foo', names=((x for x in (ascii_lowercase[i], i)) for i in range(5)))\n# \n# >>> Enum('Foo', names={'RED': 1, 'YELLOW': 2})\n# \n_EnumNames: TypeAlias = str | Iterable[str] | Iterable[Iterable[str | Any]] | Mapping[str, Any]\n\nif sys.version_info >= (3, 11):\n class nonmember(Generic[_EnumMemberT]):\n value: _EnumMemberT\n def __init__(self, value: _EnumMemberT) -> None: ...\n\n class member(Generic[_EnumMemberT]):\n value: _EnumMemberT\n def __init__(self, value: _EnumMemberT) -> None: ...\n\nclass _EnumDict(dict[str, Any]):\n def __init__(self) -> None: ...\n def __setitem__(self, key: str, value: Any) -> None: ...\n if sys.version_info >= (3, 11):\n # See comment above `typing.MutableMapping.update`\n # for why overloads are preferable to a Union here\n #\n # Unlike with MutableMapping.update(), the first argument is required,\n # hence the type: ignore\n @overload # type: ignore[override]\n def update(self, members: SupportsKeysAndGetItem[str, Any], **more_members: Any) -> None: ...\n @overload\n def update(self, members: Iterable[tuple[str, Any]], **more_members: Any) -> None: ...\n\n# Structurally: Iterable[T], Reversible[T], Container[T] where T is the enum itself\nclass EnumMeta(type):\n if sys.version_info >= (3, 11):\n def __new__(\n metacls: type[_typeshed.Self],\n cls: str,\n bases: tuple[type, ...],\n classdict: _EnumDict,\n *,\n boundary: FlagBoundary | None = None,\n _simple: bool = False,\n **kwds: Any,\n ) -> _typeshed.Self: ...\n elif sys.version_info >= (3, 9):\n def __new__(\n metacls: type[_typeshed.Self], cls: str, bases: tuple[type, ...], classdict: _EnumDict, **kwds: Any\n ) -> _typeshed.Self: ...\n else:\n def __new__(metacls: type[_typeshed.Self], cls: str, bases: tuple[type, ...], classdict: _EnumDict) -> _typeshed.Self: ...\n\n if sys.version_info >= (3, 9):\n @classmethod\n def __prepare__(metacls, cls: str, bases: tuple[type, ...], **kwds: Any) -> _EnumDict: ... # type: ignore[override]\n else:\n @classmethod\n def __prepare__(metacls, cls: str, bases: tuple[type, ...]) -> _EnumDict: ... # type: ignore[override]\n\n def __iter__(self: type[_EnumMemberT]) -> Iterator[_EnumMemberT]: ...\n def __reversed__(self: type[_EnumMemberT]) -> Iterator[_EnumMemberT]: ...\n if sys.version_info >= (3, 12):\n def __contains__(self: type[Any], value: object) -> bool: ...\n elif sys.version_info >= (3, 11):\n def __contains__(self: type[Any], member: object) -> bool: ...\n elif sys.version_info >= (3, 10):\n def __contains__(self: type[Any], obj: object) -> bool: ...\n else:\n def __contains__(self: type[Any], member: object) -> bool: ...\n\n def __getitem__(self: type[_EnumMemberT], name: str) -> _EnumMemberT: ...\n @_builtins_property\n def __members__(self: type[_EnumMemberT]) -> types.MappingProxyType[str, _EnumMemberT]: ...\n def __len__(self) -> int: ...\n def __bool__(self) -> Literal[True]: ...\n def __dir__(self) -> list[str]: ...\n\n # Overload 1: Value lookup on an already existing enum class (simple case)\n @overload\n def __call__(cls: type[_EnumMemberT], value: Any, names: None = None) -> _EnumMemberT: ...\n\n # Overload 2: Functional API for constructing new enum classes.\n if sys.version_info >= (3, 11):\n @overload\n def __call__(\n cls,\n value: str,\n names: _EnumNames,\n *,\n module: str | None = None,\n qualname: str | None = None,\n type: type | None = None,\n start: int = 1,\n boundary: FlagBoundary | None = None,\n ) -> type[Enum]: ...\n else:\n @overload\n def __call__(\n cls,\n value: str,\n names: _EnumNames,\n *,\n module: str | None = None,\n qualname: str | None = None,\n type: type | None = None,\n start: int = 1,\n ) -> type[Enum]: ...\n\n # Overload 3 (py312+ only): Value lookup on an already existing enum class (complex case)\n #\n # >>> class Foo(enum.Enum):\n # ... X = 1, 2, 3\n # >>> Foo(1, 2, 3)\n # \n #\n if sys.version_info >= (3, 12):\n @overload\n def __call__(cls: type[_EnumMemberT], value: Any, *values: Any) -> _EnumMemberT: ...\n\n _member_names_: list[str] # undocumented\n _member_map_: dict[str, Enum] # undocumented\n _value2member_map_: dict[Any, Enum] # undocumented\n\nif sys.version_info >= (3, 11):\n # In 3.11 `EnumMeta` metaclass is renamed to `EnumType`, but old name also exists.\n EnumType = EnumMeta\n\n class property(types.DynamicClassAttribute):\n def __set_name__(self, ownerclass: type[Enum], name: str) -> None: ...\n name: str\n clsname: str\n member: Enum | None\n _magic_enum_attr = property\nelse:\n _magic_enum_attr = types.DynamicClassAttribute\n\nclass Enum(metaclass=EnumMeta):\n @_magic_enum_attr\n def name(self) -> str: ...\n @_magic_enum_attr\n def value(self) -> Any: ...\n _name_: str\n _value_: Any\n _ignore_: str | list[str]\n _order_: str\n __order__: str\n @classmethod\n def _missing_(cls, value: object) -> Any: ...\n @staticmethod\n def _generate_next_value_(name: str, start: int, count: int, last_values: list[Any]) -> Any: ...\n # It's not true that `__new__` will accept any argument type,\n # so ideally we'd use `Any` to indicate that the argument type is inexpressible.\n # However, using `Any` causes too many false-positives for those using mypy's `--disallow-any-expr`\n # (see #7752, #2539, mypy/#5788),\n # and in practice using `object` here has the same effect as using `Any`.\n def __new__(cls, value: object) -> Self: ...\n def __dir__(self) -> list[str]: ...\n def __hash__(self) -> int: ...\n def __format__(self, format_spec: str) -> str: ...\n def __reduce_ex__(self, proto: Unused) -> tuple[Any, ...]: ...\n if sys.version_info >= (3, 11):\n def __copy__(self) -> Self: ...\n def __deepcopy__(self, memo: Any) -> Self: ...\n if sys.version_info >= (3, 12):\n @classmethod\n def __signature__(cls) -> str: ...\n\nif sys.version_info >= (3, 11):\n class ReprEnum(Enum): ...\n\nif sys.version_info >= (3, 11):\n _IntEnumBase = ReprEnum\nelse:\n _IntEnumBase = Enum\n\nclass IntEnum(int, _IntEnumBase):\n _value_: int\n @_magic_enum_attr\n def value(self) -> int: ...\n def __new__(cls, value: int) -> Self: ...\n\ndef unique(enumeration: _EnumerationT) -> _EnumerationT: ...\n\n_auto_null: Any\n\nclass Flag(Enum):\n _name_: str | None # type: ignore[assignment]\n _value_: int\n @_magic_enum_attr\n def name(self) -> str | None: ... # type: ignore[override]\n @_magic_enum_attr\n def value(self) -> int: ...\n def __contains__(self, other: Self) -> bool: ...\n def __bool__(self) -> bool: ...\n def __or__(self, other: Self) -> Self: ...\n def __and__(self, other: Self) -> Self: ...\n def __xor__(self, other: Self) -> Self: ...\n def __invert__(self) -> Self: ...\n if sys.version_info >= (3, 11):\n def __iter__(self) -> Iterator[Self]: ...\n def __len__(self) -> int: ...\n __ror__ = __or__\n __rand__ = __and__\n __rxor__ = __xor__\n\nif sys.version_info >= (3, 11):\n class StrEnum(str, ReprEnum):\n def __new__(cls, value: str) -> Self: ...\n _value_: str\n @_magic_enum_attr\n def value(self) -> str: ...\n @staticmethod\n def _generate_next_value_(name: str, start: int, count: int, last_values: list[str]) -> str: ...\n\n class EnumCheck(StrEnum):\n CONTINUOUS: str\n NAMED_FLAGS: str\n UNIQUE: str\n CONTINUOUS = EnumCheck.CONTINUOUS\n NAMED_FLAGS = EnumCheck.NAMED_FLAGS\n UNIQUE = EnumCheck.UNIQUE\n\n class verify:\n def __init__(self, *checks: EnumCheck) -> None: ...\n def __call__(self, enumeration: _EnumerationT) -> _EnumerationT: ...\n\n class FlagBoundary(StrEnum):\n STRICT: str\n CONFORM: str\n EJECT: str\n KEEP: str\n STRICT = FlagBoundary.STRICT\n CONFORM = FlagBoundary.CONFORM\n EJECT = FlagBoundary.EJECT\n KEEP = FlagBoundary.KEEP\n\n def global_str(self: Enum) -> str: ...\n def global_enum(cls: _EnumerationT, update_str: bool = False) -> _EnumerationT: ...\n def global_enum_repr(self: Enum) -> str: ...\n def global_flag_repr(self: Flag) -> str: ...\n\nif sys.version_info >= (3, 11):\n # The body of the class is the same, but the base classes are different.\n class IntFlag(int, ReprEnum, Flag, boundary=KEEP): # type: ignore[misc] # complaints about incompatible bases\n def __new__(cls, value: int) -> Self: ...\n def __or__(self, other: int) -> Self: ...\n def __and__(self, other: int) -> Self: ...\n def __xor__(self, other: int) -> Self: ...\n __ror__ = __or__\n __rand__ = __and__\n __rxor__ = __xor__\n\nelse:\n class IntFlag(int, Flag): # type: ignore[misc] # complaints about incompatible bases\n def __new__(cls, value: int) -> Self: ...\n def __or__(self, other: int) -> Self: ...\n def __and__(self, other: int) -> Self: ...\n def __xor__(self, other: int) -> Self: ...\n __ror__ = __or__\n __rand__ = __and__\n __rxor__ = __xor__\n\n# subclassing IntFlag so it picks up all implemented base functions, best modeling behavior of enum.auto()\nclass auto(IntFlag):\n _value_: Any\n @_magic_enum_attr\n def value(self) -> Any: ...\n def __new__(cls) -> Self: ...\n\nif sys.version_info >= (3, 11):\n def pickle_by_global_name(self: Enum, proto: int) -> str: ...\n def pickle_by_enum_name(self: _EnumMemberT, proto: int) -> tuple[Callable[..., Any], tuple[type[_EnumMemberT], str]]: ...\n", + "/typeshed/stdlib/errno.pyi": "import sys\nfrom collections.abc import Mapping\n\nerrorcode: Mapping[int, str]\n\nEPERM: int\nENOENT: int\nESRCH: int\nEINTR: int\nEIO: int\nENXIO: int\nE2BIG: int\nENOEXEC: int\nEBADF: int\nECHILD: int\nEAGAIN: int\nENOMEM: int\nEACCES: int\nEFAULT: int\nEBUSY: int\nEEXIST: int\nEXDEV: int\nENODEV: int\nENOTDIR: int\nEISDIR: int\nEINVAL: int\nENFILE: int\nEMFILE: int\nENOTTY: int\nETXTBSY: int\nEFBIG: int\nENOSPC: int\nESPIPE: int\nEROFS: int\nEMLINK: int\nEPIPE: int\nEDOM: int\nERANGE: int\nEDEADLK: int\nENAMETOOLONG: int\nENOLCK: int\nENOSYS: int\nENOTEMPTY: int\nELOOP: int\nEWOULDBLOCK: int\nENOMSG: int\nEIDRM: int\nENOSTR: int\nENODATA: int\nETIME: int\nENOSR: int\nEREMOTE: int\nENOLINK: int\nEPROTO: int\nEBADMSG: int\nEOVERFLOW: int\nEILSEQ: int\nEUSERS: int\nENOTSOCK: int\nEDESTADDRREQ: int\nEMSGSIZE: int\nEPROTOTYPE: int\nENOPROTOOPT: int\nEPROTONOSUPPORT: int\nESOCKTNOSUPPORT: int\nENOTSUP: int\nEOPNOTSUPP: int\nEPFNOSUPPORT: int\nEAFNOSUPPORT: int\nEADDRINUSE: int\nEADDRNOTAVAIL: int\nENETDOWN: int\nENETUNREACH: int\nENETRESET: int\nECONNABORTED: int\nECONNRESET: int\nENOBUFS: int\nEISCONN: int\nENOTCONN: int\nESHUTDOWN: int\nETOOMANYREFS: int\nETIMEDOUT: int\nECONNREFUSED: int\nEHOSTDOWN: int\nEHOSTUNREACH: int\nEALREADY: int\nEINPROGRESS: int\nESTALE: int\nEDQUOT: int\nECANCELED: int # undocumented\nENOTRECOVERABLE: int # undocumented\nEOWNERDEAD: int # undocumented\n\nif sys.platform == \"sunos5\" or sys.platform == \"solaris\": # noqa: Y008\n ELOCKUNMAPPED: int\n ENOTACTIVE: int\n\nif sys.platform != \"win32\":\n ENOTBLK: int\n EMULTIHOP: int\n\nif sys.platform == \"darwin\":\n # All of the below are undocumented\n EAUTH: int\n EBADARCH: int\n EBADEXEC: int\n EBADMACHO: int\n EBADRPC: int\n EDEVERR: int\n EFTYPE: int\n ENEEDAUTH: int\n ENOATTR: int\n ENOPOLICY: int\n EPROCLIM: int\n EPROCUNAVAIL: int\n EPROGMISMATCH: int\n EPROGUNAVAIL: int\n EPWROFF: int\n ERPCMISMATCH: int\n ESHLIBVERS: int\n if sys.version_info >= (3, 11):\n EQFULL: int\n\nif sys.platform != \"darwin\":\n EDEADLOCK: int\n\nif sys.platform != \"win32\" and sys.platform != \"darwin\":\n ECHRNG: int\n EL2NSYNC: int\n EL3HLT: int\n EL3RST: int\n ELNRNG: int\n EUNATCH: int\n ENOCSI: int\n EL2HLT: int\n EBADE: int\n EBADR: int\n EXFULL: int\n ENOANO: int\n EBADRQC: int\n EBADSLT: int\n EBFONT: int\n ENONET: int\n ENOPKG: int\n EADV: int\n ESRMNT: int\n ECOMM: int\n EDOTDOT: int\n ENOTUNIQ: int\n EBADFD: int\n EREMCHG: int\n ELIBACC: int\n ELIBBAD: int\n ELIBSCN: int\n ELIBMAX: int\n ELIBEXEC: int\n ERESTART: int\n ESTRPIPE: int\n EUCLEAN: int\n ENOTNAM: int\n ENAVAIL: int\n EISNAM: int\n EREMOTEIO: int\n # All of the below are undocumented\n EKEYEXPIRED: int\n EKEYREJECTED: int\n EKEYREVOKED: int\n EMEDIUMTYPE: int\n ENOKEY: int\n ENOMEDIUM: int\n ERFKILL: int\n\nif sys.platform == \"win32\":\n # All of these are undocumented\n WSABASEERR: int\n WSAEACCES: int\n WSAEADDRINUSE: int\n WSAEADDRNOTAVAIL: int\n WSAEAFNOSUPPORT: int\n WSAEALREADY: int\n WSAEBADF: int\n WSAECONNABORTED: int\n WSAECONNREFUSED: int\n WSAECONNRESET: int\n WSAEDESTADDRREQ: int\n WSAEDISCON: int\n WSAEDQUOT: int\n WSAEFAULT: int\n WSAEHOSTDOWN: int\n WSAEHOSTUNREACH: int\n WSAEINPROGRESS: int\n WSAEINTR: int\n WSAEINVAL: int\n WSAEISCONN: int\n WSAELOOP: int\n WSAEMFILE: int\n WSAEMSGSIZE: int\n WSAENAMETOOLONG: int\n WSAENETDOWN: int\n WSAENETRESET: int\n WSAENETUNREACH: int\n WSAENOBUFS: int\n WSAENOPROTOOPT: int\n WSAENOTCONN: int\n WSAENOTEMPTY: int\n WSAENOTSOCK: int\n WSAEOPNOTSUPP: int\n WSAEPFNOSUPPORT: int\n WSAEPROCLIM: int\n WSAEPROTONOSUPPORT: int\n WSAEPROTOTYPE: int\n WSAEREMOTE: int\n WSAESHUTDOWN: int\n WSAESOCKTNOSUPPORT: int\n WSAESTALE: int\n WSAETIMEDOUT: int\n WSAETOOMANYREFS: int\n WSAEUSERS: int\n WSAEWOULDBLOCK: int\n WSANOTINITIALISED: int\n WSASYSNOTREADY: int\n WSAVERNOTSUPPORTED: int\n", + "/typeshed/stdlib/faulthandler.pyi": "import sys\nfrom _typeshed import FileDescriptorLike\n\ndef cancel_dump_traceback_later() -> None: ...\ndef disable() -> None: ...\ndef dump_traceback(file: FileDescriptorLike = ..., all_threads: bool = ...) -> None: ...\ndef dump_traceback_later(timeout: float, repeat: bool = ..., file: FileDescriptorLike = ..., exit: bool = ...) -> None: ...\ndef enable(file: FileDescriptorLike = ..., all_threads: bool = ...) -> None: ...\ndef is_enabled() -> bool: ...\n\nif sys.platform != \"win32\":\n def register(signum: int, file: FileDescriptorLike = ..., all_threads: bool = ..., chain: bool = ...) -> None: ...\n def unregister(signum: int) -> None: ...\n", + "/typeshed/stdlib/fcntl.pyi": "import sys\nfrom _typeshed import FileDescriptorLike, ReadOnlyBuffer, WriteableBuffer\nfrom typing import Any, overload\nfrom typing_extensions import Buffer, Literal\n\nif sys.platform != \"win32\":\n FASYNC: int\n FD_CLOEXEC: int\n F_DUPFD: int\n F_DUPFD_CLOEXEC: int\n F_GETFD: int\n F_GETFL: int\n F_GETLK: int\n F_GETOWN: int\n F_RDLCK: int\n F_SETFD: int\n F_SETFL: int\n F_SETLK: int\n F_SETLKW: int\n F_SETOWN: int\n F_UNLCK: int\n F_WRLCK: int\n\n F_GETLEASE: int\n F_SETLEASE: int\n if sys.platform == \"darwin\":\n F_FULLFSYNC: int\n F_NOCACHE: int\n if sys.version_info >= (3, 9):\n F_GETPATH: int\n if sys.platform == \"linux\":\n F_SETLKW64: int\n F_SETSIG: int\n F_SHLCK: int\n F_SETLK64: int\n F_GETSIG: int\n F_NOTIFY: int\n F_EXLCK: int\n F_GETLK64: int\n if sys.version_info >= (3, 8):\n F_ADD_SEALS: int\n F_GET_SEALS: int\n F_SEAL_GROW: int\n F_SEAL_SEAL: int\n F_SEAL_SHRINK: int\n F_SEAL_WRITE: int\n if sys.version_info >= (3, 9):\n F_OFD_GETLK: int\n F_OFD_SETLK: int\n F_OFD_SETLKW: int\n if sys.version_info >= (3, 10):\n F_GETPIPE_SZ: int\n F_SETPIPE_SZ: int\n\n DN_ACCESS: int\n DN_ATTRIB: int\n DN_CREATE: int\n DN_DELETE: int\n DN_MODIFY: int\n DN_MULTISHOT: int\n DN_RENAME: int\n\n LOCK_EX: int\n LOCK_NB: int\n LOCK_SH: int\n LOCK_UN: int\n if sys.platform == \"linux\":\n LOCK_MAND: int\n LOCK_READ: int\n LOCK_RW: int\n LOCK_WRITE: int\n\n # These are highly problematic, they might be present or not, depends on the specific OS.\n if sys.platform == \"linux\":\n I_ATMARK: int\n I_CANPUT: int\n I_CKBAND: int\n I_FDINSERT: int\n I_FIND: int\n I_FLUSH: int\n I_FLUSHBAND: int\n I_GETBAND: int\n I_GETCLTIME: int\n I_GETSIG: int\n I_GRDOPT: int\n I_GWROPT: int\n I_LINK: int\n I_LIST: int\n I_LOOK: int\n I_NREAD: int\n I_PEEK: int\n I_PLINK: int\n I_POP: int\n I_PUNLINK: int\n I_PUSH: int\n I_RECVFD: int\n I_SENDFD: int\n I_SETCLTIME: int\n I_SETSIG: int\n I_SRDOPT: int\n I_STR: int\n I_SWROPT: int\n I_UNLINK: int\n\n if sys.version_info >= (3, 12) and sys.platform == \"linux\":\n FICLONE: int\n FICLONERANGE: int\n\n @overload\n def fcntl(__fd: FileDescriptorLike, __cmd: int, __arg: int = 0) -> int: ...\n @overload\n def fcntl(__fd: FileDescriptorLike, __cmd: int, __arg: str | ReadOnlyBuffer) -> bytes: ...\n # If arg is an int, return int\n @overload\n def ioctl(__fd: FileDescriptorLike, __request: int, __arg: int = 0, __mutate_flag: bool = True) -> int: ...\n # The return type works as follows:\n # - If arg is a read-write buffer, return int if mutate_flag is True, otherwise bytes\n # - If arg is a read-only buffer, return bytes (and ignore the value of mutate_flag)\n # We can't represent that precisely as we can't distinguish between read-write and read-only\n # buffers, so we add overloads for a few unambiguous cases and use Any for the rest.\n @overload\n def ioctl(__fd: FileDescriptorLike, __request: int, __arg: bytes, __mutate_flag: bool = True) -> bytes: ...\n @overload\n def ioctl(__fd: FileDescriptorLike, __request: int, __arg: WriteableBuffer, __mutate_flag: Literal[False]) -> bytes: ...\n @overload\n def ioctl(__fd: FileDescriptorLike, __request: int, __arg: Buffer, __mutate_flag: bool = True) -> Any: ...\n def flock(__fd: FileDescriptorLike, __operation: int) -> None: ...\n def lockf(__fd: FileDescriptorLike, __cmd: int, __len: int = 0, __start: int = 0, __whence: int = 0) -> Any: ...\n", + "/typeshed/stdlib/filecmp.pyi": "import sys\nfrom _typeshed import GenericPath, StrOrBytesPath\nfrom collections.abc import Callable, Iterable, Sequence\nfrom typing import Any, AnyStr, Generic\nfrom typing_extensions import Literal\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = [\"clear_cache\", \"cmp\", \"dircmp\", \"cmpfiles\", \"DEFAULT_IGNORES\"]\n\nDEFAULT_IGNORES: list[str]\nBUFSIZE: Literal[8192]\n\ndef cmp(f1: StrOrBytesPath, f2: StrOrBytesPath, shallow: bool | Literal[0, 1] = True) -> bool: ...\ndef cmpfiles(\n a: GenericPath[AnyStr], b: GenericPath[AnyStr], common: Iterable[GenericPath[AnyStr]], shallow: bool | Literal[0, 1] = True\n) -> tuple[list[AnyStr], list[AnyStr], list[AnyStr]]: ...\n\nclass dircmp(Generic[AnyStr]):\n def __init__(\n self,\n a: GenericPath[AnyStr],\n b: GenericPath[AnyStr],\n ignore: Sequence[AnyStr] | None = None,\n hide: Sequence[AnyStr] | None = None,\n ) -> None: ...\n left: AnyStr\n right: AnyStr\n hide: Sequence[AnyStr]\n ignore: Sequence[AnyStr]\n # These properties are created at runtime by __getattr__\n subdirs: dict[AnyStr, dircmp[AnyStr]]\n same_files: list[AnyStr]\n diff_files: list[AnyStr]\n funny_files: list[AnyStr]\n common_dirs: list[AnyStr]\n common_files: list[AnyStr]\n common_funny: list[AnyStr]\n common: list[AnyStr]\n left_only: list[AnyStr]\n right_only: list[AnyStr]\n left_list: list[AnyStr]\n right_list: list[AnyStr]\n def report(self) -> None: ...\n def report_partial_closure(self) -> None: ...\n def report_full_closure(self) -> None: ...\n methodmap: dict[str, Callable[[], None]]\n def phase0(self) -> None: ...\n def phase1(self) -> None: ...\n def phase2(self) -> None: ...\n def phase3(self) -> None: ...\n def phase4(self) -> None: ...\n def phase4_closure(self) -> None: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\ndef clear_cache() -> None: ...\n", + "/typeshed/stdlib/fileinput.pyi": "import sys\nfrom _typeshed import AnyStr_co, StrOrBytesPath\nfrom collections.abc import Callable, Iterable, Iterator\nfrom types import TracebackType\nfrom typing import IO, Any, AnyStr, Protocol, overload\nfrom typing_extensions import Literal, Self, TypeAlias\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = [\n \"input\",\n \"close\",\n \"nextfile\",\n \"filename\",\n \"lineno\",\n \"filelineno\",\n \"fileno\",\n \"isfirstline\",\n \"isstdin\",\n \"FileInput\",\n \"hook_compressed\",\n \"hook_encoded\",\n]\n\nif sys.version_info >= (3, 11):\n _TextMode: TypeAlias = Literal[\"r\"]\nelse:\n _TextMode: TypeAlias = Literal[\"r\", \"rU\", \"U\"]\n\nclass _HasReadlineAndFileno(Protocol[AnyStr_co]):\n def readline(self) -> AnyStr_co: ...\n def fileno(self) -> int: ...\n\nif sys.version_info >= (3, 10):\n # encoding and errors are added\n @overload\n def input(\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n *,\n mode: _TextMode = \"r\",\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[str]] | None = None,\n encoding: str | None = None,\n errors: str | None = None,\n ) -> FileInput[str]: ...\n @overload\n def input(\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n *,\n mode: Literal[\"rb\"],\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[bytes]] | None = None,\n encoding: None = None,\n errors: None = None,\n ) -> FileInput[bytes]: ...\n @overload\n def input(\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n *,\n mode: str,\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[Any]] | None = None,\n encoding: str | None = None,\n errors: str | None = None,\n ) -> FileInput[Any]: ...\n\nelif sys.version_info >= (3, 8):\n # bufsize is dropped and mode and openhook become keyword-only\n @overload\n def input(\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n *,\n mode: _TextMode = \"r\",\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[str]] | None = None,\n ) -> FileInput[str]: ...\n @overload\n def input(\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n *,\n mode: Literal[\"rb\"],\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[bytes]] | None = None,\n ) -> FileInput[bytes]: ...\n @overload\n def input(\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n *,\n mode: str,\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[Any]] | None = None,\n ) -> FileInput[Any]: ...\n\nelse:\n @overload\n def input(\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n bufsize: int = 0,\n mode: _TextMode = \"r\",\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[str]] | None = None,\n ) -> FileInput[str]: ...\n # Because mode isn't keyword-only here yet, we need two overloads each for\n # the bytes case and the fallback case.\n @overload\n def input(\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n bufsize: int = 0,\n *,\n mode: Literal[\"rb\"],\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[bytes]] | None = None,\n ) -> FileInput[bytes]: ...\n @overload\n def input(\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None,\n inplace: bool,\n backup: str,\n bufsize: int,\n mode: Literal[\"rb\"],\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[bytes]] | None = None,\n ) -> FileInput[bytes]: ...\n @overload\n def input(\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n bufsize: int = 0,\n *,\n mode: str,\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[Any]] | None = None,\n ) -> FileInput[Any]: ...\n @overload\n def input(\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None,\n inplace: bool,\n backup: str,\n bufsize: int,\n mode: str,\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[Any]] | None = None,\n ) -> FileInput[Any]: ...\n\ndef close() -> None: ...\ndef nextfile() -> None: ...\ndef filename() -> str: ...\ndef lineno() -> int: ...\ndef filelineno() -> int: ...\ndef fileno() -> int: ...\ndef isfirstline() -> bool: ...\ndef isstdin() -> bool: ...\n\nclass FileInput(Iterator[AnyStr]):\n if sys.version_info >= (3, 10):\n # encoding and errors are added\n @overload\n def __init__(\n self: FileInput[str],\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n *,\n mode: _TextMode = \"r\",\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[str]] | None = None,\n encoding: str | None = None,\n errors: str | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self: FileInput[bytes],\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n *,\n mode: Literal[\"rb\"],\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[bytes]] | None = None,\n encoding: None = None,\n errors: None = None,\n ) -> None: ...\n @overload\n def __init__(\n self: FileInput[Any],\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n *,\n mode: str,\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[Any]] | None = None,\n encoding: str | None = None,\n errors: str | None = None,\n ) -> None: ...\n\n elif sys.version_info >= (3, 8):\n # bufsize is dropped and mode and openhook become keyword-only\n @overload\n def __init__(\n self: FileInput[str],\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n *,\n mode: _TextMode = \"r\",\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[str]] | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self: FileInput[bytes],\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n *,\n mode: Literal[\"rb\"],\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[bytes]] | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self: FileInput[Any],\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n *,\n mode: str,\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[Any]] | None = None,\n ) -> None: ...\n\n else:\n @overload\n def __init__(\n self: FileInput[str],\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n bufsize: int = 0,\n mode: _TextMode = \"r\",\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[str]] | None = None,\n ) -> None: ...\n # Because mode isn't keyword-only here yet, we need two overloads each for\n # the bytes case and the fallback case.\n @overload\n def __init__(\n self: FileInput[bytes],\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n bufsize: int = 0,\n *,\n mode: Literal[\"rb\"],\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[bytes]] | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self: FileInput[bytes],\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None,\n inplace: bool,\n backup: str,\n bufsize: int,\n mode: Literal[\"rb\"],\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[bytes]] | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self: FileInput[Any],\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None = None,\n inplace: bool = False,\n backup: str = \"\",\n bufsize: int = 0,\n *,\n mode: str,\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[Any]] | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self: FileInput[Any],\n files: StrOrBytesPath | Iterable[StrOrBytesPath] | None,\n inplace: bool,\n backup: str,\n bufsize: int,\n mode: str,\n openhook: Callable[[StrOrBytesPath, str], _HasReadlineAndFileno[Any]] | None = None,\n ) -> None: ...\n\n def __del__(self) -> None: ...\n def close(self) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, type: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None\n ) -> None: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> AnyStr: ...\n if sys.version_info < (3, 11):\n def __getitem__(self, i: int) -> AnyStr: ...\n\n def nextfile(self) -> None: ...\n def readline(self) -> AnyStr: ...\n def filename(self) -> str: ...\n def lineno(self) -> int: ...\n def filelineno(self) -> int: ...\n def fileno(self) -> int: ...\n def isfirstline(self) -> bool: ...\n def isstdin(self) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nif sys.version_info >= (3, 10):\n def hook_compressed(\n filename: StrOrBytesPath, mode: str, *, encoding: str | None = None, errors: str | None = None\n ) -> IO[Any]: ...\n\nelse:\n def hook_compressed(filename: StrOrBytesPath, mode: str) -> IO[Any]: ...\n\ndef hook_encoded(encoding: str, errors: str | None = None) -> Callable[[StrOrBytesPath, str], IO[Any]]: ...\n", + "/typeshed/stdlib/fnmatch.pyi": "from collections.abc import Iterable\nfrom typing import AnyStr\n\n__all__ = [\"filter\", \"fnmatch\", \"fnmatchcase\", \"translate\"]\n\ndef fnmatch(name: AnyStr, pat: AnyStr) -> bool: ...\ndef fnmatchcase(name: AnyStr, pat: AnyStr) -> bool: ...\ndef filter(names: Iterable[AnyStr], pat: AnyStr) -> list[AnyStr]: ...\ndef translate(pat: str) -> str: ...\n", + "/typeshed/stdlib/formatter.pyi": "from collections.abc import Iterable\nfrom typing import IO, Any\nfrom typing_extensions import TypeAlias\n\nAS_IS: None\n_FontType: TypeAlias = tuple[str, bool, bool, bool]\n_StylesType: TypeAlias = tuple[Any, ...]\n\nclass NullFormatter:\n writer: NullWriter | None\n def __init__(self, writer: NullWriter | None = None) -> None: ...\n def end_paragraph(self, blankline: int) -> None: ...\n def add_line_break(self) -> None: ...\n def add_hor_rule(self, *args: Any, **kw: Any) -> None: ...\n def add_label_data(self, format: str, counter: int, blankline: int | None = None) -> None: ...\n def add_flowing_data(self, data: str) -> None: ...\n def add_literal_data(self, data: str) -> None: ...\n def flush_softspace(self) -> None: ...\n def push_alignment(self, align: str | None) -> None: ...\n def pop_alignment(self) -> None: ...\n def push_font(self, x: _FontType) -> None: ...\n def pop_font(self) -> None: ...\n def push_margin(self, margin: int) -> None: ...\n def pop_margin(self) -> None: ...\n def set_spacing(self, spacing: str | None) -> None: ...\n def push_style(self, *styles: _StylesType) -> None: ...\n def pop_style(self, n: int = 1) -> None: ...\n def assert_line_data(self, flag: int = 1) -> None: ...\n\nclass AbstractFormatter:\n writer: NullWriter\n align: str | None\n align_stack: list[str | None]\n font_stack: list[_FontType]\n margin_stack: list[int]\n spacing: str | None\n style_stack: Any\n nospace: int\n softspace: int\n para_end: int\n parskip: int\n hard_break: int\n have_label: int\n def __init__(self, writer: NullWriter) -> None: ...\n def end_paragraph(self, blankline: int) -> None: ...\n def add_line_break(self) -> None: ...\n def add_hor_rule(self, *args: Any, **kw: Any) -> None: ...\n def add_label_data(self, format: str, counter: int, blankline: int | None = None) -> None: ...\n def format_counter(self, format: Iterable[str], counter: int) -> str: ...\n def format_letter(self, case: str, counter: int) -> str: ...\n def format_roman(self, case: str, counter: int) -> str: ...\n def add_flowing_data(self, data: str) -> None: ...\n def add_literal_data(self, data: str) -> None: ...\n def flush_softspace(self) -> None: ...\n def push_alignment(self, align: str | None) -> None: ...\n def pop_alignment(self) -> None: ...\n def push_font(self, font: _FontType) -> None: ...\n def pop_font(self) -> None: ...\n def push_margin(self, margin: int) -> None: ...\n def pop_margin(self) -> None: ...\n def set_spacing(self, spacing: str | None) -> None: ...\n def push_style(self, *styles: _StylesType) -> None: ...\n def pop_style(self, n: int = 1) -> None: ...\n def assert_line_data(self, flag: int = 1) -> None: ...\n\nclass NullWriter:\n def flush(self) -> None: ...\n def new_alignment(self, align: str | None) -> None: ...\n def new_font(self, font: _FontType) -> None: ...\n def new_margin(self, margin: int, level: int) -> None: ...\n def new_spacing(self, spacing: str | None) -> None: ...\n def new_styles(self, styles: tuple[Any, ...]) -> None: ...\n def send_paragraph(self, blankline: int) -> None: ...\n def send_line_break(self) -> None: ...\n def send_hor_rule(self, *args: Any, **kw: Any) -> None: ...\n def send_label_data(self, data: str) -> None: ...\n def send_flowing_data(self, data: str) -> None: ...\n def send_literal_data(self, data: str) -> None: ...\n\nclass AbstractWriter(NullWriter): ...\n\nclass DumbWriter(NullWriter):\n file: IO[str]\n maxcol: int\n def __init__(self, file: IO[str] | None = None, maxcol: int = 72) -> None: ...\n def reset(self) -> None: ...\n\ndef test(file: str | None = None) -> None: ...\n", + "/typeshed/stdlib/fractions.pyi": "import sys\nfrom collections.abc import Callable\nfrom decimal import Decimal\nfrom numbers import Integral, Rational, Real\nfrom typing import Any, overload\nfrom typing_extensions import Literal, Self, SupportsIndex, TypeAlias\n\n_ComparableNum: TypeAlias = int | float | Decimal | Real\n\nif sys.version_info >= (3, 9):\n __all__ = [\"Fraction\"]\nelse:\n __all__ = [\"Fraction\", \"gcd\"]\n @overload\n def gcd(a: int, b: int) -> int: ...\n @overload\n def gcd(a: Integral, b: int) -> Integral: ...\n @overload\n def gcd(a: int, b: Integral) -> Integral: ...\n @overload\n def gcd(a: Integral, b: Integral) -> Integral: ...\n\nclass Fraction(Rational):\n @overload\n def __new__(cls, numerator: int | Rational = 0, denominator: int | Rational | None = None) -> Self: ...\n @overload\n def __new__(cls, __value: float | Decimal | str) -> Self: ...\n @classmethod\n def from_float(cls, f: float) -> Self: ...\n @classmethod\n def from_decimal(cls, dec: Decimal) -> Self: ...\n def limit_denominator(self, max_denominator: int = 1000000) -> Fraction: ...\n if sys.version_info >= (3, 8):\n def as_integer_ratio(self) -> tuple[int, int]: ...\n if sys.version_info >= (3, 12):\n def is_integer(self) -> bool: ...\n\n @property\n def numerator(a) -> int: ...\n @property\n def denominator(a) -> int: ...\n @overload\n def __add__(a, b: int | Fraction) -> Fraction: ...\n @overload\n def __add__(a, b: float) -> float: ...\n @overload\n def __add__(a, b: complex) -> complex: ...\n @overload\n def __radd__(b, a: int | Fraction) -> Fraction: ...\n @overload\n def __radd__(b, a: float) -> float: ...\n @overload\n def __radd__(b, a: complex) -> complex: ...\n @overload\n def __sub__(a, b: int | Fraction) -> Fraction: ...\n @overload\n def __sub__(a, b: float) -> float: ...\n @overload\n def __sub__(a, b: complex) -> complex: ...\n @overload\n def __rsub__(b, a: int | Fraction) -> Fraction: ...\n @overload\n def __rsub__(b, a: float) -> float: ...\n @overload\n def __rsub__(b, a: complex) -> complex: ...\n @overload\n def __mul__(a, b: int | Fraction) -> Fraction: ...\n @overload\n def __mul__(a, b: float) -> float: ...\n @overload\n def __mul__(a, b: complex) -> complex: ...\n @overload\n def __rmul__(b, a: int | Fraction) -> Fraction: ...\n @overload\n def __rmul__(b, a: float) -> float: ...\n @overload\n def __rmul__(b, a: complex) -> complex: ...\n @overload\n def __truediv__(a, b: int | Fraction) -> Fraction: ...\n @overload\n def __truediv__(a, b: float) -> float: ...\n @overload\n def __truediv__(a, b: complex) -> complex: ...\n @overload\n def __rtruediv__(b, a: int | Fraction) -> Fraction: ...\n @overload\n def __rtruediv__(b, a: float) -> float: ...\n @overload\n def __rtruediv__(b, a: complex) -> complex: ...\n @overload\n def __floordiv__(a, b: int | Fraction) -> int: ...\n @overload\n def __floordiv__(a, b: float) -> float: ...\n @overload\n def __rfloordiv__(b, a: int | Fraction) -> int: ...\n @overload\n def __rfloordiv__(b, a: float) -> float: ...\n @overload\n def __mod__(a, b: int | Fraction) -> Fraction: ...\n @overload\n def __mod__(a, b: float) -> float: ...\n @overload\n def __rmod__(b, a: int | Fraction) -> Fraction: ...\n @overload\n def __rmod__(b, a: float) -> float: ...\n if sys.version_info >= (3, 8):\n @overload\n def __divmod__(a, b: int | Fraction) -> tuple[int, Fraction]: ...\n @overload\n def __divmod__(a, b: float) -> tuple[float, Fraction]: ...\n @overload\n def __rdivmod__(a, b: int | Fraction) -> tuple[int, Fraction]: ...\n @overload\n def __rdivmod__(a, b: float) -> tuple[float, Fraction]: ...\n else:\n @overload\n def __divmod__(self, other: int | Fraction) -> tuple[int, Fraction]: ...\n @overload\n def __divmod__(self, other: float) -> tuple[float, Fraction]: ...\n @overload\n def __rdivmod__(self, other: int | Fraction) -> tuple[int, Fraction]: ...\n @overload\n def __rdivmod__(self, other: float) -> tuple[float, Fraction]: ...\n\n @overload\n def __pow__(a, b: int) -> Fraction: ...\n @overload\n def __pow__(a, b: float | Fraction) -> float: ...\n @overload\n def __pow__(a, b: complex) -> complex: ...\n @overload\n def __rpow__(b, a: float | Fraction) -> float: ...\n @overload\n def __rpow__(b, a: complex) -> complex: ...\n def __pos__(a) -> Fraction: ...\n def __neg__(a) -> Fraction: ...\n def __abs__(a) -> Fraction: ...\n def __trunc__(a) -> int: ...\n def __floor__(a) -> int: ...\n def __ceil__(a) -> int: ...\n @overload\n def __round__(self, ndigits: None = None) -> int: ...\n @overload\n def __round__(self, ndigits: int) -> Fraction: ...\n def __hash__(self) -> int: ...\n def __eq__(a, b: object) -> bool: ...\n def __lt__(a, b: _ComparableNum) -> bool: ...\n def __gt__(a, b: _ComparableNum) -> bool: ...\n def __le__(a, b: _ComparableNum) -> bool: ...\n def __ge__(a, b: _ComparableNum) -> bool: ...\n def __bool__(a) -> bool: ...\n def __copy__(self) -> Self: ...\n def __deepcopy__(self, memo: Any) -> Self: ...\n if sys.version_info >= (3, 11):\n def __int__(a, _index: Callable[[SupportsIndex], int] = ...) -> int: ...\n # Not actually defined within fractions.py, but provides more useful\n # overrides\n @property\n def real(self) -> Fraction: ...\n @property\n def imag(self) -> Literal[0]: ...\n def conjugate(self) -> Fraction: ...\n", + "/typeshed/stdlib/ftplib.pyi": "import sys\nfrom _typeshed import SupportsRead, SupportsReadline\nfrom collections.abc import Callable, Iterable, Iterator\nfrom socket import socket\nfrom ssl import SSLContext\nfrom types import TracebackType\nfrom typing import Any, TextIO\nfrom typing_extensions import Literal, Self\n\n__all__ = [\"FTP\", \"error_reply\", \"error_temp\", \"error_perm\", \"error_proto\", \"all_errors\", \"FTP_TLS\"]\n\nMSG_OOB: Literal[1]\nFTP_PORT: Literal[21]\nMAXLINE: Literal[8192]\nCRLF: Literal[\"\\r\\n\"]\nB_CRLF: Literal[b\"\\r\\n\"]\n\nclass Error(Exception): ...\nclass error_reply(Error): ...\nclass error_temp(Error): ...\nclass error_perm(Error): ...\nclass error_proto(Error): ...\n\nall_errors: tuple[type[Exception], ...]\n\nclass FTP:\n debugging: int\n host: str\n port: int\n maxline: int\n sock: socket | None\n welcome: str | None\n passiveserver: int\n timeout: int\n af: int\n lastresp: str\n file: TextIO | None\n encoding: str\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> None: ...\n source_address: tuple[str, int] | None\n if sys.version_info >= (3, 9):\n def __init__(\n self,\n host: str = \"\",\n user: str = \"\",\n passwd: str = \"\",\n acct: str = \"\",\n timeout: float = ...,\n source_address: tuple[str, int] | None = None,\n *,\n encoding: str = \"utf-8\",\n ) -> None: ...\n else:\n def __init__(\n self,\n host: str = \"\",\n user: str = \"\",\n passwd: str = \"\",\n acct: str = \"\",\n timeout: float = ...,\n source_address: tuple[str, int] | None = None,\n ) -> None: ...\n\n def connect(\n self, host: str = \"\", port: int = 0, timeout: float = -999, source_address: tuple[str, int] | None = None\n ) -> str: ...\n def getwelcome(self) -> str: ...\n def set_debuglevel(self, level: int) -> None: ...\n def debug(self, level: int) -> None: ...\n def set_pasv(self, val: bool | Literal[0, 1]) -> None: ...\n def sanitize(self, s: str) -> str: ...\n def putline(self, line: str) -> None: ...\n def putcmd(self, line: str) -> None: ...\n def getline(self) -> str: ...\n def getmultiline(self) -> str: ...\n def getresp(self) -> str: ...\n def voidresp(self) -> str: ...\n def abort(self) -> str: ...\n def sendcmd(self, cmd: str) -> str: ...\n def voidcmd(self, cmd: str) -> str: ...\n def sendport(self, host: str, port: int) -> str: ...\n def sendeprt(self, host: str, port: int) -> str: ...\n def makeport(self) -> socket: ...\n def makepasv(self) -> tuple[str, int]: ...\n def login(self, user: str = \"\", passwd: str = \"\", acct: str = \"\") -> str: ...\n # In practice, `rest` rest can actually be anything whose str() is an integer sequence, so to make it simple we allow integers.\n def ntransfercmd(self, cmd: str, rest: int | str | None = None) -> tuple[socket, int | None]: ...\n def transfercmd(self, cmd: str, rest: int | str | None = None) -> socket: ...\n def retrbinary(\n self, cmd: str, callback: Callable[[bytes], object], blocksize: int = 8192, rest: int | str | None = None\n ) -> str: ...\n def storbinary(\n self,\n cmd: str,\n fp: SupportsRead[bytes],\n blocksize: int = 8192,\n callback: Callable[[bytes], object] | None = None,\n rest: int | str | None = None,\n ) -> str: ...\n def retrlines(self, cmd: str, callback: Callable[[str], object] | None = None) -> str: ...\n def storlines(self, cmd: str, fp: SupportsReadline[bytes], callback: Callable[[bytes], object] | None = None) -> str: ...\n def acct(self, password: str) -> str: ...\n def nlst(self, *args: str) -> list[str]: ...\n # Technically only the last arg can be a Callable but ...\n def dir(self, *args: str | Callable[[str], object]) -> None: ...\n def mlsd(self, path: str = \"\", facts: Iterable[str] = []) -> Iterator[tuple[str, dict[str, str]]]: ...\n def rename(self, fromname: str, toname: str) -> str: ...\n def delete(self, filename: str) -> str: ...\n def cwd(self, dirname: str) -> str: ...\n def size(self, filename: str) -> int | None: ...\n def mkd(self, dirname: str) -> str: ...\n def rmd(self, dirname: str) -> str: ...\n def pwd(self) -> str: ...\n def quit(self) -> str: ...\n def close(self) -> None: ...\n\nclass FTP_TLS(FTP):\n if sys.version_info >= (3, 12):\n def __init__(\n self,\n host: str = \"\",\n user: str = \"\",\n passwd: str = \"\",\n acct: str = \"\",\n *,\n context: SSLContext | None = None,\n timeout: float = ...,\n source_address: tuple[str, int] | None = None,\n encoding: str = \"utf-8\",\n ) -> None: ...\n elif sys.version_info >= (3, 9):\n def __init__(\n self,\n host: str = \"\",\n user: str = \"\",\n passwd: str = \"\",\n acct: str = \"\",\n keyfile: str | None = None,\n certfile: str | None = None,\n context: SSLContext | None = None,\n timeout: float = ...,\n source_address: tuple[str, int] | None = None,\n *,\n encoding: str = \"utf-8\",\n ) -> None: ...\n else:\n def __init__(\n self,\n host: str = \"\",\n user: str = \"\",\n passwd: str = \"\",\n acct: str = \"\",\n keyfile: str | None = None,\n certfile: str | None = None,\n context: SSLContext | None = None,\n timeout: float = ...,\n source_address: tuple[str, int] | None = None,\n ) -> None: ...\n ssl_version: int\n keyfile: str | None\n certfile: str | None\n context: SSLContext\n def login(self, user: str = \"\", passwd: str = \"\", acct: str = \"\", secure: bool = True) -> str: ...\n def auth(self) -> str: ...\n def prot_p(self) -> str: ...\n def prot_c(self) -> str: ...\n def ccc(self) -> str: ...\n\ndef parse150(resp: str) -> int | None: ... # undocumented\ndef parse227(resp: str) -> tuple[str, int]: ... # undocumented\ndef parse229(resp: str, peer: Any) -> tuple[str, int]: ... # undocumented\ndef parse257(resp: str) -> str: ... # undocumented\ndef ftpcp(\n source: FTP, sourcename: str, target: FTP, targetname: str = \"\", type: Literal[\"A\", \"I\"] = \"I\"\n) -> None: ... # undocumented\n", + "/typeshed/stdlib/functools.pyi": "import sys\nimport types\nfrom _typeshed import SupportsAllComparisons, SupportsItems\nfrom collections.abc import Callable, Hashable, Iterable, Sequence, Sized\nfrom typing import Any, Generic, NamedTuple, TypeVar, overload\nfrom typing_extensions import Literal, ParamSpec, Self, TypeAlias, TypedDict, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = [\n \"update_wrapper\",\n \"wraps\",\n \"WRAPPER_ASSIGNMENTS\",\n \"WRAPPER_UPDATES\",\n \"total_ordering\",\n \"cmp_to_key\",\n \"lru_cache\",\n \"reduce\",\n \"partial\",\n \"partialmethod\",\n \"singledispatch\",\n]\n\nif sys.version_info >= (3, 8):\n __all__ += [\"cached_property\", \"singledispatchmethod\"]\n\nif sys.version_info >= (3, 9):\n __all__ += [\"cache\"]\n\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_PWrapped = ParamSpec(\"_PWrapped\")\n_RWrapped = TypeVar(\"_RWrapped\")\n_PWrapper = ParamSpec(\"_PWrapper\")\n_RWrapper = TypeVar(\"_RWrapper\")\n\n@overload\ndef reduce(function: Callable[[_T, _S], _T], sequence: Iterable[_S], initial: _T) -> _T: ...\n@overload\ndef reduce(function: Callable[[_T, _T], _T], sequence: Iterable[_T]) -> _T: ...\n\nclass _CacheInfo(NamedTuple):\n hits: int\n misses: int\n maxsize: int | None\n currsize: int\n\nif sys.version_info >= (3, 9):\n class _CacheParameters(TypedDict):\n maxsize: int\n typed: bool\n\n@final\nclass _lru_cache_wrapper(Generic[_T]):\n __wrapped__: Callable[..., _T]\n def __call__(self, *args: Hashable, **kwargs: Hashable) -> _T: ...\n def cache_info(self) -> _CacheInfo: ...\n def cache_clear(self) -> None: ...\n if sys.version_info >= (3, 9):\n def cache_parameters(self) -> _CacheParameters: ...\n\n def __copy__(self) -> _lru_cache_wrapper[_T]: ...\n def __deepcopy__(self, __memo: Any) -> _lru_cache_wrapper[_T]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def lru_cache(maxsize: int | None = 128, typed: bool = False) -> Callable[[Callable[..., _T]], _lru_cache_wrapper[_T]]: ...\n @overload\n def lru_cache(maxsize: Callable[..., _T], typed: bool = False) -> _lru_cache_wrapper[_T]: ...\n\nelse:\n def lru_cache(maxsize: int | None = 128, typed: bool = False) -> Callable[[Callable[..., _T]], _lru_cache_wrapper[_T]]: ...\n\nif sys.version_info >= (3, 12):\n WRAPPER_ASSIGNMENTS: tuple[\n Literal[\"__module__\"],\n Literal[\"__name__\"],\n Literal[\"__qualname__\"],\n Literal[\"__doc__\"],\n Literal[\"__annotations__\"],\n Literal[\"__type_params__\"],\n ]\nelse:\n WRAPPER_ASSIGNMENTS: tuple[\n Literal[\"__module__\"], Literal[\"__name__\"], Literal[\"__qualname__\"], Literal[\"__doc__\"], Literal[\"__annotations__\"]\n ]\nWRAPPER_UPDATES: tuple[Literal[\"__dict__\"]]\n\nclass _Wrapped(Generic[_PWrapped, _RWrapped, _PWrapper, _RWrapper]):\n __wrapped__: Callable[_PWrapped, _RWrapped]\n def __call__(self, *args: _PWrapper.args, **kwargs: _PWrapper.kwargs) -> _RWrapper: ...\n # as with ``Callable``, we'll assume that these attributes exist\n __name__: str\n __qualname__: str\n\nclass _Wrapper(Generic[_PWrapped, _RWrapped]):\n def __call__(self, f: Callable[_PWrapper, _RWrapper]) -> _Wrapped[_PWrapped, _RWrapped, _PWrapper, _RWrapper]: ...\n\nif sys.version_info >= (3, 12):\n def update_wrapper(\n wrapper: Callable[_PWrapper, _RWrapper],\n wrapped: Callable[_PWrapped, _RWrapped],\n assigned: Sequence[str] = (\"__module__\", \"__name__\", \"__qualname__\", \"__doc__\", \"__annotations__\", \"__type_params__\"),\n updated: Sequence[str] = (\"__dict__\",),\n ) -> _Wrapped[_PWrapped, _RWrapped, _PWrapper, _RWrapper]: ...\n def wraps(\n wrapped: Callable[_PWrapped, _RWrapped],\n assigned: Sequence[str] = (\"__module__\", \"__name__\", \"__qualname__\", \"__doc__\", \"__annotations__\", \"__type_params__\"),\n updated: Sequence[str] = (\"__dict__\",),\n ) -> _Wrapper[_PWrapped, _RWrapped]: ...\n\nelse:\n def update_wrapper(\n wrapper: Callable[_PWrapper, _RWrapper],\n wrapped: Callable[_PWrapped, _RWrapped],\n assigned: Sequence[str] = (\"__module__\", \"__name__\", \"__qualname__\", \"__doc__\", \"__annotations__\"),\n updated: Sequence[str] = (\"__dict__\",),\n ) -> _Wrapped[_PWrapped, _RWrapped, _PWrapper, _RWrapper]: ...\n def wraps(\n wrapped: Callable[_PWrapped, _RWrapped],\n assigned: Sequence[str] = (\"__module__\", \"__name__\", \"__qualname__\", \"__doc__\", \"__annotations__\"),\n updated: Sequence[str] = (\"__dict__\",),\n ) -> _Wrapper[_PWrapped, _RWrapped]: ...\n\ndef total_ordering(cls: type[_T]) -> type[_T]: ...\ndef cmp_to_key(mycmp: Callable[[_T, _T], int]) -> Callable[[_T], SupportsAllComparisons]: ...\n\nclass partial(Generic[_T]):\n @property\n def func(self) -> Callable[..., _T]: ...\n @property\n def args(self) -> tuple[Any, ...]: ...\n @property\n def keywords(self) -> dict[str, Any]: ...\n def __new__(cls, __func: Callable[..., _T], *args: Any, **kwargs: Any) -> Self: ...\n def __call__(__self, *args: Any, **kwargs: Any) -> _T: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# With protocols, this could change into a generic protocol that defines __get__ and returns _T\n_Descriptor: TypeAlias = Any\n\nclass partialmethod(Generic[_T]):\n func: Callable[..., _T] | _Descriptor\n args: tuple[Any, ...]\n keywords: dict[str, Any]\n @overload\n def __init__(self, __func: Callable[..., _T], *args: Any, **keywords: Any) -> None: ...\n @overload\n def __init__(self, __func: _Descriptor, *args: Any, **keywords: Any) -> None: ...\n if sys.version_info >= (3, 8):\n def __get__(self, obj: Any, cls: type[Any] | None = None) -> Callable[..., _T]: ...\n else:\n def __get__(self, obj: Any, cls: type[Any] | None) -> Callable[..., _T]: ...\n\n @property\n def __isabstractmethod__(self) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass _SingleDispatchCallable(Generic[_T]):\n registry: types.MappingProxyType[Any, Callable[..., _T]]\n def dispatch(self, cls: Any) -> Callable[..., _T]: ...\n # @fun.register(complex)\n # def _(arg, verbose=False): ...\n @overload\n def register(self, cls: type[Any], func: None = None) -> Callable[[Callable[..., _T]], Callable[..., _T]]: ...\n # @fun.register\n # def _(arg: int, verbose=False):\n @overload\n def register(self, cls: Callable[..., _T], func: None = None) -> Callable[..., _T]: ...\n # fun.register(int, lambda x: x)\n @overload\n def register(self, cls: type[Any], func: Callable[..., _T]) -> Callable[..., _T]: ...\n def _clear_cache(self) -> None: ...\n def __call__(__self, *args: Any, **kwargs: Any) -> _T: ...\n\ndef singledispatch(func: Callable[..., _T]) -> _SingleDispatchCallable[_T]: ...\n\nif sys.version_info >= (3, 8):\n class singledispatchmethod(Generic[_T]):\n dispatcher: _SingleDispatchCallable[_T]\n func: Callable[..., _T]\n def __init__(self, func: Callable[..., _T]) -> None: ...\n @property\n def __isabstractmethod__(self) -> bool: ...\n @overload\n def register(self, cls: type[Any], method: None = None) -> Callable[[Callable[..., _T]], Callable[..., _T]]: ...\n @overload\n def register(self, cls: Callable[..., _T], method: None = None) -> Callable[..., _T]: ...\n @overload\n def register(self, cls: type[Any], method: Callable[..., _T]) -> Callable[..., _T]: ...\n def __get__(self, obj: _S, cls: type[_S] | None = None) -> Callable[..., _T]: ...\n\n class cached_property(Generic[_T]):\n func: Callable[[Any], _T]\n attrname: str | None\n def __init__(self, func: Callable[[Any], _T]) -> None: ...\n @overload\n def __get__(self, instance: None, owner: type[Any] | None = None) -> Self: ...\n @overload\n def __get__(self, instance: object, owner: type[Any] | None = None) -> _T: ...\n def __set_name__(self, owner: type[Any], name: str) -> None: ...\n # __set__ is not defined at runtime, but @cached_property is designed to be settable\n def __set__(self, instance: object, value: _T) -> None: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nif sys.version_info >= (3, 9):\n def cache(__user_function: Callable[..., _T]) -> _lru_cache_wrapper[_T]: ...\n\ndef _make_key(\n args: tuple[Hashable, ...],\n kwds: SupportsItems[Any, Any],\n typed: bool,\n kwd_mark: tuple[object, ...] = ...,\n fasttypes: set[type] = ...,\n tuple: type = ...,\n type: Any = ...,\n len: Callable[[Sized], int] = ...,\n) -> Hashable: ...\n", + "/typeshed/stdlib/gc.pyi": "import sys\nfrom collections.abc import Callable\nfrom typing import Any\nfrom typing_extensions import Literal, TypeAlias\n\nDEBUG_COLLECTABLE: Literal[2]\nDEBUG_LEAK: Literal[38]\nDEBUG_SAVEALL: Literal[32]\nDEBUG_STATS: Literal[1]\nDEBUG_UNCOLLECTABLE: Literal[4]\n\n_CallbackType: TypeAlias = Callable[[Literal[\"start\", \"stop\"], dict[str, int]], object]\n\ncallbacks: list[_CallbackType]\ngarbage: list[Any]\n\ndef collect(generation: int = 2) -> int: ...\ndef disable() -> None: ...\ndef enable() -> None: ...\ndef get_count() -> tuple[int, int, int]: ...\ndef get_debug() -> int: ...\n\nif sys.version_info >= (3, 8):\n def get_objects(generation: int | None = None) -> list[Any]: ...\n\nelse:\n def get_objects() -> list[Any]: ...\n\ndef freeze() -> None: ...\ndef unfreeze() -> None: ...\ndef get_freeze_count() -> int: ...\ndef get_referents(*objs: Any) -> list[Any]: ...\ndef get_referrers(*objs: Any) -> list[Any]: ...\ndef get_stats() -> list[dict[str, Any]]: ...\ndef get_threshold() -> tuple[int, int, int]: ...\ndef is_tracked(__obj: Any) -> bool: ...\n\nif sys.version_info >= (3, 9):\n def is_finalized(__obj: Any) -> bool: ...\n\ndef isenabled() -> bool: ...\ndef set_debug(__flags: int) -> None: ...\ndef set_threshold(threshold0: int, threshold1: int = ..., threshold2: int = ...) -> None: ...\n", + "/typeshed/stdlib/genericpath.pyi": "import os\nimport sys\nfrom _typeshed import BytesPath, FileDescriptorOrPath, StrOrBytesPath, StrPath, SupportsRichComparisonT\nfrom collections.abc import Sequence\nfrom typing import overload\nfrom typing_extensions import Literal, LiteralString\n\n__all__ = [\n \"commonprefix\",\n \"exists\",\n \"getatime\",\n \"getctime\",\n \"getmtime\",\n \"getsize\",\n \"isdir\",\n \"isfile\",\n \"samefile\",\n \"sameopenfile\",\n \"samestat\",\n]\nif sys.version_info >= (3, 12):\n __all__ += [\"islink\"]\n\n# All overloads can return empty string. Ideally, Literal[\"\"] would be a valid\n# Iterable[T], so that list[T] | Literal[\"\"] could be used as a return\n# type. But because this only works when T is str, we need Sequence[T] instead.\n@overload\ndef commonprefix(m: Sequence[LiteralString]) -> LiteralString: ...\n@overload\ndef commonprefix(m: Sequence[StrPath]) -> str: ...\n@overload\ndef commonprefix(m: Sequence[BytesPath]) -> bytes | Literal[\"\"]: ...\n@overload\ndef commonprefix(m: Sequence[list[SupportsRichComparisonT]]) -> Sequence[SupportsRichComparisonT]: ...\n@overload\ndef commonprefix(m: Sequence[tuple[SupportsRichComparisonT, ...]]) -> Sequence[SupportsRichComparisonT]: ...\ndef exists(path: FileDescriptorOrPath) -> bool: ...\ndef getsize(filename: FileDescriptorOrPath) -> int: ...\ndef isfile(path: FileDescriptorOrPath) -> bool: ...\ndef isdir(s: FileDescriptorOrPath) -> bool: ...\n\nif sys.version_info >= (3, 12):\n def islink(path: StrOrBytesPath) -> bool: ...\n\n# These return float if os.stat_float_times() == True,\n# but int is a subclass of float.\ndef getatime(filename: FileDescriptorOrPath) -> float: ...\ndef getmtime(filename: FileDescriptorOrPath) -> float: ...\ndef getctime(filename: FileDescriptorOrPath) -> float: ...\ndef samefile(f1: FileDescriptorOrPath, f2: FileDescriptorOrPath) -> bool: ...\ndef sameopenfile(fp1: int, fp2: int) -> bool: ...\ndef samestat(s1: os.stat_result, s2: os.stat_result) -> bool: ...\n", + "/typeshed/stdlib/getopt.pyi": "__all__ = [\"GetoptError\", \"error\", \"getopt\", \"gnu_getopt\"]\n\ndef getopt(args: list[str], shortopts: str, longopts: list[str] = []) -> tuple[list[tuple[str, str]], list[str]]: ...\ndef gnu_getopt(args: list[str], shortopts: str, longopts: list[str] = []) -> tuple[list[tuple[str, str]], list[str]]: ...\n\nclass GetoptError(Exception):\n msg: str\n opt: str\n def __init__(self, msg: str, opt: str = \"\") -> None: ...\n\nerror = GetoptError\n", + "/typeshed/stdlib/getpass.pyi": "from typing import TextIO\n\n__all__ = [\"getpass\", \"getuser\", \"GetPassWarning\"]\n\ndef getpass(prompt: str = \"Password: \", stream: TextIO | None = None) -> str: ...\ndef getuser() -> str: ...\n\nclass GetPassWarning(UserWarning): ...\n", + "/typeshed/stdlib/gettext.pyi": "import io\nimport sys\nfrom _typeshed import StrPath\nfrom collections.abc import Callable, Container, Iterable, Sequence\nfrom typing import Any, Protocol, TypeVar, overload\nfrom typing_extensions import Final, Literal\n\n__all__ = [\n \"NullTranslations\",\n \"GNUTranslations\",\n \"Catalog\",\n \"find\",\n \"translation\",\n \"install\",\n \"textdomain\",\n \"bindtextdomain\",\n \"dgettext\",\n \"dngettext\",\n \"gettext\",\n \"ngettext\",\n]\n\nif sys.version_info < (3, 11):\n __all__ += [\"bind_textdomain_codeset\", \"ldgettext\", \"ldngettext\", \"lgettext\", \"lngettext\"]\n\nif sys.version_info >= (3, 8):\n __all__ += [\"dnpgettext\", \"dpgettext\", \"npgettext\", \"pgettext\"]\n\nclass _TranslationsReader(Protocol):\n def read(self) -> bytes: ...\n # optional:\n # name: str\n\nclass NullTranslations:\n def __init__(self, fp: _TranslationsReader | None = None) -> None: ...\n def _parse(self, fp: _TranslationsReader) -> None: ...\n def add_fallback(self, fallback: NullTranslations) -> None: ...\n def gettext(self, message: str) -> str: ...\n def ngettext(self, msgid1: str, msgid2: str, n: int) -> str: ...\n if sys.version_info >= (3, 8):\n def pgettext(self, context: str, message: str) -> str: ...\n def npgettext(self, context: str, msgid1: str, msgid2: str, n: int) -> str: ...\n\n def info(self) -> dict[str, str]: ...\n def charset(self) -> str | None: ...\n if sys.version_info < (3, 11):\n def output_charset(self) -> str | None: ...\n def set_output_charset(self, charset: str) -> None: ...\n def lgettext(self, message: str) -> str: ...\n def lngettext(self, msgid1: str, msgid2: str, n: int) -> str: ...\n\n def install(self, names: Container[str] | None = None) -> None: ...\n\nclass GNUTranslations(NullTranslations):\n LE_MAGIC: Final[int]\n BE_MAGIC: Final[int]\n CONTEXT: str\n VERSIONS: Sequence[int]\n\n@overload\ndef find(\n domain: str, localedir: StrPath | None = None, languages: Iterable[str] | None = None, all: Literal[False] = False\n) -> str | None: ...\n@overload\ndef find(\n domain: str, localedir: StrPath | None = None, languages: Iterable[str] | None = None, *, all: Literal[True]\n) -> list[str]: ...\n@overload\ndef find(domain: str, localedir: StrPath | None, languages: Iterable[str] | None, all: Literal[True]) -> list[str]: ...\n@overload\ndef find(domain: str, localedir: StrPath | None = None, languages: Iterable[str] | None = None, all: bool = False) -> Any: ...\n\n_NullTranslationsT = TypeVar(\"_NullTranslationsT\", bound=NullTranslations)\n\nif sys.version_info >= (3, 11):\n @overload\n def translation(\n domain: str,\n localedir: StrPath | None = None,\n languages: Iterable[str] | None = None,\n class_: None = None,\n fallback: Literal[False] = False,\n ) -> GNUTranslations: ...\n @overload\n def translation(\n domain: str,\n localedir: StrPath | None = None,\n languages: Iterable[str] | None = None,\n *,\n class_: Callable[[io.BufferedReader], _NullTranslationsT],\n fallback: Literal[False] = False,\n ) -> _NullTranslationsT: ...\n @overload\n def translation(\n domain: str,\n localedir: StrPath | None,\n languages: Iterable[str] | None,\n class_: Callable[[io.BufferedReader], _NullTranslationsT],\n fallback: Literal[False] = False,\n ) -> _NullTranslationsT: ...\n @overload\n def translation(\n domain: str,\n localedir: StrPath | None = None,\n languages: Iterable[str] | None = None,\n class_: Callable[[io.BufferedReader], NullTranslations] | None = None,\n fallback: bool = False,\n ) -> NullTranslations: ...\n def install(domain: str, localedir: StrPath | None = None, *, names: Container[str] | None = None) -> None: ...\n\nelse:\n @overload\n def translation(\n domain: str,\n localedir: StrPath | None = None,\n languages: Iterable[str] | None = None,\n class_: None = None,\n fallback: Literal[False] = False,\n codeset: str | None = None,\n ) -> GNUTranslations: ...\n @overload\n def translation(\n domain: str,\n localedir: StrPath | None = None,\n languages: Iterable[str] | None = None,\n *,\n class_: Callable[[io.BufferedReader], _NullTranslationsT],\n fallback: Literal[False] = False,\n codeset: str | None = None,\n ) -> _NullTranslationsT: ...\n @overload\n def translation(\n domain: str,\n localedir: StrPath | None,\n languages: Iterable[str] | None,\n class_: Callable[[io.BufferedReader], _NullTranslationsT],\n fallback: Literal[False] = False,\n codeset: str | None = None,\n ) -> _NullTranslationsT: ...\n @overload\n def translation(\n domain: str,\n localedir: StrPath | None = None,\n languages: Iterable[str] | None = None,\n class_: Callable[[io.BufferedReader], NullTranslations] | None = None,\n fallback: bool = False,\n codeset: str | None = None,\n ) -> NullTranslations: ...\n def install(\n domain: str, localedir: StrPath | None = None, codeset: str | None = None, names: Container[str] | None = None\n ) -> None: ...\n\ndef textdomain(domain: str | None = None) -> str: ...\ndef bindtextdomain(domain: str, localedir: StrPath | None = None) -> str: ...\ndef dgettext(domain: str, message: str) -> str: ...\ndef dngettext(domain: str, msgid1: str, msgid2: str, n: int) -> str: ...\ndef gettext(message: str) -> str: ...\ndef ngettext(msgid1: str, msgid2: str, n: int) -> str: ...\n\nif sys.version_info >= (3, 8):\n def pgettext(context: str, message: str) -> str: ...\n def dpgettext(domain: str, context: str, message: str) -> str: ...\n def npgettext(context: str, msgid1: str, msgid2: str, n: int) -> str: ...\n def dnpgettext(domain: str, context: str, msgid1: str, msgid2: str, n: int) -> str: ...\n\nif sys.version_info < (3, 11):\n def lgettext(message: str) -> str: ...\n def ldgettext(domain: str, message: str) -> str: ...\n def lngettext(msgid1: str, msgid2: str, n: int) -> str: ...\n def ldngettext(domain: str, msgid1: str, msgid2: str, n: int) -> str: ...\n def bind_textdomain_codeset(domain: str, codeset: str | None = None) -> str: ...\n\nCatalog = translation\n", + "/typeshed/stdlib/glob.pyi": "import sys\nfrom _typeshed import StrOrBytesPath\nfrom collections.abc import Iterator\nfrom typing import AnyStr\n\n__all__ = [\"escape\", \"glob\", \"iglob\"]\n\ndef glob0(dirname: AnyStr, pattern: AnyStr) -> list[AnyStr]: ...\ndef glob1(dirname: AnyStr, pattern: AnyStr) -> list[AnyStr]: ...\n\nif sys.version_info >= (3, 11):\n def glob(\n pathname: AnyStr,\n *,\n root_dir: StrOrBytesPath | None = None,\n dir_fd: int | None = None,\n recursive: bool = False,\n include_hidden: bool = False,\n ) -> list[AnyStr]: ...\n def iglob(\n pathname: AnyStr,\n *,\n root_dir: StrOrBytesPath | None = None,\n dir_fd: int | None = None,\n recursive: bool = False,\n include_hidden: bool = False,\n ) -> Iterator[AnyStr]: ...\n\nelif sys.version_info >= (3, 10):\n def glob(\n pathname: AnyStr, *, root_dir: StrOrBytesPath | None = None, dir_fd: int | None = None, recursive: bool = False\n ) -> list[AnyStr]: ...\n def iglob(\n pathname: AnyStr, *, root_dir: StrOrBytesPath | None = None, dir_fd: int | None = None, recursive: bool = False\n ) -> Iterator[AnyStr]: ...\n\nelse:\n def glob(pathname: AnyStr, *, recursive: bool = False) -> list[AnyStr]: ...\n def iglob(pathname: AnyStr, *, recursive: bool = False) -> Iterator[AnyStr]: ...\n\ndef escape(pathname: AnyStr) -> AnyStr: ...\ndef has_magic(s: str | bytes) -> bool: ... # undocumented\n", + "/typeshed/stdlib/graphlib.pyi": "import sys\nfrom _typeshed import SupportsItems\nfrom collections.abc import Iterable\nfrom typing import Any, Generic, TypeVar, overload\n\n__all__ = [\"TopologicalSorter\", \"CycleError\"]\n\n_T = TypeVar(\"_T\")\n\nif sys.version_info >= (3, 11):\n from types import GenericAlias\n\nclass TopologicalSorter(Generic[_T]):\n @overload\n def __init__(self, graph: None = None) -> None: ...\n @overload\n def __init__(self, graph: SupportsItems[_T, Iterable[_T]]) -> None: ...\n def add(self, node: _T, *predecessors: _T) -> None: ...\n def prepare(self) -> None: ...\n def is_active(self) -> bool: ...\n def __bool__(self) -> bool: ...\n def done(self, *nodes: _T) -> None: ...\n def get_ready(self) -> tuple[_T, ...]: ...\n def static_order(self) -> Iterable[_T]: ...\n if sys.version_info >= (3, 11):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass CycleError(ValueError): ...\n", + "/typeshed/stdlib/grp.pyi": "import sys\nfrom _typeshed import structseq\nfrom typing import Any\nfrom typing_extensions import Final, final\n\nif sys.platform != \"win32\":\n @final\n class struct_group(structseq[Any], tuple[str, str | None, int, list[str]]):\n if sys.version_info >= (3, 10):\n __match_args__: Final = (\"gr_name\", \"gr_passwd\", \"gr_gid\", \"gr_mem\")\n @property\n def gr_name(self) -> str: ...\n @property\n def gr_passwd(self) -> str | None: ...\n @property\n def gr_gid(self) -> int: ...\n @property\n def gr_mem(self) -> list[str]: ...\n\n def getgrall() -> list[struct_group]: ...\n def getgrgid(id: int) -> struct_group: ...\n def getgrnam(name: str) -> struct_group: ...\n", + "/typeshed/stdlib/gzip.pyi": "import _compression\nimport sys\nimport zlib\nfrom _typeshed import ReadableBuffer, SizedBuffer, StrOrBytesPath\nfrom io import FileIO\nfrom typing import Protocol, TextIO, overload\nfrom typing_extensions import Literal, TypeAlias\n\nif sys.version_info >= (3, 8):\n __all__ = [\"BadGzipFile\", \"GzipFile\", \"open\", \"compress\", \"decompress\"]\nelse:\n __all__ = [\"GzipFile\", \"open\", \"compress\", \"decompress\"]\n\n_ReadBinaryMode: TypeAlias = Literal[\"r\", \"rb\"]\n_WriteBinaryMode: TypeAlias = Literal[\"a\", \"ab\", \"w\", \"wb\", \"x\", \"xb\"]\n_OpenTextMode: TypeAlias = Literal[\"rt\", \"at\", \"wt\", \"xt\"]\n\nREAD: Literal[1] # undocumented\nWRITE: Literal[2] # undocumented\n\nFTEXT: int # actually Literal[1] # undocumented\nFHCRC: int # actually Literal[2] # undocumented\nFEXTRA: int # actually Literal[4] # undocumented\nFNAME: int # actually Literal[8] # undocumented\nFCOMMENT: int # actually Literal[16] # undocumented\n\nclass _ReadableFileobj(Protocol):\n def read(self, __n: int) -> bytes: ...\n def seek(self, __n: int) -> object: ...\n # The following attributes and methods are optional:\n # name: str\n # mode: str\n # def fileno() -> int: ...\n\nclass _WritableFileobj(Protocol):\n def write(self, __b: bytes) -> object: ...\n def flush(self) -> object: ...\n # The following attributes and methods are optional:\n # name: str\n # mode: str\n # def fileno() -> int: ...\n\n@overload\ndef open(\n filename: StrOrBytesPath | _ReadableFileobj,\n mode: _ReadBinaryMode = \"rb\",\n compresslevel: int = 9,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n) -> GzipFile: ...\n@overload\ndef open(\n filename: StrOrBytesPath | _WritableFileobj,\n mode: _WriteBinaryMode,\n compresslevel: int = 9,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n) -> GzipFile: ...\n@overload\ndef open(\n filename: StrOrBytesPath,\n mode: _OpenTextMode,\n compresslevel: int = 9,\n encoding: str | None = None,\n errors: str | None = None,\n newline: str | None = None,\n) -> TextIO: ...\n@overload\ndef open(\n filename: StrOrBytesPath | _ReadableFileobj | _WritableFileobj,\n mode: str,\n compresslevel: int = 9,\n encoding: str | None = None,\n errors: str | None = None,\n newline: str | None = None,\n) -> GzipFile | TextIO: ...\n\nclass _PaddedFile:\n file: _ReadableFileobj\n def __init__(self, f: _ReadableFileobj, prepend: bytes = b\"\") -> None: ...\n def read(self, size: int) -> bytes: ...\n def prepend(self, prepend: bytes = b\"\") -> None: ...\n def seek(self, off: int) -> int: ...\n def seekable(self) -> bool: ...\n\nif sys.version_info >= (3, 8):\n class BadGzipFile(OSError): ...\n\nclass GzipFile(_compression.BaseStream):\n myfileobj: FileIO | None\n mode: Literal[1, 2]\n name: str\n compress: zlib._Compress\n fileobj: _ReadableFileobj | _WritableFileobj\n @overload\n def __init__(\n self,\n filename: StrOrBytesPath | None,\n mode: _ReadBinaryMode,\n compresslevel: int = 9,\n fileobj: _ReadableFileobj | None = None,\n mtime: float | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self,\n *,\n mode: _ReadBinaryMode,\n compresslevel: int = 9,\n fileobj: _ReadableFileobj | None = None,\n mtime: float | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self,\n filename: StrOrBytesPath | None,\n mode: _WriteBinaryMode,\n compresslevel: int = 9,\n fileobj: _WritableFileobj | None = None,\n mtime: float | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self,\n *,\n mode: _WriteBinaryMode,\n compresslevel: int = 9,\n fileobj: _WritableFileobj | None = None,\n mtime: float | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self,\n filename: StrOrBytesPath | None = None,\n mode: str | None = None,\n compresslevel: int = 9,\n fileobj: _ReadableFileobj | _WritableFileobj | None = None,\n mtime: float | None = None,\n ) -> None: ...\n if sys.version_info < (3, 12):\n @property\n def filename(self) -> str: ...\n\n @property\n def mtime(self) -> int | None: ...\n crc: int\n def write(self, data: ReadableBuffer) -> int: ...\n def read(self, size: int | None = -1) -> bytes: ...\n def read1(self, size: int = -1) -> bytes: ...\n def peek(self, n: int) -> bytes: ...\n def close(self) -> None: ...\n def flush(self, zlib_mode: int = 2) -> None: ...\n def fileno(self) -> int: ...\n def rewind(self) -> None: ...\n def seek(self, offset: int, whence: int = 0) -> int: ...\n def readline(self, size: int | None = -1) -> bytes: ...\n\nclass _GzipReader(_compression.DecompressReader):\n def __init__(self, fp: _ReadableFileobj) -> None: ...\n\nif sys.version_info >= (3, 8):\n def compress(data: SizedBuffer, compresslevel: int = 9, *, mtime: float | None = None) -> bytes: ...\n\nelse:\n def compress(data: SizedBuffer, compresslevel: int = 9) -> bytes: ...\n\ndef decompress(data: ReadableBuffer) -> bytes: ...\n", + "/typeshed/stdlib/hashlib.pyi": "import sys\nfrom _typeshed import ReadableBuffer\nfrom collections.abc import Callable, Set as AbstractSet\nfrom typing import Protocol\nfrom typing_extensions import Self, final\n\nif sys.version_info >= (3, 11):\n __all__ = (\n \"md5\",\n \"sha1\",\n \"sha224\",\n \"sha256\",\n \"sha384\",\n \"sha512\",\n \"blake2b\",\n \"blake2s\",\n \"sha3_224\",\n \"sha3_256\",\n \"sha3_384\",\n \"sha3_512\",\n \"shake_128\",\n \"shake_256\",\n \"new\",\n \"algorithms_guaranteed\",\n \"algorithms_available\",\n \"pbkdf2_hmac\",\n \"file_digest\",\n )\nelse:\n __all__ = (\n \"md5\",\n \"sha1\",\n \"sha224\",\n \"sha256\",\n \"sha384\",\n \"sha512\",\n \"blake2b\",\n \"blake2s\",\n \"sha3_224\",\n \"sha3_256\",\n \"sha3_384\",\n \"sha3_512\",\n \"shake_128\",\n \"shake_256\",\n \"new\",\n \"algorithms_guaranteed\",\n \"algorithms_available\",\n \"pbkdf2_hmac\",\n )\n\nclass _Hash:\n @property\n def digest_size(self) -> int: ...\n @property\n def block_size(self) -> int: ...\n @property\n def name(self) -> str: ...\n def __init__(self, data: ReadableBuffer = ...) -> None: ...\n def copy(self) -> Self: ...\n def digest(self) -> bytes: ...\n def hexdigest(self) -> str: ...\n def update(self, __data: ReadableBuffer) -> None: ...\n\nif sys.version_info >= (3, 9):\n def new(name: str, data: ReadableBuffer = b\"\", *, usedforsecurity: bool = ...) -> _Hash: ...\n def md5(string: ReadableBuffer = b\"\", *, usedforsecurity: bool = True) -> _Hash: ...\n def sha1(string: ReadableBuffer = b\"\", *, usedforsecurity: bool = True) -> _Hash: ...\n def sha224(string: ReadableBuffer = b\"\", *, usedforsecurity: bool = True) -> _Hash: ...\n def sha256(string: ReadableBuffer = b\"\", *, usedforsecurity: bool = True) -> _Hash: ...\n def sha384(string: ReadableBuffer = b\"\", *, usedforsecurity: bool = True) -> _Hash: ...\n def sha512(string: ReadableBuffer = b\"\", *, usedforsecurity: bool = True) -> _Hash: ...\n\nelif sys.version_info >= (3, 8):\n def new(name: str, data: ReadableBuffer = b\"\") -> _Hash: ...\n def md5(string: ReadableBuffer = b\"\") -> _Hash: ...\n def sha1(string: ReadableBuffer = b\"\") -> _Hash: ...\n def sha224(string: ReadableBuffer = b\"\") -> _Hash: ...\n def sha256(string: ReadableBuffer = b\"\") -> _Hash: ...\n def sha384(string: ReadableBuffer = b\"\") -> _Hash: ...\n def sha512(string: ReadableBuffer = b\"\") -> _Hash: ...\n\nelse:\n def new(name: str, data: ReadableBuffer = b\"\") -> _Hash: ...\n def md5(__string: ReadableBuffer = ...) -> _Hash: ...\n def sha1(__string: ReadableBuffer = ...) -> _Hash: ...\n def sha224(__string: ReadableBuffer = ...) -> _Hash: ...\n def sha256(__string: ReadableBuffer = ...) -> _Hash: ...\n def sha384(__string: ReadableBuffer = ...) -> _Hash: ...\n def sha512(__string: ReadableBuffer = ...) -> _Hash: ...\n\nalgorithms_guaranteed: AbstractSet[str]\nalgorithms_available: AbstractSet[str]\n\ndef pbkdf2_hmac(\n hash_name: str, password: ReadableBuffer, salt: ReadableBuffer, iterations: int, dklen: int | None = None\n) -> bytes: ...\n\nclass _VarLenHash:\n digest_size: int\n block_size: int\n name: str\n def __init__(self, data: ReadableBuffer = ...) -> None: ...\n def copy(self) -> _VarLenHash: ...\n def digest(self, __length: int) -> bytes: ...\n def hexdigest(self, __length: int) -> str: ...\n def update(self, __data: ReadableBuffer) -> None: ...\n\nsha3_224 = _Hash\nsha3_256 = _Hash\nsha3_384 = _Hash\nsha3_512 = _Hash\nshake_128 = _VarLenHash\nshake_256 = _VarLenHash\n\ndef scrypt(\n password: ReadableBuffer, *, salt: ReadableBuffer, n: int, r: int, p: int, maxmem: int = 0, dklen: int = 64\n) -> bytes: ...\n@final\nclass _BlakeHash(_Hash):\n MAX_DIGEST_SIZE: int\n MAX_KEY_SIZE: int\n PERSON_SIZE: int\n SALT_SIZE: int\n\n if sys.version_info >= (3, 9):\n def __init__(\n self,\n __data: ReadableBuffer = ...,\n *,\n digest_size: int = ...,\n key: ReadableBuffer = ...,\n salt: ReadableBuffer = ...,\n person: ReadableBuffer = ...,\n fanout: int = ...,\n depth: int = ...,\n leaf_size: int = ...,\n node_offset: int = ...,\n node_depth: int = ...,\n inner_size: int = ...,\n last_node: bool = ...,\n usedforsecurity: bool = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n __data: ReadableBuffer = ...,\n *,\n digest_size: int = ...,\n key: ReadableBuffer = ...,\n salt: ReadableBuffer = ...,\n person: ReadableBuffer = ...,\n fanout: int = ...,\n depth: int = ...,\n leaf_size: int = ...,\n node_offset: int = ...,\n node_depth: int = ...,\n inner_size: int = ...,\n last_node: bool = ...,\n ) -> None: ...\n\nblake2b = _BlakeHash\nblake2s = _BlakeHash\n\nif sys.version_info >= (3, 11):\n class _BytesIOLike(Protocol):\n def getbuffer(self) -> ReadableBuffer: ...\n\n class _FileDigestFileObj(Protocol):\n def readinto(self, __buf: bytearray) -> int: ...\n def readable(self) -> bool: ...\n\n def file_digest(\n __fileobj: _BytesIOLike | _FileDigestFileObj, __digest: str | Callable[[], _Hash], *, _bufsize: int = 262144\n ) -> _Hash: ...\n", + "/typeshed/stdlib/heapq.pyi": "from _heapq import *\nfrom _typeshed import SupportsRichComparison\nfrom collections.abc import Callable, Iterable\nfrom typing import Any, TypeVar\nfrom typing_extensions import Final\n\n__all__ = [\"heappush\", \"heappop\", \"heapify\", \"heapreplace\", \"merge\", \"nlargest\", \"nsmallest\", \"heappushpop\"]\n\n_S = TypeVar(\"_S\")\n\n__about__: Final[str]\n\ndef merge(\n *iterables: Iterable[_S], key: Callable[[_S], SupportsRichComparison] | None = None, reverse: bool = False\n) -> Iterable[_S]: ...\ndef nlargest(n: int, iterable: Iterable[_S], key: Callable[[_S], SupportsRichComparison] | None = None) -> list[_S]: ...\ndef nsmallest(n: int, iterable: Iterable[_S], key: Callable[[_S], SupportsRichComparison] | None = None) -> list[_S]: ...\ndef _heapify_max(__heap: list[Any]) -> None: ... # undocumented\n", + "/typeshed/stdlib/hmac.pyi": "import sys\nfrom _typeshed import ReadableBuffer, SizedBuffer\nfrom collections.abc import Callable\nfrom types import ModuleType\nfrom typing import Any, AnyStr, overload\nfrom typing_extensions import TypeAlias\n\n# TODO more precise type for object of hashlib\n_Hash: TypeAlias = Any\n_DigestMod: TypeAlias = str | Callable[[], _Hash] | ModuleType\n\ntrans_5C: bytes\ntrans_36: bytes\n\ndigest_size: None\n\nif sys.version_info >= (3, 8):\n # In reality digestmod has a default value, but the function always throws an error\n # if the argument is not given, so we pretend it is a required argument.\n @overload\n def new(key: bytes | bytearray, msg: ReadableBuffer | None, digestmod: _DigestMod) -> HMAC: ...\n @overload\n def new(key: bytes | bytearray, *, digestmod: _DigestMod) -> HMAC: ...\n\nelse:\n def new(key: bytes | bytearray, msg: ReadableBuffer | None = None, digestmod: _DigestMod | None = None) -> HMAC: ...\n\nclass HMAC:\n digest_size: int\n block_size: int\n @property\n def name(self) -> str: ...\n if sys.version_info >= (3, 8):\n def __init__(self, key: bytes | bytearray, msg: ReadableBuffer | None = None, digestmod: _DigestMod = \"\") -> None: ...\n else:\n def __init__(\n self, key: bytes | bytearray, msg: ReadableBuffer | None = None, digestmod: _DigestMod | None = None\n ) -> None: ...\n\n def update(self, msg: ReadableBuffer) -> None: ...\n def digest(self) -> bytes: ...\n def hexdigest(self) -> str: ...\n def copy(self) -> HMAC: ...\n\n@overload\ndef compare_digest(__a: ReadableBuffer, __b: ReadableBuffer) -> bool: ...\n@overload\ndef compare_digest(__a: AnyStr, __b: AnyStr) -> bool: ...\ndef digest(key: SizedBuffer, msg: ReadableBuffer, digest: _DigestMod) -> bytes: ...\n", + "/typeshed/stdlib/imaplib.pyi": "import subprocess\nimport sys\nimport time\nfrom _typeshed import ReadableBuffer, SizedBuffer\nfrom builtins import list as _list # conflicts with a method named \"list\"\nfrom collections.abc import Callable\nfrom datetime import datetime\nfrom re import Pattern\nfrom socket import socket as _socket\nfrom ssl import SSLContext, SSLSocket\nfrom types import TracebackType\nfrom typing import IO, Any, SupportsAbs, SupportsInt\nfrom typing_extensions import Literal, Self, TypeAlias\n\n__all__ = [\"IMAP4\", \"IMAP4_stream\", \"Internaldate2tuple\", \"Int2AP\", \"ParseFlags\", \"Time2Internaldate\", \"IMAP4_SSL\"]\n\n# TODO: Commands should use their actual return types, not this type alias.\n# E.g. Tuple[Literal[\"OK\"], List[bytes]]\n_CommandResults: TypeAlias = tuple[str, list[Any]]\n\n_AnyResponseData: TypeAlias = list[None] | list[bytes | tuple[bytes, bytes]]\n\nCommands: dict[str, tuple[str, ...]]\n\nclass IMAP4:\n class error(Exception): ...\n class abort(error): ...\n class readonly(abort): ...\n mustquote: Pattern[str]\n debug: int\n state: str\n literal: str | None\n tagged_commands: dict[bytes, _list[bytes] | None]\n untagged_responses: dict[str, _list[bytes | tuple[bytes, bytes]]]\n continuation_response: str\n is_readonly: bool\n tagnum: int\n tagpre: str\n tagre: Pattern[str]\n welcome: bytes\n capabilities: tuple[str, ...]\n PROTOCOL_VERSION: str\n if sys.version_info >= (3, 9):\n def __init__(self, host: str = \"\", port: int = 143, timeout: float | None = None) -> None: ...\n def open(self, host: str = \"\", port: int = 143, timeout: float | None = None) -> None: ...\n else:\n def __init__(self, host: str = \"\", port: int = 143) -> None: ...\n def open(self, host: str = \"\", port: int = 143) -> None: ...\n\n def __getattr__(self, attr: str) -> Any: ...\n host: str\n port: int\n sock: _socket\n file: IO[str] | IO[bytes]\n def read(self, size: int) -> bytes: ...\n def readline(self) -> bytes: ...\n def send(self, data: ReadableBuffer) -> None: ...\n def shutdown(self) -> None: ...\n def socket(self) -> _socket: ...\n def recent(self) -> _CommandResults: ...\n def response(self, code: str) -> _CommandResults: ...\n def append(self, mailbox: str, flags: str, date_time: str, message: ReadableBuffer) -> str: ...\n def authenticate(self, mechanism: str, authobject: Callable[[bytes], bytes | None]) -> tuple[str, str]: ...\n def capability(self) -> _CommandResults: ...\n def check(self) -> _CommandResults: ...\n def close(self) -> _CommandResults: ...\n def copy(self, message_set: str, new_mailbox: str) -> _CommandResults: ...\n def create(self, mailbox: str) -> _CommandResults: ...\n def delete(self, mailbox: str) -> _CommandResults: ...\n def deleteacl(self, mailbox: str, who: str) -> _CommandResults: ...\n def enable(self, capability: str) -> _CommandResults: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, t: type[BaseException] | None, v: BaseException | None, tb: TracebackType | None) -> None: ...\n def expunge(self) -> _CommandResults: ...\n def fetch(self, message_set: str, message_parts: str) -> tuple[str, _AnyResponseData]: ...\n def getacl(self, mailbox: str) -> _CommandResults: ...\n def getannotation(self, mailbox: str, entry: str, attribute: str) -> _CommandResults: ...\n def getquota(self, root: str) -> _CommandResults: ...\n def getquotaroot(self, mailbox: str) -> _CommandResults: ...\n def list(self, directory: str = '\"\"', pattern: str = \"*\") -> tuple[str, _AnyResponseData]: ...\n def login(self, user: str, password: str) -> tuple[Literal[\"OK\"], _list[bytes]]: ...\n def login_cram_md5(self, user: str, password: str) -> _CommandResults: ...\n def logout(self) -> tuple[str, _AnyResponseData]: ...\n def lsub(self, directory: str = '\"\"', pattern: str = \"*\") -> _CommandResults: ...\n def myrights(self, mailbox: str) -> _CommandResults: ...\n def namespace(self) -> _CommandResults: ...\n def noop(self) -> tuple[str, _list[bytes]]: ...\n def partial(self, message_num: str, message_part: str, start: str, length: str) -> _CommandResults: ...\n def proxyauth(self, user: str) -> _CommandResults: ...\n def rename(self, oldmailbox: str, newmailbox: str) -> _CommandResults: ...\n def search(self, charset: str | None, *criteria: str) -> _CommandResults: ...\n def select(self, mailbox: str = \"INBOX\", readonly: bool = False) -> tuple[str, _list[bytes | None]]: ...\n def setacl(self, mailbox: str, who: str, what: str) -> _CommandResults: ...\n def setannotation(self, *args: str) -> _CommandResults: ...\n def setquota(self, root: str, limits: str) -> _CommandResults: ...\n def sort(self, sort_criteria: str, charset: str, *search_criteria: str) -> _CommandResults: ...\n def starttls(self, ssl_context: Any | None = None) -> tuple[Literal[\"OK\"], _list[None]]: ...\n def status(self, mailbox: str, names: str) -> _CommandResults: ...\n def store(self, message_set: str, command: str, flags: str) -> _CommandResults: ...\n def subscribe(self, mailbox: str) -> _CommandResults: ...\n def thread(self, threading_algorithm: str, charset: str, *search_criteria: str) -> _CommandResults: ...\n def uid(self, command: str, *args: str) -> _CommandResults: ...\n def unsubscribe(self, mailbox: str) -> _CommandResults: ...\n if sys.version_info >= (3, 9):\n def unselect(self) -> _CommandResults: ...\n\n def xatom(self, name: str, *args: str) -> _CommandResults: ...\n def print_log(self) -> None: ...\n\nclass IMAP4_SSL(IMAP4):\n if sys.version_info < (3, 12):\n keyfile: str\n certfile: str\n if sys.version_info >= (3, 12):\n def __init__(\n self, host: str = \"\", port: int = 993, *, ssl_context: SSLContext | None = None, timeout: float | None = None\n ) -> None: ...\n elif sys.version_info >= (3, 9):\n def __init__(\n self,\n host: str = \"\",\n port: int = 993,\n keyfile: str | None = None,\n certfile: str | None = None,\n ssl_context: SSLContext | None = None,\n timeout: float | None = None,\n ) -> None: ...\n else:\n def __init__(\n self,\n host: str = \"\",\n port: int = 993,\n keyfile: str | None = None,\n certfile: str | None = None,\n ssl_context: SSLContext | None = None,\n ) -> None: ...\n sslobj: SSLSocket\n file: IO[Any]\n if sys.version_info >= (3, 9):\n def open(self, host: str = \"\", port: int | None = 993, timeout: float | None = None) -> None: ...\n else:\n def open(self, host: str = \"\", port: int | None = 993) -> None: ...\n\n def ssl(self) -> SSLSocket: ...\n\nclass IMAP4_stream(IMAP4):\n command: str\n def __init__(self, command: str) -> None: ...\n file: IO[Any]\n process: subprocess.Popen[bytes]\n writefile: IO[Any]\n readfile: IO[Any]\n if sys.version_info >= (3, 9):\n def open(self, host: str | None = None, port: int | None = None, timeout: float | None = None) -> None: ...\n else:\n def open(self, host: str | None = None, port: int | None = None) -> None: ...\n\nclass _Authenticator:\n mech: Callable[[bytes], bytes | bytearray | memoryview | str | None]\n def __init__(self, mechinst: Callable[[bytes], bytes | bytearray | memoryview | str | None]) -> None: ...\n def process(self, data: str) -> str: ...\n def encode(self, inp: bytes | bytearray | memoryview) -> str: ...\n def decode(self, inp: str | SizedBuffer) -> bytes: ...\n\ndef Internaldate2tuple(resp: ReadableBuffer) -> time.struct_time | None: ...\ndef Int2AP(num: SupportsAbs[SupportsInt]) -> bytes: ...\ndef ParseFlags(resp: ReadableBuffer) -> tuple[bytes, ...]: ...\ndef Time2Internaldate(date_time: float | time.struct_time | time._TimeTuple | datetime | str) -> str: ...\n", + "/typeshed/stdlib/imghdr.pyi": "from _typeshed import StrPath\nfrom collections.abc import Callable\nfrom typing import Any, BinaryIO, Protocol, overload\n\n__all__ = [\"what\"]\n\nclass _ReadableBinary(Protocol):\n def tell(self) -> int: ...\n def read(self, size: int) -> bytes: ...\n def seek(self, offset: int) -> Any: ...\n\n@overload\ndef what(file: StrPath | _ReadableBinary, h: None = None) -> str | None: ...\n@overload\ndef what(file: Any, h: bytes) -> str | None: ...\n\ntests: list[Callable[[bytes, BinaryIO | None], str | None]]\n", + "/typeshed/stdlib/imp.pyi": "import types\nfrom _imp import (\n acquire_lock as acquire_lock,\n create_dynamic as create_dynamic,\n get_frozen_object as get_frozen_object,\n init_frozen as init_frozen,\n is_builtin as is_builtin,\n is_frozen as is_frozen,\n is_frozen_package as is_frozen_package,\n lock_held as lock_held,\n release_lock as release_lock,\n)\nfrom _typeshed import StrPath\nfrom os import PathLike\nfrom types import TracebackType\nfrom typing import IO, Any, Protocol\n\nSEARCH_ERROR: int\nPY_SOURCE: int\nPY_COMPILED: int\nC_EXTENSION: int\nPY_RESOURCE: int\nPKG_DIRECTORY: int\nC_BUILTIN: int\nPY_FROZEN: int\nPY_CODERESOURCE: int\nIMP_HOOK: int\n\ndef new_module(name: str) -> types.ModuleType: ...\ndef get_magic() -> bytes: ...\ndef get_tag() -> str: ...\ndef cache_from_source(path: StrPath, debug_override: bool | None = None) -> str: ...\ndef source_from_cache(path: StrPath) -> str: ...\ndef get_suffixes() -> list[tuple[str, str, int]]: ...\n\nclass NullImporter:\n def __init__(self, path: StrPath) -> None: ...\n def find_module(self, fullname: Any) -> None: ...\n\n# Technically, a text file has to support a slightly different set of operations than a binary file,\n# but we ignore that here.\nclass _FileLike(Protocol):\n closed: bool\n mode: str\n def read(self) -> str | bytes: ...\n def close(self) -> Any: ...\n def __enter__(self) -> Any: ...\n def __exit__(self, typ: type[BaseException] | None, exc: BaseException | None, tb: TracebackType | None) -> Any: ...\n\n# PathLike doesn't work for the pathname argument here\ndef load_source(name: str, pathname: str, file: _FileLike | None = None) -> types.ModuleType: ...\ndef load_compiled(name: str, pathname: str, file: _FileLike | None = None) -> types.ModuleType: ...\ndef load_package(name: str, path: StrPath) -> types.ModuleType: ...\ndef load_module(name: str, file: _FileLike | None, filename: str, details: tuple[str, str, int]) -> types.ModuleType: ...\n\n# IO[Any] is a TextIOWrapper if name is a .py file, and a FileIO otherwise.\ndef find_module(\n name: str, path: None | list[str] | list[PathLike[str]] | list[StrPath] = None\n) -> tuple[IO[Any], str, tuple[str, str, int]]: ...\ndef reload(module: types.ModuleType) -> types.ModuleType: ...\ndef init_builtin(name: str) -> types.ModuleType | None: ...\ndef load_dynamic(name: str, path: str, file: Any = None) -> types.ModuleType: ... # file argument is ignored\n", + "/typeshed/stdlib/inspect.pyi": "import dis\nimport enum\nimport sys\nimport types\nfrom _typeshed import StrPath\nfrom collections import OrderedDict\nfrom collections.abc import AsyncGenerator, Awaitable, Callable, Coroutine, Generator, Mapping, Sequence, Set as AbstractSet\nfrom types import (\n AsyncGeneratorType,\n BuiltinFunctionType,\n BuiltinMethodType,\n ClassMethodDescriptorType,\n CodeType,\n CoroutineType,\n FrameType,\n FunctionType,\n GeneratorType,\n GetSetDescriptorType,\n LambdaType,\n MemberDescriptorType,\n MethodDescriptorType,\n MethodType,\n MethodWrapperType,\n ModuleType,\n TracebackType,\n WrapperDescriptorType,\n)\nfrom typing import Any, ClassVar, NamedTuple, Protocol, TypeVar, overload\nfrom typing_extensions import Literal, ParamSpec, Self, TypeAlias, TypeGuard\n\nif sys.version_info >= (3, 11):\n __all__ = [\n \"ArgInfo\",\n \"Arguments\",\n \"Attribute\",\n \"BlockFinder\",\n \"BoundArguments\",\n \"CORO_CLOSED\",\n \"CORO_CREATED\",\n \"CORO_RUNNING\",\n \"CORO_SUSPENDED\",\n \"CO_ASYNC_GENERATOR\",\n \"CO_COROUTINE\",\n \"CO_GENERATOR\",\n \"CO_ITERABLE_COROUTINE\",\n \"CO_NESTED\",\n \"CO_NEWLOCALS\",\n \"CO_NOFREE\",\n \"CO_OPTIMIZED\",\n \"CO_VARARGS\",\n \"CO_VARKEYWORDS\",\n \"ClassFoundException\",\n \"ClosureVars\",\n \"EndOfBlock\",\n \"FrameInfo\",\n \"FullArgSpec\",\n \"GEN_CLOSED\",\n \"GEN_CREATED\",\n \"GEN_RUNNING\",\n \"GEN_SUSPENDED\",\n \"Parameter\",\n \"Signature\",\n \"TPFLAGS_IS_ABSTRACT\",\n \"Traceback\",\n \"classify_class_attrs\",\n \"cleandoc\",\n \"currentframe\",\n \"findsource\",\n \"formatannotation\",\n \"formatannotationrelativeto\",\n \"formatargvalues\",\n \"get_annotations\",\n \"getabsfile\",\n \"getargs\",\n \"getargvalues\",\n \"getattr_static\",\n \"getblock\",\n \"getcallargs\",\n \"getclasstree\",\n \"getclosurevars\",\n \"getcomments\",\n \"getcoroutinelocals\",\n \"getcoroutinestate\",\n \"getdoc\",\n \"getfile\",\n \"getframeinfo\",\n \"getfullargspec\",\n \"getgeneratorlocals\",\n \"getgeneratorstate\",\n \"getinnerframes\",\n \"getlineno\",\n \"getmembers\",\n \"getmembers_static\",\n \"getmodule\",\n \"getmodulename\",\n \"getmro\",\n \"getouterframes\",\n \"getsource\",\n \"getsourcefile\",\n \"getsourcelines\",\n \"indentsize\",\n \"isabstract\",\n \"isasyncgen\",\n \"isasyncgenfunction\",\n \"isawaitable\",\n \"isbuiltin\",\n \"isclass\",\n \"iscode\",\n \"iscoroutine\",\n \"iscoroutinefunction\",\n \"isdatadescriptor\",\n \"isframe\",\n \"isfunction\",\n \"isgenerator\",\n \"isgeneratorfunction\",\n \"isgetsetdescriptor\",\n \"ismemberdescriptor\",\n \"ismethod\",\n \"ismethoddescriptor\",\n \"ismethodwrapper\",\n \"ismodule\",\n \"isroutine\",\n \"istraceback\",\n \"signature\",\n \"stack\",\n \"trace\",\n \"unwrap\",\n \"walktree\",\n ]\n\n if sys.version_info >= (3, 12):\n __all__ += [\n \"markcoroutinefunction\",\n \"AGEN_CLOSED\",\n \"AGEN_CREATED\",\n \"AGEN_RUNNING\",\n \"AGEN_SUSPENDED\",\n \"getasyncgenlocals\",\n \"getasyncgenstate\",\n \"BufferFlags\",\n ]\n\n_P = ParamSpec(\"_P\")\n_T = TypeVar(\"_T\")\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_T_cont = TypeVar(\"_T_cont\", contravariant=True)\n_V_cont = TypeVar(\"_V_cont\", contravariant=True)\n\n#\n# Types and members\n#\nclass EndOfBlock(Exception): ...\n\nclass BlockFinder:\n indent: int\n islambda: bool\n started: bool\n passline: bool\n indecorator: bool\n decoratorhasargs: bool\n last: int\n def tokeneater(self, type: int, token: str, srowcol: tuple[int, int], erowcol: tuple[int, int], line: str) -> None: ...\n\nCO_OPTIMIZED: Literal[1]\nCO_NEWLOCALS: Literal[2]\nCO_VARARGS: Literal[4]\nCO_VARKEYWORDS: Literal[8]\nCO_NESTED: Literal[16]\nCO_GENERATOR: Literal[32]\nCO_NOFREE: Literal[64]\nCO_COROUTINE: Literal[128]\nCO_ITERABLE_COROUTINE: Literal[256]\nCO_ASYNC_GENERATOR: Literal[512]\nTPFLAGS_IS_ABSTRACT: Literal[1048576]\n\nmodulesbyfile: dict[str, Any]\n\n_GetMembersPredicateTypeGuard: TypeAlias = Callable[[Any], TypeGuard[_T]]\n_GetMembersPredicate: TypeAlias = Callable[[Any], bool]\n_GetMembersReturnTypeGuard: TypeAlias = list[tuple[str, _T]]\n_GetMembersReturn: TypeAlias = list[tuple[str, Any]]\n\n@overload\ndef getmembers(object: object, predicate: _GetMembersPredicateTypeGuard[_T]) -> _GetMembersReturnTypeGuard[_T]: ...\n@overload\ndef getmembers(object: object, predicate: _GetMembersPredicate | None = None) -> _GetMembersReturn: ...\n\nif sys.version_info >= (3, 11):\n @overload\n def getmembers_static(object: object, predicate: _GetMembersPredicateTypeGuard[_T]) -> _GetMembersReturnTypeGuard[_T]: ...\n @overload\n def getmembers_static(object: object, predicate: _GetMembersPredicate | None = None) -> _GetMembersReturn: ...\n\ndef getmodulename(path: StrPath) -> str | None: ...\ndef ismodule(object: object) -> TypeGuard[ModuleType]: ...\ndef isclass(object: object) -> TypeGuard[type[Any]]: ...\ndef ismethod(object: object) -> TypeGuard[MethodType]: ...\ndef isfunction(object: object) -> TypeGuard[FunctionType]: ...\n\nif sys.version_info >= (3, 12):\n def markcoroutinefunction(func: _F) -> _F: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def isgeneratorfunction(obj: Callable[..., Generator[Any, Any, Any]]) -> bool: ...\n @overload\n def isgeneratorfunction(obj: Callable[_P, Any]) -> TypeGuard[Callable[_P, GeneratorType[Any, Any, Any]]]: ...\n @overload\n def isgeneratorfunction(obj: object) -> TypeGuard[Callable[..., GeneratorType[Any, Any, Any]]]: ...\n @overload\n def iscoroutinefunction(obj: Callable[..., Coroutine[Any, Any, Any]]) -> bool: ...\n @overload\n def iscoroutinefunction(obj: Callable[_P, Awaitable[_T]]) -> TypeGuard[Callable[_P, CoroutineType[Any, Any, _T]]]: ...\n @overload\n def iscoroutinefunction(obj: Callable[_P, object]) -> TypeGuard[Callable[_P, CoroutineType[Any, Any, Any]]]: ...\n @overload\n def iscoroutinefunction(obj: object) -> TypeGuard[Callable[..., CoroutineType[Any, Any, Any]]]: ...\n\nelse:\n @overload\n def isgeneratorfunction(object: Callable[..., Generator[Any, Any, Any]]) -> bool: ...\n @overload\n def isgeneratorfunction(object: Callable[_P, Any]) -> TypeGuard[Callable[_P, GeneratorType[Any, Any, Any]]]: ...\n @overload\n def isgeneratorfunction(object: object) -> TypeGuard[Callable[..., GeneratorType[Any, Any, Any]]]: ...\n @overload\n def iscoroutinefunction(object: Callable[..., Coroutine[Any, Any, Any]]) -> bool: ...\n @overload\n def iscoroutinefunction(object: Callable[_P, Awaitable[_T]]) -> TypeGuard[Callable[_P, CoroutineType[Any, Any, _T]]]: ...\n @overload\n def iscoroutinefunction(object: Callable[_P, Any]) -> TypeGuard[Callable[_P, CoroutineType[Any, Any, Any]]]: ...\n @overload\n def iscoroutinefunction(object: object) -> TypeGuard[Callable[..., CoroutineType[Any, Any, Any]]]: ...\n\ndef isgenerator(object: object) -> TypeGuard[GeneratorType[Any, Any, Any]]: ...\ndef iscoroutine(object: object) -> TypeGuard[CoroutineType[Any, Any, Any]]: ...\ndef isawaitable(object: object) -> TypeGuard[Awaitable[Any]]: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def isasyncgenfunction(obj: Callable[..., AsyncGenerator[Any, Any]]) -> bool: ...\n @overload\n def isasyncgenfunction(obj: Callable[_P, Any]) -> TypeGuard[Callable[_P, AsyncGeneratorType[Any, Any]]]: ...\n @overload\n def isasyncgenfunction(obj: object) -> TypeGuard[Callable[..., AsyncGeneratorType[Any, Any]]]: ...\n\nelse:\n @overload\n def isasyncgenfunction(object: Callable[..., AsyncGenerator[Any, Any]]) -> bool: ...\n @overload\n def isasyncgenfunction(object: Callable[_P, Any]) -> TypeGuard[Callable[_P, AsyncGeneratorType[Any, Any]]]: ...\n @overload\n def isasyncgenfunction(object: object) -> TypeGuard[Callable[..., AsyncGeneratorType[Any, Any]]]: ...\n\nclass _SupportsSet(Protocol[_T_cont, _V_cont]):\n def __set__(self, __instance: _T_cont, __value: _V_cont) -> None: ...\n\nclass _SupportsDelete(Protocol[_T_cont]):\n def __delete__(self, __instance: _T_cont) -> None: ...\n\ndef isasyncgen(object: object) -> TypeGuard[AsyncGeneratorType[Any, Any]]: ...\ndef istraceback(object: object) -> TypeGuard[TracebackType]: ...\ndef isframe(object: object) -> TypeGuard[FrameType]: ...\ndef iscode(object: object) -> TypeGuard[CodeType]: ...\ndef isbuiltin(object: object) -> TypeGuard[BuiltinFunctionType]: ...\n\nif sys.version_info >= (3, 11):\n def ismethodwrapper(object: object) -> TypeGuard[MethodWrapperType]: ...\n\ndef isroutine(\n object: object,\n) -> TypeGuard[\n FunctionType\n | LambdaType\n | MethodType\n | BuiltinFunctionType\n | BuiltinMethodType\n | WrapperDescriptorType\n | MethodDescriptorType\n | ClassMethodDescriptorType\n]: ...\ndef ismethoddescriptor(object: object) -> TypeGuard[MethodDescriptorType]: ...\ndef ismemberdescriptor(object: object) -> TypeGuard[MemberDescriptorType]: ...\ndef isabstract(object: object) -> bool: ...\ndef isgetsetdescriptor(object: object) -> TypeGuard[GetSetDescriptorType]: ...\ndef isdatadescriptor(object: object) -> TypeGuard[_SupportsSet[Any, Any] | _SupportsDelete[Any]]: ...\n\n#\n# Retrieving source code\n#\n_SourceObjectType: TypeAlias = (\n ModuleType | type[Any] | MethodType | FunctionType | TracebackType | FrameType | CodeType | Callable[..., Any]\n)\n\ndef findsource(object: _SourceObjectType) -> tuple[list[str], int]: ...\ndef getabsfile(object: _SourceObjectType, _filename: str | None = None) -> str: ...\n\n# Special-case the two most common input types here\n# to avoid the annoyingly vague `Sequence[str]` return type\n@overload\ndef getblock(lines: list[str]) -> list[str]: ...\n@overload\ndef getblock(lines: tuple[str, ...]) -> tuple[str, ...]: ...\n@overload\ndef getblock(lines: Sequence[str]) -> Sequence[str]: ...\ndef getdoc(object: object) -> str | None: ...\ndef getcomments(object: object) -> str | None: ...\ndef getfile(object: _SourceObjectType) -> str: ...\ndef getmodule(object: object, _filename: str | None = None) -> ModuleType | None: ...\ndef getsourcefile(object: _SourceObjectType) -> str | None: ...\ndef getsourcelines(object: _SourceObjectType) -> tuple[list[str], int]: ...\ndef getsource(object: _SourceObjectType) -> str: ...\ndef cleandoc(doc: str) -> str: ...\ndef indentsize(line: str) -> int: ...\n\n_IntrospectableCallable: TypeAlias = Callable[..., Any]\n\n#\n# Introspecting callables with the Signature object\n#\nif sys.version_info >= (3, 10):\n def signature(\n obj: _IntrospectableCallable,\n *,\n follow_wrapped: bool = True,\n globals: Mapping[str, Any] | None = None,\n locals: Mapping[str, Any] | None = None,\n eval_str: bool = False,\n ) -> Signature: ...\n\nelse:\n def signature(obj: _IntrospectableCallable, *, follow_wrapped: bool = True) -> Signature: ...\n\nclass _void: ...\nclass _empty: ...\n\nclass Signature:\n def __init__(\n self, parameters: Sequence[Parameter] | None = None, *, return_annotation: Any = ..., __validate_parameters__: bool = True\n ) -> None: ...\n empty = _empty\n @property\n def parameters(self) -> types.MappingProxyType[str, Parameter]: ...\n @property\n def return_annotation(self) -> Any: ...\n def bind(self, *args: Any, **kwargs: Any) -> BoundArguments: ...\n def bind_partial(self, *args: Any, **kwargs: Any) -> BoundArguments: ...\n def replace(self, *, parameters: Sequence[Parameter] | type[_void] | None = ..., return_annotation: Any = ...) -> Self: ...\n if sys.version_info >= (3, 10):\n @classmethod\n def from_callable(\n cls,\n obj: _IntrospectableCallable,\n *,\n follow_wrapped: bool = True,\n globals: Mapping[str, Any] | None = None,\n locals: Mapping[str, Any] | None = None,\n eval_str: bool = False,\n ) -> Self: ...\n else:\n @classmethod\n def from_callable(cls, obj: _IntrospectableCallable, *, follow_wrapped: bool = True) -> Self: ...\n\n def __eq__(self, other: object) -> bool: ...\n def __hash__(self) -> int: ...\n\nif sys.version_info >= (3, 10):\n def get_annotations(\n obj: Callable[..., object] | type[Any] | ModuleType,\n *,\n globals: Mapping[str, Any] | None = None,\n locals: Mapping[str, Any] | None = None,\n eval_str: bool = False,\n ) -> dict[str, Any]: ...\n\n# The name is the same as the enum's name in CPython\nclass _ParameterKind(enum.IntEnum):\n POSITIONAL_ONLY: int\n POSITIONAL_OR_KEYWORD: int\n VAR_POSITIONAL: int\n KEYWORD_ONLY: int\n VAR_KEYWORD: int\n\n if sys.version_info >= (3, 8):\n @property\n def description(self) -> str: ...\n\nif sys.version_info >= (3, 12):\n AGEN_CREATED: Literal[\"AGEN_CREATED\"]\n AGEN_RUNNING: Literal[\"AGEN_RUNNING\"]\n AGEN_SUSPENDED: Literal[\"AGEN_SUSPENDED\"]\n AGEN_CLOSED: Literal[\"AGEN_CLOSED\"]\n\n def getasyncgenstate(\n agen: AsyncGenerator[Any, Any]\n ) -> Literal[\"AGEN_CREATED\", \"AGEN_RUNNING\", \"AGEN_SUSPENDED\", \"AGEN_CLOSED\"]: ...\n def getasyncgenlocals(agen: AsyncGeneratorType[Any, Any]) -> dict[str, Any]: ...\n\nclass Parameter:\n def __init__(self, name: str, kind: _ParameterKind, *, default: Any = ..., annotation: Any = ...) -> None: ...\n empty = _empty\n\n POSITIONAL_ONLY: ClassVar[Literal[_ParameterKind.POSITIONAL_ONLY]]\n POSITIONAL_OR_KEYWORD: ClassVar[Literal[_ParameterKind.POSITIONAL_OR_KEYWORD]]\n VAR_POSITIONAL: ClassVar[Literal[_ParameterKind.VAR_POSITIONAL]]\n KEYWORD_ONLY: ClassVar[Literal[_ParameterKind.KEYWORD_ONLY]]\n VAR_KEYWORD: ClassVar[Literal[_ParameterKind.VAR_KEYWORD]]\n @property\n def name(self) -> str: ...\n @property\n def default(self) -> Any: ...\n @property\n def kind(self) -> _ParameterKind: ...\n @property\n def annotation(self) -> Any: ...\n def replace(\n self,\n *,\n name: str | type[_void] = ...,\n kind: _ParameterKind | type[_void] = ...,\n default: Any = ...,\n annotation: Any = ...,\n ) -> Self: ...\n def __eq__(self, other: object) -> bool: ...\n def __hash__(self) -> int: ...\n\nclass BoundArguments:\n arguments: OrderedDict[str, Any]\n @property\n def args(self) -> tuple[Any, ...]: ...\n @property\n def kwargs(self) -> dict[str, Any]: ...\n @property\n def signature(self) -> Signature: ...\n def __init__(self, signature: Signature, arguments: OrderedDict[str, Any]) -> None: ...\n def apply_defaults(self) -> None: ...\n def __eq__(self, other: object) -> bool: ...\n\n#\n# Classes and functions\n#\n\n# TODO: The actual return type should be list[_ClassTreeItem] but mypy doesn't\n# seem to be supporting this at the moment:\n# _ClassTreeItem = list[_ClassTreeItem] | Tuple[type, Tuple[type, ...]]\ndef getclasstree(classes: list[type], unique: bool = False) -> list[Any]: ...\ndef walktree(classes: list[type], children: Mapping[type[Any], list[type]], parent: type[Any] | None) -> list[Any]: ...\n\nclass Arguments(NamedTuple):\n args: list[str]\n varargs: str | None\n varkw: str | None\n\ndef getargs(co: CodeType) -> Arguments: ...\n\nif sys.version_info < (3, 11):\n class ArgSpec(NamedTuple):\n args: list[str]\n varargs: str | None\n keywords: str | None\n defaults: tuple[Any, ...]\n def getargspec(func: object) -> ArgSpec: ...\n\nclass FullArgSpec(NamedTuple):\n args: list[str]\n varargs: str | None\n varkw: str | None\n defaults: tuple[Any, ...] | None\n kwonlyargs: list[str]\n kwonlydefaults: dict[str, Any] | None\n annotations: dict[str, Any]\n\ndef getfullargspec(func: object) -> FullArgSpec: ...\n\nclass ArgInfo(NamedTuple):\n args: list[str]\n varargs: str | None\n keywords: str | None\n locals: dict[str, Any]\n\ndef getargvalues(frame: FrameType) -> ArgInfo: ...\ndef formatannotation(annotation: object, base_module: str | None = None) -> str: ...\ndef formatannotationrelativeto(object: object) -> Callable[[object], str]: ...\n\nif sys.version_info < (3, 11):\n def formatargspec(\n args: list[str],\n varargs: str | None = None,\n varkw: str | None = None,\n defaults: tuple[Any, ...] | None = None,\n kwonlyargs: Sequence[str] | None = (),\n kwonlydefaults: Mapping[str, Any] | None = {},\n annotations: Mapping[str, Any] = {},\n formatarg: Callable[[str], str] = ...,\n formatvarargs: Callable[[str], str] = ...,\n formatvarkw: Callable[[str], str] = ...,\n formatvalue: Callable[[Any], str] = ...,\n formatreturns: Callable[[Any], str] = ...,\n formatannotation: Callable[[Any], str] = ...,\n ) -> str: ...\n\ndef formatargvalues(\n args: list[str],\n varargs: str | None,\n varkw: str | None,\n locals: Mapping[str, Any] | None,\n formatarg: Callable[[str], str] | None = ...,\n formatvarargs: Callable[[str], str] | None = ...,\n formatvarkw: Callable[[str], str] | None = ...,\n formatvalue: Callable[[Any], str] | None = ...,\n) -> str: ...\ndef getmro(cls: type) -> tuple[type, ...]: ...\ndef getcallargs(__func: Callable[_P, Any], *args: _P.args, **kwds: _P.kwargs) -> dict[str, Any]: ...\n\nclass ClosureVars(NamedTuple):\n nonlocals: Mapping[str, Any]\n globals: Mapping[str, Any]\n builtins: Mapping[str, Any]\n unbound: AbstractSet[str]\n\ndef getclosurevars(func: _IntrospectableCallable) -> ClosureVars: ...\ndef unwrap(func: Callable[..., Any], *, stop: Callable[[Callable[..., Any]], Any] | None = None) -> Any: ...\n\n#\n# The interpreter stack\n#\n\nif sys.version_info >= (3, 11):\n class _Traceback(NamedTuple):\n filename: str\n lineno: int\n function: str\n code_context: list[str] | None\n index: int | None # type: ignore[assignment]\n\n class Traceback(_Traceback):\n positions: dis.Positions | None\n def __new__(\n cls,\n filename: str,\n lineno: int,\n function: str,\n code_context: list[str] | None,\n index: int | None,\n *,\n positions: dis.Positions | None = None,\n ) -> Self: ...\n\n class _FrameInfo(NamedTuple):\n frame: FrameType\n filename: str\n lineno: int\n function: str\n code_context: list[str] | None\n index: int | None # type: ignore[assignment]\n\n class FrameInfo(_FrameInfo):\n positions: dis.Positions | None\n def __new__(\n cls,\n frame: FrameType,\n filename: str,\n lineno: int,\n function: str,\n code_context: list[str] | None,\n index: int | None,\n *,\n positions: dis.Positions | None = None,\n ) -> Self: ...\n\nelse:\n class Traceback(NamedTuple):\n filename: str\n lineno: int\n function: str\n code_context: list[str] | None\n index: int | None # type: ignore[assignment]\n\n class FrameInfo(NamedTuple):\n frame: FrameType\n filename: str\n lineno: int\n function: str\n code_context: list[str] | None\n index: int | None # type: ignore[assignment]\n\ndef getframeinfo(frame: FrameType | TracebackType, context: int = 1) -> Traceback: ...\ndef getouterframes(frame: Any, context: int = 1) -> list[FrameInfo]: ...\ndef getinnerframes(tb: TracebackType, context: int = 1) -> list[FrameInfo]: ...\ndef getlineno(frame: FrameType) -> int: ...\ndef currentframe() -> FrameType | None: ...\ndef stack(context: int = 1) -> list[FrameInfo]: ...\ndef trace(context: int = 1) -> list[FrameInfo]: ...\n\n#\n# Fetching attributes statically\n#\n\ndef getattr_static(obj: object, attr: str, default: Any | None = ...) -> Any: ...\n\n#\n# Current State of Generators and Coroutines\n#\n\nGEN_CREATED: Literal[\"GEN_CREATED\"]\nGEN_RUNNING: Literal[\"GEN_RUNNING\"]\nGEN_SUSPENDED: Literal[\"GEN_SUSPENDED\"]\nGEN_CLOSED: Literal[\"GEN_CLOSED\"]\n\ndef getgeneratorstate(\n generator: Generator[Any, Any, Any]\n) -> Literal[\"GEN_CREATED\", \"GEN_RUNNING\", \"GEN_SUSPENDED\", \"GEN_CLOSED\"]: ...\n\nCORO_CREATED: Literal[\"CORO_CREATED\"]\nCORO_RUNNING: Literal[\"CORO_RUNNING\"]\nCORO_SUSPENDED: Literal[\"CORO_SUSPENDED\"]\nCORO_CLOSED: Literal[\"CORO_CLOSED\"]\n\ndef getcoroutinestate(\n coroutine: Coroutine[Any, Any, Any]\n) -> Literal[\"CORO_CREATED\", \"CORO_RUNNING\", \"CORO_SUSPENDED\", \"CORO_CLOSED\"]: ...\ndef getgeneratorlocals(generator: Generator[Any, Any, Any]) -> dict[str, Any]: ...\ndef getcoroutinelocals(coroutine: Coroutine[Any, Any, Any]) -> dict[str, Any]: ...\n\n# Create private type alias to avoid conflict with symbol of same\n# name created in Attribute class.\n_Object: TypeAlias = object\n\nclass Attribute(NamedTuple):\n name: str\n kind: Literal[\"class method\", \"static method\", \"property\", \"method\", \"data\"]\n defining_class: type\n object: _Object\n\ndef classify_class_attrs(cls: type) -> list[Attribute]: ...\n\nif sys.version_info >= (3, 9):\n class ClassFoundException(Exception): ...\n\nif sys.version_info >= (3, 12):\n class BufferFlags(enum.IntFlag):\n SIMPLE: int\n WRITABLE: int\n FORMAT: int\n ND: int\n STRIDES: int\n C_CONTIGUOUS: int\n F_CONTIGUOUS: int\n ANY_CONTIGUOUS: int\n INDIRECT: int\n CONTIG: int\n CONTIG_RO: int\n STRIDED: int\n STRIDED_RO: int\n RECORDS: int\n RECORDS_RO: int\n FULL: int\n FULL_RO: int\n READ: int\n WRITE: int\n", + "/typeshed/stdlib/io.pyi": "import abc\nimport builtins\nimport codecs\nimport sys\nfrom _typeshed import FileDescriptorOrPath, ReadableBuffer, WriteableBuffer\nfrom collections.abc import Callable, Iterable, Iterator\nfrom os import _Opener\nfrom types import TracebackType\nfrom typing import IO, Any, BinaryIO, TextIO, TypeVar, overload\nfrom typing_extensions import Literal, Self\n\n__all__ = [\n \"BlockingIOError\",\n \"open\",\n \"IOBase\",\n \"RawIOBase\",\n \"FileIO\",\n \"BytesIO\",\n \"StringIO\",\n \"BufferedIOBase\",\n \"BufferedReader\",\n \"BufferedWriter\",\n \"BufferedRWPair\",\n \"BufferedRandom\",\n \"TextIOBase\",\n \"TextIOWrapper\",\n \"UnsupportedOperation\",\n \"SEEK_SET\",\n \"SEEK_CUR\",\n \"SEEK_END\",\n]\n\nif sys.version_info >= (3, 8):\n __all__ += [\"open_code\"]\n\n_T = TypeVar(\"_T\")\n\nDEFAULT_BUFFER_SIZE: Literal[8192]\n\nSEEK_SET: Literal[0]\nSEEK_CUR: Literal[1]\nSEEK_END: Literal[2]\n\nopen = builtins.open\n\nif sys.version_info >= (3, 8):\n def open_code(path: str) -> IO[bytes]: ...\n\nBlockingIOError = builtins.BlockingIOError\n\nclass UnsupportedOperation(OSError, ValueError): ...\n\nclass IOBase(metaclass=abc.ABCMeta):\n def __iter__(self) -> Iterator[bytes]: ...\n def __next__(self) -> bytes: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> None: ...\n def close(self) -> None: ...\n def fileno(self) -> int: ...\n def flush(self) -> None: ...\n def isatty(self) -> bool: ...\n def readable(self) -> bool: ...\n read: Callable[..., Any]\n def readlines(self, __hint: int = -1) -> list[bytes]: ...\n def seek(self, __offset: int, __whence: int = ...) -> int: ...\n def seekable(self) -> bool: ...\n def tell(self) -> int: ...\n def truncate(self, __size: int | None = ...) -> int: ...\n def writable(self) -> bool: ...\n write: Callable[..., Any]\n def writelines(self, __lines: Iterable[ReadableBuffer]) -> None: ...\n def readline(self, __size: int | None = -1) -> bytes: ...\n def __del__(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n def _checkClosed(self, msg: str | None = ...) -> None: ... # undocumented\n\nclass RawIOBase(IOBase):\n def readall(self) -> bytes: ...\n def readinto(self, __buffer: WriteableBuffer) -> int | None: ...\n def write(self, __b: ReadableBuffer) -> int | None: ...\n def read(self, __size: int = -1) -> bytes | None: ...\n\nclass BufferedIOBase(IOBase):\n raw: RawIOBase # This is not part of the BufferedIOBase API and may not exist on some implementations.\n def detach(self) -> RawIOBase: ...\n def readinto(self, __buffer: WriteableBuffer) -> int: ...\n def write(self, __buffer: ReadableBuffer) -> int: ...\n def readinto1(self, __buffer: WriteableBuffer) -> int: ...\n def read(self, __size: int | None = ...) -> bytes: ...\n def read1(self, __size: int = ...) -> bytes: ...\n\nclass FileIO(RawIOBase, BinaryIO): # type: ignore[misc] # incompatible definitions of writelines in the base classes\n mode: str\n name: FileDescriptorOrPath # type: ignore[assignment]\n def __init__(\n self, file: FileDescriptorOrPath, mode: str = ..., closefd: bool = ..., opener: _Opener | None = ...\n ) -> None: ...\n @property\n def closefd(self) -> bool: ...\n def write(self, __b: ReadableBuffer) -> int: ...\n def read(self, __size: int = -1) -> bytes: ...\n def __enter__(self) -> Self: ...\n\nclass BytesIO(BufferedIOBase, BinaryIO): # type: ignore[misc] # incompatible definitions of methods in the base classes\n def __init__(self, initial_bytes: ReadableBuffer = ...) -> None: ...\n # BytesIO does not contain a \"name\" field. This workaround is necessary\n # to allow BytesIO sub-classes to add this field, as it is defined\n # as a read-only property on IO[].\n name: Any\n def __enter__(self) -> Self: ...\n def getvalue(self) -> bytes: ...\n def getbuffer(self) -> memoryview: ...\n def read1(self, __size: int | None = -1) -> bytes: ...\n\nclass BufferedReader(BufferedIOBase, BinaryIO): # type: ignore[misc] # incompatible definitions of methods in the base classes\n def __enter__(self) -> Self: ...\n def __init__(self, raw: RawIOBase, buffer_size: int = ...) -> None: ...\n def peek(self, __size: int = 0) -> bytes: ...\n\nclass BufferedWriter(BufferedIOBase, BinaryIO): # type: ignore[misc] # incompatible definitions of writelines in the base classes\n def __enter__(self) -> Self: ...\n def __init__(self, raw: RawIOBase, buffer_size: int = ...) -> None: ...\n def write(self, __buffer: ReadableBuffer) -> int: ...\n\nclass BufferedRandom(BufferedReader, BufferedWriter): # type: ignore[misc] # incompatible definitions of methods in the base classes\n def __enter__(self) -> Self: ...\n def seek(self, __target: int, __whence: int = 0) -> int: ... # stubtest needs this\n\nclass BufferedRWPair(BufferedIOBase):\n def __init__(self, reader: RawIOBase, writer: RawIOBase, buffer_size: int = ...) -> None: ...\n def peek(self, __size: int = ...) -> bytes: ...\n\nclass TextIOBase(IOBase):\n encoding: str\n errors: str | None\n newlines: str | tuple[str, ...] | None\n def __iter__(self) -> Iterator[str]: ... # type: ignore[override]\n def __next__(self) -> str: ... # type: ignore[override]\n def detach(self) -> BinaryIO: ...\n def write(self, __s: str) -> int: ...\n def writelines(self, __lines: Iterable[str]) -> None: ... # type: ignore[override]\n def readline(self, __size: int = ...) -> str: ... # type: ignore[override]\n def readlines(self, __hint: int = -1) -> list[str]: ... # type: ignore[override]\n def read(self, __size: int | None = ...) -> str: ...\n\nclass TextIOWrapper(TextIOBase, TextIO): # type: ignore[misc] # incompatible definitions of write in the base classes\n def __init__(\n self,\n buffer: IO[bytes],\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n line_buffering: bool = ...,\n write_through: bool = ...,\n ) -> None: ...\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def closed(self) -> bool: ...\n @property\n def line_buffering(self) -> bool: ...\n @property\n def write_through(self) -> bool: ...\n def reconfigure(\n self,\n *,\n encoding: str | None = None,\n errors: str | None = None,\n newline: str | None = None,\n line_buffering: bool | None = None,\n write_through: bool | None = None,\n ) -> None: ...\n # These are inherited from TextIOBase, but must exist in the stub to satisfy mypy.\n def __enter__(self) -> Self: ...\n def __iter__(self) -> Iterator[str]: ... # type: ignore[override]\n def __next__(self) -> str: ... # type: ignore[override]\n def writelines(self, __lines: Iterable[str]) -> None: ... # type: ignore[override]\n def readline(self, __size: int = -1) -> str: ... # type: ignore[override]\n def readlines(self, __hint: int = -1) -> list[str]: ... # type: ignore[override]\n def seek(self, __cookie: int, __whence: int = 0) -> int: ... # stubtest needs this\n\nclass StringIO(TextIOWrapper):\n def __init__(self, initial_value: str | None = ..., newline: str | None = ...) -> None: ...\n # StringIO does not contain a \"name\" field. This workaround is necessary\n # to allow StringIO sub-classes to add this field, as it is defined\n # as a read-only property on IO[].\n name: Any\n def getvalue(self) -> str: ...\n\nclass IncrementalNewlineDecoder(codecs.IncrementalDecoder):\n def __init__(self, decoder: codecs.IncrementalDecoder | None, translate: bool, errors: str = ...) -> None: ...\n def decode(self, input: ReadableBuffer | str, final: bool = False) -> str: ...\n @property\n def newlines(self) -> str | tuple[str, ...] | None: ...\n def setstate(self, __state: tuple[bytes, int]) -> None: ...\n\nif sys.version_info >= (3, 10):\n @overload\n def text_encoding(__encoding: None, __stacklevel: int = 2) -> Literal[\"locale\", \"utf-8\"]: ...\n @overload\n def text_encoding(__encoding: _T, __stacklevel: int = 2) -> _T: ...\n", + "/typeshed/stdlib/ipaddress.pyi": "import sys\nfrom collections.abc import Container, Iterable, Iterator\nfrom typing import Any, Generic, SupportsInt, TypeVar, overload\nfrom typing_extensions import Literal, Self, TypeAlias\n\n# Undocumented length constants\nIPV4LENGTH: Literal[32]\nIPV6LENGTH: Literal[128]\n\n_A = TypeVar(\"_A\", IPv4Address, IPv6Address)\n_N = TypeVar(\"_N\", IPv4Network, IPv6Network)\n\n_RawIPAddress: TypeAlias = int | str | bytes | IPv4Address | IPv6Address\n_RawNetworkPart: TypeAlias = IPv4Network | IPv6Network | IPv4Interface | IPv6Interface\n\ndef ip_address(address: _RawIPAddress) -> IPv4Address | IPv6Address: ...\ndef ip_network(\n address: _RawIPAddress | _RawNetworkPart | tuple[_RawIPAddress] | tuple[_RawIPAddress, int], strict: bool = True\n) -> IPv4Network | IPv6Network: ...\ndef ip_interface(\n address: _RawIPAddress | _RawNetworkPart | tuple[_RawIPAddress] | tuple[_RawIPAddress, int]\n) -> IPv4Interface | IPv6Interface: ...\n\nclass _IPAddressBase:\n @property\n def compressed(self) -> str: ...\n @property\n def exploded(self) -> str: ...\n @property\n def reverse_pointer(self) -> str: ...\n @property\n def version(self) -> int: ...\n\nclass _BaseAddress(_IPAddressBase, SupportsInt):\n def __init__(self, address: object) -> None: ...\n def __add__(self, other: int) -> Self: ...\n def __hash__(self) -> int: ...\n def __int__(self) -> int: ...\n def __sub__(self, other: int) -> Self: ...\n if sys.version_info >= (3, 9):\n def __format__(self, fmt: str) -> str: ...\n\n def __eq__(self, other: object) -> bool: ...\n def __lt__(self, other: Self) -> bool: ...\n if sys.version_info >= (3, 11):\n def __ge__(self, other: Self) -> bool: ...\n def __gt__(self, other: Self) -> bool: ...\n def __le__(self, other: Self) -> bool: ...\n else:\n def __ge__(self, other: Self, NotImplemented: Any = ...) -> bool: ...\n def __gt__(self, other: Self, NotImplemented: Any = ...) -> bool: ...\n def __le__(self, other: Self, NotImplemented: Any = ...) -> bool: ...\n\n @property\n def is_global(self) -> bool: ...\n @property\n def is_link_local(self) -> bool: ...\n @property\n def is_loopback(self) -> bool: ...\n @property\n def is_multicast(self) -> bool: ...\n @property\n def is_private(self) -> bool: ...\n @property\n def is_reserved(self) -> bool: ...\n @property\n def is_unspecified(self) -> bool: ...\n @property\n def max_prefixlen(self) -> int: ...\n @property\n def packed(self) -> bytes: ...\n\nclass _BaseNetwork(_IPAddressBase, Container[_A], Iterable[_A], Generic[_A]):\n network_address: _A\n netmask: _A\n def __init__(self, address: object, strict: bool = ...) -> None: ...\n def __contains__(self, other: Any) -> bool: ...\n def __getitem__(self, n: int) -> _A: ...\n def __iter__(self) -> Iterator[_A]: ...\n def __eq__(self, other: object) -> bool: ...\n def __hash__(self) -> int: ...\n def __lt__(self, other: Self) -> bool: ...\n if sys.version_info >= (3, 11):\n def __ge__(self, other: Self) -> bool: ...\n def __gt__(self, other: Self) -> bool: ...\n def __le__(self, other: Self) -> bool: ...\n else:\n def __ge__(self, other: Self, NotImplemented: Any = ...) -> bool: ...\n def __gt__(self, other: Self, NotImplemented: Any = ...) -> bool: ...\n def __le__(self, other: Self, NotImplemented: Any = ...) -> bool: ...\n\n def address_exclude(self, other: Self) -> Iterator[Self]: ...\n @property\n def broadcast_address(self) -> _A: ...\n def compare_networks(self, other: Self) -> int: ...\n def hosts(self) -> Iterator[_A]: ...\n @property\n def is_global(self) -> bool: ...\n @property\n def is_link_local(self) -> bool: ...\n @property\n def is_loopback(self) -> bool: ...\n @property\n def is_multicast(self) -> bool: ...\n @property\n def is_private(self) -> bool: ...\n @property\n def is_reserved(self) -> bool: ...\n @property\n def is_unspecified(self) -> bool: ...\n @property\n def max_prefixlen(self) -> int: ...\n @property\n def num_addresses(self) -> int: ...\n def overlaps(self, other: _BaseNetwork[IPv4Address] | _BaseNetwork[IPv6Address]) -> bool: ...\n @property\n def prefixlen(self) -> int: ...\n def subnet_of(self, other: Self) -> bool: ...\n def supernet_of(self, other: Self) -> bool: ...\n def subnets(self, prefixlen_diff: int = 1, new_prefix: int | None = None) -> Iterator[Self]: ...\n def supernet(self, prefixlen_diff: int = 1, new_prefix: int | None = None) -> Self: ...\n @property\n def with_hostmask(self) -> str: ...\n @property\n def with_netmask(self) -> str: ...\n @property\n def with_prefixlen(self) -> str: ...\n @property\n def hostmask(self) -> _A: ...\n\nclass _BaseInterface(_BaseAddress, Generic[_A, _N]):\n hostmask: _A\n netmask: _A\n network: _N\n @property\n def ip(self) -> _A: ...\n @property\n def with_hostmask(self) -> str: ...\n @property\n def with_netmask(self) -> str: ...\n @property\n def with_prefixlen(self) -> str: ...\n\nclass _BaseV4:\n @property\n def version(self) -> Literal[4]: ...\n @property\n def max_prefixlen(self) -> Literal[32]: ...\n\nclass IPv4Address(_BaseV4, _BaseAddress): ...\nclass IPv4Network(_BaseV4, _BaseNetwork[IPv4Address]): ...\n\nclass IPv4Interface(IPv4Address, _BaseInterface[IPv4Address, IPv4Network]):\n def __eq__(self, other: object) -> bool: ...\n def __hash__(self) -> int: ...\n\nclass _BaseV6:\n @property\n def version(self) -> Literal[6]: ...\n @property\n def max_prefixlen(self) -> Literal[128]: ...\n\nclass IPv6Address(_BaseV6, _BaseAddress):\n @property\n def ipv4_mapped(self) -> IPv4Address | None: ...\n @property\n def is_site_local(self) -> bool: ...\n @property\n def sixtofour(self) -> IPv4Address | None: ...\n @property\n def teredo(self) -> tuple[IPv4Address, IPv4Address] | None: ...\n if sys.version_info >= (3, 9):\n @property\n def scope_id(self) -> str | None: ...\n\n def __hash__(self) -> int: ...\n def __eq__(self, other: object) -> bool: ...\n\nclass IPv6Network(_BaseV6, _BaseNetwork[IPv6Address]):\n @property\n def is_site_local(self) -> bool: ...\n\nclass IPv6Interface(IPv6Address, _BaseInterface[IPv6Address, IPv6Network]):\n def __eq__(self, other: object) -> bool: ...\n def __hash__(self) -> int: ...\n\ndef v4_int_to_packed(address: int) -> bytes: ...\ndef v6_int_to_packed(address: int) -> bytes: ...\n\n# Third overload is technically incorrect, but convenient when first and last are return values of ip_address()\n@overload\ndef summarize_address_range(first: IPv4Address, last: IPv4Address) -> Iterator[IPv4Network]: ...\n@overload\ndef summarize_address_range(first: IPv6Address, last: IPv6Address) -> Iterator[IPv6Network]: ...\n@overload\ndef summarize_address_range(\n first: IPv4Address | IPv6Address, last: IPv4Address | IPv6Address\n) -> Iterator[IPv4Network] | Iterator[IPv6Network]: ...\ndef collapse_addresses(addresses: Iterable[_N]) -> Iterator[_N]: ...\n@overload\ndef get_mixed_type_key(obj: _A) -> tuple[int, _A]: ...\n@overload\ndef get_mixed_type_key(obj: IPv4Network) -> tuple[int, IPv4Address, IPv4Address]: ...\n@overload\ndef get_mixed_type_key(obj: IPv6Network) -> tuple[int, IPv6Address, IPv6Address]: ...\n\nclass AddressValueError(ValueError): ...\nclass NetmaskValueError(ValueError): ...\n", + "/typeshed/stdlib/itertools.pyi": "import sys\nfrom collections.abc import Callable, Iterable, Iterator\nfrom typing import Any, Generic, SupportsComplex, SupportsFloat, SupportsInt, TypeVar, overload\nfrom typing_extensions import Literal, Self, SupportsIndex, TypeAlias\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n_T = TypeVar(\"_T\")\n_S = TypeVar(\"_S\")\n_N = TypeVar(\"_N\", int, float, SupportsFloat, SupportsInt, SupportsIndex, SupportsComplex)\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_T6 = TypeVar(\"_T6\")\n\n_Step: TypeAlias = SupportsFloat | SupportsInt | SupportsIndex | SupportsComplex\n\n_Predicate: TypeAlias = Callable[[_T], object]\n\n# Technically count can take anything that implements a number protocol and has an add method\n# but we can't enforce the add method\nclass count(Iterator[_N]):\n @overload\n def __new__(cls) -> count[int]: ...\n @overload\n def __new__(cls, start: _N, step: _Step = ...) -> count[_N]: ...\n @overload\n def __new__(cls, *, step: _N) -> count[_N]: ...\n def __next__(self) -> _N: ...\n def __iter__(self) -> Self: ...\n\nclass cycle(Iterator[_T]):\n def __init__(self, __iterable: Iterable[_T]) -> None: ...\n def __next__(self) -> _T: ...\n def __iter__(self) -> Self: ...\n\nclass repeat(Iterator[_T]):\n @overload\n def __init__(self, object: _T) -> None: ...\n @overload\n def __init__(self, object: _T, times: int) -> None: ...\n def __next__(self) -> _T: ...\n def __iter__(self) -> Self: ...\n def __length_hint__(self) -> int: ...\n\nclass accumulate(Iterator[_T]):\n if sys.version_info >= (3, 8):\n @overload\n def __init__(self, iterable: Iterable[_T], func: None = None, *, initial: _T | None = ...) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_S], func: Callable[[_T, _S], _T], *, initial: _T | None = ...) -> None: ...\n else:\n def __init__(self, iterable: Iterable[_T], func: Callable[[_T, _T], _T] | None = ...) -> None: ...\n\n def __iter__(self) -> Self: ...\n def __next__(self) -> _T: ...\n\nclass chain(Iterator[_T]):\n def __init__(self, *iterables: Iterable[_T]) -> None: ...\n def __next__(self) -> _T: ...\n def __iter__(self) -> Self: ...\n @classmethod\n # We use type[Any] and not type[_S] to not lose the type inference from __iterable\n def from_iterable(cls: type[Any], __iterable: Iterable[Iterable[_S]]) -> chain[_S]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, __item: Any) -> GenericAlias: ...\n\nclass compress(Iterator[_T]):\n def __init__(self, data: Iterable[_T], selectors: Iterable[Any]) -> None: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> _T: ...\n\nclass dropwhile(Iterator[_T]):\n def __init__(self, __predicate: _Predicate[_T], __iterable: Iterable[_T]) -> None: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> _T: ...\n\nclass filterfalse(Iterator[_T]):\n def __init__(self, __predicate: _Predicate[_T] | None, __iterable: Iterable[_T]) -> None: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> _T: ...\n\nclass groupby(Iterator[tuple[_T, Iterator[_S]]], Generic[_T, _S]):\n @overload\n def __new__(cls, iterable: Iterable[_T1], key: None = None) -> groupby[_T1, _T1]: ...\n @overload\n def __new__(cls, iterable: Iterable[_T1], key: Callable[[_T1], _T2]) -> groupby[_T2, _T1]: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> tuple[_T, Iterator[_S]]: ...\n\nclass islice(Iterator[_T]):\n @overload\n def __init__(self, __iterable: Iterable[_T], __stop: int | None) -> None: ...\n @overload\n def __init__(self, __iterable: Iterable[_T], __start: int | None, __stop: int | None, __step: int | None = ...) -> None: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> _T: ...\n\nclass starmap(Iterator[_T]):\n def __init__(self, __function: Callable[..., _T], __iterable: Iterable[Iterable[Any]]) -> None: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> _T: ...\n\nclass takewhile(Iterator[_T]):\n def __init__(self, __predicate: _Predicate[_T], __iterable: Iterable[_T]) -> None: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> _T: ...\n\ndef tee(__iterable: Iterable[_T], __n: int = 2) -> tuple[Iterator[_T], ...]: ...\n\nclass zip_longest(Iterator[_T_co]):\n # one iterable (fillvalue doesn't matter)\n @overload\n def __new__(cls, __iter1: Iterable[_T1], *, fillvalue: object = ...) -> zip_longest[tuple[_T1]]: ...\n # two iterables\n @overload\n # In the overloads without fillvalue, all of the tuple members could theoretically be None,\n # but we return Any instead to avoid false positives for code where we know one of the iterables\n # is longer.\n def __new__(cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]) -> zip_longest[tuple[_T1 | Any, _T2 | Any]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], *, fillvalue: _T\n ) -> zip_longest[tuple[_T1 | _T, _T2 | _T]]: ...\n # three iterables\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]\n ) -> zip_longest[tuple[_T1 | Any, _T2 | Any, _T3 | Any]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], *, fillvalue: _T\n ) -> zip_longest[tuple[_T1 | _T, _T2 | _T, _T3 | _T]]: ...\n # four iterables\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], __iter4: Iterable[_T4]\n ) -> zip_longest[tuple[_T1 | Any, _T2 | Any, _T3 | Any, _T4 | Any]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], __iter4: Iterable[_T4], *, fillvalue: _T\n ) -> zip_longest[tuple[_T1 | _T, _T2 | _T, _T3 | _T, _T4 | _T]]: ...\n # five iterables\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> zip_longest[tuple[_T1 | Any, _T2 | Any, _T3 | Any, _T4 | Any, _T5 | Any]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n *,\n fillvalue: _T,\n ) -> zip_longest[tuple[_T1 | _T, _T2 | _T, _T3 | _T, _T4 | _T, _T5 | _T]]: ...\n # six or more iterables\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T],\n __iter2: Iterable[_T],\n __iter3: Iterable[_T],\n __iter4: Iterable[_T],\n __iter5: Iterable[_T],\n __iter6: Iterable[_T],\n *iterables: Iterable[_T],\n ) -> zip_longest[tuple[_T | Any, ...]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T],\n __iter2: Iterable[_T],\n __iter3: Iterable[_T],\n __iter4: Iterable[_T],\n __iter5: Iterable[_T],\n __iter6: Iterable[_T],\n *iterables: Iterable[_T],\n fillvalue: _T,\n ) -> zip_longest[tuple[_T, ...]]: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> _T_co: ...\n\nclass product(Iterator[_T_co]):\n @overload\n def __new__(cls, __iter1: Iterable[_T1]) -> product[tuple[_T1]]: ...\n @overload\n def __new__(cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2]) -> product[tuple[_T1, _T2]]: ...\n @overload\n def __new__(cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3]) -> product[tuple[_T1, _T2, _T3]]: ...\n @overload\n def __new__(\n cls, __iter1: Iterable[_T1], __iter2: Iterable[_T2], __iter3: Iterable[_T3], __iter4: Iterable[_T4]\n ) -> product[tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n ) -> product[tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[_T1],\n __iter2: Iterable[_T2],\n __iter3: Iterable[_T3],\n __iter4: Iterable[_T4],\n __iter5: Iterable[_T5],\n __iter6: Iterable[_T6],\n ) -> product[tuple[_T1, _T2, _T3, _T4, _T5, _T6]]: ...\n @overload\n def __new__(\n cls,\n __iter1: Iterable[Any],\n __iter2: Iterable[Any],\n __iter3: Iterable[Any],\n __iter4: Iterable[Any],\n __iter5: Iterable[Any],\n __iter6: Iterable[Any],\n __iter7: Iterable[Any],\n *iterables: Iterable[Any],\n ) -> product[tuple[Any, ...]]: ...\n @overload\n def __new__(cls, *iterables: Iterable[_T1], repeat: int) -> product[tuple[_T1, ...]]: ...\n @overload\n def __new__(cls, *iterables: Iterable[Any], repeat: int = ...) -> product[tuple[Any, ...]]: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> _T_co: ...\n\nclass permutations(Iterator[tuple[_T, ...]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], r: int | None = ...) -> None: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> tuple[_T, ...]: ...\n\nclass combinations(Iterator[_T_co]):\n @overload\n def __new__(cls, iterable: Iterable[_T], r: Literal[2]) -> combinations[tuple[_T, _T]]: ...\n @overload\n def __new__(cls, iterable: Iterable[_T], r: Literal[3]) -> combinations[tuple[_T, _T, _T]]: ...\n @overload\n def __new__(cls, iterable: Iterable[_T], r: Literal[4]) -> combinations[tuple[_T, _T, _T, _T]]: ...\n @overload\n def __new__(cls, iterable: Iterable[_T], r: Literal[5]) -> combinations[tuple[_T, _T, _T, _T, _T]]: ...\n @overload\n def __new__(cls, iterable: Iterable[_T], r: int) -> combinations[tuple[_T, ...]]: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> _T_co: ...\n\nclass combinations_with_replacement(Iterator[tuple[_T, ...]], Generic[_T]):\n def __init__(self, iterable: Iterable[_T], r: int) -> None: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> tuple[_T, ...]: ...\n\nif sys.version_info >= (3, 10):\n class pairwise(Iterator[_T_co]):\n def __new__(cls, __iterable: Iterable[_T]) -> pairwise[tuple[_T, _T]]: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> _T_co: ...\n\nif sys.version_info >= (3, 12):\n class batched(Iterator[tuple[_T_co, ...]], Generic[_T_co]):\n def __new__(cls, iterable: Iterable[_T_co], n: int) -> Self: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> tuple[_T_co, ...]: ...\n", + "/typeshed/stdlib/keyword.pyi": "import sys\nfrom collections.abc import Sequence\nfrom typing_extensions import Final\n\nif sys.version_info >= (3, 9):\n __all__ = [\"iskeyword\", \"issoftkeyword\", \"kwlist\", \"softkwlist\"]\nelse:\n __all__ = [\"iskeyword\", \"kwlist\"]\n\ndef iskeyword(s: str) -> bool: ...\n\n# a list at runtime, but you're not meant to mutate it;\n# type it as a sequence\nkwlist: Final[Sequence[str]]\n\nif sys.version_info >= (3, 9):\n def issoftkeyword(s: str) -> bool: ...\n\n # a list at runtime, but you're not meant to mutate it;\n # type it as a sequence\n softkwlist: Final[Sequence[str]]\n", + "/typeshed/stdlib/linecache.pyi": "import sys\nfrom collections.abc import Callable\nfrom typing import Any\nfrom typing_extensions import TypeAlias\n\nif sys.version_info >= (3, 9):\n __all__ = [\"getline\", \"clearcache\", \"checkcache\", \"lazycache\"]\nelse:\n __all__ = [\"getline\", \"clearcache\", \"checkcache\"]\n\n_ModuleGlobals: TypeAlias = dict[str, Any]\n_ModuleMetadata: TypeAlias = tuple[int, float | None, list[str], str]\n\n_SourceLoader: TypeAlias = tuple[Callable[[], str | None]]\n\ncache: dict[str, _SourceLoader | _ModuleMetadata] # undocumented\n\ndef getline(filename: str, lineno: int, module_globals: _ModuleGlobals | None = None) -> str: ...\ndef clearcache() -> None: ...\ndef getlines(filename: str, module_globals: _ModuleGlobals | None = None) -> list[str]: ...\ndef checkcache(filename: str | None = None) -> None: ...\ndef updatecache(filename: str, module_globals: _ModuleGlobals | None = None) -> list[str]: ...\ndef lazycache(filename: str, module_globals: _ModuleGlobals) -> bool: ...\n", + "/typeshed/stdlib/locale.pyi": "import sys\nfrom _locale import (\n CHAR_MAX as CHAR_MAX,\n LC_ALL as LC_ALL,\n LC_COLLATE as LC_COLLATE,\n LC_CTYPE as LC_CTYPE,\n LC_MONETARY as LC_MONETARY,\n LC_NUMERIC as LC_NUMERIC,\n LC_TIME as LC_TIME,\n localeconv as localeconv,\n setlocale as setlocale,\n strcoll as strcoll,\n strxfrm as strxfrm,\n)\n\n# This module defines a function \"str()\", which is why \"str\" can't be used\n# as a type annotation or type alias.\nfrom builtins import str as _str\nfrom collections.abc import Callable\nfrom decimal import Decimal\nfrom typing import Any\n\nif sys.version_info >= (3, 11):\n from _locale import getencoding as getencoding\n\n# Some parts of the `_locale` module are platform-specific:\nif sys.platform != \"win32\":\n from _locale import (\n ABDAY_1 as ABDAY_1,\n ABDAY_2 as ABDAY_2,\n ABDAY_3 as ABDAY_3,\n ABDAY_4 as ABDAY_4,\n ABDAY_5 as ABDAY_5,\n ABDAY_6 as ABDAY_6,\n ABDAY_7 as ABDAY_7,\n ABMON_1 as ABMON_1,\n ABMON_2 as ABMON_2,\n ABMON_3 as ABMON_3,\n ABMON_4 as ABMON_4,\n ABMON_5 as ABMON_5,\n ABMON_6 as ABMON_6,\n ABMON_7 as ABMON_7,\n ABMON_8 as ABMON_8,\n ABMON_9 as ABMON_9,\n ABMON_10 as ABMON_10,\n ABMON_11 as ABMON_11,\n ABMON_12 as ABMON_12,\n ALT_DIGITS as ALT_DIGITS,\n AM_STR as AM_STR,\n CODESET as CODESET,\n CRNCYSTR as CRNCYSTR,\n D_FMT as D_FMT,\n D_T_FMT as D_T_FMT,\n DAY_1 as DAY_1,\n DAY_2 as DAY_2,\n DAY_3 as DAY_3,\n DAY_4 as DAY_4,\n DAY_5 as DAY_5,\n DAY_6 as DAY_6,\n DAY_7 as DAY_7,\n ERA as ERA,\n ERA_D_FMT as ERA_D_FMT,\n ERA_D_T_FMT as ERA_D_T_FMT,\n ERA_T_FMT as ERA_T_FMT,\n LC_MESSAGES as LC_MESSAGES,\n MON_1 as MON_1,\n MON_2 as MON_2,\n MON_3 as MON_3,\n MON_4 as MON_4,\n MON_5 as MON_5,\n MON_6 as MON_6,\n MON_7 as MON_7,\n MON_8 as MON_8,\n MON_9 as MON_9,\n MON_10 as MON_10,\n MON_11 as MON_11,\n MON_12 as MON_12,\n NOEXPR as NOEXPR,\n PM_STR as PM_STR,\n RADIXCHAR as RADIXCHAR,\n T_FMT as T_FMT,\n T_FMT_AMPM as T_FMT_AMPM,\n THOUSEP as THOUSEP,\n YESEXPR as YESEXPR,\n bind_textdomain_codeset as bind_textdomain_codeset,\n bindtextdomain as bindtextdomain,\n dcgettext as dcgettext,\n dgettext as dgettext,\n gettext as gettext,\n nl_langinfo as nl_langinfo,\n textdomain as textdomain,\n )\n\n__all__ = [\n \"getlocale\",\n \"getdefaultlocale\",\n \"getpreferredencoding\",\n \"Error\",\n \"setlocale\",\n \"resetlocale\",\n \"localeconv\",\n \"strcoll\",\n \"strxfrm\",\n \"str\",\n \"atof\",\n \"atoi\",\n \"format_string\",\n \"currency\",\n \"normalize\",\n \"LC_CTYPE\",\n \"LC_COLLATE\",\n \"LC_TIME\",\n \"LC_MONETARY\",\n \"LC_NUMERIC\",\n \"LC_ALL\",\n \"CHAR_MAX\",\n]\n\nif sys.version_info >= (3, 11):\n __all__ += [\"getencoding\"]\n\nif sys.version_info < (3, 12):\n __all__ += [\"format\"]\n\nif sys.platform != \"win32\":\n __all__ += [\"LC_MESSAGES\"]\n\nclass Error(Exception): ...\n\ndef getdefaultlocale(\n envvars: tuple[_str, ...] = (\"LC_ALL\", \"LC_CTYPE\", \"LANG\", \"LANGUAGE\")\n) -> tuple[_str | None, _str | None]: ...\ndef getlocale(category: int = ...) -> tuple[_str | None, _str | None]: ...\ndef getpreferredencoding(do_setlocale: bool = True) -> _str: ...\ndef normalize(localename: _str) -> _str: ...\ndef resetlocale(category: int = ...) -> None: ...\n\nif sys.version_info < (3, 12):\n def format(\n percent: _str, value: float | Decimal, grouping: bool = False, monetary: bool = False, *additional: Any\n ) -> _str: ...\n\ndef format_string(f: _str, val: Any, grouping: bool = False, monetary: bool = False) -> _str: ...\ndef currency(val: float | Decimal, symbol: bool = True, grouping: bool = False, international: bool = False) -> _str: ...\ndef delocalize(string: _str) -> _str: ...\ndef atof(string: _str, func: Callable[[_str], float] = ...) -> float: ...\ndef atoi(string: _str) -> int: ...\ndef str(val: float) -> _str: ...\n\nlocale_alias: dict[_str, _str] # undocumented\nlocale_encoding_alias: dict[_str, _str] # undocumented\nwindows_locale: dict[int, _str] # undocumented\n", + "/typeshed/stdlib/lzma.pyi": "import io\nfrom _typeshed import ReadableBuffer, StrOrBytesPath\nfrom collections.abc import Mapping, Sequence\nfrom typing import IO, Any, TextIO, overload\nfrom typing_extensions import Literal, Self, TypeAlias, final\n\n__all__ = [\n \"CHECK_NONE\",\n \"CHECK_CRC32\",\n \"CHECK_CRC64\",\n \"CHECK_SHA256\",\n \"CHECK_ID_MAX\",\n \"CHECK_UNKNOWN\",\n \"FILTER_LZMA1\",\n \"FILTER_LZMA2\",\n \"FILTER_DELTA\",\n \"FILTER_X86\",\n \"FILTER_IA64\",\n \"FILTER_ARM\",\n \"FILTER_ARMTHUMB\",\n \"FILTER_POWERPC\",\n \"FILTER_SPARC\",\n \"FORMAT_AUTO\",\n \"FORMAT_XZ\",\n \"FORMAT_ALONE\",\n \"FORMAT_RAW\",\n \"MF_HC3\",\n \"MF_HC4\",\n \"MF_BT2\",\n \"MF_BT3\",\n \"MF_BT4\",\n \"MODE_FAST\",\n \"MODE_NORMAL\",\n \"PRESET_DEFAULT\",\n \"PRESET_EXTREME\",\n \"LZMACompressor\",\n \"LZMADecompressor\",\n \"LZMAFile\",\n \"LZMAError\",\n \"open\",\n \"compress\",\n \"decompress\",\n \"is_check_supported\",\n]\n\n_OpenBinaryWritingMode: TypeAlias = Literal[\"w\", \"wb\", \"x\", \"xb\", \"a\", \"ab\"]\n_OpenTextWritingMode: TypeAlias = Literal[\"wt\", \"xt\", \"at\"]\n\n_PathOrFile: TypeAlias = StrOrBytesPath | IO[bytes]\n\n_FilterChain: TypeAlias = Sequence[Mapping[str, Any]]\n\nFORMAT_AUTO: Literal[0]\nFORMAT_XZ: Literal[1]\nFORMAT_ALONE: Literal[2]\nFORMAT_RAW: Literal[3]\nCHECK_NONE: Literal[0]\nCHECK_CRC32: Literal[1]\nCHECK_CRC64: Literal[4]\nCHECK_SHA256: Literal[10]\nCHECK_ID_MAX: Literal[15]\nCHECK_UNKNOWN: Literal[16]\nFILTER_LZMA1: int # v big number\nFILTER_LZMA2: Literal[33]\nFILTER_DELTA: Literal[3]\nFILTER_X86: Literal[4]\nFILTER_IA64: Literal[6]\nFILTER_ARM: Literal[7]\nFILTER_ARMTHUMB: Literal[8]\nFILTER_SPARC: Literal[9]\nFILTER_POWERPC: Literal[5]\nMF_HC3: Literal[3]\nMF_HC4: Literal[4]\nMF_BT2: Literal[18]\nMF_BT3: Literal[19]\nMF_BT4: Literal[20]\nMODE_FAST: Literal[1]\nMODE_NORMAL: Literal[2]\nPRESET_DEFAULT: Literal[6]\nPRESET_EXTREME: int # v big number\n\n# from _lzma.c\n@final\nclass LZMADecompressor:\n def __init__(self, format: int | None = ..., memlimit: int | None = ..., filters: _FilterChain | None = ...) -> None: ...\n def decompress(self, data: ReadableBuffer, max_length: int = -1) -> bytes: ...\n @property\n def check(self) -> int: ...\n @property\n def eof(self) -> bool: ...\n @property\n def unused_data(self) -> bytes: ...\n @property\n def needs_input(self) -> bool: ...\n\n# from _lzma.c\n@final\nclass LZMACompressor:\n def __init__(\n self, format: int | None = ..., check: int = ..., preset: int | None = ..., filters: _FilterChain | None = ...\n ) -> None: ...\n def compress(self, __data: ReadableBuffer) -> bytes: ...\n def flush(self) -> bytes: ...\n\nclass LZMAError(Exception): ...\n\nclass LZMAFile(io.BufferedIOBase, IO[bytes]): # type: ignore[misc] # incompatible definitions of writelines in the base classes\n def __init__(\n self,\n filename: _PathOrFile | None = None,\n mode: str = \"r\",\n *,\n format: int | None = None,\n check: int = -1,\n preset: int | None = None,\n filters: _FilterChain | None = None,\n ) -> None: ...\n def __enter__(self) -> Self: ...\n def peek(self, size: int = -1) -> bytes: ...\n def read(self, size: int | None = -1) -> bytes: ...\n def read1(self, size: int = -1) -> bytes: ...\n def readline(self, size: int | None = -1) -> bytes: ...\n def write(self, data: ReadableBuffer) -> int: ...\n def seek(self, offset: int, whence: int = 0) -> int: ...\n\n@overload\ndef open(\n filename: _PathOrFile,\n mode: Literal[\"r\", \"rb\"] = \"rb\",\n *,\n format: int | None = None,\n check: Literal[-1] = -1,\n preset: None = None,\n filters: _FilterChain | None = None,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n) -> LZMAFile: ...\n@overload\ndef open(\n filename: _PathOrFile,\n mode: _OpenBinaryWritingMode,\n *,\n format: int | None = None,\n check: int = -1,\n preset: int | None = None,\n filters: _FilterChain | None = None,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n) -> LZMAFile: ...\n@overload\ndef open(\n filename: StrOrBytesPath,\n mode: Literal[\"rt\"],\n *,\n format: int | None = None,\n check: Literal[-1] = -1,\n preset: None = None,\n filters: _FilterChain | None = None,\n encoding: str | None = None,\n errors: str | None = None,\n newline: str | None = None,\n) -> TextIO: ...\n@overload\ndef open(\n filename: StrOrBytesPath,\n mode: _OpenTextWritingMode,\n *,\n format: int | None = None,\n check: int = -1,\n preset: int | None = None,\n filters: _FilterChain | None = None,\n encoding: str | None = None,\n errors: str | None = None,\n newline: str | None = None,\n) -> TextIO: ...\n@overload\ndef open(\n filename: _PathOrFile,\n mode: str,\n *,\n format: int | None = None,\n check: int = -1,\n preset: int | None = None,\n filters: _FilterChain | None = None,\n encoding: str | None = None,\n errors: str | None = None,\n newline: str | None = None,\n) -> LZMAFile | TextIO: ...\ndef compress(\n data: ReadableBuffer, format: int = 1, check: int = -1, preset: int | None = None, filters: _FilterChain | None = None\n) -> bytes: ...\ndef decompress(\n data: ReadableBuffer, format: int = 0, memlimit: int | None = None, filters: _FilterChain | None = None\n) -> bytes: ...\ndef is_check_supported(__check_id: int) -> bool: ...\n", + "/typeshed/stdlib/mailbox.pyi": "import email.message\nimport io\nimport sys\nfrom _typeshed import StrPath, SupportsNoArgReadline, SupportsRead\nfrom abc import ABCMeta, abstractmethod\nfrom collections.abc import Callable, Iterable, Iterator, Mapping, Sequence\nfrom types import TracebackType\nfrom typing import IO, Any, AnyStr, Generic, Protocol, TypeVar, overload\nfrom typing_extensions import Literal, Self, TypeAlias\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = [\n \"Mailbox\",\n \"Maildir\",\n \"mbox\",\n \"MH\",\n \"Babyl\",\n \"MMDF\",\n \"Message\",\n \"MaildirMessage\",\n \"mboxMessage\",\n \"MHMessage\",\n \"BabylMessage\",\n \"MMDFMessage\",\n \"Error\",\n \"NoSuchMailboxError\",\n \"NotEmptyError\",\n \"ExternalClashError\",\n \"FormatError\",\n]\n\n_T = TypeVar(\"_T\")\n_MessageT = TypeVar(\"_MessageT\", bound=Message)\n\nclass _SupportsReadAndReadline(SupportsRead[bytes], SupportsNoArgReadline[bytes], Protocol): ...\n\n_MessageData: TypeAlias = email.message.Message | bytes | str | io.StringIO | _SupportsReadAndReadline\n\nclass _HasIteritems(Protocol):\n def iteritems(self) -> Iterator[tuple[str, _MessageData]]: ...\n\nclass _HasItems(Protocol):\n def items(self) -> Iterator[tuple[str, _MessageData]]: ...\n\nlinesep: bytes\n\nclass Mailbox(Generic[_MessageT]):\n _path: str # undocumented\n _factory: Callable[[IO[Any]], _MessageT] | None # undocumented\n @overload\n def __init__(self, path: StrPath, factory: Callable[[IO[Any]], _MessageT], create: bool = True) -> None: ...\n @overload\n def __init__(self, path: StrPath, factory: None = None, create: bool = True) -> None: ...\n @abstractmethod\n def add(self, message: _MessageData) -> str: ...\n @abstractmethod\n def remove(self, key: str) -> None: ...\n def __delitem__(self, key: str) -> None: ...\n def discard(self, key: str) -> None: ...\n @abstractmethod\n def __setitem__(self, key: str, message: _MessageData) -> None: ...\n @overload\n def get(self, key: str, default: None = None) -> _MessageT | None: ...\n @overload\n def get(self, key: str, default: _T) -> _MessageT | _T: ...\n def __getitem__(self, key: str) -> _MessageT: ...\n @abstractmethod\n def get_message(self, key: str) -> _MessageT: ...\n def get_string(self, key: str) -> str: ...\n @abstractmethod\n def get_bytes(self, key: str) -> bytes: ...\n # As '_ProxyFile' doesn't implement the full IO spec, and BytesIO is incompatible with it, get_file return is Any here\n @abstractmethod\n def get_file(self, key: str) -> Any: ...\n @abstractmethod\n def iterkeys(self) -> Iterator[str]: ...\n def keys(self) -> list[str]: ...\n def itervalues(self) -> Iterator[_MessageT]: ...\n def __iter__(self) -> Iterator[_MessageT]: ...\n def values(self) -> list[_MessageT]: ...\n def iteritems(self) -> Iterator[tuple[str, _MessageT]]: ...\n def items(self) -> list[tuple[str, _MessageT]]: ...\n @abstractmethod\n def __contains__(self, key: str) -> bool: ...\n @abstractmethod\n def __len__(self) -> int: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, key: str, default: None = None) -> _MessageT | None: ...\n @overload\n def pop(self, key: str, default: _T) -> _MessageT | _T: ...\n def popitem(self) -> tuple[str, _MessageT]: ...\n def update(self, arg: _HasIteritems | _HasItems | Iterable[tuple[str, _MessageData]] | None = None) -> None: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def lock(self) -> None: ...\n @abstractmethod\n def unlock(self) -> None: ...\n @abstractmethod\n def close(self) -> None: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Maildir(Mailbox[MaildirMessage]):\n colon: str\n def __init__(\n self, dirname: StrPath, factory: Callable[[IO[Any]], MaildirMessage] | None = None, create: bool = True\n ) -> None: ...\n def add(self, message: _MessageData) -> str: ...\n def remove(self, key: str) -> None: ...\n def __setitem__(self, key: str, message: _MessageData) -> None: ...\n def get_message(self, key: str) -> MaildirMessage: ...\n def get_bytes(self, key: str) -> bytes: ...\n def get_file(self, key: str) -> _ProxyFile[bytes]: ...\n def iterkeys(self) -> Iterator[str]: ...\n def __contains__(self, key: str) -> bool: ...\n def __len__(self) -> int: ...\n def flush(self) -> None: ...\n def lock(self) -> None: ...\n def unlock(self) -> None: ...\n def close(self) -> None: ...\n def list_folders(self) -> list[str]: ...\n def get_folder(self, folder: str) -> Maildir: ...\n def add_folder(self, folder: str) -> Maildir: ...\n def remove_folder(self, folder: str) -> None: ...\n def clean(self) -> None: ...\n def next(self) -> str | None: ...\n\nclass _singlefileMailbox(Mailbox[_MessageT], metaclass=ABCMeta):\n def add(self, message: _MessageData) -> str: ...\n def remove(self, key: str) -> None: ...\n def __setitem__(self, key: str, message: _MessageData) -> None: ...\n def iterkeys(self) -> Iterator[str]: ...\n def __contains__(self, key: str) -> bool: ...\n def __len__(self) -> int: ...\n def lock(self) -> None: ...\n def unlock(self) -> None: ...\n def flush(self) -> None: ...\n def close(self) -> None: ...\n\nclass _mboxMMDF(_singlefileMailbox[_MessageT]):\n def get_message(self, key: str) -> _MessageT: ...\n def get_file(self, key: str, from_: bool = False) -> _PartialFile[bytes]: ...\n def get_bytes(self, key: str, from_: bool = False) -> bytes: ...\n def get_string(self, key: str, from_: bool = False) -> str: ...\n\nclass mbox(_mboxMMDF[mboxMessage]):\n def __init__(self, path: StrPath, factory: Callable[[IO[Any]], mboxMessage] | None = None, create: bool = True) -> None: ...\n\nclass MMDF(_mboxMMDF[MMDFMessage]):\n def __init__(self, path: StrPath, factory: Callable[[IO[Any]], MMDFMessage] | None = None, create: bool = True) -> None: ...\n\nclass MH(Mailbox[MHMessage]):\n def __init__(self, path: StrPath, factory: Callable[[IO[Any]], MHMessage] | None = None, create: bool = True) -> None: ...\n def add(self, message: _MessageData) -> str: ...\n def remove(self, key: str) -> None: ...\n def __setitem__(self, key: str, message: _MessageData) -> None: ...\n def get_message(self, key: str) -> MHMessage: ...\n def get_bytes(self, key: str) -> bytes: ...\n def get_file(self, key: str) -> _ProxyFile[bytes]: ...\n def iterkeys(self) -> Iterator[str]: ...\n def __contains__(self, key: str) -> bool: ...\n def __len__(self) -> int: ...\n def flush(self) -> None: ...\n def lock(self) -> None: ...\n def unlock(self) -> None: ...\n def close(self) -> None: ...\n def list_folders(self) -> list[str]: ...\n def get_folder(self, folder: StrPath) -> MH: ...\n def add_folder(self, folder: StrPath) -> MH: ...\n def remove_folder(self, folder: StrPath) -> None: ...\n def get_sequences(self) -> dict[str, list[int]]: ...\n def set_sequences(self, sequences: Mapping[str, Sequence[int]]) -> None: ...\n def pack(self) -> None: ...\n\nclass Babyl(_singlefileMailbox[BabylMessage]):\n def __init__(self, path: StrPath, factory: Callable[[IO[Any]], BabylMessage] | None = None, create: bool = True) -> None: ...\n def get_message(self, key: str) -> BabylMessage: ...\n def get_bytes(self, key: str) -> bytes: ...\n def get_file(self, key: str) -> IO[bytes]: ...\n def get_labels(self) -> list[str]: ...\n\nclass Message(email.message.Message):\n def __init__(self, message: _MessageData | None = None) -> None: ...\n\nclass MaildirMessage(Message):\n def get_subdir(self) -> str: ...\n def set_subdir(self, subdir: Literal[\"new\", \"cur\"]) -> None: ...\n def get_flags(self) -> str: ...\n def set_flags(self, flags: Iterable[str]) -> None: ...\n def add_flag(self, flag: str) -> None: ...\n def remove_flag(self, flag: str) -> None: ...\n def get_date(self) -> int: ...\n def set_date(self, date: float) -> None: ...\n def get_info(self) -> str: ...\n def set_info(self, info: str) -> None: ...\n\nclass _mboxMMDFMessage(Message):\n def get_from(self) -> str: ...\n def set_from(self, from_: str, time_: bool | tuple[int, int, int, int, int, int, int, int, int] | None = None) -> None: ...\n def get_flags(self) -> str: ...\n def set_flags(self, flags: Iterable[str]) -> None: ...\n def add_flag(self, flag: str) -> None: ...\n def remove_flag(self, flag: str) -> None: ...\n\nclass mboxMessage(_mboxMMDFMessage): ...\n\nclass MHMessage(Message):\n def get_sequences(self) -> list[str]: ...\n def set_sequences(self, sequences: Iterable[str]) -> None: ...\n def add_sequence(self, sequence: str) -> None: ...\n def remove_sequence(self, sequence: str) -> None: ...\n\nclass BabylMessage(Message):\n def get_labels(self) -> list[str]: ...\n def set_labels(self, labels: Iterable[str]) -> None: ...\n def add_label(self, label: str) -> None: ...\n def remove_label(self, label: str) -> None: ...\n def get_visible(self) -> Message: ...\n def set_visible(self, visible: _MessageData) -> None: ...\n def update_visible(self) -> None: ...\n\nclass MMDFMessage(_mboxMMDFMessage): ...\n\nclass _ProxyFile(Generic[AnyStr]):\n def __init__(self, f: IO[AnyStr], pos: int | None = None) -> None: ...\n def read(self, size: int | None = None) -> AnyStr: ...\n def read1(self, size: int | None = None) -> AnyStr: ...\n def readline(self, size: int | None = None) -> AnyStr: ...\n def readlines(self, sizehint: int | None = None) -> list[AnyStr]: ...\n def __iter__(self) -> Iterator[AnyStr]: ...\n def tell(self) -> int: ...\n def seek(self, offset: int, whence: int = 0) -> None: ...\n def close(self) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, exc_type: type[BaseException] | None, exc: BaseException | None, tb: TracebackType | None) -> None: ...\n def readable(self) -> bool: ...\n def writable(self) -> bool: ...\n def seekable(self) -> bool: ...\n def flush(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass _PartialFile(_ProxyFile[AnyStr]):\n def __init__(self, f: IO[AnyStr], start: int | None = None, stop: int | None = None) -> None: ...\n\nclass Error(Exception): ...\nclass NoSuchMailboxError(Error): ...\nclass NotEmptyError(Error): ...\nclass ExternalClashError(Error): ...\nclass FormatError(Error): ...\n", + "/typeshed/stdlib/mailcap.pyi": "from collections.abc import Mapping, Sequence\nfrom typing_extensions import TypeAlias\n\n_Cap: TypeAlias = dict[str, str | int]\n\n__all__ = [\"getcaps\", \"findmatch\"]\n\ndef findmatch(\n caps: Mapping[str, list[_Cap]], MIMEtype: str, key: str = \"view\", filename: str = \"/dev/null\", plist: Sequence[str] = []\n) -> tuple[str | None, _Cap | None]: ...\ndef getcaps() -> dict[str, list[_Cap]]: ...\n", + "/typeshed/stdlib/marshal.pyi": "import builtins\nimport types\nfrom _typeshed import ReadableBuffer, SupportsRead, SupportsWrite\nfrom typing import Any\nfrom typing_extensions import TypeAlias\n\nversion: int\n\n_Marshallable: TypeAlias = (\n # handled in w_object() in marshal.c\n None\n | type[StopIteration]\n | builtins.ellipsis\n | bool\n # handled in w_complex_object() in marshal.c\n | int\n | float\n | complex\n | bytes\n | str\n | tuple[_Marshallable, ...]\n | list[Any]\n | dict[Any, Any]\n | set[Any]\n | frozenset[_Marshallable]\n | types.CodeType\n | ReadableBuffer\n)\n\ndef dump(__value: _Marshallable, __file: SupportsWrite[bytes], __version: int = 4) -> None: ...\ndef load(__file: SupportsRead[bytes]) -> Any: ...\ndef dumps(__value: _Marshallable, __version: int = 4) -> bytes: ...\ndef loads(__bytes: ReadableBuffer) -> Any: ...\n", + "/typeshed/stdlib/math.pyi": "import sys\nfrom collections.abc import Iterable\nfrom typing import Protocol, SupportsFloat, TypeVar, overload\nfrom typing_extensions import SupportsIndex, TypeAlias\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n\nif sys.version_info >= (3, 8):\n _SupportsFloatOrIndex: TypeAlias = SupportsFloat | SupportsIndex\nelse:\n _SupportsFloatOrIndex: TypeAlias = SupportsFloat\n\ne: float\npi: float\ninf: float\nnan: float\ntau: float\n\ndef acos(__x: _SupportsFloatOrIndex) -> float: ...\ndef acosh(__x: _SupportsFloatOrIndex) -> float: ...\ndef asin(__x: _SupportsFloatOrIndex) -> float: ...\ndef asinh(__x: _SupportsFloatOrIndex) -> float: ...\ndef atan(__x: _SupportsFloatOrIndex) -> float: ...\ndef atan2(__y: _SupportsFloatOrIndex, __x: _SupportsFloatOrIndex) -> float: ...\ndef atanh(__x: _SupportsFloatOrIndex) -> float: ...\n\nif sys.version_info >= (3, 11):\n def cbrt(__x: _SupportsFloatOrIndex) -> float: ...\n\nclass _SupportsCeil(Protocol[_T_co]):\n def __ceil__(self) -> _T_co: ...\n\n@overload\ndef ceil(__x: _SupportsCeil[_T]) -> _T: ...\n@overload\ndef ceil(__x: _SupportsFloatOrIndex) -> int: ...\n\nif sys.version_info >= (3, 8):\n def comb(__n: SupportsIndex, __k: SupportsIndex) -> int: ...\n\ndef copysign(__x: _SupportsFloatOrIndex, __y: _SupportsFloatOrIndex) -> float: ...\ndef cos(__x: _SupportsFloatOrIndex) -> float: ...\ndef cosh(__x: _SupportsFloatOrIndex) -> float: ...\ndef degrees(__x: _SupportsFloatOrIndex) -> float: ...\n\nif sys.version_info >= (3, 8):\n def dist(__p: Iterable[_SupportsFloatOrIndex], __q: Iterable[_SupportsFloatOrIndex]) -> float: ...\n\ndef erf(__x: _SupportsFloatOrIndex) -> float: ...\ndef erfc(__x: _SupportsFloatOrIndex) -> float: ...\ndef exp(__x: _SupportsFloatOrIndex) -> float: ...\n\nif sys.version_info >= (3, 11):\n def exp2(__x: _SupportsFloatOrIndex) -> float: ...\n\ndef expm1(__x: _SupportsFloatOrIndex) -> float: ...\ndef fabs(__x: _SupportsFloatOrIndex) -> float: ...\n\nif sys.version_info >= (3, 8):\n def factorial(__x: SupportsIndex) -> int: ...\n\nelse:\n def factorial(__x: int) -> int: ...\n\nclass _SupportsFloor(Protocol[_T_co]):\n def __floor__(self) -> _T_co: ...\n\n@overload\ndef floor(__x: _SupportsFloor[_T]) -> _T: ...\n@overload\ndef floor(__x: _SupportsFloatOrIndex) -> int: ...\ndef fmod(__x: _SupportsFloatOrIndex, __y: _SupportsFloatOrIndex) -> float: ...\ndef frexp(__x: _SupportsFloatOrIndex) -> tuple[float, int]: ...\ndef fsum(__seq: Iterable[_SupportsFloatOrIndex]) -> float: ...\ndef gamma(__x: _SupportsFloatOrIndex) -> float: ...\n\nif sys.version_info >= (3, 9):\n def gcd(*integers: SupportsIndex) -> int: ...\n\nelse:\n def gcd(__x: SupportsIndex, __y: SupportsIndex) -> int: ...\n\nif sys.version_info >= (3, 8):\n def hypot(*coordinates: _SupportsFloatOrIndex) -> float: ...\n\nelse:\n def hypot(__x: _SupportsFloatOrIndex, __y: _SupportsFloatOrIndex) -> float: ...\n\ndef isclose(\n a: _SupportsFloatOrIndex,\n b: _SupportsFloatOrIndex,\n *,\n rel_tol: _SupportsFloatOrIndex = 1e-09,\n abs_tol: _SupportsFloatOrIndex = 0.0,\n) -> bool: ...\ndef isinf(__x: _SupportsFloatOrIndex) -> bool: ...\ndef isfinite(__x: _SupportsFloatOrIndex) -> bool: ...\ndef isnan(__x: _SupportsFloatOrIndex) -> bool: ...\n\nif sys.version_info >= (3, 8):\n def isqrt(__n: SupportsIndex) -> int: ...\n\nif sys.version_info >= (3, 9):\n def lcm(*integers: SupportsIndex) -> int: ...\n\ndef ldexp(__x: _SupportsFloatOrIndex, __i: int) -> float: ...\ndef lgamma(__x: _SupportsFloatOrIndex) -> float: ...\ndef log(x: _SupportsFloatOrIndex, base: _SupportsFloatOrIndex = ...) -> float: ...\ndef log10(__x: _SupportsFloatOrIndex) -> float: ...\ndef log1p(__x: _SupportsFloatOrIndex) -> float: ...\ndef log2(__x: _SupportsFloatOrIndex) -> float: ...\ndef modf(__x: _SupportsFloatOrIndex) -> tuple[float, float]: ...\n\nif sys.version_info >= (3, 12):\n def nextafter(__x: _SupportsFloatOrIndex, __y: _SupportsFloatOrIndex, *, steps: SupportsIndex | None = None) -> float: ...\n\nelif sys.version_info >= (3, 9):\n def nextafter(__x: _SupportsFloatOrIndex, __y: _SupportsFloatOrIndex) -> float: ...\n\nif sys.version_info >= (3, 8):\n def perm(__n: SupportsIndex, __k: SupportsIndex | None = None) -> int: ...\n\ndef pow(__x: _SupportsFloatOrIndex, __y: _SupportsFloatOrIndex) -> float: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def prod(__iterable: Iterable[SupportsIndex], *, start: SupportsIndex = 1) -> int: ... # type: ignore[misc]\n @overload\n def prod(__iterable: Iterable[_SupportsFloatOrIndex], *, start: _SupportsFloatOrIndex = 1) -> float: ...\n\ndef radians(__x: _SupportsFloatOrIndex) -> float: ...\ndef remainder(__x: _SupportsFloatOrIndex, __y: _SupportsFloatOrIndex) -> float: ...\ndef sin(__x: _SupportsFloatOrIndex) -> float: ...\ndef sinh(__x: _SupportsFloatOrIndex) -> float: ...\n\nif sys.version_info >= (3, 12):\n def sumprod(__p: Iterable[float], __q: Iterable[float]) -> float: ...\n\ndef sqrt(__x: _SupportsFloatOrIndex) -> float: ...\ndef tan(__x: _SupportsFloatOrIndex) -> float: ...\ndef tanh(__x: _SupportsFloatOrIndex) -> float: ...\n\n# Is different from `_typeshed.SupportsTrunc`, which is not generic\nclass _SupportsTrunc(Protocol[_T_co]):\n def __trunc__(self) -> _T_co: ...\n\ndef trunc(__x: _SupportsTrunc[_T]) -> _T: ...\n\nif sys.version_info >= (3, 9):\n def ulp(__x: _SupportsFloatOrIndex) -> float: ...\n", + "/typeshed/stdlib/mimetypes.pyi": "import sys\nfrom _typeshed import StrPath\nfrom collections.abc import Sequence\nfrom typing import IO\n\n__all__ = [\n \"knownfiles\",\n \"inited\",\n \"MimeTypes\",\n \"guess_type\",\n \"guess_all_extensions\",\n \"guess_extension\",\n \"add_type\",\n \"init\",\n \"read_mime_types\",\n \"suffix_map\",\n \"encodings_map\",\n \"types_map\",\n \"common_types\",\n]\n\nif sys.version_info >= (3, 8):\n def guess_type(url: StrPath, strict: bool = True) -> tuple[str | None, str | None]: ...\n\nelse:\n def guess_type(url: str, strict: bool = True) -> tuple[str | None, str | None]: ...\n\ndef guess_all_extensions(type: str, strict: bool = True) -> list[str]: ...\ndef guess_extension(type: str, strict: bool = True) -> str | None: ...\ndef init(files: Sequence[str] | None = None) -> None: ...\ndef read_mime_types(file: str) -> dict[str, str] | None: ...\ndef add_type(type: str, ext: str, strict: bool = True) -> None: ...\n\ninited: bool\nknownfiles: list[str]\nsuffix_map: dict[str, str]\nencodings_map: dict[str, str]\ntypes_map: dict[str, str]\ncommon_types: dict[str, str]\n\nclass MimeTypes:\n suffix_map: dict[str, str]\n encodings_map: dict[str, str]\n types_map: tuple[dict[str, str], dict[str, str]]\n types_map_inv: tuple[dict[str, str], dict[str, str]]\n def __init__(self, filenames: tuple[str, ...] = (), strict: bool = True) -> None: ...\n def guess_extension(self, type: str, strict: bool = True) -> str | None: ...\n if sys.version_info >= (3, 8):\n def guess_type(self, url: StrPath, strict: bool = True) -> tuple[str | None, str | None]: ...\n else:\n def guess_type(self, url: str, strict: bool = True) -> tuple[str | None, str | None]: ...\n\n def guess_all_extensions(self, type: str, strict: bool = True) -> list[str]: ...\n def read(self, filename: str, strict: bool = True) -> None: ...\n def readfp(self, fp: IO[str], strict: bool = True) -> None: ...\n def read_windows_registry(self, strict: bool = True) -> None: ...\n", + "/typeshed/stdlib/mmap.pyi": "import sys\nfrom _typeshed import ReadableBuffer, Unused\nfrom collections.abc import Iterable, Iterator, Sized\nfrom typing import NoReturn, overload\nfrom typing_extensions import Self\n\nACCESS_DEFAULT: int\nACCESS_READ: int\nACCESS_WRITE: int\nACCESS_COPY: int\n\nALLOCATIONGRANULARITY: int\n\nif sys.platform == \"linux\":\n MAP_DENYWRITE: int\n MAP_EXECUTABLE: int\n if sys.version_info >= (3, 10):\n MAP_POPULATE: int\nif sys.version_info >= (3, 11) and sys.platform != \"win32\" and sys.platform != \"darwin\":\n MAP_STACK: int\n\nif sys.platform != \"win32\":\n MAP_ANON: int\n MAP_ANONYMOUS: int\n MAP_PRIVATE: int\n MAP_SHARED: int\n PROT_EXEC: int\n PROT_READ: int\n PROT_WRITE: int\n\nPAGESIZE: int\n\nclass mmap(Iterable[int], Sized):\n if sys.platform == \"win32\":\n def __init__(self, fileno: int, length: int, tagname: str | None = ..., access: int = ..., offset: int = ...) -> None: ...\n else:\n def __init__(\n self, fileno: int, length: int, flags: int = ..., prot: int = ..., access: int = ..., offset: int = ...\n ) -> None: ...\n\n def close(self) -> None: ...\n if sys.version_info >= (3, 8):\n def flush(self, offset: int = ..., size: int = ...) -> None: ...\n else:\n def flush(self, offset: int = ..., size: int = ...) -> int: ...\n\n def move(self, dest: int, src: int, count: int) -> None: ...\n def read_byte(self) -> int: ...\n def readline(self) -> bytes: ...\n def resize(self, newsize: int) -> None: ...\n def seek(self, pos: int, whence: int = ...) -> None: ...\n def size(self) -> int: ...\n def tell(self) -> int: ...\n def write_byte(self, byte: int) -> None: ...\n def __len__(self) -> int: ...\n closed: bool\n if sys.version_info >= (3, 8) and sys.platform != \"win32\":\n def madvise(self, option: int, start: int = ..., length: int = ...) -> None: ...\n\n def find(self, sub: ReadableBuffer, start: int = ..., stop: int = ...) -> int: ...\n def rfind(self, sub: ReadableBuffer, start: int = ..., stop: int = ...) -> int: ...\n def read(self, n: int | None = ...) -> bytes: ...\n def write(self, bytes: ReadableBuffer) -> int: ...\n @overload\n def __getitem__(self, __key: int) -> int: ...\n @overload\n def __getitem__(self, __key: slice) -> bytes: ...\n def __delitem__(self, __key: int | slice) -> NoReturn: ...\n @overload\n def __setitem__(self, __key: int, __value: int) -> None: ...\n @overload\n def __setitem__(self, __key: slice, __value: ReadableBuffer) -> None: ...\n # Doesn't actually exist, but the object actually supports \"in\" because it has __getitem__,\n # so we claim that there is also a __contains__ to help type checkers.\n def __contains__(self, __o: object) -> bool: ...\n # Doesn't actually exist, but the object is actually iterable because it has __getitem__ and __len__,\n # so we claim that there is also an __iter__ to help type checkers.\n def __iter__(self) -> Iterator[int]: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, *args: Unused) -> None: ...\n def __buffer__(self, __flags: int) -> memoryview: ...\n def __release_buffer__(self, __buffer: memoryview) -> None: ...\n\nif sys.version_info >= (3, 8) and sys.platform != \"win32\":\n MADV_NORMAL: int\n MADV_RANDOM: int\n MADV_SEQUENTIAL: int\n MADV_WILLNEED: int\n MADV_DONTNEED: int\n MADV_FREE: int\n\n if sys.platform == \"linux\":\n MADV_REMOVE: int\n MADV_DONTFORK: int\n MADV_DOFORK: int\n MADV_HWPOISON: int\n MADV_MERGEABLE: int\n MADV_UNMERGEABLE: int\n # Seems like this constant is not defined in glibc.\n # See https://github.com/python/typeshed/pull/5360 for details\n # MADV_SOFT_OFFLINE: int\n MADV_HUGEPAGE: int\n MADV_NOHUGEPAGE: int\n MADV_DONTDUMP: int\n MADV_DODUMP: int\n\n # This Values are defined for FreeBSD but type checkers do not support conditions for these\n if sys.platform != \"linux\" and sys.platform != \"darwin\":\n MADV_NOSYNC: int\n MADV_AUTOSYNC: int\n MADV_NOCORE: int\n MADV_CORE: int\n MADV_PROTECT: int\n\nif sys.version_info >= (3, 10) and sys.platform == \"darwin\":\n MADV_FREE_REUSABLE: int\n MADV_FREE_REUSE: int\n", + "/typeshed/stdlib/modulefinder.pyi": "import sys\nfrom collections.abc import Container, Iterable, Iterator, Sequence\nfrom types import CodeType\nfrom typing import IO, Any\n\nif sys.version_info < (3, 11):\n LOAD_CONST: int # undocumented\n IMPORT_NAME: int # undocumented\n STORE_NAME: int # undocumented\n STORE_GLOBAL: int # undocumented\n STORE_OPS: tuple[int, int] # undocumented\n EXTENDED_ARG: int # undocumented\n\npackagePathMap: dict[str, list[str]] # undocumented\n\ndef AddPackagePath(packagename: str, path: str) -> None: ...\n\nreplacePackageMap: dict[str, str] # undocumented\n\ndef ReplacePackage(oldname: str, newname: str) -> None: ...\n\nclass Module: # undocumented\n def __init__(self, name: str, file: str | None = None, path: str | None = None) -> None: ...\n\nclass ModuleFinder:\n modules: dict[str, Module]\n path: list[str] # undocumented\n badmodules: dict[str, dict[str, int]] # undocumented\n debug: int # undocumented\n indent: int # undocumented\n excludes: Container[str] # undocumented\n replace_paths: Sequence[tuple[str, str]] # undocumented\n\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n path: list[str] | None = None,\n debug: int = 0,\n excludes: Container[str] | None = None,\n replace_paths: Sequence[tuple[str, str]] | None = None,\n ) -> None: ...\n else:\n def __init__(\n self,\n path: list[str] | None = None,\n debug: int = 0,\n excludes: Container[str] = [],\n replace_paths: Sequence[tuple[str, str]] = [],\n ) -> None: ...\n\n def msg(self, level: int, str: str, *args: Any) -> None: ... # undocumented\n def msgin(self, *args: Any) -> None: ... # undocumented\n def msgout(self, *args: Any) -> None: ... # undocumented\n def run_script(self, pathname: str) -> None: ...\n def load_file(self, pathname: str) -> None: ... # undocumented\n def import_hook(\n self, name: str, caller: Module | None = None, fromlist: list[str] | None = None, level: int = -1\n ) -> Module | None: ... # undocumented\n def determine_parent(self, caller: Module | None, level: int = -1) -> Module | None: ... # undocumented\n def find_head_package(self, parent: Module, name: str) -> tuple[Module, str]: ... # undocumented\n def load_tail(self, q: Module, tail: str) -> Module: ... # undocumented\n def ensure_fromlist(self, m: Module, fromlist: Iterable[str], recursive: int = 0) -> None: ... # undocumented\n def find_all_submodules(self, m: Module) -> Iterable[str]: ... # undocumented\n def import_module(self, partname: str, fqname: str, parent: Module) -> Module | None: ... # undocumented\n def load_module(self, fqname: str, fp: IO[str], pathname: str, file_info: tuple[str, str, str]) -> Module: ... # undocumented\n def scan_opcodes(self, co: CodeType) -> Iterator[tuple[str, tuple[Any, ...]]]: ... # undocumented\n def scan_code(self, co: CodeType, m: Module) -> None: ... # undocumented\n def load_package(self, fqname: str, pathname: str) -> Module: ... # undocumented\n def add_module(self, fqname: str) -> Module: ... # undocumented\n def find_module(\n self, name: str, path: str | None, parent: Module | None = None\n ) -> tuple[IO[Any] | None, str | None, tuple[str, str, int]]: ... # undocumented\n def report(self) -> None: ...\n def any_missing(self) -> list[str]: ... # undocumented\n def any_missing_maybe(self) -> tuple[list[str], list[str]]: ... # undocumented\n def replace_paths_in_code(self, co: CodeType) -> CodeType: ... # undocumented\n", + "/typeshed/stdlib/msvcrt.pyi": "import sys\nfrom typing_extensions import Final, Literal\n\n# This module is only available on Windows\nif sys.platform == \"win32\":\n CRT_ASSEMBLY_VERSION: Final[str]\n LK_UNLCK: Literal[0]\n LK_LOCK: Literal[1]\n LK_NBLCK: Literal[2]\n LK_RLCK: Literal[3]\n LK_NBRLCK: Literal[4]\n SEM_FAILCRITICALERRORS: int\n SEM_NOALIGNMENTFAULTEXCEPT: int\n SEM_NOGPFAULTERRORBOX: int\n SEM_NOOPENFILEERRORBOX: int\n def locking(__fd: int, __mode: int, __nbytes: int) -> None: ...\n def setmode(__fd: int, __mode: int) -> int: ...\n def open_osfhandle(__handle: int, __flags: int) -> int: ...\n def get_osfhandle(__fd: int) -> int: ...\n def kbhit() -> bool: ...\n def getch() -> bytes: ...\n def getwch() -> str: ...\n def getche() -> bytes: ...\n def getwche() -> str: ...\n def putch(__char: bytes | bytearray) -> None: ...\n def putwch(__unicode_char: str) -> None: ...\n def ungetch(__char: bytes | bytearray) -> None: ...\n def ungetwch(__unicode_char: str) -> None: ...\n def heapmin() -> None: ...\n def SetErrorMode(__mode: int) -> int: ...\n if sys.version_info >= (3, 10):\n def GetErrorMode() -> int: ... # undocumented\n", + "/typeshed/stdlib/netrc.pyi": "import sys\nfrom _typeshed import StrOrBytesPath\nfrom typing_extensions import TypeAlias\n\n__all__ = [\"netrc\", \"NetrcParseError\"]\n\nclass NetrcParseError(Exception):\n filename: str | None\n lineno: int | None\n msg: str\n def __init__(self, msg: str, filename: StrOrBytesPath | None = None, lineno: int | None = None) -> None: ...\n\n# (login, account, password) tuple\nif sys.version_info >= (3, 11):\n _NetrcTuple: TypeAlias = tuple[str, str, str]\nelse:\n _NetrcTuple: TypeAlias = tuple[str, str | None, str | None]\n\nclass netrc:\n hosts: dict[str, _NetrcTuple]\n macros: dict[str, list[str]]\n def __init__(self, file: StrOrBytesPath | None = None) -> None: ...\n def authenticators(self, host: str) -> _NetrcTuple | None: ...\n", + "/typeshed/stdlib/nis.pyi": "import sys\n\nif sys.platform != \"win32\":\n def cat(map: str, domain: str = ...) -> dict[str, str]: ...\n def get_default_domain() -> str: ...\n def maps(domain: str = ...) -> list[str]: ...\n def match(key: str, map: str, domain: str = ...) -> str: ...\n\n class error(Exception): ...\n", + "/typeshed/stdlib/nntplib.pyi": "import datetime\nimport socket\nimport ssl\nimport sys\nfrom _typeshed import Unused\nfrom builtins import list as _list # conflicts with a method named \"list\"\nfrom collections.abc import Iterable\nfrom typing import IO, Any, NamedTuple\nfrom typing_extensions import Literal, Self, TypeAlias\n\n__all__ = [\n \"NNTP\",\n \"NNTPError\",\n \"NNTPReplyError\",\n \"NNTPTemporaryError\",\n \"NNTPPermanentError\",\n \"NNTPProtocolError\",\n \"NNTPDataError\",\n \"decode_header\",\n \"NNTP_SSL\",\n]\n\n_File: TypeAlias = IO[bytes] | bytes | str | None\n\nclass NNTPError(Exception):\n response: str\n\nclass NNTPReplyError(NNTPError): ...\nclass NNTPTemporaryError(NNTPError): ...\nclass NNTPPermanentError(NNTPError): ...\nclass NNTPProtocolError(NNTPError): ...\nclass NNTPDataError(NNTPError): ...\n\nNNTP_PORT: Literal[119]\nNNTP_SSL_PORT: Literal[563]\n\nclass GroupInfo(NamedTuple):\n group: str\n last: str\n first: str\n flag: str\n\nclass ArticleInfo(NamedTuple):\n number: int\n message_id: str\n lines: list[bytes]\n\ndef decode_header(header_str: str) -> str: ...\n\nclass NNTP:\n encoding: str\n errors: str\n\n host: str\n port: int\n sock: socket.socket\n file: IO[bytes]\n debugging: int\n welcome: str\n readermode_afterauth: bool\n tls_on: bool\n authenticated: bool\n nntp_implementation: str\n nntp_version: int\n def __init__(\n self,\n host: str,\n port: int = 119,\n user: str | None = None,\n password: str | None = None,\n readermode: bool | None = None,\n usenetrc: bool = False,\n timeout: float = ...,\n ) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, *args: Unused) -> None: ...\n def getwelcome(self) -> str: ...\n def getcapabilities(self) -> dict[str, _list[str]]: ...\n def set_debuglevel(self, level: int) -> None: ...\n def debug(self, level: int) -> None: ...\n def capabilities(self) -> tuple[str, dict[str, _list[str]]]: ...\n def newgroups(self, date: datetime.date | datetime.datetime, *, file: _File = None) -> tuple[str, _list[str]]: ...\n def newnews(self, group: str, date: datetime.date | datetime.datetime, *, file: _File = None) -> tuple[str, _list[str]]: ...\n def list(self, group_pattern: str | None = None, *, file: _File = None) -> tuple[str, _list[str]]: ...\n def description(self, group: str) -> str: ...\n def descriptions(self, group_pattern: str) -> tuple[str, dict[str, str]]: ...\n def group(self, name: str) -> tuple[str, int, int, int, str]: ...\n def help(self, *, file: _File = None) -> tuple[str, _list[str]]: ...\n def stat(self, message_spec: Any = None) -> tuple[str, int, str]: ...\n def next(self) -> tuple[str, int, str]: ...\n def last(self) -> tuple[str, int, str]: ...\n def head(self, message_spec: Any = None, *, file: _File = None) -> tuple[str, ArticleInfo]: ...\n def body(self, message_spec: Any = None, *, file: _File = None) -> tuple[str, ArticleInfo]: ...\n def article(self, message_spec: Any = None, *, file: _File = None) -> tuple[str, ArticleInfo]: ...\n def slave(self) -> str: ...\n def xhdr(self, hdr: str, str: Any, *, file: _File = None) -> tuple[str, _list[str]]: ...\n def xover(self, start: int, end: int, *, file: _File = None) -> tuple[str, _list[tuple[int, dict[str, str]]]]: ...\n def over(\n self, message_spec: None | str | _list[Any] | tuple[Any, ...], *, file: _File = None\n ) -> tuple[str, _list[tuple[int, dict[str, str]]]]: ...\n if sys.version_info < (3, 9):\n def xgtitle(self, group: str, *, file: _File = None) -> tuple[str, _list[tuple[str, str]]]: ...\n def xpath(self, id: Any) -> tuple[str, str]: ...\n\n def date(self) -> tuple[str, datetime.datetime]: ...\n def post(self, data: bytes | Iterable[bytes]) -> str: ...\n def ihave(self, message_id: Any, data: bytes | Iterable[bytes]) -> str: ...\n def quit(self) -> str: ...\n def login(self, user: str | None = None, password: str | None = None, usenetrc: bool = True) -> None: ...\n def starttls(self, context: ssl.SSLContext | None = None) -> None: ...\n\nclass NNTP_SSL(NNTP):\n ssl_context: ssl.SSLContext | None\n sock: ssl.SSLSocket\n def __init__(\n self,\n host: str,\n port: int = 563,\n user: str | None = None,\n password: str | None = None,\n ssl_context: ssl.SSLContext | None = None,\n readermode: bool | None = None,\n usenetrc: bool = False,\n timeout: float = ...,\n ) -> None: ...\n", + "/typeshed/stdlib/nt.pyi": "import sys\n\nif sys.platform == \"win32\":\n # Actually defined here and re-exported from os at runtime,\n # but this leads to less code duplication\n from os import (\n F_OK as F_OK,\n O_APPEND as O_APPEND,\n O_BINARY as O_BINARY,\n O_CREAT as O_CREAT,\n O_EXCL as O_EXCL,\n O_NOINHERIT as O_NOINHERIT,\n O_RANDOM as O_RANDOM,\n O_RDONLY as O_RDONLY,\n O_RDWR as O_RDWR,\n O_SEQUENTIAL as O_SEQUENTIAL,\n O_SHORT_LIVED as O_SHORT_LIVED,\n O_TEMPORARY as O_TEMPORARY,\n O_TEXT as O_TEXT,\n O_TRUNC as O_TRUNC,\n O_WRONLY as O_WRONLY,\n P_DETACH as P_DETACH,\n P_NOWAIT as P_NOWAIT,\n P_NOWAITO as P_NOWAITO,\n P_OVERLAY as P_OVERLAY,\n P_WAIT as P_WAIT,\n R_OK as R_OK,\n TMP_MAX as TMP_MAX,\n W_OK as W_OK,\n X_OK as X_OK,\n DirEntry as DirEntry,\n abort as abort,\n access as access,\n chdir as chdir,\n chmod as chmod,\n close as close,\n closerange as closerange,\n cpu_count as cpu_count,\n device_encoding as device_encoding,\n dup as dup,\n dup2 as dup2,\n error as error,\n execv as execv,\n execve as execve,\n fspath as fspath,\n fstat as fstat,\n fsync as fsync,\n ftruncate as ftruncate,\n get_handle_inheritable as get_handle_inheritable,\n get_inheritable as get_inheritable,\n get_terminal_size as get_terminal_size,\n getcwd as getcwd,\n getcwdb as getcwdb,\n getlogin as getlogin,\n getpid as getpid,\n getppid as getppid,\n isatty as isatty,\n kill as kill,\n link as link,\n listdir as listdir,\n lseek as lseek,\n lstat as lstat,\n mkdir as mkdir,\n open as open,\n pipe as pipe,\n putenv as putenv,\n read as read,\n readlink as readlink,\n remove as remove,\n rename as rename,\n replace as replace,\n rmdir as rmdir,\n scandir as scandir,\n set_handle_inheritable as set_handle_inheritable,\n set_inheritable as set_inheritable,\n spawnv as spawnv,\n spawnve as spawnve,\n startfile as startfile,\n stat as stat,\n stat_result as stat_result,\n statvfs_result as statvfs_result,\n strerror as strerror,\n symlink as symlink,\n system as system,\n terminal_size as terminal_size,\n times as times,\n times_result as times_result,\n truncate as truncate,\n umask as umask,\n uname_result as uname_result,\n unlink as unlink,\n urandom as urandom,\n utime as utime,\n waitpid as waitpid,\n write as write,\n )\n\n if sys.version_info >= (3, 9):\n from os import unsetenv as unsetenv, waitstatus_to_exitcode as waitstatus_to_exitcode\n if sys.version_info >= (3, 11):\n from os import EX_OK as EX_OK\n if sys.version_info >= (3, 12):\n from os import (\n get_blocking as get_blocking,\n listdrives as listdrives,\n listmounts as listmounts,\n listvolumes as listvolumes,\n set_blocking as set_blocking,\n )\n\n environ: dict[str, str]\n", + "/typeshed/stdlib/ntpath.pyi": "import sys\nfrom _typeshed import BytesPath, StrPath\nfrom genericpath import (\n commonprefix as commonprefix,\n exists as exists,\n getatime as getatime,\n getctime as getctime,\n getmtime as getmtime,\n getsize as getsize,\n isdir as isdir,\n isfile as isfile,\n samefile as samefile,\n sameopenfile as sameopenfile,\n samestat as samestat,\n)\nfrom os import PathLike\n\n# Re-export common definitions from posixpath to reduce duplication\nfrom posixpath import (\n abspath as abspath,\n basename as basename,\n commonpath as commonpath,\n curdir as curdir,\n defpath as defpath,\n devnull as devnull,\n dirname as dirname,\n expanduser as expanduser,\n expandvars as expandvars,\n extsep as extsep,\n isabs as isabs,\n islink as islink,\n ismount as ismount,\n lexists as lexists,\n normcase as normcase,\n normpath as normpath,\n pardir as pardir,\n pathsep as pathsep,\n relpath as relpath,\n sep as sep,\n split as split,\n splitdrive as splitdrive,\n splitext as splitext,\n supports_unicode_filenames as supports_unicode_filenames,\n)\n\nif sys.version_info >= (3, 12):\n from posixpath import isjunction as isjunction, splitroot as splitroot\nfrom typing import AnyStr, overload\nfrom typing_extensions import LiteralString\n\n__all__ = [\n \"normcase\",\n \"isabs\",\n \"join\",\n \"splitdrive\",\n \"split\",\n \"splitext\",\n \"basename\",\n \"dirname\",\n \"commonprefix\",\n \"getsize\",\n \"getmtime\",\n \"getatime\",\n \"getctime\",\n \"islink\",\n \"exists\",\n \"lexists\",\n \"isdir\",\n \"isfile\",\n \"ismount\",\n \"expanduser\",\n \"expandvars\",\n \"normpath\",\n \"abspath\",\n \"curdir\",\n \"pardir\",\n \"sep\",\n \"pathsep\",\n \"defpath\",\n \"altsep\",\n \"extsep\",\n \"devnull\",\n \"realpath\",\n \"supports_unicode_filenames\",\n \"relpath\",\n \"samefile\",\n \"sameopenfile\",\n \"samestat\",\n \"commonpath\",\n]\nif sys.version_info >= (3, 12):\n __all__ += [\"isjunction\", \"splitroot\"]\n\naltsep: LiteralString\n\n# First parameter is not actually pos-only,\n# but must be defined as pos-only in the stub or cross-platform code doesn't type-check,\n# as the parameter name is different in posixpath.join()\n@overload\ndef join(__path: LiteralString, *paths: LiteralString) -> LiteralString: ...\n@overload\ndef join(__path: StrPath, *paths: StrPath) -> str: ...\n@overload\ndef join(__path: BytesPath, *paths: BytesPath) -> bytes: ...\n\nif sys.platform == \"win32\":\n if sys.version_info >= (3, 10):\n @overload\n def realpath(path: PathLike[AnyStr], *, strict: bool = False) -> AnyStr: ...\n @overload\n def realpath(path: AnyStr, *, strict: bool = False) -> AnyStr: ...\n else:\n @overload\n def realpath(path: PathLike[AnyStr]) -> AnyStr: ...\n @overload\n def realpath(path: AnyStr) -> AnyStr: ...\n\nelse:\n realpath = abspath\n", + "/typeshed/stdlib/nturl2path.pyi": "def url2pathname(url: str) -> str: ...\ndef pathname2url(p: str) -> str: ...\n", + "/typeshed/stdlib/numbers.pyi": "# Note: these stubs are incomplete. The more complex type\n# signatures are currently omitted.\n\nfrom abc import ABCMeta, abstractmethod\nfrom typing import Any, SupportsFloat, overload\n\n__all__ = [\"Number\", \"Complex\", \"Real\", \"Rational\", \"Integral\"]\n\nclass Number(metaclass=ABCMeta):\n @abstractmethod\n def __hash__(self) -> int: ...\n\nclass Complex(Number):\n @abstractmethod\n def __complex__(self) -> complex: ...\n def __bool__(self) -> bool: ...\n @property\n @abstractmethod\n def real(self) -> Any: ...\n @property\n @abstractmethod\n def imag(self) -> Any: ...\n @abstractmethod\n def __add__(self, other: Any) -> Any: ...\n @abstractmethod\n def __radd__(self, other: Any) -> Any: ...\n @abstractmethod\n def __neg__(self) -> Any: ...\n @abstractmethod\n def __pos__(self) -> Any: ...\n def __sub__(self, other: Any) -> Any: ...\n def __rsub__(self, other: Any) -> Any: ...\n @abstractmethod\n def __mul__(self, other: Any) -> Any: ...\n @abstractmethod\n def __rmul__(self, other: Any) -> Any: ...\n @abstractmethod\n def __truediv__(self, other: Any) -> Any: ...\n @abstractmethod\n def __rtruediv__(self, other: Any) -> Any: ...\n @abstractmethod\n def __pow__(self, exponent: Any) -> Any: ...\n @abstractmethod\n def __rpow__(self, base: Any) -> Any: ...\n @abstractmethod\n def __abs__(self) -> Real: ...\n @abstractmethod\n def conjugate(self) -> Any: ...\n @abstractmethod\n def __eq__(self, other: object) -> bool: ...\n\nclass Real(Complex, SupportsFloat):\n @abstractmethod\n def __float__(self) -> float: ...\n @abstractmethod\n def __trunc__(self) -> int: ...\n @abstractmethod\n def __floor__(self) -> int: ...\n @abstractmethod\n def __ceil__(self) -> int: ...\n @abstractmethod\n @overload\n def __round__(self, ndigits: None = None) -> int: ...\n @abstractmethod\n @overload\n def __round__(self, ndigits: int) -> Any: ...\n def __divmod__(self, other: Any) -> Any: ...\n def __rdivmod__(self, other: Any) -> Any: ...\n @abstractmethod\n def __floordiv__(self, other: Any) -> int: ...\n @abstractmethod\n def __rfloordiv__(self, other: Any) -> int: ...\n @abstractmethod\n def __mod__(self, other: Any) -> Any: ...\n @abstractmethod\n def __rmod__(self, other: Any) -> Any: ...\n @abstractmethod\n def __lt__(self, other: Any) -> bool: ...\n @abstractmethod\n def __le__(self, other: Any) -> bool: ...\n def __complex__(self) -> complex: ...\n @property\n def real(self) -> Any: ...\n @property\n def imag(self) -> Any: ...\n def conjugate(self) -> Any: ...\n\nclass Rational(Real):\n @property\n @abstractmethod\n def numerator(self) -> int: ...\n @property\n @abstractmethod\n def denominator(self) -> int: ...\n def __float__(self) -> float: ...\n\nclass Integral(Rational):\n @abstractmethod\n def __int__(self) -> int: ...\n def __index__(self) -> int: ...\n @abstractmethod\n def __pow__(self, exponent: Any, modulus: Any | None = None) -> Any: ...\n @abstractmethod\n def __lshift__(self, other: Any) -> Any: ...\n @abstractmethod\n def __rlshift__(self, other: Any) -> Any: ...\n @abstractmethod\n def __rshift__(self, other: Any) -> Any: ...\n @abstractmethod\n def __rrshift__(self, other: Any) -> Any: ...\n @abstractmethod\n def __and__(self, other: Any) -> Any: ...\n @abstractmethod\n def __rand__(self, other: Any) -> Any: ...\n @abstractmethod\n def __xor__(self, other: Any) -> Any: ...\n @abstractmethod\n def __rxor__(self, other: Any) -> Any: ...\n @abstractmethod\n def __or__(self, other: Any) -> Any: ...\n @abstractmethod\n def __ror__(self, other: Any) -> Any: ...\n @abstractmethod\n def __invert__(self) -> Any: ...\n def __float__(self) -> float: ...\n @property\n def numerator(self) -> int: ...\n @property\n def denominator(self) -> int: ...\n", + "/typeshed/stdlib/opcode.pyi": "import sys\nfrom typing_extensions import Literal\n\n__all__ = [\n \"cmp_op\",\n \"hasconst\",\n \"hasname\",\n \"hasjrel\",\n \"hasjabs\",\n \"haslocal\",\n \"hascompare\",\n \"hasfree\",\n \"opname\",\n \"opmap\",\n \"HAVE_ARGUMENT\",\n \"EXTENDED_ARG\",\n \"stack_effect\",\n]\nif sys.version_info >= (3, 12):\n __all__ += [\"hasarg\", \"hasexc\"]\nelse:\n __all__ += [\"hasnargs\"]\n\nif sys.version_info >= (3, 9):\n cmp_op: tuple[Literal[\"<\"], Literal[\"<=\"], Literal[\"==\"], Literal[\"!=\"], Literal[\">\"], Literal[\">=\"]]\nelse:\n cmp_op: tuple[\n Literal[\"<\"],\n Literal[\"<=\"],\n Literal[\"==\"],\n Literal[\"!=\"],\n Literal[\">\"],\n Literal[\">=\"],\n Literal[\"in\"],\n Literal[\"not in\"],\n Literal[\"is\"],\n Literal[\"is not\"],\n Literal[\"exception match\"],\n Literal[\"BAD\"],\n ]\nhasconst: list[int]\nhasname: list[int]\nhasjrel: list[int]\nhasjabs: list[int]\nhaslocal: list[int]\nhascompare: list[int]\nhasfree: list[int]\nif sys.version_info >= (3, 12):\n hasarg: list[int]\n hasexc: list[int]\nelse:\n hasnargs: list[int]\nopname: list[str]\n\nopmap: dict[str, int]\nHAVE_ARGUMENT: Literal[90]\nEXTENDED_ARG: Literal[144]\n\nif sys.version_info >= (3, 8):\n def stack_effect(__opcode: int, __oparg: int | None = None, *, jump: bool | None = None) -> int: ...\n\nelse:\n def stack_effect(__opcode: int, __oparg: int | None = None) -> int: ...\n", + "/typeshed/stdlib/operator.pyi": "import sys\nfrom _operator import *\n\n__all__ = [\n \"abs\",\n \"add\",\n \"and_\",\n \"attrgetter\",\n \"concat\",\n \"contains\",\n \"countOf\",\n \"delitem\",\n \"eq\",\n \"floordiv\",\n \"ge\",\n \"getitem\",\n \"gt\",\n \"iadd\",\n \"iand\",\n \"iconcat\",\n \"ifloordiv\",\n \"ilshift\",\n \"imatmul\",\n \"imod\",\n \"imul\",\n \"index\",\n \"indexOf\",\n \"inv\",\n \"invert\",\n \"ior\",\n \"ipow\",\n \"irshift\",\n \"is_\",\n \"is_not\",\n \"isub\",\n \"itemgetter\",\n \"itruediv\",\n \"ixor\",\n \"le\",\n \"length_hint\",\n \"lshift\",\n \"lt\",\n \"matmul\",\n \"methodcaller\",\n \"mod\",\n \"mul\",\n \"ne\",\n \"neg\",\n \"not_\",\n \"or_\",\n \"pos\",\n \"pow\",\n \"rshift\",\n \"setitem\",\n \"sub\",\n \"truediv\",\n \"truth\",\n \"xor\",\n]\n\nif sys.version_info >= (3, 11):\n __all__ += [\"call\"]\n\n__lt__ = lt\n__le__ = le\n__eq__ = eq\n__ne__ = ne\n__ge__ = ge\n__gt__ = gt\n__not__ = not_\n__abs__ = abs\n__add__ = add\n__and__ = and_\n__floordiv__ = floordiv\n__index__ = index\n__inv__ = inv\n__invert__ = invert\n__lshift__ = lshift\n__mod__ = mod\n__mul__ = mul\n__matmul__ = matmul\n__neg__ = neg\n__or__ = or_\n__pos__ = pos\n__pow__ = pow\n__rshift__ = rshift\n__sub__ = sub\n__truediv__ = truediv\n__xor__ = xor\n__concat__ = concat\n__contains__ = contains\n__delitem__ = delitem\n__getitem__ = getitem\n__setitem__ = setitem\n__iadd__ = iadd\n__iand__ = iand\n__iconcat__ = iconcat\n__ifloordiv__ = ifloordiv\n__ilshift__ = ilshift\n__imod__ = imod\n__imul__ = imul\n__imatmul__ = imatmul\n__ior__ = ior\n__ipow__ = ipow\n__irshift__ = irshift\n__isub__ = isub\n__itruediv__ = itruediv\n__ixor__ = ixor\nif sys.version_info >= (3, 11):\n __call__ = call\n", + "/typeshed/stdlib/optparse.pyi": "from abc import abstractmethod\nfrom collections.abc import Callable, Iterable, Mapping, Sequence\nfrom typing import IO, Any, AnyStr, overload\n\n__all__ = [\n \"Option\",\n \"make_option\",\n \"SUPPRESS_HELP\",\n \"SUPPRESS_USAGE\",\n \"Values\",\n \"OptionContainer\",\n \"OptionGroup\",\n \"OptionParser\",\n \"HelpFormatter\",\n \"IndentedHelpFormatter\",\n \"TitledHelpFormatter\",\n \"OptParseError\",\n \"OptionError\",\n \"OptionConflictError\",\n \"OptionValueError\",\n \"BadOptionError\",\n \"check_choice\",\n]\n\nNO_DEFAULT: tuple[str, ...]\nSUPPRESS_HELP: str\nSUPPRESS_USAGE: str\n\ndef check_builtin(option: Option, opt: Any, value: str) -> Any: ...\ndef check_choice(option: Option, opt: Any, value: str) -> str: ...\n\nclass OptParseError(Exception):\n msg: str\n def __init__(self, msg: str) -> None: ...\n\nclass BadOptionError(OptParseError):\n opt_str: str\n def __init__(self, opt_str: str) -> None: ...\n\nclass AmbiguousOptionError(BadOptionError):\n possibilities: Iterable[str]\n def __init__(self, opt_str: str, possibilities: Sequence[str]) -> None: ...\n\nclass OptionError(OptParseError):\n option_id: str\n def __init__(self, msg: str, option: Option) -> None: ...\n\nclass OptionConflictError(OptionError): ...\nclass OptionValueError(OptParseError): ...\n\nclass HelpFormatter:\n NO_DEFAULT_VALUE: str\n _long_opt_fmt: str\n _short_opt_fmt: str\n current_indent: int\n default_tag: str\n help_position: Any\n help_width: Any\n indent_increment: int\n level: int\n max_help_position: int\n option_strings: dict[Option, str]\n parser: OptionParser\n short_first: Any\n width: int\n def __init__(self, indent_increment: int, max_help_position: int, width: int | None, short_first: int) -> None: ...\n def dedent(self) -> None: ...\n def expand_default(self, option: Option) -> str: ...\n def format_description(self, description: str) -> str: ...\n def format_epilog(self, epilog: str) -> str: ...\n @abstractmethod\n def format_heading(self, heading: Any) -> str: ...\n def format_option(self, option: Option) -> str: ...\n def format_option_strings(self, option: Option) -> str: ...\n @abstractmethod\n def format_usage(self, usage: Any) -> str: ...\n def indent(self) -> None: ...\n def set_long_opt_delimiter(self, delim: str) -> None: ...\n def set_parser(self, parser: OptionParser) -> None: ...\n def set_short_opt_delimiter(self, delim: str) -> None: ...\n def store_option_strings(self, parser: OptionParser) -> None: ...\n\nclass IndentedHelpFormatter(HelpFormatter):\n def __init__(\n self, indent_increment: int = 2, max_help_position: int = 24, width: int | None = None, short_first: int = 1\n ) -> None: ...\n def format_heading(self, heading: str) -> str: ...\n def format_usage(self, usage: str) -> str: ...\n\nclass TitledHelpFormatter(HelpFormatter):\n def __init__(\n self, indent_increment: int = 0, max_help_position: int = 24, width: int | None = None, short_first: int = 0\n ) -> None: ...\n def format_heading(self, heading: str) -> str: ...\n def format_usage(self, usage: str) -> str: ...\n\nclass Option:\n ACTIONS: tuple[str, ...]\n ALWAYS_TYPED_ACTIONS: tuple[str, ...]\n ATTRS: list[str]\n CHECK_METHODS: list[Callable[..., Any]] | None\n CONST_ACTIONS: tuple[str, ...]\n STORE_ACTIONS: tuple[str, ...]\n TYPED_ACTIONS: tuple[str, ...]\n TYPES: tuple[str, ...]\n TYPE_CHECKER: dict[str, Callable[..., Any]]\n _long_opts: list[str]\n _short_opts: list[str]\n action: str\n dest: str | None\n default: Any\n nargs: int\n type: Any\n callback: Callable[..., Any] | None\n callback_args: tuple[Any, ...] | None\n callback_kwargs: dict[str, Any] | None\n help: str | None\n metavar: str | None\n def __init__(self, *opts: str | None, **attrs: Any) -> None: ...\n def _check_action(self) -> None: ...\n def _check_callback(self) -> None: ...\n def _check_choice(self) -> None: ...\n def _check_const(self) -> None: ...\n def _check_dest(self) -> None: ...\n def _check_nargs(self) -> None: ...\n def _check_opt_strings(self, opts: Iterable[str | None]) -> list[str]: ...\n def _check_type(self) -> None: ...\n def _set_attrs(self, attrs: dict[str, Any]) -> None: ...\n def _set_opt_strings(self, opts: Iterable[str]) -> None: ...\n def check_value(self, opt: str, value: Any) -> Any: ...\n def convert_value(self, opt: str, value: Any) -> Any: ...\n def get_opt_string(self) -> str: ...\n def process(self, opt: Any, value: Any, values: Any, parser: OptionParser) -> int: ...\n def take_action(self, action: str, dest: str, opt: Any, value: Any, values: Any, parser: OptionParser) -> int: ...\n def takes_value(self) -> bool: ...\n\nmake_option = Option\n\nclass OptionContainer:\n _long_opt: dict[str, Option]\n _short_opt: dict[str, Option]\n conflict_handler: str\n defaults: dict[str, Any]\n description: Any\n option_class: type[Option]\n def __init__(self, option_class: type[Option], conflict_handler: Any, description: Any) -> None: ...\n def _check_conflict(self, option: Any) -> None: ...\n def _create_option_mappings(self) -> None: ...\n def _share_option_mappings(self, parser: OptionParser) -> None: ...\n @overload\n def add_option(self, opt: Option) -> Option: ...\n @overload\n def add_option(self, *args: str | None, **kwargs: Any) -> Any: ...\n def add_options(self, option_list: Iterable[Option]) -> None: ...\n def destroy(self) -> None: ...\n def format_description(self, formatter: HelpFormatter | None) -> Any: ...\n def format_help(self, formatter: HelpFormatter | None) -> str: ...\n def format_option_help(self, formatter: HelpFormatter | None) -> str: ...\n def get_description(self) -> Any: ...\n def get_option(self, opt_str: str) -> Option | None: ...\n def has_option(self, opt_str: str) -> bool: ...\n def remove_option(self, opt_str: str) -> None: ...\n def set_conflict_handler(self, handler: Any) -> None: ...\n def set_description(self, description: Any) -> None: ...\n\nclass OptionGroup(OptionContainer):\n option_list: list[Option]\n parser: OptionParser\n title: str\n def __init__(self, parser: OptionParser, title: str, description: str | None = None) -> None: ...\n def _create_option_list(self) -> None: ...\n def set_title(self, title: str) -> None: ...\n\nclass Values:\n def __init__(self, defaults: Mapping[str, Any] | None = None) -> None: ...\n def _update(self, dict: Mapping[str, Any], mode: Any) -> None: ...\n def _update_careful(self, dict: Mapping[str, Any]) -> None: ...\n def _update_loose(self, dict: Mapping[str, Any]) -> None: ...\n def ensure_value(self, attr: str, value: Any) -> Any: ...\n def read_file(self, filename: str, mode: str = \"careful\") -> None: ...\n def read_module(self, modname: str, mode: str = \"careful\") -> None: ...\n def __getattr__(self, name: str) -> Any: ...\n def __setattr__(self, __name: str, __value: Any) -> None: ...\n def __eq__(self, other: object) -> bool: ...\n\nclass OptionParser(OptionContainer):\n allow_interspersed_args: bool\n epilog: str | None\n formatter: HelpFormatter\n largs: list[str] | None\n option_groups: list[OptionGroup]\n option_list: list[Option]\n process_default_values: Any\n prog: str | None\n rargs: list[Any] | None\n standard_option_list: list[Option]\n usage: str | None\n values: Values | None\n version: str\n def __init__(\n self,\n usage: str | None = None,\n option_list: Iterable[Option] | None = None,\n option_class: type[Option] = ...,\n version: str | None = None,\n conflict_handler: str = \"error\",\n description: str | None = None,\n formatter: HelpFormatter | None = None,\n add_help_option: bool = True,\n prog: str | None = None,\n epilog: str | None = None,\n ) -> None: ...\n def _add_help_option(self) -> None: ...\n def _add_version_option(self) -> None: ...\n def _create_option_list(self) -> None: ...\n def _get_all_options(self) -> list[Option]: ...\n def _get_args(self, args: Iterable[Any]) -> list[Any]: ...\n def _init_parsing_state(self) -> None: ...\n def _match_long_opt(self, opt: str) -> str: ...\n def _populate_option_list(self, option_list: Iterable[Option], add_help: bool = True) -> None: ...\n def _process_args(self, largs: list[Any], rargs: list[Any], values: Values) -> None: ...\n def _process_long_opt(self, rargs: list[Any], values: Any) -> None: ...\n def _process_short_opts(self, rargs: list[Any], values: Any) -> None: ...\n @overload\n def add_option_group(self, __opt_group: OptionGroup) -> OptionGroup: ...\n @overload\n def add_option_group(self, *args: Any, **kwargs: Any) -> OptionGroup: ...\n def check_values(self, values: Values, args: list[str]) -> tuple[Values, list[str]]: ...\n def disable_interspersed_args(self) -> None: ...\n def enable_interspersed_args(self) -> None: ...\n def error(self, msg: str) -> None: ...\n def exit(self, status: int = 0, msg: str | None = None) -> None: ...\n def expand_prog_name(self, s: str | None) -> Any: ...\n def format_epilog(self, formatter: HelpFormatter) -> Any: ...\n def format_help(self, formatter: HelpFormatter | None = None) -> str: ...\n def format_option_help(self, formatter: HelpFormatter | None = None) -> str: ...\n def get_default_values(self) -> Values: ...\n def get_option_group(self, opt_str: str) -> Any: ...\n def get_prog_name(self) -> str: ...\n def get_usage(self) -> str: ...\n def get_version(self) -> str: ...\n @overload\n def parse_args(self, args: None = None, values: Values | None = None) -> tuple[Values, list[str]]: ...\n @overload\n def parse_args(self, args: Sequence[AnyStr], values: Values | None = None) -> tuple[Values, list[AnyStr]]: ...\n def print_usage(self, file: IO[str] | None = None) -> None: ...\n def print_help(self, file: IO[str] | None = None) -> None: ...\n def print_version(self, file: IO[str] | None = None) -> None: ...\n def set_default(self, dest: Any, value: Any) -> None: ...\n def set_defaults(self, **kwargs: Any) -> None: ...\n def set_process_default_values(self, process: Any) -> None: ...\n def set_usage(self, usage: str) -> None: ...\n", + "/typeshed/stdlib/ossaudiodev.pyi": "import sys\nfrom typing import Any, overload\nfrom typing_extensions import Literal\n\nif sys.platform != \"win32\" and sys.platform != \"darwin\":\n AFMT_AC3: int\n AFMT_A_LAW: int\n AFMT_IMA_ADPCM: int\n AFMT_MPEG: int\n AFMT_MU_LAW: int\n AFMT_QUERY: int\n AFMT_S16_BE: int\n AFMT_S16_LE: int\n AFMT_S16_NE: int\n AFMT_S8: int\n AFMT_U16_BE: int\n AFMT_U16_LE: int\n AFMT_U8: int\n SNDCTL_COPR_HALT: int\n SNDCTL_COPR_LOAD: int\n SNDCTL_COPR_RCODE: int\n SNDCTL_COPR_RCVMSG: int\n SNDCTL_COPR_RDATA: int\n SNDCTL_COPR_RESET: int\n SNDCTL_COPR_RUN: int\n SNDCTL_COPR_SENDMSG: int\n SNDCTL_COPR_WCODE: int\n SNDCTL_COPR_WDATA: int\n SNDCTL_DSP_BIND_CHANNEL: int\n SNDCTL_DSP_CHANNELS: int\n SNDCTL_DSP_GETBLKSIZE: int\n SNDCTL_DSP_GETCAPS: int\n SNDCTL_DSP_GETCHANNELMASK: int\n SNDCTL_DSP_GETFMTS: int\n SNDCTL_DSP_GETIPTR: int\n SNDCTL_DSP_GETISPACE: int\n SNDCTL_DSP_GETODELAY: int\n SNDCTL_DSP_GETOPTR: int\n SNDCTL_DSP_GETOSPACE: int\n SNDCTL_DSP_GETSPDIF: int\n SNDCTL_DSP_GETTRIGGER: int\n SNDCTL_DSP_MAPINBUF: int\n SNDCTL_DSP_MAPOUTBUF: int\n SNDCTL_DSP_NONBLOCK: int\n SNDCTL_DSP_POST: int\n SNDCTL_DSP_PROFILE: int\n SNDCTL_DSP_RESET: int\n SNDCTL_DSP_SAMPLESIZE: int\n SNDCTL_DSP_SETDUPLEX: int\n SNDCTL_DSP_SETFMT: int\n SNDCTL_DSP_SETFRAGMENT: int\n SNDCTL_DSP_SETSPDIF: int\n SNDCTL_DSP_SETSYNCRO: int\n SNDCTL_DSP_SETTRIGGER: int\n SNDCTL_DSP_SPEED: int\n SNDCTL_DSP_STEREO: int\n SNDCTL_DSP_SUBDIVIDE: int\n SNDCTL_DSP_SYNC: int\n SNDCTL_FM_4OP_ENABLE: int\n SNDCTL_FM_LOAD_INSTR: int\n SNDCTL_MIDI_INFO: int\n SNDCTL_MIDI_MPUCMD: int\n SNDCTL_MIDI_MPUMODE: int\n SNDCTL_MIDI_PRETIME: int\n SNDCTL_SEQ_CTRLRATE: int\n SNDCTL_SEQ_GETINCOUNT: int\n SNDCTL_SEQ_GETOUTCOUNT: int\n SNDCTL_SEQ_GETTIME: int\n SNDCTL_SEQ_NRMIDIS: int\n SNDCTL_SEQ_NRSYNTHS: int\n SNDCTL_SEQ_OUTOFBAND: int\n SNDCTL_SEQ_PANIC: int\n SNDCTL_SEQ_PERCMODE: int\n SNDCTL_SEQ_RESET: int\n SNDCTL_SEQ_RESETSAMPLES: int\n SNDCTL_SEQ_SYNC: int\n SNDCTL_SEQ_TESTMIDI: int\n SNDCTL_SEQ_THRESHOLD: int\n SNDCTL_SYNTH_CONTROL: int\n SNDCTL_SYNTH_ID: int\n SNDCTL_SYNTH_INFO: int\n SNDCTL_SYNTH_MEMAVL: int\n SNDCTL_SYNTH_REMOVESAMPLE: int\n SNDCTL_TMR_CONTINUE: int\n SNDCTL_TMR_METRONOME: int\n SNDCTL_TMR_SELECT: int\n SNDCTL_TMR_SOURCE: int\n SNDCTL_TMR_START: int\n SNDCTL_TMR_STOP: int\n SNDCTL_TMR_TEMPO: int\n SNDCTL_TMR_TIMEBASE: int\n SOUND_MIXER_ALTPCM: int\n SOUND_MIXER_BASS: int\n SOUND_MIXER_CD: int\n SOUND_MIXER_DIGITAL1: int\n SOUND_MIXER_DIGITAL2: int\n SOUND_MIXER_DIGITAL3: int\n SOUND_MIXER_IGAIN: int\n SOUND_MIXER_IMIX: int\n SOUND_MIXER_LINE: int\n SOUND_MIXER_LINE1: int\n SOUND_MIXER_LINE2: int\n SOUND_MIXER_LINE3: int\n SOUND_MIXER_MIC: int\n SOUND_MIXER_MONITOR: int\n SOUND_MIXER_NRDEVICES: int\n SOUND_MIXER_OGAIN: int\n SOUND_MIXER_PCM: int\n SOUND_MIXER_PHONEIN: int\n SOUND_MIXER_PHONEOUT: int\n SOUND_MIXER_RADIO: int\n SOUND_MIXER_RECLEV: int\n SOUND_MIXER_SPEAKER: int\n SOUND_MIXER_SYNTH: int\n SOUND_MIXER_TREBLE: int\n SOUND_MIXER_VIDEO: int\n SOUND_MIXER_VOLUME: int\n\n control_labels: list[str]\n control_names: list[str]\n\n # TODO: oss_audio_device return type\n @overload\n def open(mode: Literal[\"r\", \"w\", \"rw\"]) -> Any: ...\n @overload\n def open(device: str, mode: Literal[\"r\", \"w\", \"rw\"]) -> Any: ...\n\n # TODO: oss_mixer_device return type\n def openmixer(device: str = ...) -> Any: ...\n\n class OSSAudioError(Exception): ...\n error = OSSAudioError\n", + "/typeshed/stdlib/parser.pyi": "from _typeshed import StrOrBytesPath\nfrom collections.abc import Sequence\nfrom types import CodeType\nfrom typing import Any\nfrom typing_extensions import final\n\ndef expr(source: str) -> STType: ...\ndef suite(source: str) -> STType: ...\ndef sequence2st(sequence: Sequence[Any]) -> STType: ...\ndef tuple2st(sequence: Sequence[Any]) -> STType: ...\ndef st2list(st: STType, line_info: bool = ..., col_info: bool = ...) -> list[Any]: ...\ndef st2tuple(st: STType, line_info: bool = ..., col_info: bool = ...) -> tuple[Any, ...]: ...\ndef compilest(st: STType, filename: StrOrBytesPath = ...) -> CodeType: ...\ndef isexpr(st: STType) -> bool: ...\ndef issuite(st: STType) -> bool: ...\n\nclass ParserError(Exception): ...\n\n@final\nclass STType:\n def compile(self, filename: StrOrBytesPath = ...) -> CodeType: ...\n def isexpr(self) -> bool: ...\n def issuite(self) -> bool: ...\n def tolist(self, line_info: bool = ..., col_info: bool = ...) -> list[Any]: ...\n def totuple(self, line_info: bool = ..., col_info: bool = ...) -> tuple[Any, ...]: ...\n", + "/typeshed/stdlib/pathlib.pyi": "import sys\nfrom _typeshed import (\n OpenBinaryMode,\n OpenBinaryModeReading,\n OpenBinaryModeUpdating,\n OpenBinaryModeWriting,\n OpenTextMode,\n ReadableBuffer,\n StrOrBytesPath,\n StrPath,\n Unused,\n)\nfrom collections.abc import Callable, Generator, Iterator, Sequence\nfrom io import BufferedRandom, BufferedReader, BufferedWriter, FileIO, TextIOWrapper\nfrom os import PathLike, stat_result\nfrom types import TracebackType\nfrom typing import IO, Any, BinaryIO, overload\nfrom typing_extensions import Literal, Self\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = [\"PurePath\", \"PurePosixPath\", \"PureWindowsPath\", \"Path\", \"PosixPath\", \"WindowsPath\"]\n\nclass PurePath(PathLike[str]):\n @property\n def parts(self) -> tuple[str, ...]: ...\n @property\n def drive(self) -> str: ...\n @property\n def root(self) -> str: ...\n @property\n def anchor(self) -> str: ...\n @property\n def name(self) -> str: ...\n @property\n def suffix(self) -> str: ...\n @property\n def suffixes(self) -> list[str]: ...\n @property\n def stem(self) -> str: ...\n if sys.version_info >= (3, 12):\n def __new__(cls, *args: StrPath, **kwargs: Unused) -> Self: ...\n def __init__(self, *args: StrPath) -> None: ...\n else:\n def __new__(cls, *args: StrPath) -> Self: ...\n\n def __hash__(self) -> int: ...\n def __fspath__(self) -> str: ...\n def __lt__(self, other: PurePath) -> bool: ...\n def __le__(self, other: PurePath) -> bool: ...\n def __gt__(self, other: PurePath) -> bool: ...\n def __ge__(self, other: PurePath) -> bool: ...\n def __truediv__(self, key: StrPath) -> Self: ...\n def __rtruediv__(self, key: StrPath) -> Self: ...\n def __bytes__(self) -> bytes: ...\n def as_posix(self) -> str: ...\n def as_uri(self) -> str: ...\n def is_absolute(self) -> bool: ...\n def is_reserved(self) -> bool: ...\n if sys.version_info >= (3, 12):\n def is_relative_to(self, __other: StrPath, *_deprecated: StrPath) -> bool: ...\n elif sys.version_info >= (3, 9):\n def is_relative_to(self, *other: StrPath) -> bool: ...\n\n if sys.version_info >= (3, 12):\n def match(self, path_pattern: str, *, case_sensitive: bool | None = None) -> bool: ...\n else:\n def match(self, path_pattern: str) -> bool: ...\n\n if sys.version_info >= (3, 12):\n def relative_to(self, __other: StrPath, *_deprecated: StrPath, walk_up: bool = False) -> Self: ...\n else:\n def relative_to(self, *other: StrPath) -> Self: ...\n\n def with_name(self, name: str) -> Self: ...\n if sys.version_info >= (3, 9):\n def with_stem(self, stem: str) -> Self: ...\n\n def with_suffix(self, suffix: str) -> Self: ...\n def joinpath(self, *other: StrPath) -> Self: ...\n @property\n def parents(self) -> Sequence[Self]: ...\n @property\n def parent(self) -> Self: ...\n if sys.version_info >= (3, 9) and sys.version_info < (3, 11):\n def __class_getitem__(cls, type: Any) -> GenericAlias: ...\n\n if sys.version_info >= (3, 12):\n def with_segments(self, *args: StrPath) -> Self: ...\n\nclass PurePosixPath(PurePath): ...\nclass PureWindowsPath(PurePath): ...\n\nclass Path(PurePath):\n def __new__(cls, *args: StrPath, **kwargs: Any) -> Self: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, t: type[BaseException] | None, v: BaseException | None, tb: TracebackType | None) -> None: ...\n @classmethod\n def cwd(cls) -> Self: ...\n if sys.version_info >= (3, 10):\n def stat(self, *, follow_symlinks: bool = True) -> stat_result: ...\n def chmod(self, mode: int, *, follow_symlinks: bool = True) -> None: ...\n else:\n def stat(self) -> stat_result: ...\n def chmod(self, mode: int) -> None: ...\n\n if sys.version_info >= (3, 12):\n def exists(self, *, follow_symlinks: bool = True) -> bool: ...\n def glob(self, pattern: str, *, case_sensitive: bool | None = None) -> Generator[Self, None, None]: ...\n def rglob(self, pattern: str, *, case_sensitive: bool | None = None) -> Generator[Self, None, None]: ...\n else:\n def exists(self) -> bool: ...\n def glob(self, pattern: str) -> Generator[Self, None, None]: ...\n def rglob(self, pattern: str) -> Generator[Self, None, None]: ...\n\n def is_dir(self) -> bool: ...\n def is_file(self) -> bool: ...\n def is_symlink(self) -> bool: ...\n def is_socket(self) -> bool: ...\n def is_fifo(self) -> bool: ...\n def is_block_device(self) -> bool: ...\n def is_char_device(self) -> bool: ...\n if sys.version_info >= (3, 12):\n def is_junction(self) -> bool: ...\n\n def iterdir(self) -> Generator[Self, None, None]: ...\n def lchmod(self, mode: int) -> None: ...\n def lstat(self) -> stat_result: ...\n def mkdir(self, mode: int = 0o777, parents: bool = False, exist_ok: bool = False) -> None: ...\n # Adapted from builtins.open\n # Text mode: always returns a TextIOWrapper\n # The Traversable .open in stdlib/importlib/abc.pyi should be kept in sync with this.\n @overload\n def open(\n self,\n mode: OpenTextMode = \"r\",\n buffering: int = -1,\n encoding: str | None = None,\n errors: str | None = None,\n newline: str | None = None,\n ) -> TextIOWrapper: ...\n # Unbuffered binary mode: returns a FileIO\n @overload\n def open(\n self, mode: OpenBinaryMode, buffering: Literal[0], encoding: None = None, errors: None = None, newline: None = None\n ) -> FileIO: ...\n # Buffering is on: return BufferedRandom, BufferedReader, or BufferedWriter\n @overload\n def open(\n self,\n mode: OpenBinaryModeUpdating,\n buffering: Literal[-1, 1] = -1,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n ) -> BufferedRandom: ...\n @overload\n def open(\n self,\n mode: OpenBinaryModeWriting,\n buffering: Literal[-1, 1] = -1,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n ) -> BufferedWriter: ...\n @overload\n def open(\n self,\n mode: OpenBinaryModeReading,\n buffering: Literal[-1, 1] = -1,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n ) -> BufferedReader: ...\n # Buffering cannot be determined: fall back to BinaryIO\n @overload\n def open(\n self, mode: OpenBinaryMode, buffering: int = -1, encoding: None = None, errors: None = None, newline: None = None\n ) -> BinaryIO: ...\n # Fallback if mode is not specified\n @overload\n def open(\n self, mode: str, buffering: int = -1, encoding: str | None = None, errors: str | None = None, newline: str | None = None\n ) -> IO[Any]: ...\n if sys.platform != \"win32\":\n # These methods do \"exist\" on Windows, but they always raise NotImplementedError,\n # so it's safer to pretend they don't exist\n def owner(self) -> str: ...\n def group(self) -> str: ...\n\n # This method does \"exist\" on Windows on <3.12, but always raises NotImplementedError\n # On py312+, it works properly on Windows, as with all other platforms\n if sys.platform != \"win32\" or sys.version_info >= (3, 12):\n def is_mount(self) -> bool: ...\n\n if sys.version_info >= (3, 9):\n def readlink(self) -> Self: ...\n if sys.version_info >= (3, 8):\n def rename(self, target: str | PurePath) -> Self: ...\n def replace(self, target: str | PurePath) -> Self: ...\n else:\n def rename(self, target: str | PurePath) -> None: ...\n def replace(self, target: str | PurePath) -> None: ...\n\n def resolve(self, strict: bool = False) -> Self: ...\n def rmdir(self) -> None: ...\n def symlink_to(self, target: StrOrBytesPath, target_is_directory: bool = False) -> None: ...\n if sys.version_info >= (3, 10):\n def hardlink_to(self, target: StrOrBytesPath) -> None: ...\n\n def touch(self, mode: int = 0o666, exist_ok: bool = True) -> None: ...\n if sys.version_info >= (3, 8):\n def unlink(self, missing_ok: bool = False) -> None: ...\n else:\n def unlink(self) -> None: ...\n\n @classmethod\n def home(cls) -> Self: ...\n def absolute(self) -> Self: ...\n def expanduser(self) -> Self: ...\n def read_bytes(self) -> bytes: ...\n def read_text(self, encoding: str | None = None, errors: str | None = None) -> str: ...\n def samefile(self, other_path: StrPath) -> bool: ...\n def write_bytes(self, data: ReadableBuffer) -> int: ...\n if sys.version_info >= (3, 10):\n def write_text(\n self, data: str, encoding: str | None = None, errors: str | None = None, newline: str | None = None\n ) -> int: ...\n else:\n def write_text(self, data: str, encoding: str | None = None, errors: str | None = None) -> int: ...\n if sys.version_info >= (3, 8) and sys.version_info < (3, 12):\n def link_to(self, target: StrOrBytesPath) -> None: ...\n if sys.version_info >= (3, 12):\n def walk(\n self, top_down: bool = ..., on_error: Callable[[OSError], object] | None = ..., follow_symlinks: bool = ...\n ) -> Iterator[tuple[Self, list[str], list[str]]]: ...\n\nclass PosixPath(Path, PurePosixPath): ...\nclass WindowsPath(Path, PureWindowsPath): ...\n", + "/typeshed/stdlib/pdb.pyi": "import signal\nimport sys\nfrom bdb import Bdb\nfrom cmd import Cmd\nfrom collections.abc import Callable, Iterable, Mapping, Sequence\nfrom inspect import _SourceObjectType\nfrom types import CodeType, FrameType, TracebackType\nfrom typing import IO, Any, ClassVar, TypeVar\nfrom typing_extensions import ParamSpec, Self\n\n__all__ = [\"run\", \"pm\", \"Pdb\", \"runeval\", \"runctx\", \"runcall\", \"set_trace\", \"post_mortem\", \"help\"]\n\n_T = TypeVar(\"_T\")\n_P = ParamSpec(\"_P\")\n\nline_prefix: str # undocumented\n\nclass Restart(Exception): ...\n\ndef run(statement: str, globals: dict[str, Any] | None = None, locals: Mapping[str, Any] | None = None) -> None: ...\ndef runeval(expression: str, globals: dict[str, Any] | None = None, locals: Mapping[str, Any] | None = None) -> Any: ...\ndef runctx(statement: str, globals: dict[str, Any], locals: Mapping[str, Any]) -> None: ...\ndef runcall(func: Callable[_P, _T], *args: _P.args, **kwds: _P.kwargs) -> _T | None: ...\ndef set_trace(*, header: str | None = None) -> None: ...\ndef post_mortem(t: TracebackType | None = None) -> None: ...\ndef pm() -> None: ...\n\nclass Pdb(Bdb, Cmd):\n # Everything here is undocumented, except for __init__\n\n commands_resuming: ClassVar[list[str]]\n\n aliases: dict[str, str]\n mainpyfile: str\n _wait_for_mainpyfile: bool\n rcLines: list[str]\n commands: dict[int, list[str]]\n commands_doprompt: dict[int, bool]\n commands_silent: dict[int, bool]\n commands_defining: bool\n commands_bnum: int | None\n lineno: int | None\n stack: list[tuple[FrameType, int]]\n curindex: int\n curframe: FrameType | None\n curframe_locals: Mapping[str, Any]\n def __init__(\n self,\n completekey: str = \"tab\",\n stdin: IO[str] | None = None,\n stdout: IO[str] | None = None,\n skip: Iterable[str] | None = None,\n nosigint: bool = False,\n readrc: bool = True,\n ) -> None: ...\n def forget(self) -> None: ...\n def setup(self, f: FrameType | None, tb: TracebackType | None) -> None: ...\n def execRcLines(self) -> None: ...\n def bp_commands(self, frame: FrameType) -> bool: ...\n def interaction(self, frame: FrameType | None, traceback: TracebackType | None) -> None: ...\n def displayhook(self, obj: object) -> None: ...\n def handle_command_def(self, line: str) -> bool: ...\n def defaultFile(self) -> str: ...\n def lineinfo(self, identifier: str) -> tuple[None, None, None] | tuple[str, str, int]: ...\n def checkline(self, filename: str, lineno: int) -> int: ...\n def _getval(self, arg: str) -> object: ...\n def print_stack_trace(self) -> None: ...\n def print_stack_entry(self, frame_lineno: tuple[FrameType, int], prompt_prefix: str = \"\\n-> \") -> None: ...\n def lookupmodule(self, filename: str) -> str | None: ...\n if sys.version_info < (3, 11):\n def _runscript(self, filename: str) -> None: ...\n\n def do_commands(self, arg: str) -> bool | None: ...\n def do_break(self, arg: str, temporary: bool = ...) -> bool | None: ...\n def do_tbreak(self, arg: str) -> bool | None: ...\n def do_enable(self, arg: str) -> bool | None: ...\n def do_disable(self, arg: str) -> bool | None: ...\n def do_condition(self, arg: str) -> bool | None: ...\n def do_ignore(self, arg: str) -> bool | None: ...\n def do_clear(self, arg: str) -> bool | None: ...\n def do_where(self, arg: str) -> bool | None: ...\n def do_up(self, arg: str) -> bool | None: ...\n def do_down(self, arg: str) -> bool | None: ...\n def do_until(self, arg: str) -> bool | None: ...\n def do_step(self, arg: str) -> bool | None: ...\n def do_next(self, arg: str) -> bool | None: ...\n def do_run(self, arg: str) -> bool | None: ...\n def do_return(self, arg: str) -> bool | None: ...\n def do_continue(self, arg: str) -> bool | None: ...\n def do_jump(self, arg: str) -> bool | None: ...\n def do_debug(self, arg: str) -> bool | None: ...\n def do_quit(self, arg: str) -> bool | None: ...\n def do_EOF(self, arg: str) -> bool | None: ...\n def do_args(self, arg: str) -> bool | None: ...\n def do_retval(self, arg: str) -> bool | None: ...\n def do_p(self, arg: str) -> bool | None: ...\n def do_pp(self, arg: str) -> bool | None: ...\n def do_list(self, arg: str) -> bool | None: ...\n def do_whatis(self, arg: str) -> bool | None: ...\n def do_alias(self, arg: str) -> bool | None: ...\n def do_unalias(self, arg: str) -> bool | None: ...\n def do_help(self, arg: str) -> bool | None: ...\n do_b = do_break\n do_cl = do_clear\n do_w = do_where\n do_bt = do_where\n do_u = do_up\n do_d = do_down\n do_unt = do_until\n do_s = do_step\n do_n = do_next\n do_restart = do_run\n do_r = do_return\n do_c = do_continue\n do_cont = do_continue\n do_j = do_jump\n do_q = do_quit\n do_exit = do_quit\n do_a = do_args\n do_rv = do_retval\n do_l = do_list\n do_h = do_help\n def help_exec(self) -> None: ...\n def help_pdb(self) -> None: ...\n def sigint_handler(self, signum: signal.Signals, frame: FrameType) -> None: ...\n def message(self, msg: str) -> None: ...\n def error(self, msg: str) -> None: ...\n if sys.version_info >= (3, 12):\n def set_convenience_variable(self, frame: FrameType, name: str, value: Any) -> None: ...\n\n def _select_frame(self, number: int) -> None: ...\n def _getval_except(self, arg: str, frame: FrameType | None = None) -> object: ...\n def _print_lines(\n self, lines: Sequence[str], start: int, breaks: Sequence[int] = (), frame: FrameType | None = None\n ) -> None: ...\n def _cmdloop(self) -> None: ...\n def do_display(self, arg: str) -> bool | None: ...\n def do_interact(self, arg: str) -> bool | None: ...\n def do_longlist(self, arg: str) -> bool | None: ...\n def do_source(self, arg: str) -> bool | None: ...\n def do_undisplay(self, arg: str) -> bool | None: ...\n do_ll = do_longlist\n def _complete_location(self, text: str, line: str, begidx: int, endidx: int) -> list[str]: ...\n def _complete_bpnumber(self, text: str, line: str, begidx: int, endidx: int) -> list[str]: ...\n def _complete_expression(self, text: str, line: str, begidx: int, endidx: int) -> list[str]: ...\n def complete_undisplay(self, text: str, line: str, begidx: int, endidx: int) -> list[str]: ...\n def complete_unalias(self, text: str, line: str, begidx: int, endidx: int) -> list[str]: ...\n complete_commands = _complete_bpnumber\n complete_break = _complete_location\n complete_b = _complete_location\n complete_tbreak = _complete_location\n complete_enable = _complete_bpnumber\n complete_disable = _complete_bpnumber\n complete_condition = _complete_bpnumber\n complete_ignore = _complete_bpnumber\n complete_clear = _complete_location\n complete_cl = _complete_location\n complete_debug = _complete_expression\n complete_print = _complete_expression\n complete_p = _complete_expression\n complete_pp = _complete_expression\n complete_source = _complete_expression\n complete_whatis = _complete_expression\n complete_display = _complete_expression\n\n if sys.version_info < (3, 11):\n def _runmodule(self, module_name: str) -> None: ...\n\n# undocumented\n\ndef find_function(funcname: str, filename: str) -> tuple[str, str, int] | None: ...\ndef main() -> None: ...\ndef help() -> None: ...\n\nif sys.version_info < (3, 10):\n def getsourcelines(obj: _SourceObjectType) -> tuple[list[str], int]: ...\n\ndef lasti2lineno(code: CodeType, lasti: int) -> int: ...\n\nclass _rstr(str):\n def __repr__(self) -> Self: ...\n", + "/typeshed/stdlib/pickle.pyi": "import sys\nfrom _typeshed import ReadableBuffer, SupportsWrite\nfrom collections.abc import Callable, Iterable, Iterator, Mapping\nfrom typing import Any, ClassVar, Protocol, SupportsBytes\nfrom typing_extensions import SupportsIndex, TypeAlias, final\n\n__all__ = [\n \"PickleError\",\n \"PicklingError\",\n \"UnpicklingError\",\n \"Pickler\",\n \"Unpickler\",\n \"dump\",\n \"dumps\",\n \"load\",\n \"loads\",\n \"ADDITEMS\",\n \"APPEND\",\n \"APPENDS\",\n \"BINBYTES\",\n \"BINBYTES8\",\n \"BINFLOAT\",\n \"BINGET\",\n \"BININT\",\n \"BININT1\",\n \"BININT2\",\n \"BINPERSID\",\n \"BINPUT\",\n \"BINSTRING\",\n \"BINUNICODE\",\n \"BINUNICODE8\",\n \"BUILD\",\n \"DEFAULT_PROTOCOL\",\n \"DICT\",\n \"DUP\",\n \"EMPTY_DICT\",\n \"EMPTY_LIST\",\n \"EMPTY_SET\",\n \"EMPTY_TUPLE\",\n \"EXT1\",\n \"EXT2\",\n \"EXT4\",\n \"FALSE\",\n \"FLOAT\",\n \"FRAME\",\n \"FROZENSET\",\n \"GET\",\n \"GLOBAL\",\n \"HIGHEST_PROTOCOL\",\n \"INST\",\n \"INT\",\n \"LIST\",\n \"LONG\",\n \"LONG1\",\n \"LONG4\",\n \"LONG_BINGET\",\n \"LONG_BINPUT\",\n \"MARK\",\n \"MEMOIZE\",\n \"NEWFALSE\",\n \"NEWOBJ\",\n \"NEWOBJ_EX\",\n \"NEWTRUE\",\n \"NONE\",\n \"OBJ\",\n \"PERSID\",\n \"POP\",\n \"POP_MARK\",\n \"PROTO\",\n \"PUT\",\n \"REDUCE\",\n \"SETITEM\",\n \"SETITEMS\",\n \"SHORT_BINBYTES\",\n \"SHORT_BINSTRING\",\n \"SHORT_BINUNICODE\",\n \"STACK_GLOBAL\",\n \"STOP\",\n \"STRING\",\n \"TRUE\",\n \"TUPLE\",\n \"TUPLE1\",\n \"TUPLE2\",\n \"TUPLE3\",\n \"UNICODE\",\n]\n\nif sys.version_info >= (3, 8):\n __all__ += [\"BYTEARRAY8\", \"NEXT_BUFFER\", \"PickleBuffer\", \"READONLY_BUFFER\"]\n\nHIGHEST_PROTOCOL: int\nDEFAULT_PROTOCOL: int\n\nbytes_types: tuple[type[Any], ...] # undocumented\n\nclass _ReadableFileobj(Protocol):\n def read(self, __n: int) -> bytes: ...\n def readline(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @final\n class PickleBuffer:\n def __init__(self, buffer: ReadableBuffer) -> None: ...\n def raw(self) -> memoryview: ...\n def release(self) -> None: ...\n def __buffer__(self, __flags: int) -> memoryview: ...\n def __release_buffer__(self, __buffer: memoryview) -> None: ...\n _BufferCallback: TypeAlias = Callable[[PickleBuffer], Any] | None\n def dump(\n obj: Any,\n file: SupportsWrite[bytes],\n protocol: int | None = None,\n *,\n fix_imports: bool = True,\n buffer_callback: _BufferCallback = None,\n ) -> None: ...\n def dumps(\n obj: Any, protocol: int | None = None, *, fix_imports: bool = True, buffer_callback: _BufferCallback = None\n ) -> bytes: ...\n def load(\n file: _ReadableFileobj,\n *,\n fix_imports: bool = True,\n encoding: str = \"ASCII\",\n errors: str = \"strict\",\n buffers: Iterable[Any] | None = (),\n ) -> Any: ...\n def loads(\n __data: ReadableBuffer,\n *,\n fix_imports: bool = True,\n encoding: str = \"ASCII\",\n errors: str = \"strict\",\n buffers: Iterable[Any] | None = (),\n ) -> Any: ...\n\nelse:\n def dump(obj: Any, file: SupportsWrite[bytes], protocol: int | None = None, *, fix_imports: bool = True) -> None: ...\n def dumps(obj: Any, protocol: int | None = None, *, fix_imports: bool = True) -> bytes: ...\n def load(file: _ReadableFileobj, *, fix_imports: bool = True, encoding: str = \"ASCII\", errors: str = \"strict\") -> Any: ...\n def loads(data: ReadableBuffer, *, fix_imports: bool = True, encoding: str = \"ASCII\", errors: str = \"strict\") -> Any: ...\n\nclass PickleError(Exception): ...\nclass PicklingError(PickleError): ...\nclass UnpicklingError(PickleError): ...\n\n_ReducedType: TypeAlias = (\n str\n | tuple[Callable[..., Any], tuple[Any, ...]]\n | tuple[Callable[..., Any], tuple[Any, ...], Any]\n | tuple[Callable[..., Any], tuple[Any, ...], Any, Iterator[Any] | None]\n | tuple[Callable[..., Any], tuple[Any, ...], Any, Iterator[Any] | None, Iterator[Any] | None]\n)\n\nclass Pickler:\n fast: bool\n dispatch_table: Mapping[type, Callable[[Any], _ReducedType]]\n bin: bool # undocumented\n dispatch: ClassVar[dict[type, Callable[[Unpickler, Any], None]]] # undocumented, _Pickler only\n\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n file: SupportsWrite[bytes],\n protocol: int | None = ...,\n *,\n fix_imports: bool = ...,\n buffer_callback: _BufferCallback = ...,\n ) -> None: ...\n def reducer_override(self, obj: Any) -> Any: ...\n else:\n def __init__(self, file: SupportsWrite[bytes], protocol: int | None = ..., *, fix_imports: bool = ...) -> None: ...\n\n def dump(self, __obj: Any) -> None: ...\n def clear_memo(self) -> None: ...\n def persistent_id(self, obj: Any) -> Any: ...\n\nclass Unpickler:\n dispatch: ClassVar[dict[int, Callable[[Unpickler], None]]] # undocumented, _Unpickler only\n\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n file: _ReadableFileobj,\n *,\n fix_imports: bool = ...,\n encoding: str = ...,\n errors: str = ...,\n buffers: Iterable[Any] | None = ...,\n ) -> None: ...\n else:\n def __init__(\n self, file: _ReadableFileobj, *, fix_imports: bool = ..., encoding: str = ..., errors: str = ...\n ) -> None: ...\n\n def load(self) -> Any: ...\n def find_class(self, __module_name: str, __global_name: str) -> Any: ...\n def persistent_load(self, pid: Any) -> Any: ...\n\nMARK: bytes\nSTOP: bytes\nPOP: bytes\nPOP_MARK: bytes\nDUP: bytes\nFLOAT: bytes\nINT: bytes\nBININT: bytes\nBININT1: bytes\nLONG: bytes\nBININT2: bytes\nNONE: bytes\nPERSID: bytes\nBINPERSID: bytes\nREDUCE: bytes\nSTRING: bytes\nBINSTRING: bytes\nSHORT_BINSTRING: bytes\nUNICODE: bytes\nBINUNICODE: bytes\nAPPEND: bytes\nBUILD: bytes\nGLOBAL: bytes\nDICT: bytes\nEMPTY_DICT: bytes\nAPPENDS: bytes\nGET: bytes\nBINGET: bytes\nINST: bytes\nLONG_BINGET: bytes\nLIST: bytes\nEMPTY_LIST: bytes\nOBJ: bytes\nPUT: bytes\nBINPUT: bytes\nLONG_BINPUT: bytes\nSETITEM: bytes\nTUPLE: bytes\nEMPTY_TUPLE: bytes\nSETITEMS: bytes\nBINFLOAT: bytes\n\nTRUE: bytes\nFALSE: bytes\n\n# protocol 2\nPROTO: bytes\nNEWOBJ: bytes\nEXT1: bytes\nEXT2: bytes\nEXT4: bytes\nTUPLE1: bytes\nTUPLE2: bytes\nTUPLE3: bytes\nNEWTRUE: bytes\nNEWFALSE: bytes\nLONG1: bytes\nLONG4: bytes\n\n# protocol 3\nBINBYTES: bytes\nSHORT_BINBYTES: bytes\n\n# protocol 4\nSHORT_BINUNICODE: bytes\nBINUNICODE8: bytes\nBINBYTES8: bytes\nEMPTY_SET: bytes\nADDITEMS: bytes\nFROZENSET: bytes\nNEWOBJ_EX: bytes\nSTACK_GLOBAL: bytes\nMEMOIZE: bytes\nFRAME: bytes\n\nif sys.version_info >= (3, 8):\n # Protocol 5\n BYTEARRAY8: bytes\n NEXT_BUFFER: bytes\n READONLY_BUFFER: bytes\n\ndef encode_long(x: int) -> bytes: ... # undocumented\ndef decode_long(data: Iterable[SupportsIndex] | SupportsBytes | ReadableBuffer) -> int: ... # undocumented\n\n# pure-Python implementations\n_Pickler = Pickler # undocumented\n_Unpickler = Unpickler # undocumented\n", + "/typeshed/stdlib/pickletools.pyi": "from collections.abc import Callable, Iterator, MutableMapping\nfrom typing import IO, Any\nfrom typing_extensions import TypeAlias\n\n__all__ = [\"dis\", \"genops\", \"optimize\"]\n\n_Reader: TypeAlias = Callable[[IO[bytes]], Any]\nbytes_types: tuple[type[Any], ...]\n\nUP_TO_NEWLINE: int\nTAKEN_FROM_ARGUMENT1: int\nTAKEN_FROM_ARGUMENT4: int\nTAKEN_FROM_ARGUMENT4U: int\nTAKEN_FROM_ARGUMENT8U: int\n\nclass ArgumentDescriptor:\n name: str\n n: int\n reader: _Reader\n doc: str\n def __init__(self, name: str, n: int, reader: _Reader, doc: str) -> None: ...\n\ndef read_uint1(f: IO[bytes]) -> int: ...\n\nuint1: ArgumentDescriptor\n\ndef read_uint2(f: IO[bytes]) -> int: ...\n\nuint2: ArgumentDescriptor\n\ndef read_int4(f: IO[bytes]) -> int: ...\n\nint4: ArgumentDescriptor\n\ndef read_uint4(f: IO[bytes]) -> int: ...\n\nuint4: ArgumentDescriptor\n\ndef read_uint8(f: IO[bytes]) -> int: ...\n\nuint8: ArgumentDescriptor\n\ndef read_stringnl(f: IO[bytes], decode: bool = True, stripquotes: bool = True) -> bytes | str: ...\n\nstringnl: ArgumentDescriptor\n\ndef read_stringnl_noescape(f: IO[bytes]) -> str: ...\n\nstringnl_noescape: ArgumentDescriptor\n\ndef read_stringnl_noescape_pair(f: IO[bytes]) -> str: ...\n\nstringnl_noescape_pair: ArgumentDescriptor\n\ndef read_string1(f: IO[bytes]) -> str: ...\n\nstring1: ArgumentDescriptor\n\ndef read_string4(f: IO[bytes]) -> str: ...\n\nstring4: ArgumentDescriptor\n\ndef read_bytes1(f: IO[bytes]) -> bytes: ...\n\nbytes1: ArgumentDescriptor\n\ndef read_bytes4(f: IO[bytes]) -> bytes: ...\n\nbytes4: ArgumentDescriptor\n\ndef read_bytes8(f: IO[bytes]) -> bytes: ...\n\nbytes8: ArgumentDescriptor\n\ndef read_unicodestringnl(f: IO[bytes]) -> str: ...\n\nunicodestringnl: ArgumentDescriptor\n\ndef read_unicodestring1(f: IO[bytes]) -> str: ...\n\nunicodestring1: ArgumentDescriptor\n\ndef read_unicodestring4(f: IO[bytes]) -> str: ...\n\nunicodestring4: ArgumentDescriptor\n\ndef read_unicodestring8(f: IO[bytes]) -> str: ...\n\nunicodestring8: ArgumentDescriptor\n\ndef read_decimalnl_short(f: IO[bytes]) -> int: ...\ndef read_decimalnl_long(f: IO[bytes]) -> int: ...\n\ndecimalnl_short: ArgumentDescriptor\ndecimalnl_long: ArgumentDescriptor\n\ndef read_floatnl(f: IO[bytes]) -> float: ...\n\nfloatnl: ArgumentDescriptor\n\ndef read_float8(f: IO[bytes]) -> float: ...\n\nfloat8: ArgumentDescriptor\n\ndef read_long1(f: IO[bytes]) -> int: ...\n\nlong1: ArgumentDescriptor\n\ndef read_long4(f: IO[bytes]) -> int: ...\n\nlong4: ArgumentDescriptor\n\nclass StackObject:\n name: str\n obtype: type[Any] | tuple[type[Any], ...]\n doc: str\n def __init__(self, name: str, obtype: type[Any] | tuple[type[Any], ...], doc: str) -> None: ...\n\npyint: StackObject\npylong: StackObject\npyinteger_or_bool: StackObject\npybool: StackObject\npyfloat: StackObject\npybytes_or_str: StackObject\npystring: StackObject\npybytes: StackObject\npyunicode: StackObject\npynone: StackObject\npytuple: StackObject\npylist: StackObject\npydict: StackObject\npyset: StackObject\npyfrozenset: StackObject\nanyobject: StackObject\nmarkobject: StackObject\nstackslice: StackObject\n\nclass OpcodeInfo:\n name: str\n code: str\n arg: ArgumentDescriptor | None\n stack_before: list[StackObject]\n stack_after: list[StackObject]\n proto: int\n doc: str\n def __init__(\n self,\n name: str,\n code: str,\n arg: ArgumentDescriptor | None,\n stack_before: list[StackObject],\n stack_after: list[StackObject],\n proto: int,\n doc: str,\n ) -> None: ...\n\nopcodes: list[OpcodeInfo]\n\ndef genops(pickle: bytes | bytearray | IO[bytes]) -> Iterator[tuple[OpcodeInfo, Any | None, int | None]]: ...\ndef optimize(p: bytes | bytearray | IO[bytes]) -> bytes: ...\ndef dis(\n pickle: bytes | bytearray | IO[bytes],\n out: IO[str] | None = None,\n memo: MutableMapping[int, Any] | None = None,\n indentlevel: int = 4,\n annotate: int = 0,\n) -> None: ...\n", + "/typeshed/stdlib/pipes.pyi": "import os\n\n__all__ = [\"Template\"]\n\nclass Template:\n def reset(self) -> None: ...\n def clone(self) -> Template: ...\n def debug(self, flag: bool) -> None: ...\n def append(self, cmd: str, kind: str) -> None: ...\n def prepend(self, cmd: str, kind: str) -> None: ...\n def open(self, file: str, rw: str) -> os._wrap_close: ...\n def copy(self, infile: str, outfile: str) -> int: ...\n\n# Not documented, but widely used.\n# Documented as shlex.quote since 3.3.\ndef quote(s: str) -> str: ...\n", + "/typeshed/stdlib/pkgutil.pyi": "import sys\nfrom _typeshed import SupportsRead\nfrom collections.abc import Callable, Iterable, Iterator\nfrom importlib.abc import Loader, MetaPathFinder, PathEntryFinder\nfrom typing import IO, Any, NamedTuple, TypeVar\n\n__all__ = [\n \"get_importer\",\n \"iter_importers\",\n \"get_loader\",\n \"find_loader\",\n \"walk_packages\",\n \"iter_modules\",\n \"get_data\",\n \"read_code\",\n \"extend_path\",\n \"ModuleInfo\",\n]\nif sys.version_info < (3, 12):\n __all__ += [\"ImpImporter\", \"ImpLoader\"]\n\n_PathT = TypeVar(\"_PathT\", bound=Iterable[str])\n\nclass ModuleInfo(NamedTuple):\n module_finder: MetaPathFinder | PathEntryFinder\n name: str\n ispkg: bool\n\ndef extend_path(path: _PathT, name: str) -> _PathT: ...\n\nif sys.version_info < (3, 12):\n class ImpImporter:\n def __init__(self, path: str | None = None) -> None: ...\n\n class ImpLoader:\n def __init__(self, fullname: str, file: IO[str], filename: str, etc: tuple[str, str, int]) -> None: ...\n\ndef find_loader(fullname: str) -> Loader | None: ...\ndef get_importer(path_item: str) -> PathEntryFinder | None: ...\ndef get_loader(module_or_name: str) -> Loader | None: ...\ndef iter_importers(fullname: str = \"\") -> Iterator[MetaPathFinder | PathEntryFinder]: ...\ndef iter_modules(path: Iterable[str] | None = None, prefix: str = \"\") -> Iterator[ModuleInfo]: ...\ndef read_code(stream: SupportsRead[bytes]) -> Any: ... # undocumented\ndef walk_packages(\n path: Iterable[str] | None = None, prefix: str = \"\", onerror: Callable[[str], object] | None = None\n) -> Iterator[ModuleInfo]: ...\ndef get_data(package: str, resource: str) -> bytes | None: ...\n\nif sys.version_info >= (3, 9):\n def resolve_name(name: str) -> Any: ...\n", + "/typeshed/stdlib/platform.pyi": "import sys\n\nif sys.version_info < (3, 8):\n import os\n\n DEV_NULL = os.devnull\nfrom typing import NamedTuple\n\nif sys.version_info >= (3, 8):\n def libc_ver(executable: str | None = None, lib: str = \"\", version: str = \"\", chunksize: int = 16384) -> tuple[str, str]: ...\n\nelse:\n def libc_ver(\n executable: str = sys.executable, lib: str = \"\", version: str = \"\", chunksize: int = 16384\n ) -> tuple[str, str]: ...\n\nif sys.version_info < (3, 8):\n def linux_distribution(\n distname: str = \"\",\n version: str = \"\",\n id: str = \"\",\n supported_dists: tuple[str, ...] = ...,\n full_distribution_name: bool = ...,\n ) -> tuple[str, str, str]: ...\n def dist(\n distname: str = \"\", version: str = \"\", id: str = \"\", supported_dists: tuple[str, ...] = ...\n ) -> tuple[str, str, str]: ...\n\ndef win32_ver(release: str = \"\", version: str = \"\", csd: str = \"\", ptype: str = \"\") -> tuple[str, str, str, str]: ...\n\nif sys.version_info >= (3, 8):\n def win32_edition() -> str: ...\n def win32_is_iot() -> bool: ...\n\ndef mac_ver(\n release: str = \"\", versioninfo: tuple[str, str, str] = (\"\", \"\", \"\"), machine: str = \"\"\n) -> tuple[str, tuple[str, str, str], str]: ...\ndef java_ver(\n release: str = \"\", vendor: str = \"\", vminfo: tuple[str, str, str] = (\"\", \"\", \"\"), osinfo: tuple[str, str, str] = (\"\", \"\", \"\")\n) -> tuple[str, str, tuple[str, str, str], tuple[str, str, str]]: ...\ndef system_alias(system: str, release: str, version: str) -> tuple[str, str, str]: ...\ndef architecture(executable: str = sys.executable, bits: str = \"\", linkage: str = \"\") -> tuple[str, str]: ...\n\nclass uname_result(NamedTuple):\n system: str\n node: str\n release: str\n version: str\n machine: str\n processor: str\n\ndef uname() -> uname_result: ...\ndef system() -> str: ...\ndef node() -> str: ...\ndef release() -> str: ...\ndef version() -> str: ...\ndef machine() -> str: ...\ndef processor() -> str: ...\ndef python_implementation() -> str: ...\ndef python_version() -> str: ...\ndef python_version_tuple() -> tuple[str, str, str]: ...\ndef python_branch() -> str: ...\ndef python_revision() -> str: ...\ndef python_build() -> tuple[str, str]: ...\ndef python_compiler() -> str: ...\ndef platform(aliased: bool = ..., terse: bool = ...) -> str: ...\n\nif sys.version_info >= (3, 10):\n def freedesktop_os_release() -> dict[str, str]: ...\n", + "/typeshed/stdlib/plistlib.pyi": "import sys\nfrom _typeshed import ReadableBuffer\nfrom collections.abc import Mapping, MutableMapping\nfrom datetime import datetime\nfrom enum import Enum\nfrom typing import IO, Any\nfrom typing_extensions import Self\n\nif sys.version_info >= (3, 9):\n __all__ = [\"InvalidFileException\", \"FMT_XML\", \"FMT_BINARY\", \"load\", \"dump\", \"loads\", \"dumps\", \"UID\"]\nelif sys.version_info >= (3, 8):\n __all__ = [\n \"readPlist\",\n \"writePlist\",\n \"readPlistFromBytes\",\n \"writePlistToBytes\",\n \"Data\",\n \"InvalidFileException\",\n \"FMT_XML\",\n \"FMT_BINARY\",\n \"load\",\n \"dump\",\n \"loads\",\n \"dumps\",\n \"UID\",\n ]\nelse:\n __all__ = [\n \"readPlist\",\n \"writePlist\",\n \"readPlistFromBytes\",\n \"writePlistToBytes\",\n \"Data\",\n \"InvalidFileException\",\n \"FMT_XML\",\n \"FMT_BINARY\",\n \"load\",\n \"dump\",\n \"loads\",\n \"dumps\",\n ]\n\nclass PlistFormat(Enum):\n FMT_XML: int\n FMT_BINARY: int\n\nFMT_XML = PlistFormat.FMT_XML\nFMT_BINARY = PlistFormat.FMT_BINARY\n\nif sys.version_info >= (3, 9):\n def load(fp: IO[bytes], *, fmt: PlistFormat | None = None, dict_type: type[MutableMapping[str, Any]] = ...) -> Any: ...\n def loads(\n value: ReadableBuffer, *, fmt: PlistFormat | None = None, dict_type: type[MutableMapping[str, Any]] = ...\n ) -> Any: ...\n\nelse:\n def load(\n fp: IO[bytes],\n *,\n fmt: PlistFormat | None = None,\n use_builtin_types: bool = True,\n dict_type: type[MutableMapping[str, Any]] = ...,\n ) -> Any: ...\n def loads(\n value: ReadableBuffer,\n *,\n fmt: PlistFormat | None = None,\n use_builtin_types: bool = True,\n dict_type: type[MutableMapping[str, Any]] = ...,\n ) -> Any: ...\n\ndef dump(\n value: Mapping[str, Any] | list[Any] | tuple[Any, ...] | str | bool | float | bytes | bytearray | datetime,\n fp: IO[bytes],\n *,\n fmt: PlistFormat = ...,\n sort_keys: bool = True,\n skipkeys: bool = False,\n) -> None: ...\ndef dumps(\n value: Mapping[str, Any] | list[Any] | tuple[Any, ...] | str | bool | float | bytes | bytearray | datetime,\n *,\n fmt: PlistFormat = ...,\n skipkeys: bool = False,\n sort_keys: bool = True,\n) -> bytes: ...\n\nif sys.version_info < (3, 9):\n def readPlist(pathOrFile: str | IO[bytes]) -> Any: ...\n def writePlist(value: Mapping[str, Any], pathOrFile: str | IO[bytes]) -> None: ...\n def readPlistFromBytes(data: ReadableBuffer) -> Any: ...\n def writePlistToBytes(value: Mapping[str, Any]) -> bytes: ...\n\nif sys.version_info < (3, 9):\n class Data:\n data: bytes\n def __init__(self, data: bytes) -> None: ...\n\nif sys.version_info >= (3, 8):\n class UID:\n data: int\n def __init__(self, data: int) -> None: ...\n def __index__(self) -> int: ...\n def __reduce__(self) -> tuple[type[Self], tuple[int]]: ...\n def __hash__(self) -> int: ...\n def __eq__(self, other: object) -> bool: ...\n\nclass InvalidFileException(ValueError):\n def __init__(self, message: str = \"Invalid file\") -> None: ...\n", + "/typeshed/stdlib/poplib.pyi": "import socket\nimport ssl\nimport sys\nfrom builtins import list as _list # conflicts with a method named \"list\"\nfrom re import Pattern\nfrom typing import Any, BinaryIO, NoReturn, overload\nfrom typing_extensions import Literal, TypeAlias\n\n__all__ = [\"POP3\", \"error_proto\", \"POP3_SSL\"]\n\n_LongResp: TypeAlias = tuple[bytes, list[bytes], int]\n\nclass error_proto(Exception): ...\n\nPOP3_PORT: Literal[110]\nPOP3_SSL_PORT: Literal[995]\nCR: Literal[b\"\\r\"]\nLF: Literal[b\"\\n\"]\nCRLF: Literal[b\"\\r\\n\"]\nHAVE_SSL: bool\n\nclass POP3:\n encoding: str\n host: str\n port: int\n sock: socket.socket\n file: BinaryIO\n welcome: bytes\n def __init__(self, host: str, port: int = 110, timeout: float = ...) -> None: ...\n def getwelcome(self) -> bytes: ...\n def set_debuglevel(self, level: int) -> None: ...\n def user(self, user: str) -> bytes: ...\n def pass_(self, pswd: str) -> bytes: ...\n def stat(self) -> tuple[int, int]: ...\n def list(self, which: Any | None = None) -> _LongResp: ...\n def retr(self, which: Any) -> _LongResp: ...\n def dele(self, which: Any) -> bytes: ...\n def noop(self) -> bytes: ...\n def rset(self) -> bytes: ...\n def quit(self) -> bytes: ...\n def close(self) -> None: ...\n def rpop(self, user: str) -> bytes: ...\n timestamp: Pattern[str]\n def apop(self, user: str, password: str) -> bytes: ...\n def top(self, which: Any, howmuch: int) -> _LongResp: ...\n @overload\n def uidl(self) -> _LongResp: ...\n @overload\n def uidl(self, which: Any) -> bytes: ...\n def utf8(self) -> bytes: ...\n def capa(self) -> dict[str, _list[str]]: ...\n def stls(self, context: ssl.SSLContext | None = None) -> bytes: ...\n\nclass POP3_SSL(POP3):\n if sys.version_info >= (3, 12):\n def __init__(\n self, host: str, port: int = 995, *, timeout: float = ..., context: ssl.SSLContext | None = None\n ) -> None: ...\n def stls(self, context: Any = None) -> NoReturn: ...\n else:\n def __init__(\n self,\n host: str,\n port: int = 995,\n keyfile: str | None = None,\n certfile: str | None = None,\n timeout: float = ...,\n context: ssl.SSLContext | None = None,\n ) -> None: ...\n # \"context\" is actually the last argument, but that breaks LSP and it doesn't really matter because all the arguments are ignored\n def stls(self, context: Any = None, keyfile: Any = None, certfile: Any = None) -> NoReturn: ...\n", + "/typeshed/stdlib/posix.pyi": "import sys\n\nif sys.platform != \"win32\":\n # Actually defined here, but defining in os allows sharing code with windows\n from os import (\n CLD_CONTINUED as CLD_CONTINUED,\n CLD_DUMPED as CLD_DUMPED,\n CLD_EXITED as CLD_EXITED,\n CLD_TRAPPED as CLD_TRAPPED,\n EX_CANTCREAT as EX_CANTCREAT,\n EX_CONFIG as EX_CONFIG,\n EX_DATAERR as EX_DATAERR,\n EX_IOERR as EX_IOERR,\n EX_NOHOST as EX_NOHOST,\n EX_NOINPUT as EX_NOINPUT,\n EX_NOPERM as EX_NOPERM,\n EX_NOUSER as EX_NOUSER,\n EX_OK as EX_OK,\n EX_OSERR as EX_OSERR,\n EX_OSFILE as EX_OSFILE,\n EX_PROTOCOL as EX_PROTOCOL,\n EX_SOFTWARE as EX_SOFTWARE,\n EX_TEMPFAIL as EX_TEMPFAIL,\n EX_UNAVAILABLE as EX_UNAVAILABLE,\n EX_USAGE as EX_USAGE,\n F_LOCK as F_LOCK,\n F_OK as F_OK,\n F_TEST as F_TEST,\n F_TLOCK as F_TLOCK,\n F_ULOCK as F_ULOCK,\n NGROUPS_MAX as NGROUPS_MAX,\n O_APPEND as O_APPEND,\n O_ASYNC as O_ASYNC,\n O_CREAT as O_CREAT,\n O_DIRECT as O_DIRECT,\n O_DIRECTORY as O_DIRECTORY,\n O_DSYNC as O_DSYNC,\n O_EXCL as O_EXCL,\n O_LARGEFILE as O_LARGEFILE,\n O_NDELAY as O_NDELAY,\n O_NOATIME as O_NOATIME,\n O_NOCTTY as O_NOCTTY,\n O_NOFOLLOW as O_NOFOLLOW,\n O_NONBLOCK as O_NONBLOCK,\n O_RDONLY as O_RDONLY,\n O_RDWR as O_RDWR,\n O_RSYNC as O_RSYNC,\n O_SYNC as O_SYNC,\n O_TRUNC as O_TRUNC,\n O_WRONLY as O_WRONLY,\n P_ALL as P_ALL,\n P_PGID as P_PGID,\n P_PID as P_PID,\n PRIO_PGRP as PRIO_PGRP,\n PRIO_PROCESS as PRIO_PROCESS,\n PRIO_USER as PRIO_USER,\n R_OK as R_OK,\n RTLD_GLOBAL as RTLD_GLOBAL,\n RTLD_LAZY as RTLD_LAZY,\n RTLD_LOCAL as RTLD_LOCAL,\n RTLD_NODELETE as RTLD_NODELETE,\n RTLD_NOLOAD as RTLD_NOLOAD,\n RTLD_NOW as RTLD_NOW,\n SCHED_BATCH as SCHED_BATCH,\n SCHED_FIFO as SCHED_FIFO,\n SCHED_IDLE as SCHED_IDLE,\n SCHED_OTHER as SCHED_OTHER,\n SCHED_RESET_ON_FORK as SCHED_RESET_ON_FORK,\n SCHED_RR as SCHED_RR,\n SCHED_SPORADIC as SCHED_SPORADIC,\n SEEK_DATA as SEEK_DATA,\n SEEK_HOLE as SEEK_HOLE,\n ST_NOSUID as ST_NOSUID,\n ST_RDONLY as ST_RDONLY,\n TMP_MAX as TMP_MAX,\n W_OK as W_OK,\n WCONTINUED as WCONTINUED,\n WCOREDUMP as WCOREDUMP,\n WEXITED as WEXITED,\n WEXITSTATUS as WEXITSTATUS,\n WIFCONTINUED as WIFCONTINUED,\n WIFEXITED as WIFEXITED,\n WIFSIGNALED as WIFSIGNALED,\n WIFSTOPPED as WIFSTOPPED,\n WNOHANG as WNOHANG,\n WNOWAIT as WNOWAIT,\n WSTOPPED as WSTOPPED,\n WSTOPSIG as WSTOPSIG,\n WTERMSIG as WTERMSIG,\n WUNTRACED as WUNTRACED,\n X_OK as X_OK,\n DirEntry as DirEntry,\n _exit as _exit,\n abort as abort,\n access as access,\n chdir as chdir,\n chmod as chmod,\n chown as chown,\n chroot as chroot,\n close as close,\n closerange as closerange,\n confstr as confstr,\n confstr_names as confstr_names,\n cpu_count as cpu_count,\n ctermid as ctermid,\n device_encoding as device_encoding,\n dup as dup,\n dup2 as dup2,\n error as error,\n execv as execv,\n execve as execve,\n fchdir as fchdir,\n fchmod as fchmod,\n fchown as fchown,\n fork as fork,\n forkpty as forkpty,\n fpathconf as fpathconf,\n fspath as fspath,\n fstat as fstat,\n fstatvfs as fstatvfs,\n fsync as fsync,\n ftruncate as ftruncate,\n get_blocking as get_blocking,\n get_inheritable as get_inheritable,\n get_terminal_size as get_terminal_size,\n getcwd as getcwd,\n getcwdb as getcwdb,\n getegid as getegid,\n geteuid as geteuid,\n getgid as getgid,\n getgrouplist as getgrouplist,\n getgroups as getgroups,\n getloadavg as getloadavg,\n getlogin as getlogin,\n getpgid as getpgid,\n getpgrp as getpgrp,\n getpid as getpid,\n getppid as getppid,\n getpriority as getpriority,\n getsid as getsid,\n getuid as getuid,\n initgroups as initgroups,\n isatty as isatty,\n kill as kill,\n killpg as killpg,\n lchown as lchown,\n link as link,\n listdir as listdir,\n lockf as lockf,\n lseek as lseek,\n lstat as lstat,\n major as major,\n makedev as makedev,\n minor as minor,\n mkdir as mkdir,\n mkfifo as mkfifo,\n mknod as mknod,\n nice as nice,\n open as open,\n openpty as openpty,\n pathconf as pathconf,\n pathconf_names as pathconf_names,\n pipe as pipe,\n pread as pread,\n putenv as putenv,\n pwrite as pwrite,\n read as read,\n readlink as readlink,\n readv as readv,\n remove as remove,\n rename as rename,\n replace as replace,\n rmdir as rmdir,\n scandir as scandir,\n sched_get_priority_max as sched_get_priority_max,\n sched_get_priority_min as sched_get_priority_min,\n sched_param as sched_param,\n sched_yield as sched_yield,\n sendfile as sendfile,\n set_blocking as set_blocking,\n set_inheritable as set_inheritable,\n setegid as setegid,\n seteuid as seteuid,\n setgid as setgid,\n setgroups as setgroups,\n setpgid as setpgid,\n setpgrp as setpgrp,\n setpriority as setpriority,\n setregid as setregid,\n setreuid as setreuid,\n setsid as setsid,\n setuid as setuid,\n stat as stat,\n stat_result as stat_result,\n statvfs as statvfs,\n statvfs_result as statvfs_result,\n strerror as strerror,\n symlink as symlink,\n sync as sync,\n sysconf as sysconf,\n sysconf_names as sysconf_names,\n system as system,\n tcgetpgrp as tcgetpgrp,\n tcsetpgrp as tcsetpgrp,\n terminal_size as terminal_size,\n times as times,\n times_result as times_result,\n truncate as truncate,\n ttyname as ttyname,\n umask as umask,\n uname as uname,\n uname_result as uname_result,\n unlink as unlink,\n unsetenv as unsetenv,\n urandom as urandom,\n utime as utime,\n wait as wait,\n wait3 as wait3,\n wait4 as wait4,\n waitpid as waitpid,\n write as write,\n writev as writev,\n )\n\n if sys.platform != \"darwin\":\n from os import EX_NOTFOUND as EX_NOTFOUND\n\n if sys.platform == \"linux\":\n from os import (\n GRND_NONBLOCK as GRND_NONBLOCK,\n GRND_RANDOM as GRND_RANDOM,\n RTLD_DEEPBIND as RTLD_DEEPBIND,\n XATTR_CREATE as XATTR_CREATE,\n XATTR_REPLACE as XATTR_REPLACE,\n XATTR_SIZE_MAX as XATTR_SIZE_MAX,\n getrandom as getrandom,\n getxattr as getxattr,\n listxattr as listxattr,\n removexattr as removexattr,\n setxattr as setxattr,\n )\n\n if sys.version_info >= (3, 10):\n from os import (\n EFD_CLOEXEC as EFD_CLOEXEC,\n EFD_NONBLOCK as EFD_NONBLOCK,\n EFD_SEMAPHORE as EFD_SEMAPHORE,\n SPLICE_F_MORE as SPLICE_F_MORE,\n SPLICE_F_MOVE as SPLICE_F_MOVE,\n SPLICE_F_NONBLOCK as SPLICE_F_NONBLOCK,\n eventfd as eventfd,\n eventfd_read as eventfd_read,\n eventfd_write as eventfd_write,\n splice as splice,\n )\n else:\n from os import chflags as chflags, lchflags as lchflags, lchmod as lchmod\n\n if sys.platform != \"darwin\":\n from os import (\n POSIX_FADV_DONTNEED as POSIX_FADV_DONTNEED,\n POSIX_FADV_NOREUSE as POSIX_FADV_NOREUSE,\n POSIX_FADV_NORMAL as POSIX_FADV_NORMAL,\n POSIX_FADV_RANDOM as POSIX_FADV_RANDOM,\n POSIX_FADV_SEQUENTIAL as POSIX_FADV_SEQUENTIAL,\n POSIX_FADV_WILLNEED as POSIX_FADV_WILLNEED,\n fdatasync as fdatasync,\n getresgid as getresgid,\n getresuid as getresuid,\n pipe2 as pipe2,\n posix_fadvise as posix_fadvise,\n posix_fallocate as posix_fallocate,\n sched_getaffinity as sched_getaffinity,\n sched_getparam as sched_getparam,\n sched_getscheduler as sched_getscheduler,\n sched_rr_get_interval as sched_rr_get_interval,\n sched_setaffinity as sched_setaffinity,\n sched_setparam as sched_setparam,\n sched_setscheduler as sched_setscheduler,\n setresgid as setresgid,\n setresuid as setresuid,\n waitid as waitid,\n waitid_result as waitid_result,\n )\n\n if sys.version_info >= (3, 10):\n from os import RWF_APPEND as RWF_APPEND\n\n if sys.version_info >= (3, 11):\n from os import login_tty as login_tty\n\n if sys.version_info >= (3, 9):\n from os import CLD_KILLED as CLD_KILLED, CLD_STOPPED as CLD_STOPPED, waitstatus_to_exitcode as waitstatus_to_exitcode\n\n if sys.platform == \"linux\":\n from os import P_PIDFD as P_PIDFD, pidfd_open as pidfd_open\n\n if sys.version_info >= (3, 8):\n from os import (\n POSIX_SPAWN_CLOSE as POSIX_SPAWN_CLOSE,\n POSIX_SPAWN_DUP2 as POSIX_SPAWN_DUP2,\n POSIX_SPAWN_OPEN as POSIX_SPAWN_OPEN,\n posix_spawn as posix_spawn,\n posix_spawnp as posix_spawnp,\n )\n\n if sys.platform == \"linux\":\n from os import (\n MFD_ALLOW_SEALING as MFD_ALLOW_SEALING,\n MFD_CLOEXEC as MFD_CLOEXEC,\n MFD_HUGE_1GB as MFD_HUGE_1GB,\n MFD_HUGE_1MB as MFD_HUGE_1MB,\n MFD_HUGE_2GB as MFD_HUGE_2GB,\n MFD_HUGE_2MB as MFD_HUGE_2MB,\n MFD_HUGE_8MB as MFD_HUGE_8MB,\n MFD_HUGE_16GB as MFD_HUGE_16GB,\n MFD_HUGE_16MB as MFD_HUGE_16MB,\n MFD_HUGE_32MB as MFD_HUGE_32MB,\n MFD_HUGE_64KB as MFD_HUGE_64KB,\n MFD_HUGE_256MB as MFD_HUGE_256MB,\n MFD_HUGE_512KB as MFD_HUGE_512KB,\n MFD_HUGE_512MB as MFD_HUGE_512MB,\n MFD_HUGE_MASK as MFD_HUGE_MASK,\n MFD_HUGE_SHIFT as MFD_HUGE_SHIFT,\n MFD_HUGETLB as MFD_HUGETLB,\n copy_file_range as copy_file_range,\n memfd_create as memfd_create,\n )\n from os import preadv as preadv, pwritev as pwritev, register_at_fork as register_at_fork\n\n if sys.platform != \"darwin\":\n from os import RWF_DSYNC as RWF_DSYNC, RWF_HIPRI as RWF_HIPRI, RWF_NOWAIT as RWF_NOWAIT, RWF_SYNC as RWF_SYNC\n\n if sys.version_info >= (3, 12) and sys.platform == \"linux\":\n from os import (\n CLONE_FILES as CLONE_FILES,\n CLONE_FS as CLONE_FS,\n CLONE_NEWCGROUP as CLONE_NEWCGROUP,\n CLONE_NEWIPC as CLONE_NEWIPC,\n CLONE_NEWNET as CLONE_NEWNET,\n CLONE_NEWNS as CLONE_NEWNS,\n CLONE_NEWPID as CLONE_NEWPID,\n CLONE_NEWTIME as CLONE_NEWTIME,\n CLONE_NEWUSER as CLONE_NEWUSER,\n CLONE_NEWUTS as CLONE_NEWUTS,\n CLONE_SIGHAND as CLONE_SIGHAND,\n CLONE_SYSVSEM as CLONE_SYSVSEM,\n CLONE_THREAD as CLONE_THREAD,\n CLONE_VM as CLONE_VM,\n setns as setns,\n unshare as unshare,\n )\n\n if sys.version_info >= (3, 12) and sys.platform == \"darwin\":\n from os import (\n PRIO_DARWIN_BG as PRIO_DARWIN_BG,\n PRIO_DARWIN_NONUI as PRIO_DARWIN_NONUI,\n PRIO_DARWIN_PROCESS as PRIO_DARWIN_PROCESS,\n PRIO_DARWIN_THREAD as PRIO_DARWIN_THREAD,\n )\n\n # Not same as os.environ or os.environb\n # Because of this variable, we can't do \"from posix import *\" in os/__init__.pyi\n environ: dict[bytes, bytes]\n", + "/typeshed/stdlib/posixpath.pyi": "import sys\nfrom _typeshed import AnyOrLiteralStr, BytesPath, FileDescriptorOrPath, StrOrBytesPath, StrPath\nfrom collections.abc import Sequence\nfrom genericpath import (\n commonprefix as commonprefix,\n exists as exists,\n getatime as getatime,\n getctime as getctime,\n getmtime as getmtime,\n getsize as getsize,\n isdir as isdir,\n isfile as isfile,\n samefile as samefile,\n sameopenfile as sameopenfile,\n samestat as samestat,\n)\nfrom os import PathLike\nfrom typing import AnyStr, overload\nfrom typing_extensions import LiteralString\n\n__all__ = [\n \"normcase\",\n \"isabs\",\n \"join\",\n \"splitdrive\",\n \"split\",\n \"splitext\",\n \"basename\",\n \"dirname\",\n \"commonprefix\",\n \"getsize\",\n \"getmtime\",\n \"getatime\",\n \"getctime\",\n \"islink\",\n \"exists\",\n \"lexists\",\n \"isdir\",\n \"isfile\",\n \"ismount\",\n \"expanduser\",\n \"expandvars\",\n \"normpath\",\n \"abspath\",\n \"samefile\",\n \"sameopenfile\",\n \"samestat\",\n \"curdir\",\n \"pardir\",\n \"sep\",\n \"pathsep\",\n \"defpath\",\n \"altsep\",\n \"extsep\",\n \"devnull\",\n \"realpath\",\n \"supports_unicode_filenames\",\n \"relpath\",\n \"commonpath\",\n]\nif sys.version_info >= (3, 12):\n __all__ += [\"isjunction\", \"splitroot\"]\n\nsupports_unicode_filenames: bool\n# aliases (also in os)\ncurdir: LiteralString\npardir: LiteralString\nsep: LiteralString\naltsep: LiteralString | None\nextsep: LiteralString\npathsep: LiteralString\ndefpath: LiteralString\ndevnull: LiteralString\n\n# Overloads are necessary to work around python/mypy#3644.\n@overload\ndef abspath(path: PathLike[AnyStr]) -> AnyStr: ...\n@overload\ndef abspath(path: AnyStr) -> AnyStr: ...\n@overload\ndef basename(p: PathLike[AnyStr]) -> AnyStr: ...\n@overload\ndef basename(p: AnyOrLiteralStr) -> AnyOrLiteralStr: ...\n@overload\ndef dirname(p: PathLike[AnyStr]) -> AnyStr: ...\n@overload\ndef dirname(p: AnyOrLiteralStr) -> AnyOrLiteralStr: ...\n@overload\ndef expanduser(path: PathLike[AnyStr]) -> AnyStr: ...\n@overload\ndef expanduser(path: AnyStr) -> AnyStr: ...\n@overload\ndef expandvars(path: PathLike[AnyStr]) -> AnyStr: ...\n@overload\ndef expandvars(path: AnyStr) -> AnyStr: ...\n@overload\ndef normcase(s: PathLike[AnyStr]) -> AnyStr: ...\n@overload\ndef normcase(s: AnyOrLiteralStr) -> AnyOrLiteralStr: ...\n@overload\ndef normpath(path: PathLike[AnyStr]) -> AnyStr: ...\n@overload\ndef normpath(path: AnyOrLiteralStr) -> AnyOrLiteralStr: ...\n@overload\ndef commonpath(paths: Sequence[LiteralString]) -> LiteralString: ...\n@overload\ndef commonpath(paths: Sequence[StrPath]) -> str: ...\n@overload\ndef commonpath(paths: Sequence[BytesPath]) -> bytes: ...\n\n# First parameter is not actually pos-only,\n# but must be defined as pos-only in the stub or cross-platform code doesn't type-check,\n# as the parameter name is different in ntpath.join()\n@overload\ndef join(__a: LiteralString, *paths: LiteralString) -> LiteralString: ...\n@overload\ndef join(__a: StrPath, *paths: StrPath) -> str: ...\n@overload\ndef join(__a: BytesPath, *paths: BytesPath) -> bytes: ...\n\nif sys.version_info >= (3, 10):\n @overload\n def realpath(filename: PathLike[AnyStr], *, strict: bool = False) -> AnyStr: ...\n @overload\n def realpath(filename: AnyStr, *, strict: bool = False) -> AnyStr: ...\n\nelse:\n @overload\n def realpath(filename: PathLike[AnyStr]) -> AnyStr: ...\n @overload\n def realpath(filename: AnyStr) -> AnyStr: ...\n\n@overload\ndef relpath(path: LiteralString, start: LiteralString | None = None) -> LiteralString: ...\n@overload\ndef relpath(path: BytesPath, start: BytesPath | None = None) -> bytes: ...\n@overload\ndef relpath(path: StrPath, start: StrPath | None = None) -> str: ...\n@overload\ndef split(p: PathLike[AnyStr]) -> tuple[AnyStr, AnyStr]: ...\n@overload\ndef split(p: AnyOrLiteralStr) -> tuple[AnyOrLiteralStr, AnyOrLiteralStr]: ...\n@overload\ndef splitdrive(p: PathLike[AnyStr]) -> tuple[AnyStr, AnyStr]: ...\n@overload\ndef splitdrive(p: AnyOrLiteralStr) -> tuple[AnyOrLiteralStr, AnyOrLiteralStr]: ...\n@overload\ndef splitext(p: PathLike[AnyStr]) -> tuple[AnyStr, AnyStr]: ...\n@overload\ndef splitext(p: AnyOrLiteralStr) -> tuple[AnyOrLiteralStr, AnyOrLiteralStr]: ...\ndef isabs(s: StrOrBytesPath) -> bool: ...\ndef islink(path: FileDescriptorOrPath) -> bool: ...\ndef ismount(path: FileDescriptorOrPath) -> bool: ...\ndef lexists(path: FileDescriptorOrPath) -> bool: ...\n\nif sys.version_info >= (3, 12):\n def isjunction(path: StrOrBytesPath) -> bool: ...\n @overload\n def splitroot(p: AnyOrLiteralStr) -> tuple[AnyOrLiteralStr, AnyOrLiteralStr, AnyOrLiteralStr]: ...\n @overload\n def splitroot(p: PathLike[AnyStr]) -> tuple[AnyStr, AnyStr, AnyStr]: ...\n", + "/typeshed/stdlib/pprint.pyi": "import sys\nfrom typing import IO\n\nif sys.version_info >= (3, 8):\n __all__ = [\"pprint\", \"pformat\", \"isreadable\", \"isrecursive\", \"saferepr\", \"PrettyPrinter\", \"pp\"]\nelse:\n __all__ = [\"pprint\", \"pformat\", \"isreadable\", \"isrecursive\", \"saferepr\", \"PrettyPrinter\"]\n\nif sys.version_info >= (3, 10):\n def pformat(\n object: object,\n indent: int = 1,\n width: int = 80,\n depth: int | None = None,\n *,\n compact: bool = False,\n sort_dicts: bool = True,\n underscore_numbers: bool = False,\n ) -> str: ...\n\nelif sys.version_info >= (3, 8):\n def pformat(\n object: object,\n indent: int = 1,\n width: int = 80,\n depth: int | None = None,\n *,\n compact: bool = False,\n sort_dicts: bool = True,\n ) -> str: ...\n\nelse:\n def pformat(object: object, indent: int = 1, width: int = 80, depth: int | None = None, *, compact: bool = False) -> str: ...\n\nif sys.version_info >= (3, 10):\n def pp(\n object: object,\n stream: IO[str] | None = ...,\n indent: int = ...,\n width: int = ...,\n depth: int | None = ...,\n *,\n compact: bool = ...,\n sort_dicts: bool = False,\n underscore_numbers: bool = ...,\n ) -> None: ...\n\nelif sys.version_info >= (3, 8):\n def pp(\n object: object,\n stream: IO[str] | None = ...,\n indent: int = ...,\n width: int = ...,\n depth: int | None = ...,\n *,\n compact: bool = ...,\n sort_dicts: bool = False,\n ) -> None: ...\n\nif sys.version_info >= (3, 10):\n def pprint(\n object: object,\n stream: IO[str] | None = None,\n indent: int = 1,\n width: int = 80,\n depth: int | None = None,\n *,\n compact: bool = False,\n sort_dicts: bool = True,\n underscore_numbers: bool = False,\n ) -> None: ...\n\nelif sys.version_info >= (3, 8):\n def pprint(\n object: object,\n stream: IO[str] | None = None,\n indent: int = 1,\n width: int = 80,\n depth: int | None = None,\n *,\n compact: bool = False,\n sort_dicts: bool = True,\n ) -> None: ...\n\nelse:\n def pprint(\n object: object,\n stream: IO[str] | None = None,\n indent: int = 1,\n width: int = 80,\n depth: int | None = None,\n *,\n compact: bool = False,\n ) -> None: ...\n\ndef isreadable(object: object) -> bool: ...\ndef isrecursive(object: object) -> bool: ...\ndef saferepr(object: object) -> str: ...\n\nclass PrettyPrinter:\n if sys.version_info >= (3, 10):\n def __init__(\n self,\n indent: int = 1,\n width: int = 80,\n depth: int | None = None,\n stream: IO[str] | None = None,\n *,\n compact: bool = False,\n sort_dicts: bool = True,\n underscore_numbers: bool = False,\n ) -> None: ...\n elif sys.version_info >= (3, 8):\n def __init__(\n self,\n indent: int = 1,\n width: int = 80,\n depth: int | None = None,\n stream: IO[str] | None = None,\n *,\n compact: bool = False,\n sort_dicts: bool = True,\n ) -> None: ...\n else:\n def __init__(\n self,\n indent: int = 1,\n width: int = 80,\n depth: int | None = None,\n stream: IO[str] | None = None,\n *,\n compact: bool = False,\n ) -> None: ...\n\n def pformat(self, object: object) -> str: ...\n def pprint(self, object: object) -> None: ...\n def isreadable(self, object: object) -> bool: ...\n def isrecursive(self, object: object) -> bool: ...\n def format(self, object: object, context: dict[int, int], maxlevels: int, level: int) -> tuple[str, bool, bool]: ...\n", + "/typeshed/stdlib/profile.pyi": "from _typeshed import StrOrBytesPath\nfrom collections.abc import Callable\nfrom typing import Any, TypeVar\nfrom typing_extensions import ParamSpec, Self, TypeAlias\n\n__all__ = [\"run\", \"runctx\", \"Profile\"]\n\ndef run(statement: str, filename: str | None = None, sort: str | int = -1) -> None: ...\ndef runctx(\n statement: str, globals: dict[str, Any], locals: dict[str, Any], filename: str | None = None, sort: str | int = -1\n) -> None: ...\n\n_T = TypeVar(\"_T\")\n_P = ParamSpec(\"_P\")\n_Label: TypeAlias = tuple[str, int, str]\n\nclass Profile:\n bias: int\n stats: dict[_Label, tuple[int, int, int, int, dict[_Label, tuple[int, int, int, int]]]] # undocumented\n def __init__(self, timer: Callable[[], float] | None = None, bias: int | None = None) -> None: ...\n def set_cmd(self, cmd: str) -> None: ...\n def simulate_call(self, name: str) -> None: ...\n def simulate_cmd_complete(self) -> None: ...\n def print_stats(self, sort: str | int = -1) -> None: ...\n def dump_stats(self, file: StrOrBytesPath) -> None: ...\n def create_stats(self) -> None: ...\n def snapshot_stats(self) -> None: ...\n def run(self, cmd: str) -> Self: ...\n def runctx(self, cmd: str, globals: dict[str, Any], locals: dict[str, Any]) -> Self: ...\n def runcall(self, __func: Callable[_P, _T], *args: _P.args, **kw: _P.kwargs) -> _T: ...\n def calibrate(self, m: int, verbose: int = 0) -> float: ...\n", + "/typeshed/stdlib/pstats.pyi": "import sys\nfrom _typeshed import StrOrBytesPath\nfrom collections.abc import Iterable\nfrom cProfile import Profile as _cProfile\nfrom enum import Enum\nfrom profile import Profile\nfrom typing import IO, Any, overload\nfrom typing_extensions import Literal, Self, TypeAlias\n\nif sys.version_info >= (3, 9):\n __all__ = [\"Stats\", \"SortKey\", \"FunctionProfile\", \"StatsProfile\"]\nelse:\n __all__ = [\"Stats\", \"SortKey\"]\n\n_Selector: TypeAlias = str | float | int\n\nclass SortKey(str, Enum):\n CALLS: str\n CUMULATIVE: str\n FILENAME: str\n LINE: str\n NAME: str\n NFL: str\n PCALLS: str\n STDNAME: str\n TIME: str\n\nif sys.version_info >= (3, 9):\n from dataclasses import dataclass\n\n @dataclass(unsafe_hash=True)\n class FunctionProfile:\n ncalls: str\n tottime: float\n percall_tottime: float\n cumtime: float\n percall_cumtime: float\n file_name: str\n line_number: int\n @dataclass(unsafe_hash=True)\n class StatsProfile:\n total_tt: float\n func_profiles: dict[str, FunctionProfile]\n\n_SortArgDict: TypeAlias = dict[str, tuple[tuple[tuple[int, int], ...], str]]\n\nclass Stats:\n sort_arg_dict_default: _SortArgDict\n def __init__(\n self,\n __arg: None | str | Profile | _cProfile = ...,\n *args: None | str | Profile | _cProfile | Self,\n stream: IO[Any] | None = None,\n ) -> None: ...\n def init(self, arg: None | str | Profile | _cProfile) -> None: ...\n def load_stats(self, arg: None | str | Profile | _cProfile) -> None: ...\n def get_top_level_stats(self) -> None: ...\n def add(self, *arg_list: None | str | Profile | _cProfile | Self) -> Self: ...\n def dump_stats(self, filename: StrOrBytesPath) -> None: ...\n def get_sort_arg_defs(self) -> _SortArgDict: ...\n @overload\n def sort_stats(self, field: Literal[-1, 0, 1, 2]) -> Self: ...\n @overload\n def sort_stats(self, *field: str) -> Self: ...\n def reverse_order(self) -> Self: ...\n def strip_dirs(self) -> Self: ...\n def calc_callees(self) -> None: ...\n def eval_print_amount(self, sel: _Selector, list: list[str], msg: str) -> tuple[list[str], str]: ...\n if sys.version_info >= (3, 9):\n def get_stats_profile(self) -> StatsProfile: ...\n\n def get_print_list(self, sel_list: Iterable[_Selector]) -> tuple[int, list[str]]: ...\n def print_stats(self, *amount: _Selector) -> Self: ...\n def print_callees(self, *amount: _Selector) -> Self: ...\n def print_callers(self, *amount: _Selector) -> Self: ...\n def print_call_heading(self, name_size: int, column_title: str) -> None: ...\n def print_call_line(self, name_size: int, source: str, call_dict: dict[str, Any], arrow: str = \"->\") -> None: ...\n def print_title(self) -> None: ...\n def print_line(self, func: str) -> None: ...\n", + "/typeshed/stdlib/pty.pyi": "import sys\nfrom collections.abc import Callable, Iterable\nfrom typing_extensions import Literal, TypeAlias\n\nif sys.platform != \"win32\":\n __all__ = [\"openpty\", \"fork\", \"spawn\"]\n _Reader: TypeAlias = Callable[[int], bytes]\n\n STDIN_FILENO: Literal[0]\n STDOUT_FILENO: Literal[1]\n STDERR_FILENO: Literal[2]\n\n CHILD: Literal[0]\n def openpty() -> tuple[int, int]: ...\n def master_open() -> tuple[int, str]: ... # deprecated, use openpty()\n def slave_open(tty_name: str) -> int: ... # deprecated, use openpty()\n def fork() -> tuple[int, int]: ...\n def spawn(argv: str | Iterable[str], master_read: _Reader = ..., stdin_read: _Reader = ...) -> int: ...\n", + "/typeshed/stdlib/pwd.pyi": "import sys\nfrom _typeshed import structseq\nfrom typing import Any\nfrom typing_extensions import Final, final\n\nif sys.platform != \"win32\":\n @final\n class struct_passwd(structseq[Any], tuple[str, str, int, int, str, str, str]):\n if sys.version_info >= (3, 10):\n __match_args__: Final = (\"pw_name\", \"pw_passwd\", \"pw_uid\", \"pw_gid\", \"pw_gecos\", \"pw_dir\", \"pw_shell\")\n @property\n def pw_name(self) -> str: ...\n @property\n def pw_passwd(self) -> str: ...\n @property\n def pw_uid(self) -> int: ...\n @property\n def pw_gid(self) -> int: ...\n @property\n def pw_gecos(self) -> str: ...\n @property\n def pw_dir(self) -> str: ...\n @property\n def pw_shell(self) -> str: ...\n\n def getpwall() -> list[struct_passwd]: ...\n def getpwuid(__uid: int) -> struct_passwd: ...\n def getpwnam(__name: str) -> struct_passwd: ...\n", + "/typeshed/stdlib/py_compile.pyi": "import enum\nimport sys\nfrom typing import AnyStr\n\n__all__ = [\"compile\", \"main\", \"PyCompileError\", \"PycInvalidationMode\"]\n\nclass PyCompileError(Exception):\n exc_type_name: str\n exc_value: BaseException\n file: str\n msg: str\n def __init__(self, exc_type: type[BaseException], exc_value: BaseException, file: str, msg: str = \"\") -> None: ...\n\nclass PycInvalidationMode(enum.Enum):\n TIMESTAMP: int\n CHECKED_HASH: int\n UNCHECKED_HASH: int\n\ndef _get_default_invalidation_mode() -> PycInvalidationMode: ...\n\nif sys.version_info >= (3, 8):\n def compile(\n file: AnyStr,\n cfile: AnyStr | None = None,\n dfile: AnyStr | None = None,\n doraise: bool = False,\n optimize: int = -1,\n invalidation_mode: PycInvalidationMode | None = None,\n quiet: int = 0,\n ) -> AnyStr | None: ...\n\nelse:\n def compile(\n file: AnyStr,\n cfile: AnyStr | None = None,\n dfile: AnyStr | None = None,\n doraise: bool = False,\n optimize: int = -1,\n invalidation_mode: PycInvalidationMode | None = None,\n ) -> AnyStr | None: ...\n\nif sys.version_info >= (3, 10):\n def main() -> None: ...\n\nelse:\n def main(args: list[str] | None = None) -> int: ...\n", + "/typeshed/stdlib/pyclbr.pyi": "import sys\nfrom collections.abc import Sequence\n\n__all__ = [\"readmodule\", \"readmodule_ex\", \"Class\", \"Function\"]\n\nclass Class:\n module: str\n name: str\n super: list[Class | str] | None\n methods: dict[str, int]\n file: int\n lineno: int\n\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n\n parent: Class | None\n children: dict[str, Class | Function]\n\n if sys.version_info >= (3, 10):\n def __init__(\n self,\n module: str,\n name: str,\n super_: list[Class | str] | None,\n file: str,\n lineno: int,\n parent: Class | None = None,\n *,\n end_lineno: int | None = None,\n ) -> None: ...\n else:\n def __init__(\n self, module: str, name: str, super: list[Class | str] | None, file: str, lineno: int, parent: Class | None = None\n ) -> None: ...\n\nclass Function:\n module: str\n name: str\n file: int\n lineno: int\n\n if sys.version_info >= (3, 10):\n end_lineno: int | None\n is_async: bool\n\n parent: Function | Class | None\n children: dict[str, Class | Function]\n\n if sys.version_info >= (3, 10):\n def __init__(\n self,\n module: str,\n name: str,\n file: str,\n lineno: int,\n parent: Function | Class | None = None,\n is_async: bool = False,\n *,\n end_lineno: int | None = None,\n ) -> None: ...\n else:\n def __init__(self, module: str, name: str, file: str, lineno: int, parent: Function | Class | None = None) -> None: ...\n\ndef readmodule(module: str, path: Sequence[str] | None = None) -> dict[str, Class]: ...\ndef readmodule_ex(module: str, path: Sequence[str] | None = None) -> dict[str, Class | Function | list[str]]: ...\n", + "/typeshed/stdlib/pydoc.pyi": "import sys\nfrom _typeshed import OptExcInfo, SupportsWrite\nfrom abc import abstractmethod\nfrom builtins import list as _list # \"list\" conflicts with method name\nfrom collections.abc import Callable, Container, Mapping, MutableMapping\nfrom reprlib import Repr\nfrom types import MethodType, ModuleType, TracebackType\nfrom typing import IO, Any, AnyStr, NoReturn, TypeVar\nfrom typing_extensions import Final, TypeGuard\n\n__all__ = [\"help\"]\n\n_T = TypeVar(\"_T\")\n\n__author__: Final[str]\n__date__: Final[str]\n__version__: Final[str]\n__credits__: Final[str]\n\ndef pathdirs() -> list[str]: ...\ndef getdoc(object: object) -> str: ...\ndef splitdoc(doc: AnyStr) -> tuple[AnyStr, AnyStr]: ...\ndef classname(object: object, modname: str) -> str: ...\ndef isdata(object: object) -> bool: ...\ndef replace(text: AnyStr, *pairs: AnyStr) -> AnyStr: ...\ndef cram(text: str, maxlen: int) -> str: ...\ndef stripid(text: str) -> str: ...\ndef allmethods(cl: type) -> MutableMapping[str, MethodType]: ...\ndef visiblename(name: str, all: Container[str] | None = None, obj: object = None) -> bool: ...\ndef classify_class_attrs(object: object) -> list[tuple[str, str, type, str]]: ...\ndef ispackage(path: str) -> bool: ...\ndef source_synopsis(file: IO[AnyStr]) -> AnyStr | None: ...\ndef synopsis(filename: str, cache: MutableMapping[str, tuple[int, str]] = {}) -> str | None: ...\n\nclass ErrorDuringImport(Exception):\n filename: str\n exc: type[BaseException] | None\n value: BaseException | None\n tb: TracebackType | None\n def __init__(self, filename: str, exc_info: OptExcInfo) -> None: ...\n\ndef importfile(path: str) -> ModuleType: ...\ndef safeimport(path: str, forceload: bool = ..., cache: MutableMapping[str, ModuleType] = {}) -> ModuleType | None: ...\n\nclass Doc:\n PYTHONDOCS: str\n def document(self, object: object, name: str | None = None, *args: Any) -> str: ...\n def fail(self, object: object, name: str | None = None, *args: Any) -> NoReturn: ...\n @abstractmethod\n def docmodule(self, object: object, name: str | None = None, *args: Any) -> str: ...\n @abstractmethod\n def docclass(self, object: object, name: str | None = None, *args: Any) -> str: ...\n @abstractmethod\n def docroutine(self, object: object, name: str | None = None, *args: Any) -> str: ...\n @abstractmethod\n def docother(self, object: object, name: str | None = None, *args: Any) -> str: ...\n @abstractmethod\n def docproperty(self, object: object, name: str | None = None, *args: Any) -> str: ...\n @abstractmethod\n def docdata(self, object: object, name: str | None = None, *args: Any) -> str: ...\n def getdocloc(self, object: object, basedir: str = ...) -> str | None: ...\n\nclass HTMLRepr(Repr):\n def __init__(self) -> None: ...\n def escape(self, text: str) -> str: ...\n def repr(self, object: object) -> str: ...\n def repr1(self, x: object, level: complex) -> str: ...\n def repr_string(self, x: str, level: complex) -> str: ...\n def repr_str(self, x: str, level: complex) -> str: ...\n def repr_instance(self, x: object, level: complex) -> str: ...\n def repr_unicode(self, x: AnyStr, level: complex) -> str: ...\n\nclass HTMLDoc(Doc):\n _repr_instance: HTMLRepr\n repr = _repr_instance.repr\n escape = _repr_instance.escape\n def page(self, title: str, contents: str) -> str: ...\n if sys.version_info >= (3, 11):\n def heading(self, title: str, extras: str = \"\") -> str: ...\n def section(\n self,\n title: str,\n cls: str,\n contents: str,\n width: int = 6,\n prelude: str = \"\",\n marginalia: str | None = None,\n gap: str = \" \",\n ) -> str: ...\n def multicolumn(self, list: list[_T], format: Callable[[_T], str]) -> str: ...\n else:\n def heading(self, title: str, fgcol: str, bgcol: str, extras: str = \"\") -> str: ...\n def section(\n self,\n title: str,\n fgcol: str,\n bgcol: str,\n contents: str,\n width: int = 6,\n prelude: str = \"\",\n marginalia: str | None = None,\n gap: str = \" \",\n ) -> str: ...\n def multicolumn(self, list: list[_T], format: Callable[[_T], str], cols: int = 4) -> str: ...\n\n def bigsection(self, title: str, *args: Any) -> str: ...\n def preformat(self, text: str) -> str: ...\n def grey(self, text: str) -> str: ...\n def namelink(self, name: str, *dicts: MutableMapping[str, str]) -> str: ...\n def classlink(self, object: object, modname: str) -> str: ...\n def modulelink(self, object: object) -> str: ...\n def modpkglink(self, modpkginfo: tuple[str, str, bool, bool]) -> str: ...\n def markup(\n self,\n text: str,\n escape: Callable[[str], str] | None = None,\n funcs: Mapping[str, str] = {},\n classes: Mapping[str, str] = {},\n methods: Mapping[str, str] = {},\n ) -> str: ...\n def formattree(\n self, tree: list[tuple[type, tuple[type, ...]] | list[Any]], modname: str, parent: type | None = None\n ) -> str: ...\n def docmodule(self, object: object, name: str | None = None, mod: str | None = None, *ignored: Any) -> str: ...\n def docclass(\n self,\n object: object,\n name: str | None = None,\n mod: str | None = None,\n funcs: Mapping[str, str] = {},\n classes: Mapping[str, str] = {},\n *ignored: Any,\n ) -> str: ...\n def formatvalue(self, object: object) -> str: ...\n def docroutine( # type: ignore[override]\n self,\n object: object,\n name: str | None = None,\n mod: str | None = None,\n funcs: Mapping[str, str] = {},\n classes: Mapping[str, str] = {},\n methods: Mapping[str, str] = {},\n cl: type | None = None,\n ) -> str: ...\n def docproperty(self, object: object, name: str | None = None, mod: str | None = None, cl: Any | None = None) -> str: ... # type: ignore[override]\n def docother(self, object: object, name: str | None = None, mod: Any | None = None, *ignored: Any) -> str: ...\n def docdata(self, object: object, name: str | None = None, mod: Any | None = None, cl: Any | None = None) -> str: ... # type: ignore[override]\n def index(self, dir: str, shadowed: MutableMapping[str, bool] | None = None) -> str: ...\n def filelink(self, url: str, path: str) -> str: ...\n\nclass TextRepr(Repr):\n def __init__(self) -> None: ...\n def repr1(self, x: object, level: complex) -> str: ...\n def repr_string(self, x: str, level: complex) -> str: ...\n def repr_str(self, x: str, level: complex) -> str: ...\n def repr_instance(self, x: object, level: complex) -> str: ...\n\nclass TextDoc(Doc):\n _repr_instance: TextRepr\n repr = _repr_instance.repr\n def bold(self, text: str) -> str: ...\n def indent(self, text: str, prefix: str = \" \") -> str: ...\n def section(self, title: str, contents: str) -> str: ...\n def formattree(\n self, tree: list[tuple[type, tuple[type, ...]] | list[Any]], modname: str, parent: type | None = None, prefix: str = \"\"\n ) -> str: ...\n def docmodule(self, object: object, name: str | None = None, mod: Any | None = None) -> str: ... # type: ignore[override]\n def docclass(self, object: object, name: str | None = None, mod: str | None = None, *ignored: Any) -> str: ...\n def formatvalue(self, object: object) -> str: ...\n def docroutine(self, object: object, name: str | None = None, mod: str | None = None, cl: Any | None = None) -> str: ... # type: ignore[override]\n def docproperty(self, object: object, name: str | None = None, mod: Any | None = None, cl: Any | None = None) -> str: ... # type: ignore[override]\n def docdata(self, object: object, name: str | None = None, mod: str | None = None, cl: Any | None = None) -> str: ... # type: ignore[override]\n def docother( # type: ignore[override]\n self,\n object: object,\n name: str | None = None,\n mod: str | None = None,\n parent: str | None = None,\n maxlen: int | None = None,\n doc: Any | None = None,\n ) -> str: ...\n\ndef pager(text: str) -> None: ...\ndef getpager() -> Callable[[str], None]: ...\ndef plain(text: str) -> str: ...\ndef pipepager(text: str, cmd: str) -> None: ...\ndef tempfilepager(text: str, cmd: str) -> None: ...\ndef ttypager(text: str) -> None: ...\ndef plainpager(text: str) -> None: ...\ndef describe(thing: Any) -> str: ...\ndef locate(path: str, forceload: bool = ...) -> object: ...\n\ntext: TextDoc\nhtml: HTMLDoc\n\ndef resolve(thing: str | object, forceload: bool = ...) -> tuple[object, str] | None: ...\ndef render_doc(\n thing: str | object, title: str = \"Python Library Documentation: %s\", forceload: bool = ..., renderer: Doc | None = None\n) -> str: ...\n\nif sys.version_info >= (3, 11):\n def doc(\n thing: str | object,\n title: str = \"Python Library Documentation: %s\",\n forceload: bool = ...,\n output: SupportsWrite[str] | None = None,\n is_cli: bool = False,\n ) -> None: ...\n\nelse:\n def doc(\n thing: str | object,\n title: str = \"Python Library Documentation: %s\",\n forceload: bool = ...,\n output: SupportsWrite[str] | None = None,\n ) -> None: ...\n\ndef writedoc(thing: str | object, forceload: bool = ...) -> None: ...\ndef writedocs(dir: str, pkgpath: str = \"\", done: Any | None = None) -> None: ...\n\nclass Helper:\n keywords: dict[str, str | tuple[str, str]]\n symbols: dict[str, str]\n topics: dict[str, str | tuple[str, ...]]\n def __init__(self, input: IO[str] | None = None, output: IO[str] | None = None) -> None: ...\n @property\n def input(self) -> IO[str]: ...\n @property\n def output(self) -> IO[str]: ...\n def __call__(self, request: str | Helper | object = ...) -> None: ...\n def interact(self) -> None: ...\n def getline(self, prompt: str) -> str: ...\n if sys.version_info >= (3, 11):\n def help(self, request: Any, is_cli: bool = False) -> None: ...\n else:\n def help(self, request: Any) -> None: ...\n\n def intro(self) -> None: ...\n def list(self, items: _list[str], columns: int = 4, width: int = 80) -> None: ...\n def listkeywords(self) -> None: ...\n def listsymbols(self) -> None: ...\n def listtopics(self) -> None: ...\n def showtopic(self, topic: str, more_xrefs: str = \"\") -> None: ...\n def showsymbol(self, symbol: str) -> None: ...\n def listmodules(self, key: str = \"\") -> None: ...\n\nhelp: Helper\n\nclass ModuleScanner:\n quit: bool\n def run(\n self,\n callback: Callable[[str | None, str, str], object],\n key: str | None = None,\n completer: Callable[[], object] | None = None,\n onerror: Callable[[str], object] | None = None,\n ) -> None: ...\n\ndef apropos(key: str) -> None: ...\ndef ispath(x: object) -> TypeGuard[str]: ...\ndef cli() -> None: ...\n", + "/typeshed/stdlib/queue.pyi": "import sys\nfrom threading import Condition, Lock\nfrom typing import Any, Generic, TypeVar\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = [\"Empty\", \"Full\", \"Queue\", \"PriorityQueue\", \"LifoQueue\", \"SimpleQueue\"]\n\n_T = TypeVar(\"_T\")\n\nclass Empty(Exception): ...\nclass Full(Exception): ...\n\nclass Queue(Generic[_T]):\n maxsize: int\n\n mutex: Lock # undocumented\n not_empty: Condition # undocumented\n not_full: Condition # undocumented\n all_tasks_done: Condition # undocumented\n unfinished_tasks: int # undocumented\n # Despite the fact that `queue` has `deque` type,\n # we treat it as `Any` to allow different implementations in subtypes.\n queue: Any # undocumented\n def __init__(self, maxsize: int = 0) -> None: ...\n def _init(self, maxsize: int) -> None: ...\n def empty(self) -> bool: ...\n def full(self) -> bool: ...\n def get(self, block: bool = True, timeout: float | None = None) -> _T: ...\n def get_nowait(self) -> _T: ...\n def _get(self) -> _T: ...\n def put(self, item: _T, block: bool = True, timeout: float | None = None) -> None: ...\n def put_nowait(self, item: _T) -> None: ...\n def _put(self, item: _T) -> None: ...\n def join(self) -> None: ...\n def qsize(self) -> int: ...\n def _qsize(self) -> int: ...\n def task_done(self) -> None: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass PriorityQueue(Queue[_T]):\n queue: list[_T]\n\nclass LifoQueue(Queue[_T]):\n queue: list[_T]\n\nclass SimpleQueue(Generic[_T]):\n def __init__(self) -> None: ...\n def empty(self) -> bool: ...\n def get(self, block: bool = True, timeout: float | None = None) -> _T: ...\n def get_nowait(self) -> _T: ...\n def put(self, item: _T, block: bool = True, timeout: float | None = None) -> None: ...\n def put_nowait(self, item: _T) -> None: ...\n def qsize(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n", + "/typeshed/stdlib/quopri.pyi": "from _typeshed import ReadableBuffer, SupportsNoArgReadline, SupportsRead, SupportsWrite\nfrom typing import Protocol\n\n__all__ = [\"encode\", \"decode\", \"encodestring\", \"decodestring\"]\n\nclass _Input(SupportsRead[bytes], SupportsNoArgReadline[bytes], Protocol): ...\n\ndef encode(input: _Input, output: SupportsWrite[bytes], quotetabs: int, header: bool = False) -> None: ...\ndef encodestring(s: ReadableBuffer, quotetabs: bool = False, header: bool = False) -> bytes: ...\ndef decode(input: _Input, output: SupportsWrite[bytes], header: bool = False) -> None: ...\ndef decodestring(s: str | ReadableBuffer, header: bool = False) -> bytes: ...\n", + "/typeshed/stdlib/random.pyi": "import _random\nimport sys\nfrom _typeshed import SupportsLenAndGetItem\nfrom collections.abc import Callable, Iterable, MutableSequence, Sequence, Set as AbstractSet\nfrom fractions import Fraction\nfrom typing import Any, ClassVar, NoReturn, TypeVar\n\n__all__ = [\n \"Random\",\n \"seed\",\n \"random\",\n \"uniform\",\n \"randint\",\n \"choice\",\n \"sample\",\n \"randrange\",\n \"shuffle\",\n \"normalvariate\",\n \"lognormvariate\",\n \"expovariate\",\n \"vonmisesvariate\",\n \"gammavariate\",\n \"triangular\",\n \"gauss\",\n \"betavariate\",\n \"paretovariate\",\n \"weibullvariate\",\n \"getstate\",\n \"setstate\",\n \"getrandbits\",\n \"choices\",\n \"SystemRandom\",\n]\n\nif sys.version_info >= (3, 9):\n __all__ += [\"randbytes\"]\nif sys.version_info >= (3, 12):\n __all__ += [\"binomialvariate\"]\n\n_T = TypeVar(\"_T\")\n\nclass Random(_random.Random):\n VERSION: ClassVar[int]\n def __init__(self, x: Any = None) -> None: ...\n # Using other `seed` types is deprecated since 3.9 and removed in 3.11\n # Ignore Y041, since random.seed doesn't treat int like a float subtype. Having an explicit\n # int better documents conventional usage of random.seed.\n if sys.version_info >= (3, 9):\n def seed(self, a: int | float | str | bytes | bytearray | None = None, version: int = 2) -> None: ... # type: ignore[override] # noqa: Y041\n else:\n def seed(self, a: Any = None, version: int = 2) -> None: ...\n\n def getstate(self) -> tuple[Any, ...]: ...\n def setstate(self, state: tuple[Any, ...]) -> None: ...\n def randrange(self, start: int, stop: int | None = None, step: int = 1) -> int: ...\n def randint(self, a: int, b: int) -> int: ...\n if sys.version_info >= (3, 9):\n def randbytes(self, n: int) -> bytes: ...\n\n def choice(self, seq: SupportsLenAndGetItem[_T]) -> _T: ...\n def choices(\n self,\n population: SupportsLenAndGetItem[_T],\n weights: Sequence[float | Fraction] | None = None,\n *,\n cum_weights: Sequence[float | Fraction] | None = None,\n k: int = 1,\n ) -> list[_T]: ...\n if sys.version_info >= (3, 11):\n def shuffle(self, x: MutableSequence[Any]) -> None: ...\n else:\n def shuffle(self, x: MutableSequence[Any], random: Callable[[], float] | None = None) -> None: ...\n if sys.version_info >= (3, 11):\n def sample(self, population: Sequence[_T], k: int, *, counts: Iterable[int] | None = None) -> list[_T]: ...\n elif sys.version_info >= (3, 9):\n def sample(\n self, population: Sequence[_T] | AbstractSet[_T], k: int, *, counts: Iterable[int] | None = None\n ) -> list[_T]: ...\n else:\n def sample(self, population: Sequence[_T] | AbstractSet[_T], k: int) -> list[_T]: ...\n\n def uniform(self, a: float, b: float) -> float: ...\n def triangular(self, low: float = 0.0, high: float = 1.0, mode: float | None = None) -> float: ...\n if sys.version_info >= (3, 12):\n def binomialvariate(self, n: int = 1, p: float = 0.5) -> int: ...\n\n def betavariate(self, alpha: float, beta: float) -> float: ...\n if sys.version_info >= (3, 12):\n def expovariate(self, lambd: float = 1.0) -> float: ...\n else:\n def expovariate(self, lambd: float) -> float: ...\n\n def gammavariate(self, alpha: float, beta: float) -> float: ...\n if sys.version_info >= (3, 11):\n def gauss(self, mu: float = 0.0, sigma: float = 1.0) -> float: ...\n def normalvariate(self, mu: float = 0.0, sigma: float = 1.0) -> float: ...\n else:\n def gauss(self, mu: float, sigma: float) -> float: ...\n def normalvariate(self, mu: float, sigma: float) -> float: ...\n\n def lognormvariate(self, mu: float, sigma: float) -> float: ...\n def vonmisesvariate(self, mu: float, kappa: float) -> float: ...\n def paretovariate(self, alpha: float) -> float: ...\n def weibullvariate(self, alpha: float, beta: float) -> float: ...\n\n# SystemRandom is not implemented for all OS's; good on Windows & Linux\nclass SystemRandom(Random):\n def getrandbits(self, k: int) -> int: ... # k can be passed by keyword\n def getstate(self, *args: Any, **kwds: Any) -> NoReturn: ...\n def setstate(self, *args: Any, **kwds: Any) -> NoReturn: ...\n\n_inst: Random\nseed = _inst.seed\nrandom = _inst.random\nuniform = _inst.uniform\ntriangular = _inst.triangular\nrandint = _inst.randint\nchoice = _inst.choice\nrandrange = _inst.randrange\nsample = _inst.sample\nshuffle = _inst.shuffle\nchoices = _inst.choices\nnormalvariate = _inst.normalvariate\nlognormvariate = _inst.lognormvariate\nexpovariate = _inst.expovariate\nvonmisesvariate = _inst.vonmisesvariate\ngammavariate = _inst.gammavariate\ngauss = _inst.gauss\nif sys.version_info >= (3, 12):\n binomialvariate = _inst.binomialvariate\nbetavariate = _inst.betavariate\nparetovariate = _inst.paretovariate\nweibullvariate = _inst.weibullvariate\ngetstate = _inst.getstate\nsetstate = _inst.setstate\ngetrandbits = _inst.getrandbits\nif sys.version_info >= (3, 9):\n randbytes = _inst.randbytes\n", + "/typeshed/stdlib/re.pyi": "import enum\nimport sre_compile\nimport sys\nfrom _typeshed import ReadableBuffer\nfrom collections.abc import Callable, Iterator, Mapping\nfrom sre_constants import error as error\nfrom typing import Any, AnyStr, Generic, TypeVar, overload\nfrom typing_extensions import Literal, TypeAlias, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = [\n \"match\",\n \"fullmatch\",\n \"search\",\n \"sub\",\n \"subn\",\n \"split\",\n \"findall\",\n \"finditer\",\n \"compile\",\n \"purge\",\n \"template\",\n \"escape\",\n \"error\",\n \"A\",\n \"I\",\n \"L\",\n \"M\",\n \"S\",\n \"X\",\n \"U\",\n \"ASCII\",\n \"IGNORECASE\",\n \"LOCALE\",\n \"MULTILINE\",\n \"DOTALL\",\n \"VERBOSE\",\n \"UNICODE\",\n \"Match\",\n \"Pattern\",\n]\n\nif sys.version_info >= (3, 11):\n __all__ += [\"NOFLAG\", \"RegexFlag\"]\n\n_T = TypeVar(\"_T\")\n\n@final\nclass Match(Generic[AnyStr]):\n @property\n def pos(self) -> int: ...\n @property\n def endpos(self) -> int: ...\n @property\n def lastindex(self) -> int | None: ...\n @property\n def lastgroup(self) -> str | None: ...\n @property\n def string(self) -> AnyStr: ...\n\n # The regular expression object whose match() or search() method produced\n # this match instance.\n @property\n def re(self) -> Pattern[AnyStr]: ...\n @overload\n def expand(self: Match[str], template: str) -> str: ...\n @overload\n def expand(self: Match[bytes], template: ReadableBuffer) -> bytes: ... # type: ignore[misc]\n @overload\n def expand(self, template: AnyStr) -> AnyStr: ...\n # group() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def group(self, __group: Literal[0] = 0) -> AnyStr: ...\n @overload\n def group(self, __group: str | int) -> AnyStr | Any: ...\n @overload\n def group(self, __group1: str | int, __group2: str | int, *groups: str | int) -> tuple[AnyStr | Any, ...]: ...\n # Each item of groups()'s return tuple is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groups(self) -> tuple[AnyStr | Any, ...]: ...\n @overload\n def groups(self, default: _T) -> tuple[AnyStr | _T, ...]: ...\n # Each value in groupdict()'s return dict is either \"AnyStr\" or\n # \"AnyStr | None\", depending on the pattern.\n @overload\n def groupdict(self) -> dict[str, AnyStr | Any]: ...\n @overload\n def groupdict(self, default: _T) -> dict[str, AnyStr | _T]: ...\n def start(self, __group: int | str = 0) -> int: ...\n def end(self, __group: int | str = 0) -> int: ...\n def span(self, __group: int | str = 0) -> tuple[int, int]: ...\n @property\n def regs(self) -> tuple[tuple[int, int], ...]: ... # undocumented\n # __getitem__() returns \"AnyStr\" or \"AnyStr | None\", depending on the pattern.\n @overload\n def __getitem__(self, __key: Literal[0]) -> AnyStr: ...\n @overload\n def __getitem__(self, __key: int | str) -> AnyStr | Any: ...\n def __copy__(self) -> Match[AnyStr]: ...\n def __deepcopy__(self, __memo: Any) -> Match[AnyStr]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n@final\nclass Pattern(Generic[AnyStr]):\n @property\n def flags(self) -> int: ...\n @property\n def groupindex(self) -> Mapping[str, int]: ...\n @property\n def groups(self) -> int: ...\n @property\n def pattern(self) -> AnyStr: ...\n @overload\n def search(self: Pattern[str], string: str, pos: int = 0, endpos: int = sys.maxsize) -> Match[str] | None: ...\n @overload\n def search(self: Pattern[bytes], string: ReadableBuffer, pos: int = 0, endpos: int = sys.maxsize) -> Match[bytes] | None: ... # type: ignore[misc]\n @overload\n def search(self, string: AnyStr, pos: int = 0, endpos: int = sys.maxsize) -> Match[AnyStr] | None: ...\n @overload\n def match(self: Pattern[str], string: str, pos: int = 0, endpos: int = sys.maxsize) -> Match[str] | None: ...\n @overload\n def match(self: Pattern[bytes], string: ReadableBuffer, pos: int = 0, endpos: int = sys.maxsize) -> Match[bytes] | None: ... # type: ignore[misc]\n @overload\n def match(self, string: AnyStr, pos: int = 0, endpos: int = sys.maxsize) -> Match[AnyStr] | None: ...\n @overload\n def fullmatch(self: Pattern[str], string: str, pos: int = 0, endpos: int = sys.maxsize) -> Match[str] | None: ...\n @overload\n def fullmatch(self: Pattern[bytes], string: ReadableBuffer, pos: int = 0, endpos: int = sys.maxsize) -> Match[bytes] | None: ... # type: ignore[misc]\n @overload\n def fullmatch(self, string: AnyStr, pos: int = 0, endpos: int = sys.maxsize) -> Match[AnyStr] | None: ...\n @overload\n def split(self: Pattern[str], string: str, maxsplit: int = 0) -> list[str | Any]: ...\n @overload\n def split(self: Pattern[bytes], string: ReadableBuffer, maxsplit: int = 0) -> list[bytes | Any]: ...\n @overload\n def split(self, string: AnyStr, maxsplit: int = 0) -> list[AnyStr | Any]: ...\n # return type depends on the number of groups in the pattern\n @overload\n def findall(self: Pattern[str], string: str, pos: int = 0, endpos: int = sys.maxsize) -> list[Any]: ...\n @overload\n def findall(self: Pattern[bytes], string: ReadableBuffer, pos: int = 0, endpos: int = sys.maxsize) -> list[Any]: ...\n @overload\n def findall(self, string: AnyStr, pos: int = 0, endpos: int = sys.maxsize) -> list[AnyStr]: ...\n @overload\n def finditer(self: Pattern[str], string: str, pos: int = 0, endpos: int = sys.maxsize) -> Iterator[Match[str]]: ...\n @overload\n def finditer(self: Pattern[bytes], string: ReadableBuffer, pos: int = 0, endpos: int = sys.maxsize) -> Iterator[Match[bytes]]: ... # type: ignore[misc]\n @overload\n def finditer(self, string: AnyStr, pos: int = 0, endpos: int = sys.maxsize) -> Iterator[Match[AnyStr]]: ...\n @overload\n def sub(self: Pattern[str], repl: str | Callable[[Match[str]], str], string: str, count: int = 0) -> str: ...\n @overload\n def sub( # type: ignore[misc]\n self: Pattern[bytes],\n repl: ReadableBuffer | Callable[[Match[bytes]], ReadableBuffer],\n string: ReadableBuffer,\n count: int = 0,\n ) -> bytes: ...\n @overload\n def sub(self, repl: AnyStr | Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = 0) -> AnyStr: ...\n @overload\n def subn(self: Pattern[str], repl: str | Callable[[Match[str]], str], string: str, count: int = 0) -> tuple[str, int]: ...\n @overload\n def subn( # type: ignore[misc]\n self: Pattern[bytes],\n repl: ReadableBuffer | Callable[[Match[bytes]], ReadableBuffer],\n string: ReadableBuffer,\n count: int = 0,\n ) -> tuple[bytes, int]: ...\n @overload\n def subn(self, repl: AnyStr | Callable[[Match[AnyStr]], AnyStr], string: AnyStr, count: int = 0) -> tuple[AnyStr, int]: ...\n def __copy__(self) -> Pattern[AnyStr]: ...\n def __deepcopy__(self, __memo: Any) -> Pattern[AnyStr]: ...\n def __eq__(self, __value: object) -> bool: ...\n def __hash__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# ----- re variables and constants -----\n\nclass RegexFlag(enum.IntFlag):\n A = sre_compile.SRE_FLAG_ASCII\n ASCII = A\n DEBUG = sre_compile.SRE_FLAG_DEBUG\n I = sre_compile.SRE_FLAG_IGNORECASE\n IGNORECASE = I\n L = sre_compile.SRE_FLAG_LOCALE\n LOCALE = L\n M = sre_compile.SRE_FLAG_MULTILINE\n MULTILINE = M\n S = sre_compile.SRE_FLAG_DOTALL\n DOTALL = S\n X = sre_compile.SRE_FLAG_VERBOSE\n VERBOSE = X\n U = sre_compile.SRE_FLAG_UNICODE\n UNICODE = U\n T = sre_compile.SRE_FLAG_TEMPLATE\n TEMPLATE = T\n if sys.version_info >= (3, 11):\n NOFLAG: int\n\nA = RegexFlag.A\nASCII = RegexFlag.ASCII\nDEBUG = RegexFlag.DEBUG\nI = RegexFlag.I\nIGNORECASE = RegexFlag.IGNORECASE\nL = RegexFlag.L\nLOCALE = RegexFlag.LOCALE\nM = RegexFlag.M\nMULTILINE = RegexFlag.MULTILINE\nS = RegexFlag.S\nDOTALL = RegexFlag.DOTALL\nX = RegexFlag.X\nVERBOSE = RegexFlag.VERBOSE\nU = RegexFlag.U\nUNICODE = RegexFlag.UNICODE\nT = RegexFlag.T\nTEMPLATE = RegexFlag.TEMPLATE\nif sys.version_info >= (3, 11):\n NOFLAG = RegexFlag.NOFLAG\n_FlagsType: TypeAlias = int | RegexFlag\n\n# Type-wise the compile() overloads are unnecessary, they could also be modeled using\n# unions in the parameter types. However mypy has a bug regarding TypeVar\n# constraints (https://github.com/python/mypy/issues/11880),\n# which limits us here because AnyStr is a constrained TypeVar.\n\n# pattern arguments do *not* accept arbitrary buffers such as bytearray,\n# because the pattern must be hashable.\n@overload\ndef compile(pattern: AnyStr, flags: _FlagsType = 0) -> Pattern[AnyStr]: ...\n@overload\ndef compile(pattern: Pattern[AnyStr], flags: _FlagsType = 0) -> Pattern[AnyStr]: ...\n@overload\ndef search(pattern: str | Pattern[str], string: str, flags: _FlagsType = 0) -> Match[str] | None: ...\n@overload\ndef search(pattern: bytes | Pattern[bytes], string: ReadableBuffer, flags: _FlagsType = 0) -> Match[bytes] | None: ...\n@overload\ndef match(pattern: str | Pattern[str], string: str, flags: _FlagsType = 0) -> Match[str] | None: ...\n@overload\ndef match(pattern: bytes | Pattern[bytes], string: ReadableBuffer, flags: _FlagsType = 0) -> Match[bytes] | None: ...\n@overload\ndef fullmatch(pattern: str | Pattern[str], string: str, flags: _FlagsType = 0) -> Match[str] | None: ...\n@overload\ndef fullmatch(pattern: bytes | Pattern[bytes], string: ReadableBuffer, flags: _FlagsType = 0) -> Match[bytes] | None: ...\n@overload\ndef split(pattern: str | Pattern[str], string: str, maxsplit: int = 0, flags: _FlagsType = 0) -> list[str | Any]: ...\n@overload\ndef split(\n pattern: bytes | Pattern[bytes], string: ReadableBuffer, maxsplit: int = 0, flags: _FlagsType = 0\n) -> list[bytes | Any]: ...\n@overload\ndef findall(pattern: str | Pattern[str], string: str, flags: _FlagsType = 0) -> list[Any]: ...\n@overload\ndef findall(pattern: bytes | Pattern[bytes], string: ReadableBuffer, flags: _FlagsType = 0) -> list[Any]: ...\n@overload\ndef finditer(pattern: str | Pattern[str], string: str, flags: _FlagsType = 0) -> Iterator[Match[str]]: ...\n@overload\ndef finditer(pattern: bytes | Pattern[bytes], string: ReadableBuffer, flags: _FlagsType = 0) -> Iterator[Match[bytes]]: ...\n@overload\ndef sub(\n pattern: str | Pattern[str], repl: str | Callable[[Match[str]], str], string: str, count: int = 0, flags: _FlagsType = 0\n) -> str: ...\n@overload\ndef sub(\n pattern: bytes | Pattern[bytes],\n repl: ReadableBuffer | Callable[[Match[bytes]], ReadableBuffer],\n string: ReadableBuffer,\n count: int = 0,\n flags: _FlagsType = 0,\n) -> bytes: ...\n@overload\ndef subn(\n pattern: str | Pattern[str], repl: str | Callable[[Match[str]], str], string: str, count: int = 0, flags: _FlagsType = 0\n) -> tuple[str, int]: ...\n@overload\ndef subn(\n pattern: bytes | Pattern[bytes],\n repl: ReadableBuffer | Callable[[Match[bytes]], ReadableBuffer],\n string: ReadableBuffer,\n count: int = 0,\n flags: _FlagsType = 0,\n) -> tuple[bytes, int]: ...\ndef escape(pattern: AnyStr) -> AnyStr: ...\ndef purge() -> None: ...\ndef template(pattern: AnyStr | Pattern[AnyStr], flags: _FlagsType = 0) -> Pattern[AnyStr]: ...\n", + "/typeshed/stdlib/readline.pyi": "import sys\nfrom _typeshed import StrOrBytesPath\nfrom collections.abc import Callable, Sequence\nfrom typing_extensions import TypeAlias\n\nif sys.platform != \"win32\":\n _Completer: TypeAlias = Callable[[str, int], str | None]\n _CompDisp: TypeAlias = Callable[[str, Sequence[str], int], None]\n\n def parse_and_bind(__string: str) -> None: ...\n def read_init_file(__filename: StrOrBytesPath | None = None) -> None: ...\n def get_line_buffer() -> str: ...\n def insert_text(__string: str) -> None: ...\n def redisplay() -> None: ...\n def read_history_file(__filename: StrOrBytesPath | None = None) -> None: ...\n def write_history_file(__filename: StrOrBytesPath | None = None) -> None: ...\n def append_history_file(__nelements: int, __filename: StrOrBytesPath | None = None) -> None: ...\n def get_history_length() -> int: ...\n def set_history_length(__length: int) -> None: ...\n def clear_history() -> None: ...\n def get_current_history_length() -> int: ...\n def get_history_item(__index: int) -> str: ...\n def remove_history_item(__pos: int) -> None: ...\n def replace_history_item(__pos: int, __line: str) -> None: ...\n def add_history(__string: str) -> None: ...\n def set_auto_history(__enabled: bool) -> None: ...\n def set_startup_hook(__function: Callable[[], object] | None = None) -> None: ...\n def set_pre_input_hook(__function: Callable[[], object] | None = None) -> None: ...\n def set_completer(__function: _Completer | None = None) -> None: ...\n def get_completer() -> _Completer | None: ...\n def get_completion_type() -> int: ...\n def get_begidx() -> int: ...\n def get_endidx() -> int: ...\n def set_completer_delims(__string: str) -> None: ...\n def get_completer_delims() -> str: ...\n def set_completion_display_matches_hook(__function: _CompDisp | None = None) -> None: ...\n", + "/typeshed/stdlib/reprlib.pyi": "import sys\nfrom array import array\nfrom collections import deque\nfrom collections.abc import Callable\nfrom typing import Any\nfrom typing_extensions import TypeAlias\n\n__all__ = [\"Repr\", \"repr\", \"recursive_repr\"]\n\n_ReprFunc: TypeAlias = Callable[[Any], str]\n\ndef recursive_repr(fillvalue: str = \"...\") -> Callable[[_ReprFunc], _ReprFunc]: ...\n\nclass Repr:\n maxlevel: int\n maxdict: int\n maxlist: int\n maxtuple: int\n maxset: int\n maxfrozenset: int\n maxdeque: int\n maxarray: int\n maxlong: int\n maxstring: int\n maxother: int\n if sys.version_info >= (3, 11):\n fillvalue: str\n if sys.version_info >= (3, 12):\n indent: str | int | None\n\n if sys.version_info >= (3, 12):\n def __init__(\n self,\n *,\n maxlevel: int = 6,\n maxtuple: int = 6,\n maxlist: int = 6,\n maxarray: int = 5,\n maxdict: int = 4,\n maxset: int = 6,\n maxfrozenset: int = 6,\n maxdeque: int = 6,\n maxstring: int = 30,\n maxlong: int = 40,\n maxother: int = 30,\n fillvalue: str = \"...\",\n indent: str | int | None = None,\n ) -> None: ...\n\n def repr(self, x: Any) -> str: ...\n def repr1(self, x: Any, level: int) -> str: ...\n def repr_tuple(self, x: tuple[Any, ...], level: int) -> str: ...\n def repr_list(self, x: list[Any], level: int) -> str: ...\n def repr_array(self, x: array[Any], level: int) -> str: ...\n def repr_set(self, x: set[Any], level: int) -> str: ...\n def repr_frozenset(self, x: frozenset[Any], level: int) -> str: ...\n def repr_deque(self, x: deque[Any], level: int) -> str: ...\n def repr_dict(self, x: dict[Any, Any], level: int) -> str: ...\n def repr_str(self, x: str, level: int) -> str: ...\n def repr_int(self, x: int, level: int) -> str: ...\n def repr_instance(self, x: Any, level: int) -> str: ...\n\naRepr: Repr\n\ndef repr(x: object) -> str: ...\n", + "/typeshed/stdlib/resource.pyi": "import sys\nfrom _typeshed import structseq\nfrom typing_extensions import Final, final\n\nif sys.platform != \"win32\":\n RLIMIT_AS: int\n RLIMIT_CORE: int\n RLIMIT_CPU: int\n RLIMIT_DATA: int\n RLIMIT_FSIZE: int\n RLIMIT_MEMLOCK: int\n RLIMIT_NOFILE: int\n RLIMIT_NPROC: int\n RLIMIT_RSS: int\n RLIMIT_STACK: int\n RLIM_INFINITY: int\n RUSAGE_CHILDREN: int\n RUSAGE_SELF: int\n if sys.platform == \"linux\":\n RLIMIT_MSGQUEUE: int\n RLIMIT_NICE: int\n RLIMIT_OFILE: int\n RLIMIT_RTPRIO: int\n RLIMIT_RTTIME: int\n RLIMIT_SIGPENDING: int\n RUSAGE_THREAD: int\n @final\n class struct_rusage(\n structseq[float], tuple[float, float, int, int, int, int, int, int, int, int, int, int, int, int, int, int]\n ):\n if sys.version_info >= (3, 10):\n __match_args__: Final = (\n \"ru_utime\",\n \"ru_stime\",\n \"ru_maxrss\",\n \"ru_ixrss\",\n \"ru_idrss\",\n \"ru_isrss\",\n \"ru_minflt\",\n \"ru_majflt\",\n \"ru_nswap\",\n \"ru_inblock\",\n \"ru_oublock\",\n \"ru_msgsnd\",\n \"ru_msgrcv\",\n \"ru_nsignals\",\n \"ru_nvcsw\",\n \"ru_nivcsw\",\n )\n @property\n def ru_utime(self) -> float: ...\n @property\n def ru_stime(self) -> float: ...\n @property\n def ru_maxrss(self) -> int: ...\n @property\n def ru_ixrss(self) -> int: ...\n @property\n def ru_idrss(self) -> int: ...\n @property\n def ru_isrss(self) -> int: ...\n @property\n def ru_minflt(self) -> int: ...\n @property\n def ru_majflt(self) -> int: ...\n @property\n def ru_nswap(self) -> int: ...\n @property\n def ru_inblock(self) -> int: ...\n @property\n def ru_oublock(self) -> int: ...\n @property\n def ru_msgsnd(self) -> int: ...\n @property\n def ru_msgrcv(self) -> int: ...\n @property\n def ru_nsignals(self) -> int: ...\n @property\n def ru_nvcsw(self) -> int: ...\n @property\n def ru_nivcsw(self) -> int: ...\n\n def getpagesize() -> int: ...\n def getrlimit(__resource: int) -> tuple[int, int]: ...\n def getrusage(__who: int) -> struct_rusage: ...\n def setrlimit(__resource: int, __limits: tuple[int, int]) -> None: ...\n if sys.platform == \"linux\":\n if sys.version_info >= (3, 12):\n def prlimit(__pid: int, __resource: int, __limits: tuple[int, int] | None = None) -> tuple[int, int]: ...\n else:\n def prlimit(__pid: int, __resource: int, __limits: tuple[int, int] = ...) -> tuple[int, int]: ...\n error = OSError\n", + "/typeshed/stdlib/rlcompleter.pyi": "from typing import Any\n\n__all__ = [\"Completer\"]\n\nclass Completer:\n def __init__(self, namespace: dict[str, Any] | None = None) -> None: ...\n def complete(self, text: str, state: int) -> str | None: ...\n def attr_matches(self, text: str) -> list[str]: ...\n def global_matches(self, text: str) -> list[str]: ...\n", + "/typeshed/stdlib/runpy.pyi": "from _typeshed import Unused\nfrom types import ModuleType\nfrom typing import Any\nfrom typing_extensions import Self\n\n__all__ = [\"run_module\", \"run_path\"]\n\nclass _TempModule:\n mod_name: str\n module: ModuleType\n def __init__(self, mod_name: str) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, *args: Unused) -> None: ...\n\nclass _ModifiedArgv0:\n value: Any\n def __init__(self, value: Any) -> None: ...\n def __enter__(self) -> None: ...\n def __exit__(self, *args: Unused) -> None: ...\n\ndef run_module(\n mod_name: str, init_globals: dict[str, Any] | None = None, run_name: str | None = None, alter_sys: bool = False\n) -> dict[str, Any]: ...\ndef run_path(path_name: str, init_globals: dict[str, Any] | None = None, run_name: str | None = None) -> dict[str, Any]: ...\n", + "/typeshed/stdlib/sched.pyi": "import sys\nfrom collections.abc import Callable\nfrom typing import Any, NamedTuple\nfrom typing_extensions import TypeAlias\n\n__all__ = [\"scheduler\"]\n\n_ActionCallback: TypeAlias = Callable[..., Any]\n\nif sys.version_info >= (3, 10):\n class Event(NamedTuple):\n time: float\n priority: Any\n sequence: int\n action: _ActionCallback\n argument: tuple[Any, ...]\n kwargs: dict[str, Any]\n\nelse:\n class Event(NamedTuple):\n time: float\n priority: Any\n action: _ActionCallback\n argument: tuple[Any, ...]\n kwargs: dict[str, Any]\n\nclass scheduler:\n timefunc: Callable[[], float]\n delayfunc: Callable[[float], object]\n\n def __init__(self, timefunc: Callable[[], float] = ..., delayfunc: Callable[[float], object] = ...) -> None: ...\n def enterabs(\n self, time: float, priority: Any, action: _ActionCallback, argument: tuple[Any, ...] = (), kwargs: dict[str, Any] = ...\n ) -> Event: ...\n def enter(\n self, delay: float, priority: Any, action: _ActionCallback, argument: tuple[Any, ...] = (), kwargs: dict[str, Any] = ...\n ) -> Event: ...\n def run(self, blocking: bool = True) -> float | None: ...\n def cancel(self, event: Event) -> None: ...\n def empty(self) -> bool: ...\n @property\n def queue(self) -> list[Event]: ...\n", + "/typeshed/stdlib/secrets.pyi": "from _typeshed import SupportsLenAndGetItem\nfrom hmac import compare_digest as compare_digest\nfrom random import SystemRandom as SystemRandom\nfrom typing import TypeVar\n\n__all__ = [\"choice\", \"randbelow\", \"randbits\", \"SystemRandom\", \"token_bytes\", \"token_hex\", \"token_urlsafe\", \"compare_digest\"]\n\n_T = TypeVar(\"_T\")\n\ndef randbelow(exclusive_upper_bound: int) -> int: ...\ndef randbits(k: int) -> int: ...\ndef choice(seq: SupportsLenAndGetItem[_T]) -> _T: ...\ndef token_bytes(nbytes: int | None = None) -> bytes: ...\ndef token_hex(nbytes: int | None = None) -> str: ...\ndef token_urlsafe(nbytes: int | None = None) -> str: ...\n", + "/typeshed/stdlib/select.pyi": "import sys\nfrom _typeshed import FileDescriptorLike\nfrom collections.abc import Iterable\nfrom types import TracebackType\nfrom typing import Any\nfrom typing_extensions import Self, final\n\nif sys.platform != \"win32\":\n PIPE_BUF: int\n POLLERR: int\n POLLHUP: int\n POLLIN: int\n POLLMSG: int\n POLLNVAL: int\n POLLOUT: int\n POLLPRI: int\n POLLRDBAND: int\n if sys.platform == \"linux\":\n POLLRDHUP: int\n POLLRDNORM: int\n POLLWRBAND: int\n POLLWRNORM: int\n\nclass poll:\n def register(self, fd: FileDescriptorLike, eventmask: int = ...) -> None: ...\n def modify(self, fd: FileDescriptorLike, eventmask: int) -> None: ...\n def unregister(self, fd: FileDescriptorLike) -> None: ...\n def poll(self, timeout: float | None = ...) -> list[tuple[int, int]]: ...\n\ndef select(\n __rlist: Iterable[Any], __wlist: Iterable[Any], __xlist: Iterable[Any], __timeout: float | None = None\n) -> tuple[list[Any], list[Any], list[Any]]: ...\n\nerror = OSError\n\nif sys.platform != \"linux\" and sys.platform != \"win32\":\n # BSD only\n @final\n class kevent:\n data: Any\n fflags: int\n filter: int\n flags: int\n ident: int\n udata: Any\n def __init__(\n self,\n ident: FileDescriptorLike,\n filter: int = ...,\n flags: int = ...,\n fflags: int = ...,\n data: Any = ...,\n udata: Any = ...,\n ) -> None: ...\n # BSD only\n @final\n class kqueue:\n closed: bool\n def __init__(self) -> None: ...\n def close(self) -> None: ...\n def control(\n self, __changelist: Iterable[kevent] | None, __maxevents: int, __timeout: float | None = None\n ) -> list[kevent]: ...\n def fileno(self) -> int: ...\n @classmethod\n def fromfd(cls, __fd: FileDescriptorLike) -> kqueue: ...\n KQ_EV_ADD: int\n KQ_EV_CLEAR: int\n KQ_EV_DELETE: int\n KQ_EV_DISABLE: int\n KQ_EV_ENABLE: int\n KQ_EV_EOF: int\n KQ_EV_ERROR: int\n KQ_EV_FLAG1: int\n KQ_EV_ONESHOT: int\n KQ_EV_SYSFLAGS: int\n KQ_FILTER_AIO: int\n KQ_FILTER_NETDEV: int\n KQ_FILTER_PROC: int\n KQ_FILTER_READ: int\n KQ_FILTER_SIGNAL: int\n KQ_FILTER_TIMER: int\n KQ_FILTER_VNODE: int\n KQ_FILTER_WRITE: int\n KQ_NOTE_ATTRIB: int\n KQ_NOTE_CHILD: int\n KQ_NOTE_DELETE: int\n KQ_NOTE_EXEC: int\n KQ_NOTE_EXIT: int\n KQ_NOTE_EXTEND: int\n KQ_NOTE_FORK: int\n KQ_NOTE_LINK: int\n if sys.platform != \"darwin\":\n KQ_NOTE_LINKDOWN: int\n KQ_NOTE_LINKINV: int\n KQ_NOTE_LINKUP: int\n KQ_NOTE_LOWAT: int\n KQ_NOTE_PCTRLMASK: int\n KQ_NOTE_PDATAMASK: int\n KQ_NOTE_RENAME: int\n KQ_NOTE_REVOKE: int\n KQ_NOTE_TRACK: int\n KQ_NOTE_TRACKERR: int\n KQ_NOTE_WRITE: int\n\nif sys.platform == \"linux\":\n @final\n class epoll:\n def __init__(self, sizehint: int = ..., flags: int = ...) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self,\n __exc_type: type[BaseException] | None = None,\n __exc_value: BaseException | None = ...,\n __exc_tb: TracebackType | None = None,\n ) -> None: ...\n def close(self) -> None: ...\n closed: bool\n def fileno(self) -> int: ...\n def register(self, fd: FileDescriptorLike, eventmask: int = ...) -> None: ...\n def modify(self, fd: FileDescriptorLike, eventmask: int) -> None: ...\n def unregister(self, fd: FileDescriptorLike) -> None: ...\n def poll(self, timeout: float | None = None, maxevents: int = -1) -> list[tuple[int, int]]: ...\n @classmethod\n def fromfd(cls, __fd: FileDescriptorLike) -> epoll: ...\n EPOLLERR: int\n EPOLLEXCLUSIVE: int\n EPOLLET: int\n EPOLLHUP: int\n EPOLLIN: int\n EPOLLMSG: int\n EPOLLONESHOT: int\n EPOLLOUT: int\n EPOLLPRI: int\n EPOLLRDBAND: int\n EPOLLRDHUP: int\n EPOLLRDNORM: int\n EPOLLWRBAND: int\n EPOLLWRNORM: int\n EPOLL_CLOEXEC: int\n\nif sys.platform != \"linux\" and sys.platform != \"darwin\" and sys.platform != \"win32\":\n # Solaris only\n class devpoll:\n def close(self) -> None: ...\n closed: bool\n def fileno(self) -> int: ...\n def register(self, fd: FileDescriptorLike, eventmask: int = ...) -> None: ...\n def modify(self, fd: FileDescriptorLike, eventmask: int = ...) -> None: ...\n def unregister(self, fd: FileDescriptorLike) -> None: ...\n def poll(self, timeout: float | None = ...) -> list[tuple[int, int]]: ...\n", + "/typeshed/stdlib/selectors.pyi": "import sys\nfrom _typeshed import FileDescriptor, FileDescriptorLike, Unused\nfrom abc import ABCMeta, abstractmethod\nfrom collections.abc import Mapping\nfrom typing import Any, NamedTuple\nfrom typing_extensions import Self, TypeAlias\n\n_EventMask: TypeAlias = int\n\nEVENT_READ: _EventMask\nEVENT_WRITE: _EventMask\n\nclass SelectorKey(NamedTuple):\n fileobj: FileDescriptorLike\n fd: FileDescriptor\n events: _EventMask\n data: Any\n\nclass BaseSelector(metaclass=ABCMeta):\n @abstractmethod\n def register(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = None) -> SelectorKey: ...\n @abstractmethod\n def unregister(self, fileobj: FileDescriptorLike) -> SelectorKey: ...\n def modify(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = None) -> SelectorKey: ...\n @abstractmethod\n def select(self, timeout: float | None = None) -> list[tuple[SelectorKey, _EventMask]]: ...\n def close(self) -> None: ...\n def get_key(self, fileobj: FileDescriptorLike) -> SelectorKey: ...\n @abstractmethod\n def get_map(self) -> Mapping[FileDescriptorLike, SelectorKey]: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, *args: Unused) -> None: ...\n\nclass SelectSelector(BaseSelector):\n def register(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = None) -> SelectorKey: ...\n def unregister(self, fileobj: FileDescriptorLike) -> SelectorKey: ...\n def select(self, timeout: float | None = None) -> list[tuple[SelectorKey, _EventMask]]: ...\n def get_map(self) -> Mapping[FileDescriptorLike, SelectorKey]: ...\n\nif sys.platform != \"win32\":\n class PollSelector(BaseSelector):\n def register(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = None) -> SelectorKey: ...\n def unregister(self, fileobj: FileDescriptorLike) -> SelectorKey: ...\n def select(self, timeout: float | None = None) -> list[tuple[SelectorKey, _EventMask]]: ...\n def get_map(self) -> Mapping[FileDescriptorLike, SelectorKey]: ...\n\nif sys.platform == \"linux\":\n class EpollSelector(BaseSelector):\n def fileno(self) -> int: ...\n def register(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = None) -> SelectorKey: ...\n def unregister(self, fileobj: FileDescriptorLike) -> SelectorKey: ...\n def select(self, timeout: float | None = None) -> list[tuple[SelectorKey, _EventMask]]: ...\n def get_map(self) -> Mapping[FileDescriptorLike, SelectorKey]: ...\n\nclass DevpollSelector(BaseSelector):\n def fileno(self) -> int: ...\n def register(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = ...) -> SelectorKey: ...\n def unregister(self, fileobj: FileDescriptorLike) -> SelectorKey: ...\n def select(self, timeout: float | None = ...) -> list[tuple[SelectorKey, _EventMask]]: ...\n def get_map(self) -> Mapping[FileDescriptorLike, SelectorKey]: ...\n\nif sys.platform != \"win32\":\n class KqueueSelector(BaseSelector):\n def fileno(self) -> int: ...\n def register(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = None) -> SelectorKey: ...\n def unregister(self, fileobj: FileDescriptorLike) -> SelectorKey: ...\n def select(self, timeout: float | None = None) -> list[tuple[SelectorKey, _EventMask]]: ...\n def get_map(self) -> Mapping[FileDescriptorLike, SelectorKey]: ...\n\n# Not a real class at runtime, it is just a conditional alias to other real selectors.\n# The runtime logic is more fine-grained than a `sys.platform` check;\n# not really expressible in the stubs\nclass DefaultSelector(BaseSelector):\n def register(self, fileobj: FileDescriptorLike, events: _EventMask, data: Any = None) -> SelectorKey: ...\n def unregister(self, fileobj: FileDescriptorLike) -> SelectorKey: ...\n def select(self, timeout: float | None = None) -> list[tuple[SelectorKey, _EventMask]]: ...\n def get_map(self) -> Mapping[FileDescriptorLike, SelectorKey]: ...\n if sys.platform != \"win32\":\n def fileno(self) -> int: ...\n", + "/typeshed/stdlib/shelve.pyi": "from collections.abc import Iterator, MutableMapping\nfrom dbm import _TFlags\nfrom types import TracebackType\nfrom typing import Any, TypeVar, overload\nfrom typing_extensions import Self\n\n__all__ = [\"Shelf\", \"BsdDbShelf\", \"DbfilenameShelf\", \"open\"]\n\n_T = TypeVar(\"_T\")\n_VT = TypeVar(\"_VT\")\n\nclass Shelf(MutableMapping[str, _VT]):\n def __init__(\n self, dict: MutableMapping[bytes, bytes], protocol: int | None = None, writeback: bool = False, keyencoding: str = \"utf-8\"\n ) -> None: ...\n def __iter__(self) -> Iterator[str]: ...\n def __len__(self) -> int: ...\n @overload # type: ignore[override]\n def get(self, key: str, default: None = None) -> _VT | None: ... # type: ignore[misc] # overlapping overloads\n @overload\n def get(self, key: str, default: _VT) -> _VT: ...\n @overload\n def get(self, key: str, default: _T) -> _VT | _T: ...\n def __getitem__(self, key: str) -> _VT: ...\n def __setitem__(self, key: str, value: _VT) -> None: ...\n def __delitem__(self, key: str) -> None: ...\n def __contains__(self, key: str) -> bool: ... # type: ignore[override]\n def __enter__(self) -> Self: ...\n def __exit__(\n self, type: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None\n ) -> None: ...\n def close(self) -> None: ...\n def sync(self) -> None: ...\n\nclass BsdDbShelf(Shelf[_VT]):\n def set_location(self, key: str) -> tuple[str, _VT]: ...\n def next(self) -> tuple[str, _VT]: ...\n def previous(self) -> tuple[str, _VT]: ...\n def first(self) -> tuple[str, _VT]: ...\n def last(self) -> tuple[str, _VT]: ...\n\nclass DbfilenameShelf(Shelf[_VT]):\n def __init__(self, filename: str, flag: _TFlags = \"c\", protocol: int | None = None, writeback: bool = False) -> None: ...\n\ndef open(filename: str, flag: _TFlags = \"c\", protocol: int | None = None, writeback: bool = False) -> Shelf[Any]: ...\n", + "/typeshed/stdlib/shlex.pyi": "import sys\nfrom collections.abc import Iterable\nfrom typing import TextIO\nfrom typing_extensions import Self\n\nif sys.version_info >= (3, 8):\n __all__ = [\"shlex\", \"split\", \"quote\", \"join\"]\nelse:\n __all__ = [\"shlex\", \"split\", \"quote\"]\n\ndef split(s: str, comments: bool = False, posix: bool = True) -> list[str]: ...\n\nif sys.version_info >= (3, 8):\n def join(split_command: Iterable[str]) -> str: ...\n\ndef quote(s: str) -> str: ...\n\nclass shlex(Iterable[str]):\n commenters: str\n wordchars: str\n whitespace: str\n escape: str\n quotes: str\n escapedquotes: str\n whitespace_split: bool\n infile: str | None\n instream: TextIO\n source: str\n debug: int\n lineno: int\n token: str\n eof: str | None\n @property\n def punctuation_chars(self) -> str: ...\n def __init__(\n self,\n instream: str | TextIO | None = None,\n infile: str | None = None,\n posix: bool = False,\n punctuation_chars: bool | str = False,\n ) -> None: ...\n def get_token(self) -> str | None: ...\n def push_token(self, tok: str) -> None: ...\n def read_token(self) -> str | None: ...\n def sourcehook(self, newfile: str) -> tuple[str, TextIO] | None: ...\n def push_source(self, newstream: str | TextIO, newfile: str | None = None) -> None: ...\n def pop_source(self) -> None: ...\n def error_leader(self, infile: str | None = None, lineno: int | None = None) -> str: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> str: ...\n", + "/typeshed/stdlib/shutil.pyi": "import os\nimport sys\nfrom _typeshed import BytesPath, FileDescriptorOrPath, StrOrBytesPath, StrPath, SupportsRead, SupportsWrite\nfrom collections.abc import Callable, Iterable, Sequence\nfrom tarfile import _TarfileFilter\nfrom typing import Any, AnyStr, NamedTuple, Protocol, TypeVar, overload\nfrom typing_extensions import TypeAlias\n\n__all__ = [\n \"copyfileobj\",\n \"copyfile\",\n \"copymode\",\n \"copystat\",\n \"copy\",\n \"copy2\",\n \"copytree\",\n \"move\",\n \"rmtree\",\n \"Error\",\n \"SpecialFileError\",\n \"ExecError\",\n \"make_archive\",\n \"get_archive_formats\",\n \"register_archive_format\",\n \"unregister_archive_format\",\n \"get_unpack_formats\",\n \"register_unpack_format\",\n \"unregister_unpack_format\",\n \"unpack_archive\",\n \"ignore_patterns\",\n \"chown\",\n \"which\",\n \"get_terminal_size\",\n \"SameFileError\",\n \"disk_usage\",\n]\n\n_StrOrBytesPathT = TypeVar(\"_StrOrBytesPathT\", bound=StrOrBytesPath)\n_StrPathT = TypeVar(\"_StrPathT\", bound=StrPath)\n# Return value of some functions that may either return a path-like object that was passed in or\n# a string\n_PathReturn: TypeAlias = Any\n\nclass Error(OSError): ...\nclass SameFileError(Error): ...\nclass SpecialFileError(OSError): ...\nclass ExecError(OSError): ...\nclass ReadError(OSError): ...\nclass RegistryError(Exception): ...\n\nif sys.version_info >= (3, 8):\n def copyfileobj(fsrc: SupportsRead[AnyStr], fdst: SupportsWrite[AnyStr], length: int = 0) -> None: ...\n\nelse:\n def copyfileobj(fsrc: SupportsRead[AnyStr], fdst: SupportsWrite[AnyStr], length: int = 16384) -> None: ...\n\ndef copyfile(src: StrOrBytesPath, dst: _StrOrBytesPathT, *, follow_symlinks: bool = True) -> _StrOrBytesPathT: ...\ndef copymode(src: StrOrBytesPath, dst: StrOrBytesPath, *, follow_symlinks: bool = True) -> None: ...\ndef copystat(src: StrOrBytesPath, dst: StrOrBytesPath, *, follow_symlinks: bool = True) -> None: ...\n@overload\ndef copy(src: StrPath, dst: StrPath, *, follow_symlinks: bool = True) -> _PathReturn: ...\n@overload\ndef copy(src: BytesPath, dst: BytesPath, *, follow_symlinks: bool = True) -> _PathReturn: ...\n@overload\ndef copy2(src: StrPath, dst: StrPath, *, follow_symlinks: bool = True) -> _PathReturn: ...\n@overload\ndef copy2(src: BytesPath, dst: BytesPath, *, follow_symlinks: bool = True) -> _PathReturn: ...\ndef ignore_patterns(*patterns: StrPath) -> Callable[[Any, list[str]], set[str]]: ...\n\nif sys.version_info >= (3, 8):\n def copytree(\n src: StrPath,\n dst: StrPath,\n symlinks: bool = False,\n ignore: None | Callable[[str, list[str]], Iterable[str]] | Callable[[StrPath, list[str]], Iterable[str]] = None,\n copy_function: Callable[[str, str], object] = ...,\n ignore_dangling_symlinks: bool = False,\n dirs_exist_ok: bool = False,\n ) -> _PathReturn: ...\n\nelse:\n def copytree(\n src: StrPath,\n dst: StrPath,\n symlinks: bool = False,\n ignore: None | Callable[[str, list[str]], Iterable[str]] | Callable[[StrPath, list[str]], Iterable[str]] = None,\n copy_function: Callable[[str, str], object] = ...,\n ignore_dangling_symlinks: bool = False,\n ) -> _PathReturn: ...\n\n_OnErrorCallback: TypeAlias = Callable[[Callable[..., Any], str, Any], object]\n_OnExcCallback: TypeAlias = Callable[[Callable[..., Any], str, Exception], object]\n\nclass _RmtreeType(Protocol):\n avoids_symlink_attacks: bool\n if sys.version_info >= (3, 12):\n @overload\n def __call__(\n self,\n path: StrOrBytesPath,\n ignore_errors: bool = False,\n onerror: _OnErrorCallback | None = None,\n *,\n onexc: None = None,\n dir_fd: int | None = None,\n ) -> None: ...\n @overload\n def __call__(\n self,\n path: StrOrBytesPath,\n ignore_errors: bool = False,\n onerror: None = None,\n *,\n onexc: _OnExcCallback,\n dir_fd: int | None = None,\n ) -> None: ...\n elif sys.version_info >= (3, 11):\n def __call__(\n self,\n path: StrOrBytesPath,\n ignore_errors: bool = False,\n onerror: _OnErrorCallback | None = None,\n *,\n dir_fd: int | None = None,\n ) -> None: ...\n\n else:\n def __call__(\n self, path: StrOrBytesPath, ignore_errors: bool = False, onerror: _OnErrorCallback | None = None\n ) -> None: ...\n\nrmtree: _RmtreeType\n\n_CopyFn: TypeAlias = Callable[[str, str], object] | Callable[[StrPath, StrPath], object]\n\n# N.B. shutil.move appears to take bytes arguments, however,\n# this does not work when dst is (or is within) an existing directory.\n# (#6832)\nif sys.version_info >= (3, 9):\n def move(src: StrPath, dst: StrPath, copy_function: _CopyFn = ...) -> _PathReturn: ...\n\nelse:\n # See https://bugs.python.org/issue32689\n def move(src: str, dst: StrPath, copy_function: _CopyFn = ...) -> _PathReturn: ...\n\nclass _ntuple_diskusage(NamedTuple):\n total: int\n used: int\n free: int\n\ndef disk_usage(path: FileDescriptorOrPath) -> _ntuple_diskusage: ...\n\n# While chown can be imported on Windows, it doesn't actually work;\n# see https://bugs.python.org/issue33140. We keep it here because it's\n# in __all__.\n@overload\ndef chown(path: StrOrBytesPath, user: str | int, group: None = None) -> None: ...\n@overload\ndef chown(path: StrOrBytesPath, user: None = None, *, group: str | int) -> None: ...\n@overload\ndef chown(path: StrOrBytesPath, user: None, group: str | int) -> None: ...\n@overload\ndef chown(path: StrOrBytesPath, user: str | int, group: str | int) -> None: ...\n\nif sys.version_info >= (3, 8):\n @overload\n def which(cmd: _StrPathT, mode: int = 1, path: StrPath | None = None) -> str | _StrPathT | None: ...\n @overload\n def which(cmd: bytes, mode: int = 1, path: StrPath | None = None) -> bytes | None: ...\n\nelse:\n def which(cmd: _StrPathT, mode: int = 1, path: StrPath | None = None) -> str | _StrPathT | None: ...\n\ndef make_archive(\n base_name: str,\n format: str,\n root_dir: StrPath | None = None,\n base_dir: StrPath | None = None,\n verbose: bool = ...,\n dry_run: bool = ...,\n owner: str | None = None,\n group: str | None = None,\n logger: Any | None = None,\n) -> str: ...\ndef get_archive_formats() -> list[tuple[str, str]]: ...\n@overload\ndef register_archive_format(\n name: str, function: Callable[..., object], extra_args: Sequence[tuple[str, Any] | list[Any]], description: str = \"\"\n) -> None: ...\n@overload\ndef register_archive_format(\n name: str, function: Callable[[str, str], object], extra_args: None = None, description: str = \"\"\n) -> None: ...\ndef unregister_archive_format(name: str) -> None: ...\n\nif sys.version_info >= (3, 8):\n def unpack_archive(\n filename: StrPath, extract_dir: StrPath | None = None, format: str | None = None, *, filter: _TarfileFilter | None = None\n ) -> None: ...\n\nelse:\n def unpack_archive(filename: StrPath, extract_dir: StrPath | None = None, format: str | None = None) -> None: ...\n\n@overload\ndef register_unpack_format(\n name: str,\n extensions: list[str],\n function: Callable[..., object],\n extra_args: Sequence[tuple[str, Any]],\n description: str = \"\",\n) -> None: ...\n@overload\ndef register_unpack_format(\n name: str, extensions: list[str], function: Callable[[str, str], object], extra_args: None = None, description: str = \"\"\n) -> None: ...\ndef unregister_unpack_format(name: str) -> None: ...\ndef get_unpack_formats() -> list[tuple[str, list[str], str]]: ...\ndef get_terminal_size(fallback: tuple[int, int] = (80, 24)) -> os.terminal_size: ...\n", + "/typeshed/stdlib/signal.pyi": "import sys\nfrom _typeshed import structseq\nfrom collections.abc import Callable, Iterable\nfrom enum import IntEnum\nfrom types import FrameType\nfrom typing import Any\nfrom typing_extensions import Final, Never, TypeAlias, final\n\nNSIG: int\n\nclass Signals(IntEnum):\n SIGABRT: int\n SIGFPE: int\n SIGILL: int\n SIGINT: int\n SIGSEGV: int\n SIGTERM: int\n\n if sys.platform == \"win32\":\n SIGBREAK: int\n CTRL_C_EVENT: int\n CTRL_BREAK_EVENT: int\n else:\n SIGALRM: int\n SIGBUS: int\n SIGCHLD: int\n SIGCONT: int\n SIGHUP: int\n SIGIO: int\n SIGIOT: int\n SIGKILL: int\n SIGPIPE: int\n SIGPROF: int\n SIGQUIT: int\n SIGSTOP: int\n SIGSYS: int\n SIGTRAP: int\n SIGTSTP: int\n SIGTTIN: int\n SIGTTOU: int\n SIGURG: int\n SIGUSR1: int\n SIGUSR2: int\n SIGVTALRM: int\n SIGWINCH: int\n SIGXCPU: int\n SIGXFSZ: int\n if sys.platform != \"linux\":\n SIGEMT: int\n SIGINFO: int\n if sys.platform != \"darwin\":\n SIGCLD: int\n SIGPOLL: int\n SIGPWR: int\n SIGRTMAX: int\n SIGRTMIN: int\n if sys.version_info >= (3, 11):\n SIGSTKFLT: int\n\nclass Handlers(IntEnum):\n SIG_DFL: int\n SIG_IGN: int\n\nSIG_DFL: Handlers\nSIG_IGN: Handlers\n\n_SIGNUM: TypeAlias = int | Signals\n_HANDLER: TypeAlias = Callable[[int, FrameType | None], Any] | int | Handlers | None\n\ndef default_int_handler(__signalnum: int, __frame: FrameType | None) -> Never: ...\n\nif sys.version_info >= (3, 10): # arguments changed in 3.10.2\n def getsignal(signalnum: _SIGNUM) -> _HANDLER: ...\n def signal(signalnum: _SIGNUM, handler: _HANDLER) -> _HANDLER: ...\n\nelse:\n def getsignal(__signalnum: _SIGNUM) -> _HANDLER: ...\n def signal(__signalnum: _SIGNUM, __handler: _HANDLER) -> _HANDLER: ...\n\nSIGABRT: Signals\nSIGFPE: Signals\nSIGILL: Signals\nSIGINT: Signals\nSIGSEGV: Signals\nSIGTERM: Signals\n\nif sys.platform == \"win32\":\n SIGBREAK: Signals\n CTRL_C_EVENT: Signals\n CTRL_BREAK_EVENT: Signals\nelse:\n if sys.platform != \"linux\":\n SIGINFO: Signals\n SIGEMT: Signals\n SIGALRM: Signals\n SIGBUS: Signals\n SIGCHLD: Signals\n SIGCONT: Signals\n SIGHUP: Signals\n SIGIO: Signals\n SIGIOT: Signals\n SIGKILL: Signals\n SIGPIPE: Signals\n SIGPROF: Signals\n SIGQUIT: Signals\n SIGSTOP: Signals\n SIGSYS: Signals\n SIGTRAP: Signals\n SIGTSTP: Signals\n SIGTTIN: Signals\n SIGTTOU: Signals\n SIGURG: Signals\n SIGUSR1: Signals\n SIGUSR2: Signals\n SIGVTALRM: Signals\n SIGWINCH: Signals\n SIGXCPU: Signals\n SIGXFSZ: Signals\n\n class ItimerError(OSError): ...\n ITIMER_PROF: int\n ITIMER_REAL: int\n ITIMER_VIRTUAL: int\n\n class Sigmasks(IntEnum):\n SIG_BLOCK: int\n SIG_UNBLOCK: int\n SIG_SETMASK: int\n SIG_BLOCK = Sigmasks.SIG_BLOCK\n SIG_UNBLOCK = Sigmasks.SIG_UNBLOCK\n SIG_SETMASK = Sigmasks.SIG_SETMASK\n def alarm(__seconds: int) -> int: ...\n def getitimer(__which: int) -> tuple[float, float]: ...\n def pause() -> None: ...\n def pthread_kill(__thread_id: int, __signalnum: int) -> None: ...\n if sys.version_info >= (3, 10): # arguments changed in 3.10.2\n def pthread_sigmask(how: int, mask: Iterable[int]) -> set[_SIGNUM]: ...\n else:\n def pthread_sigmask(__how: int, __mask: Iterable[int]) -> set[_SIGNUM]: ...\n\n def setitimer(__which: int, __seconds: float, __interval: float = 0.0) -> tuple[float, float]: ...\n def siginterrupt(__signalnum: int, __flag: bool) -> None: ...\n def sigpending() -> Any: ...\n if sys.version_info >= (3, 10): # argument changed in 3.10.2\n def sigwait(sigset: Iterable[int]) -> _SIGNUM: ...\n else:\n def sigwait(__sigset: Iterable[int]) -> _SIGNUM: ...\n if sys.platform != \"darwin\":\n SIGCLD: Signals\n SIGPOLL: Signals\n SIGPWR: Signals\n SIGRTMAX: Signals\n SIGRTMIN: Signals\n if sys.version_info >= (3, 11):\n SIGSTKFLT: Signals\n @final\n class struct_siginfo(structseq[int], tuple[int, int, int, int, int, int, int]):\n if sys.version_info >= (3, 10):\n __match_args__: Final = (\"si_signo\", \"si_code\", \"si_errno\", \"si_pid\", \"si_uid\", \"si_status\", \"si_band\")\n @property\n def si_signo(self) -> int: ...\n @property\n def si_code(self) -> int: ...\n @property\n def si_errno(self) -> int: ...\n @property\n def si_pid(self) -> int: ...\n @property\n def si_uid(self) -> int: ...\n @property\n def si_status(self) -> int: ...\n @property\n def si_band(self) -> int: ...\n\n if sys.version_info >= (3, 10):\n def sigtimedwait(__sigset: Iterable[int], __timeout: float) -> struct_siginfo | None: ...\n def sigwaitinfo(__sigset: Iterable[int]) -> struct_siginfo: ...\n else:\n def sigtimedwait(sigset: Iterable[int], timeout: float) -> struct_siginfo | None: ...\n def sigwaitinfo(sigset: Iterable[int]) -> struct_siginfo: ...\n\nif sys.version_info >= (3, 8):\n def strsignal(__signalnum: _SIGNUM) -> str | None: ...\n def valid_signals() -> set[Signals]: ...\n def raise_signal(__signalnum: _SIGNUM) -> None: ...\n\ndef set_wakeup_fd(fd: int, *, warn_on_full_buffer: bool = ...) -> int: ...\n\nif sys.version_info >= (3, 9):\n if sys.platform == \"linux\":\n def pidfd_send_signal(__pidfd: int, __sig: int, __siginfo: None = None, __flags: int = ...) -> None: ...\n", + "/typeshed/stdlib/site.pyi": "from _typeshed import StrPath\nfrom collections.abc import Iterable\n\nPREFIXES: list[str]\nENABLE_USER_SITE: bool | None\nUSER_SITE: str | None\nUSER_BASE: str | None\n\ndef main() -> None: ...\ndef abs_paths() -> None: ... # undocumented\ndef addpackage(sitedir: StrPath, name: StrPath, known_paths: set[str] | None) -> set[str] | None: ... # undocumented\ndef addsitedir(sitedir: str, known_paths: set[str] | None = None) -> None: ...\ndef addsitepackages(known_paths: set[str] | None, prefixes: Iterable[str] | None = None) -> set[str] | None: ... # undocumented\ndef addusersitepackages(known_paths: set[str] | None) -> set[str] | None: ... # undocumented\ndef check_enableusersite() -> bool | None: ... # undocumented\ndef enablerlcompleter() -> None: ... # undocumented\ndef execsitecustomize() -> None: ... # undocumented\ndef execusercustomize() -> None: ... # undocumented\ndef getsitepackages(prefixes: Iterable[str] | None = None) -> list[str]: ...\ndef getuserbase() -> str: ...\ndef getusersitepackages() -> str: ...\ndef makepath(*paths: StrPath) -> tuple[str, str]: ... # undocumented\ndef removeduppaths() -> set[str]: ... # undocumented\ndef setcopyright() -> None: ... # undocumented\ndef sethelper() -> None: ... # undocumented\ndef setquit() -> None: ... # undocumented\ndef venv(known_paths: set[str] | None) -> set[str] | None: ... # undocumented\n", + "/typeshed/stdlib/smtpd.pyi": "import asynchat\nimport asyncore\nimport socket\nimport sys\nfrom collections import defaultdict\nfrom typing import Any\nfrom typing_extensions import TypeAlias\n\nif sys.version_info >= (3, 11):\n __all__ = [\"SMTPChannel\", \"SMTPServer\", \"DebuggingServer\", \"PureProxy\"]\nelse:\n __all__ = [\"SMTPChannel\", \"SMTPServer\", \"DebuggingServer\", \"PureProxy\", \"MailmanProxy\"]\n\n_Address: TypeAlias = tuple[str, int] # (host, port)\n\nclass SMTPChannel(asynchat.async_chat):\n COMMAND: int\n DATA: int\n\n command_size_limits: defaultdict[str, int]\n smtp_server: SMTPServer\n conn: socket.socket\n addr: Any\n received_lines: list[str]\n smtp_state: int\n seen_greeting: str\n mailfrom: str\n rcpttos: list[str]\n received_data: str\n fqdn: str\n peer: str\n\n command_size_limit: int\n data_size_limit: int\n\n enable_SMTPUTF8: bool\n @property\n def max_command_size_limit(self) -> int: ...\n def __init__(\n self,\n server: SMTPServer,\n conn: socket.socket,\n addr: Any,\n data_size_limit: int = 33554432,\n map: asyncore._MapType | None = None,\n enable_SMTPUTF8: bool = False,\n decode_data: bool = False,\n ) -> None: ...\n # base asynchat.async_chat.push() accepts bytes\n def push(self, msg: str) -> None: ... # type: ignore[override]\n def collect_incoming_data(self, data: bytes) -> None: ...\n def found_terminator(self) -> None: ...\n def smtp_HELO(self, arg: str) -> None: ...\n def smtp_NOOP(self, arg: str) -> None: ...\n def smtp_QUIT(self, arg: str) -> None: ...\n def smtp_MAIL(self, arg: str) -> None: ...\n def smtp_RCPT(self, arg: str) -> None: ...\n def smtp_RSET(self, arg: str) -> None: ...\n def smtp_DATA(self, arg: str) -> None: ...\n def smtp_EHLO(self, arg: str) -> None: ...\n def smtp_HELP(self, arg: str) -> None: ...\n def smtp_VRFY(self, arg: str) -> None: ...\n def smtp_EXPN(self, arg: str) -> None: ...\n\nclass SMTPServer(asyncore.dispatcher):\n channel_class: type[SMTPChannel]\n\n data_size_limit: int\n enable_SMTPUTF8: bool\n def __init__(\n self,\n localaddr: _Address,\n remoteaddr: _Address,\n data_size_limit: int = 33554432,\n map: asyncore._MapType | None = None,\n enable_SMTPUTF8: bool = False,\n decode_data: bool = False,\n ) -> None: ...\n def handle_accepted(self, conn: socket.socket, addr: Any) -> None: ...\n def process_message(\n self, peer: _Address, mailfrom: str, rcpttos: list[str], data: bytes | str, **kwargs: Any\n ) -> str | None: ...\n\nclass DebuggingServer(SMTPServer): ...\n\nclass PureProxy(SMTPServer):\n def process_message(self, peer: _Address, mailfrom: str, rcpttos: list[str], data: bytes | str) -> str | None: ... # type: ignore[override]\n\nif sys.version_info < (3, 11):\n class MailmanProxy(PureProxy):\n def process_message(self, peer: _Address, mailfrom: str, rcpttos: list[str], data: bytes | str) -> str | None: ... # type: ignore[override]\n", + "/typeshed/stdlib/smtplib.pyi": "import sys\nfrom _socket import _Address as _SourceAddress\nfrom _typeshed import ReadableBuffer, SizedBuffer\nfrom collections.abc import Sequence\nfrom email.message import Message as _Message\nfrom re import Pattern\nfrom socket import socket\nfrom ssl import SSLContext\nfrom types import TracebackType\nfrom typing import Any, Protocol, overload\nfrom typing_extensions import Self, TypeAlias\n\n__all__ = [\n \"SMTPException\",\n \"SMTPServerDisconnected\",\n \"SMTPResponseException\",\n \"SMTPSenderRefused\",\n \"SMTPRecipientsRefused\",\n \"SMTPDataError\",\n \"SMTPConnectError\",\n \"SMTPHeloError\",\n \"SMTPAuthenticationError\",\n \"quoteaddr\",\n \"quotedata\",\n \"SMTP\",\n \"SMTP_SSL\",\n \"SMTPNotSupportedError\",\n]\n\n_Reply: TypeAlias = tuple[int, bytes]\n_SendErrs: TypeAlias = dict[str, _Reply]\n\nSMTP_PORT: int\nSMTP_SSL_PORT: int\nCRLF: str\nbCRLF: bytes\n\nOLDSTYLE_AUTH: Pattern[str]\n\nclass SMTPException(OSError): ...\nclass SMTPNotSupportedError(SMTPException): ...\nclass SMTPServerDisconnected(SMTPException): ...\n\nclass SMTPResponseException(SMTPException):\n smtp_code: int\n smtp_error: bytes | str\n args: tuple[int, bytes | str] | tuple[int, bytes, str]\n def __init__(self, code: int, msg: bytes | str) -> None: ...\n\nclass SMTPSenderRefused(SMTPResponseException):\n smtp_error: bytes\n sender: str\n args: tuple[int, bytes, str]\n def __init__(self, code: int, msg: bytes, sender: str) -> None: ...\n\nclass SMTPRecipientsRefused(SMTPException):\n recipients: _SendErrs\n args: tuple[_SendErrs]\n def __init__(self, recipients: _SendErrs) -> None: ...\n\nclass SMTPDataError(SMTPResponseException): ...\nclass SMTPConnectError(SMTPResponseException): ...\nclass SMTPHeloError(SMTPResponseException): ...\nclass SMTPAuthenticationError(SMTPResponseException): ...\n\ndef quoteaddr(addrstring: str) -> str: ...\ndef quotedata(data: str) -> str: ...\n\nclass _AuthObject(Protocol):\n @overload\n def __call__(self, challenge: None = None) -> str | None: ...\n @overload\n def __call__(self, challenge: bytes) -> str: ...\n\nclass SMTP:\n debuglevel: int\n sock: socket | None\n # Type of file should match what socket.makefile() returns\n file: Any | None\n helo_resp: bytes | None\n ehlo_msg: str\n ehlo_resp: bytes | None\n does_esmtp: bool\n default_port: int\n timeout: float\n esmtp_features: dict[str, str]\n command_encoding: str\n source_address: _SourceAddress | None\n local_hostname: str\n def __init__(\n self,\n host: str = \"\",\n port: int = 0,\n local_hostname: str | None = None,\n timeout: float = ...,\n source_address: _SourceAddress | None = None,\n ) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_value: BaseException | None, tb: TracebackType | None\n ) -> None: ...\n def set_debuglevel(self, debuglevel: int) -> None: ...\n def connect(self, host: str = \"localhost\", port: int = 0, source_address: _SourceAddress | None = None) -> _Reply: ...\n def send(self, s: ReadableBuffer | str) -> None: ...\n def putcmd(self, cmd: str, args: str = \"\") -> None: ...\n def getreply(self) -> _Reply: ...\n def docmd(self, cmd: str, args: str = \"\") -> _Reply: ...\n def helo(self, name: str = \"\") -> _Reply: ...\n def ehlo(self, name: str = \"\") -> _Reply: ...\n def has_extn(self, opt: str) -> bool: ...\n def help(self, args: str = \"\") -> bytes: ...\n def rset(self) -> _Reply: ...\n def noop(self) -> _Reply: ...\n def mail(self, sender: str, options: Sequence[str] = ()) -> _Reply: ...\n def rcpt(self, recip: str, options: Sequence[str] = ()) -> _Reply: ...\n def data(self, msg: ReadableBuffer | str) -> _Reply: ...\n def verify(self, address: str) -> _Reply: ...\n vrfy = verify\n def expn(self, address: str) -> _Reply: ...\n def ehlo_or_helo_if_needed(self) -> None: ...\n user: str\n password: str\n def auth(self, mechanism: str, authobject: _AuthObject, *, initial_response_ok: bool = True) -> _Reply: ...\n @overload\n def auth_cram_md5(self, challenge: None = None) -> None: ...\n @overload\n def auth_cram_md5(self, challenge: ReadableBuffer) -> str: ...\n def auth_plain(self, challenge: ReadableBuffer | None = None) -> str: ...\n def auth_login(self, challenge: ReadableBuffer | None = None) -> str: ...\n def login(self, user: str, password: str, *, initial_response_ok: bool = True) -> _Reply: ...\n if sys.version_info >= (3, 12):\n def starttls(self, *, context: SSLContext | None = None) -> _Reply: ...\n else:\n def starttls(\n self, keyfile: str | None = None, certfile: str | None = None, context: SSLContext | None = None\n ) -> _Reply: ...\n\n def sendmail(\n self,\n from_addr: str,\n to_addrs: str | Sequence[str],\n msg: SizedBuffer | str,\n mail_options: Sequence[str] = (),\n rcpt_options: Sequence[str] = (),\n ) -> _SendErrs: ...\n def send_message(\n self,\n msg: _Message,\n from_addr: str | None = None,\n to_addrs: str | Sequence[str] | None = None,\n mail_options: Sequence[str] = (),\n rcpt_options: Sequence[str] = (),\n ) -> _SendErrs: ...\n def close(self) -> None: ...\n def quit(self) -> _Reply: ...\n\nclass SMTP_SSL(SMTP):\n keyfile: str | None\n certfile: str | None\n context: SSLContext\n if sys.version_info >= (3, 12):\n def __init__(\n self,\n host: str = \"\",\n port: int = 0,\n local_hostname: str | None = None,\n *,\n timeout: float = ...,\n source_address: _SourceAddress | None = None,\n context: SSLContext | None = None,\n ) -> None: ...\n else:\n def __init__(\n self,\n host: str = \"\",\n port: int = 0,\n local_hostname: str | None = None,\n keyfile: str | None = None,\n certfile: str | None = None,\n timeout: float = ...,\n source_address: _SourceAddress | None = None,\n context: SSLContext | None = None,\n ) -> None: ...\n\nLMTP_PORT: int\n\nclass LMTP(SMTP):\n if sys.version_info >= (3, 9):\n def __init__(\n self,\n host: str = \"\",\n port: int = 2003,\n local_hostname: str | None = None,\n source_address: _SourceAddress | None = None,\n timeout: float = ...,\n ) -> None: ...\n else:\n def __init__(\n self,\n host: str = \"\",\n port: int = 2003,\n local_hostname: str | None = None,\n source_address: _SourceAddress | None = None,\n ) -> None: ...\n", + "/typeshed/stdlib/sndhdr.pyi": "from _typeshed import StrOrBytesPath\nfrom typing import NamedTuple\n\n__all__ = [\"what\", \"whathdr\"]\n\nclass SndHeaders(NamedTuple):\n filetype: str\n framerate: int\n nchannels: int\n nframes: int\n sampwidth: int | str\n\ndef what(filename: StrOrBytesPath) -> SndHeaders | None: ...\ndef whathdr(filename: StrOrBytesPath) -> SndHeaders | None: ...\n", + "/typeshed/stdlib/socketserver.pyi": "import sys\nimport types\nfrom _socket import _Address, _RetAddress\nfrom _typeshed import ReadableBuffer\nfrom collections.abc import Callable\nfrom socket import socket as _socket\nfrom typing import Any, BinaryIO, ClassVar\nfrom typing_extensions import Self, TypeAlias\n\n__all__ = [\n \"BaseServer\",\n \"TCPServer\",\n \"UDPServer\",\n \"ThreadingUDPServer\",\n \"ThreadingTCPServer\",\n \"BaseRequestHandler\",\n \"StreamRequestHandler\",\n \"DatagramRequestHandler\",\n \"ThreadingMixIn\",\n]\nif sys.platform != \"win32\":\n __all__ += [\n \"ForkingMixIn\",\n \"ForkingTCPServer\",\n \"ForkingUDPServer\",\n \"ThreadingUnixDatagramServer\",\n \"ThreadingUnixStreamServer\",\n \"UnixDatagramServer\",\n \"UnixStreamServer\",\n ]\n if sys.version_info >= (3, 12):\n __all__ += [\"ForkingUnixStreamServer\", \"ForkingUnixDatagramServer\"]\n\n_RequestType: TypeAlias = _socket | tuple[bytes, _socket]\n_AfUnixAddress: TypeAlias = str | ReadableBuffer # address acceptable for an AF_UNIX socket\n_AfInetAddress: TypeAlias = tuple[str | bytes | bytearray, int] # address acceptable for an AF_INET socket\n\n# This can possibly be generic at some point:\nclass BaseServer:\n address_family: int\n server_address: _Address\n socket: _socket\n allow_reuse_address: bool\n request_queue_size: int\n socket_type: int\n timeout: float | None\n RequestHandlerClass: Callable[[Any, _RetAddress, Self], BaseRequestHandler]\n def __init__(\n self, server_address: _Address, RequestHandlerClass: Callable[[Any, _RetAddress, Self], BaseRequestHandler]\n ) -> None: ...\n def fileno(self) -> int: ...\n def handle_request(self) -> None: ...\n def serve_forever(self, poll_interval: float = 0.5) -> None: ...\n def shutdown(self) -> None: ...\n def server_close(self) -> None: ...\n def finish_request(self, request: _RequestType, client_address: _RetAddress) -> None: ...\n def get_request(self) -> tuple[Any, Any]: ...\n def handle_error(self, request: _RequestType, client_address: _RetAddress) -> None: ...\n def handle_timeout(self) -> None: ...\n def process_request(self, request: _RequestType, client_address: _RetAddress) -> None: ...\n def server_activate(self) -> None: ...\n def server_bind(self) -> None: ...\n def verify_request(self, request: _RequestType, client_address: _RetAddress) -> bool: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: types.TracebackType | None\n ) -> None: ...\n def service_actions(self) -> None: ...\n def shutdown_request(self, request: _RequestType) -> None: ... # undocumented\n def close_request(self, request: _RequestType) -> None: ... # undocumented\n\nclass TCPServer(BaseServer):\n if sys.version_info >= (3, 11):\n allow_reuse_port: bool\n server_address: _AfInetAddress\n def __init__(\n self,\n server_address: _AfInetAddress,\n RequestHandlerClass: Callable[[Any, _RetAddress, Self], BaseRequestHandler],\n bind_and_activate: bool = True,\n ) -> None: ...\n def get_request(self) -> tuple[_socket, _RetAddress]: ...\n\nclass UDPServer(TCPServer):\n max_packet_size: ClassVar[int]\n def get_request(self) -> tuple[tuple[bytes, _socket], _RetAddress]: ... # type: ignore[override]\n\nif sys.platform != \"win32\":\n class UnixStreamServer(BaseServer):\n server_address: _AfUnixAddress # type: ignore[assignment]\n def __init__(\n self,\n server_address: _AfUnixAddress,\n RequestHandlerClass: Callable[[Any, _RetAddress, Self], BaseRequestHandler],\n bind_and_activate: bool = True,\n ) -> None: ...\n\n class UnixDatagramServer(BaseServer):\n server_address: _AfUnixAddress # type: ignore[assignment]\n def __init__(\n self,\n server_address: _AfUnixAddress,\n RequestHandlerClass: Callable[[Any, _RetAddress, Self], BaseRequestHandler],\n bind_and_activate: bool = True,\n ) -> None: ...\n\nif sys.platform != \"win32\":\n class ForkingMixIn:\n timeout: float | None # undocumented\n active_children: set[int] | None # undocumented\n max_children: int # undocumented\n block_on_close: bool\n def collect_children(self, *, blocking: bool = False) -> None: ... # undocumented\n def handle_timeout(self) -> None: ... # undocumented\n def service_actions(self) -> None: ... # undocumented\n def process_request(self, request: _RequestType, client_address: _RetAddress) -> None: ...\n def server_close(self) -> None: ...\n\nclass ThreadingMixIn:\n daemon_threads: bool\n block_on_close: bool\n def process_request_thread(self, request: _RequestType, client_address: _RetAddress) -> None: ... # undocumented\n def process_request(self, request: _RequestType, client_address: _RetAddress) -> None: ...\n def server_close(self) -> None: ...\n\nif sys.platform != \"win32\":\n class ForkingTCPServer(ForkingMixIn, TCPServer): ...\n class ForkingUDPServer(ForkingMixIn, UDPServer): ...\n if sys.version_info >= (3, 12):\n class ForkingUnixStreamServer(ForkingMixIn, UnixStreamServer): ...\n class ForkingUnixDatagramServer(ForkingMixIn, UnixDatagramServer): ...\n\nclass ThreadingTCPServer(ThreadingMixIn, TCPServer): ...\nclass ThreadingUDPServer(ThreadingMixIn, UDPServer): ...\n\nif sys.platform != \"win32\":\n class ThreadingUnixStreamServer(ThreadingMixIn, UnixStreamServer): ...\n class ThreadingUnixDatagramServer(ThreadingMixIn, UnixDatagramServer): ...\n\nclass BaseRequestHandler:\n # `request` is technically of type _RequestType,\n # but there are some concerns that having a union here would cause\n # too much inconvenience to people using it (see\n # https://github.com/python/typeshed/pull/384#issuecomment-234649696)\n #\n # Note also that _RetAddress is also just an alias for `Any`\n request: Any\n client_address: _RetAddress\n server: BaseServer\n def __init__(self, request: _RequestType, client_address: _RetAddress, server: BaseServer) -> None: ...\n def setup(self) -> None: ...\n def handle(self) -> None: ...\n def finish(self) -> None: ...\n\nclass StreamRequestHandler(BaseRequestHandler):\n rbufsize: ClassVar[int] # undocumented\n wbufsize: ClassVar[int] # undocumented\n timeout: ClassVar[float | None] # undocumented\n disable_nagle_algorithm: ClassVar[bool] # undocumented\n connection: Any # undocumented\n rfile: BinaryIO\n wfile: BinaryIO\n\nclass DatagramRequestHandler(BaseRequestHandler):\n packet: _socket # undocumented\n socket: _socket # undocumented\n rfile: BinaryIO\n wfile: BinaryIO\n", + "/typeshed/stdlib/spwd.pyi": "import sys\nfrom _typeshed import structseq\nfrom typing import Any\nfrom typing_extensions import Final, final\n\nif sys.platform != \"win32\":\n @final\n class struct_spwd(structseq[Any], tuple[str, str, int, int, int, int, int, int, int]):\n if sys.version_info >= (3, 10):\n __match_args__: Final = (\n \"sp_namp\",\n \"sp_pwdp\",\n \"sp_lstchg\",\n \"sp_min\",\n \"sp_max\",\n \"sp_warn\",\n \"sp_inact\",\n \"sp_expire\",\n \"sp_flag\",\n )\n @property\n def sp_namp(self) -> str: ...\n @property\n def sp_pwdp(self) -> str: ...\n @property\n def sp_lstchg(self) -> int: ...\n @property\n def sp_min(self) -> int: ...\n @property\n def sp_max(self) -> int: ...\n @property\n def sp_warn(self) -> int: ...\n @property\n def sp_inact(self) -> int: ...\n @property\n def sp_expire(self) -> int: ...\n @property\n def sp_flag(self) -> int: ...\n\n def getspall() -> list[struct_spwd]: ...\n def getspnam(__arg: str) -> struct_spwd: ...\n", + "/typeshed/stdlib/sre_compile.pyi": "from re import Pattern\nfrom sre_constants import *\nfrom sre_constants import _NamedIntConstant\nfrom sre_parse import SubPattern\nfrom typing import Any\n\nMAXCODE: int\n\ndef dis(code: list[_NamedIntConstant]) -> None: ...\ndef isstring(obj: Any) -> bool: ...\ndef compile(p: str | bytes | SubPattern, flags: int = 0) -> Pattern[Any]: ...\n", + "/typeshed/stdlib/sre_constants.pyi": "import sys\nfrom typing import Any\nfrom typing_extensions import Self\n\nMAXGROUPS: int\n\nMAGIC: int\n\nclass error(Exception):\n msg: str\n pattern: str | bytes | None\n pos: int | None\n lineno: int\n colno: int\n def __init__(self, msg: str, pattern: str | bytes | None = None, pos: int | None = None) -> None: ...\n\nclass _NamedIntConstant(int):\n name: Any\n def __new__(cls, value: int, name: str) -> Self: ...\n\nMAXREPEAT: _NamedIntConstant\nOPCODES: list[_NamedIntConstant]\nATCODES: list[_NamedIntConstant]\nCHCODES: list[_NamedIntConstant]\nOP_IGNORE: dict[_NamedIntConstant, _NamedIntConstant]\nOP_LOCALE_IGNORE: dict[_NamedIntConstant, _NamedIntConstant]\nOP_UNICODE_IGNORE: dict[_NamedIntConstant, _NamedIntConstant]\nAT_MULTILINE: dict[_NamedIntConstant, _NamedIntConstant]\nAT_LOCALE: dict[_NamedIntConstant, _NamedIntConstant]\nAT_UNICODE: dict[_NamedIntConstant, _NamedIntConstant]\nCH_LOCALE: dict[_NamedIntConstant, _NamedIntConstant]\nCH_UNICODE: dict[_NamedIntConstant, _NamedIntConstant]\nSRE_FLAG_TEMPLATE: int\nSRE_FLAG_IGNORECASE: int\nSRE_FLAG_LOCALE: int\nSRE_FLAG_MULTILINE: int\nSRE_FLAG_DOTALL: int\nSRE_FLAG_UNICODE: int\nSRE_FLAG_VERBOSE: int\nSRE_FLAG_DEBUG: int\nSRE_FLAG_ASCII: int\nSRE_INFO_PREFIX: int\nSRE_INFO_LITERAL: int\nSRE_INFO_CHARSET: int\n\n# Stubgen above; manually defined constants below (dynamic at runtime)\n\n# from OPCODES\nFAILURE: _NamedIntConstant\nSUCCESS: _NamedIntConstant\nANY: _NamedIntConstant\nANY_ALL: _NamedIntConstant\nASSERT: _NamedIntConstant\nASSERT_NOT: _NamedIntConstant\nAT: _NamedIntConstant\nBRANCH: _NamedIntConstant\nif sys.version_info < (3, 11):\n CALL: _NamedIntConstant\nCATEGORY: _NamedIntConstant\nCHARSET: _NamedIntConstant\nBIGCHARSET: _NamedIntConstant\nGROUPREF: _NamedIntConstant\nGROUPREF_EXISTS: _NamedIntConstant\nGROUPREF_IGNORE: _NamedIntConstant\nIN: _NamedIntConstant\nIN_IGNORE: _NamedIntConstant\nINFO: _NamedIntConstant\nJUMP: _NamedIntConstant\nLITERAL: _NamedIntConstant\nLITERAL_IGNORE: _NamedIntConstant\nMARK: _NamedIntConstant\nMAX_UNTIL: _NamedIntConstant\nMIN_UNTIL: _NamedIntConstant\nNOT_LITERAL: _NamedIntConstant\nNOT_LITERAL_IGNORE: _NamedIntConstant\nNEGATE: _NamedIntConstant\nRANGE: _NamedIntConstant\nREPEAT: _NamedIntConstant\nREPEAT_ONE: _NamedIntConstant\nSUBPATTERN: _NamedIntConstant\nMIN_REPEAT_ONE: _NamedIntConstant\nif sys.version_info >= (3, 11):\n ATOMIC_GROUP: _NamedIntConstant\n POSSESSIVE_REPEAT: _NamedIntConstant\n POSSESSIVE_REPEAT_ONE: _NamedIntConstant\nRANGE_UNI_IGNORE: _NamedIntConstant\nGROUPREF_LOC_IGNORE: _NamedIntConstant\nGROUPREF_UNI_IGNORE: _NamedIntConstant\nIN_LOC_IGNORE: _NamedIntConstant\nIN_UNI_IGNORE: _NamedIntConstant\nLITERAL_LOC_IGNORE: _NamedIntConstant\nLITERAL_UNI_IGNORE: _NamedIntConstant\nNOT_LITERAL_LOC_IGNORE: _NamedIntConstant\nNOT_LITERAL_UNI_IGNORE: _NamedIntConstant\nMIN_REPEAT: _NamedIntConstant\nMAX_REPEAT: _NamedIntConstant\n\n# from ATCODES\nAT_BEGINNING: _NamedIntConstant\nAT_BEGINNING_LINE: _NamedIntConstant\nAT_BEGINNING_STRING: _NamedIntConstant\nAT_BOUNDARY: _NamedIntConstant\nAT_NON_BOUNDARY: _NamedIntConstant\nAT_END: _NamedIntConstant\nAT_END_LINE: _NamedIntConstant\nAT_END_STRING: _NamedIntConstant\nAT_LOC_BOUNDARY: _NamedIntConstant\nAT_LOC_NON_BOUNDARY: _NamedIntConstant\nAT_UNI_BOUNDARY: _NamedIntConstant\nAT_UNI_NON_BOUNDARY: _NamedIntConstant\n\n# from CHCODES\nCATEGORY_DIGIT: _NamedIntConstant\nCATEGORY_NOT_DIGIT: _NamedIntConstant\nCATEGORY_SPACE: _NamedIntConstant\nCATEGORY_NOT_SPACE: _NamedIntConstant\nCATEGORY_WORD: _NamedIntConstant\nCATEGORY_NOT_WORD: _NamedIntConstant\nCATEGORY_LINEBREAK: _NamedIntConstant\nCATEGORY_NOT_LINEBREAK: _NamedIntConstant\nCATEGORY_LOC_WORD: _NamedIntConstant\nCATEGORY_LOC_NOT_WORD: _NamedIntConstant\nCATEGORY_UNI_DIGIT: _NamedIntConstant\nCATEGORY_UNI_NOT_DIGIT: _NamedIntConstant\nCATEGORY_UNI_SPACE: _NamedIntConstant\nCATEGORY_UNI_NOT_SPACE: _NamedIntConstant\nCATEGORY_UNI_WORD: _NamedIntConstant\nCATEGORY_UNI_NOT_WORD: _NamedIntConstant\nCATEGORY_UNI_LINEBREAK: _NamedIntConstant\nCATEGORY_UNI_NOT_LINEBREAK: _NamedIntConstant\n", + "/typeshed/stdlib/sre_parse.pyi": "import sys\nfrom collections.abc import Iterable\nfrom re import Match, Pattern as _Pattern\nfrom sre_constants import *\nfrom sre_constants import _NamedIntConstant as _NIC, error as _Error\nfrom typing import Any, overload\nfrom typing_extensions import TypeAlias\n\nSPECIAL_CHARS: str\nREPEAT_CHARS: str\nDIGITS: frozenset[str]\nOCTDIGITS: frozenset[str]\nHEXDIGITS: frozenset[str]\nASCIILETTERS: frozenset[str]\nWHITESPACE: frozenset[str]\nESCAPES: dict[str, tuple[_NIC, int]]\nCATEGORIES: dict[str, tuple[_NIC, _NIC] | tuple[_NIC, list[tuple[_NIC, _NIC]]]]\nFLAGS: dict[str, int]\nTYPE_FLAGS: int\nGLOBAL_FLAGS: int\n\nif sys.version_info < (3, 11):\n class Verbose(Exception): ...\n\nclass _State:\n flags: int\n groupdict: dict[str, int]\n groupwidths: list[int | None]\n lookbehindgroups: int | None\n @property\n def groups(self) -> int: ...\n def opengroup(self, name: str | None = ...) -> int: ...\n def closegroup(self, gid: int, p: SubPattern) -> None: ...\n def checkgroup(self, gid: int) -> bool: ...\n def checklookbehindgroup(self, gid: int, source: Tokenizer) -> None: ...\n\nif sys.version_info >= (3, 8):\n State: TypeAlias = _State\nelse:\n Pattern: TypeAlias = _State\n\n_OpSubpatternType: TypeAlias = tuple[int | None, int, int, SubPattern]\n_OpGroupRefExistsType: TypeAlias = tuple[int, SubPattern, SubPattern]\n_OpInType: TypeAlias = list[tuple[_NIC, int]]\n_OpBranchType: TypeAlias = tuple[None, list[SubPattern]]\n_AvType: TypeAlias = _OpInType | _OpBranchType | Iterable[SubPattern] | _OpGroupRefExistsType | _OpSubpatternType\n_CodeType: TypeAlias = tuple[_NIC, _AvType]\n\nclass SubPattern:\n data: list[_CodeType]\n width: int | None\n\n if sys.version_info >= (3, 8):\n state: State\n def __init__(self, state: State, data: list[_CodeType] | None = None) -> None: ...\n else:\n pattern: Pattern\n def __init__(self, pattern: Pattern, data: list[_CodeType] | None = None) -> None: ...\n\n def dump(self, level: int = 0) -> None: ...\n def __len__(self) -> int: ...\n def __delitem__(self, index: int | slice) -> None: ...\n def __getitem__(self, index: int | slice) -> SubPattern | _CodeType: ...\n def __setitem__(self, index: int | slice, code: _CodeType) -> None: ...\n def insert(self, index: int, code: _CodeType) -> None: ...\n def append(self, code: _CodeType) -> None: ...\n def getwidth(self) -> tuple[int, int]: ...\n\nclass Tokenizer:\n istext: bool\n string: Any\n decoded_string: str\n index: int\n next: str | None\n def __init__(self, string: Any) -> None: ...\n def match(self, char: str) -> bool: ...\n def get(self) -> str | None: ...\n def getwhile(self, n: int, charset: Iterable[str]) -> str: ...\n if sys.version_info >= (3, 8):\n def getuntil(self, terminator: str, name: str) -> str: ...\n else:\n def getuntil(self, terminator: str) -> str: ...\n\n @property\n def pos(self) -> int: ...\n def tell(self) -> int: ...\n def seek(self, index: int) -> None: ...\n def error(self, msg: str, offset: int = 0) -> _Error: ...\n\n if sys.version_info >= (3, 12):\n def checkgroupname(self, name: str, offset: int) -> None: ...\n elif sys.version_info >= (3, 11):\n def checkgroupname(self, name: str, offset: int, nested: int) -> None: ...\n\ndef fix_flags(src: str | bytes, flags: int) -> int: ...\n\n_TemplateType: TypeAlias = tuple[list[tuple[int, int]], list[str | None]]\n_TemplateByteType: TypeAlias = tuple[list[tuple[int, int]], list[bytes | None]]\n\nif sys.version_info >= (3, 12):\n @overload\n def parse_template(source: str, pattern: _Pattern[Any]) -> _TemplateType: ...\n @overload\n def parse_template(source: bytes, pattern: _Pattern[Any]) -> _TemplateByteType: ...\n\nelif sys.version_info >= (3, 8):\n @overload\n def parse_template(source: str, state: _Pattern[Any]) -> _TemplateType: ...\n @overload\n def parse_template(source: bytes, state: _Pattern[Any]) -> _TemplateByteType: ...\n\nelse:\n @overload\n def parse_template(source: str, pattern: _Pattern[Any]) -> _TemplateType: ...\n @overload\n def parse_template(source: bytes, pattern: _Pattern[Any]) -> _TemplateByteType: ...\n\nif sys.version_info >= (3, 8):\n def parse(str: str, flags: int = 0, state: State | None = None) -> SubPattern: ...\n\nelse:\n def parse(str: str, flags: int = 0, pattern: Pattern | None = None) -> SubPattern: ...\n\nif sys.version_info < (3, 12):\n def expand_template(template: _TemplateType, match: Match[Any]) -> str: ...\n", + "/typeshed/stdlib/ssl.pyi": "import enum\nimport socket\nimport sys\nfrom _typeshed import ReadableBuffer, StrOrBytesPath, WriteableBuffer\nfrom collections.abc import Callable, Iterable\nfrom typing import Any, NamedTuple, overload\nfrom typing_extensions import Literal, Never, Self, TypeAlias, TypedDict, final\n\n_PCTRTT: TypeAlias = tuple[tuple[str, str], ...]\n_PCTRTTT: TypeAlias = tuple[_PCTRTT, ...]\n_PeerCertRetDictType: TypeAlias = dict[str, str | _PCTRTTT | _PCTRTT]\n_PeerCertRetType: TypeAlias = _PeerCertRetDictType | bytes | None\n_EnumRetType: TypeAlias = list[tuple[bytes, str, set[str] | bool]]\n_PasswordType: TypeAlias = Callable[[], str | bytes | bytearray] | str | bytes | bytearray\n\n_SrvnmeCbType: TypeAlias = Callable[[SSLSocket | SSLObject, str | None, SSLSocket], int | None]\n\nclass _Cipher(TypedDict):\n aead: bool\n alg_bits: int\n auth: str\n description: str\n digest: str | None\n id: int\n kea: str\n name: str\n protocol: str\n strength_bits: int\n symmetric: str\n\nclass SSLError(OSError):\n library: str\n reason: str\n\nclass SSLZeroReturnError(SSLError): ...\nclass SSLWantReadError(SSLError): ...\nclass SSLWantWriteError(SSLError): ...\nclass SSLSyscallError(SSLError): ...\nclass SSLEOFError(SSLError): ...\n\nclass SSLCertVerificationError(SSLError, ValueError):\n verify_code: int\n verify_message: str\n\nCertificateError = SSLCertVerificationError\n\nif sys.version_info < (3, 12):\n def wrap_socket(\n sock: socket.socket,\n keyfile: StrOrBytesPath | None = None,\n certfile: StrOrBytesPath | None = None,\n server_side: bool = False,\n cert_reqs: int = ...,\n ssl_version: int = ...,\n ca_certs: str | None = None,\n do_handshake_on_connect: bool = True,\n suppress_ragged_eofs: bool = True,\n ciphers: str | None = None,\n ) -> SSLSocket: ...\n\ndef create_default_context(\n purpose: Purpose = ...,\n *,\n cafile: StrOrBytesPath | None = None,\n capath: StrOrBytesPath | None = None,\n cadata: str | ReadableBuffer | None = None,\n) -> SSLContext: ...\n\nif sys.version_info >= (3, 10):\n def _create_unverified_context(\n protocol: int | None = None,\n *,\n cert_reqs: int = ...,\n check_hostname: bool = False,\n purpose: Purpose = ...,\n certfile: StrOrBytesPath | None = None,\n keyfile: StrOrBytesPath | None = None,\n cafile: StrOrBytesPath | None = None,\n capath: StrOrBytesPath | None = None,\n cadata: str | ReadableBuffer | None = None,\n ) -> SSLContext: ...\n\nelse:\n def _create_unverified_context(\n protocol: int = ...,\n *,\n cert_reqs: int = ...,\n check_hostname: bool = False,\n purpose: Purpose = ...,\n certfile: StrOrBytesPath | None = None,\n keyfile: StrOrBytesPath | None = None,\n cafile: StrOrBytesPath | None = None,\n capath: StrOrBytesPath | None = None,\n cadata: str | ReadableBuffer | None = None,\n ) -> SSLContext: ...\n\n_create_default_https_context: Callable[..., SSLContext]\n\ndef RAND_bytes(__n: int) -> bytes: ...\n\nif sys.version_info < (3, 12):\n def RAND_pseudo_bytes(__n: int) -> tuple[bytes, bool]: ...\n\ndef RAND_status() -> bool: ...\ndef RAND_egd(path: str) -> None: ...\ndef RAND_add(__string: str | ReadableBuffer, __entropy: float) -> None: ...\n\nif sys.version_info < (3, 12):\n def match_hostname(cert: _PeerCertRetDictType, hostname: str) -> None: ...\n\ndef cert_time_to_seconds(cert_time: str) -> int: ...\n\nif sys.version_info >= (3, 10):\n def get_server_certificate(\n addr: tuple[str, int], ssl_version: int = ..., ca_certs: str | None = None, timeout: float = ...\n ) -> str: ...\n\nelse:\n def get_server_certificate(addr: tuple[str, int], ssl_version: int = ..., ca_certs: str | None = None) -> str: ...\n\ndef DER_cert_to_PEM_cert(der_cert_bytes: ReadableBuffer) -> str: ...\ndef PEM_cert_to_DER_cert(pem_cert_string: str) -> bytes: ...\n\nclass DefaultVerifyPaths(NamedTuple):\n cafile: str\n capath: str\n openssl_cafile_env: str\n openssl_cafile: str\n openssl_capath_env: str\n openssl_capath: str\n\ndef get_default_verify_paths() -> DefaultVerifyPaths: ...\n\nif sys.platform == \"win32\":\n def enum_certificates(store_name: str) -> _EnumRetType: ...\n def enum_crls(store_name: str) -> _EnumRetType: ...\n\nclass VerifyMode(enum.IntEnum):\n CERT_NONE: int\n CERT_OPTIONAL: int\n CERT_REQUIRED: int\n\nCERT_NONE: VerifyMode\nCERT_OPTIONAL: VerifyMode\nCERT_REQUIRED: VerifyMode\n\nclass VerifyFlags(enum.IntFlag):\n VERIFY_DEFAULT: int\n VERIFY_CRL_CHECK_LEAF: int\n VERIFY_CRL_CHECK_CHAIN: int\n VERIFY_X509_STRICT: int\n VERIFY_X509_TRUSTED_FIRST: int\n if sys.version_info >= (3, 10):\n VERIFY_ALLOW_PROXY_CERTS: int\n VERIFY_X509_PARTIAL_CHAIN: int\n\nVERIFY_DEFAULT: VerifyFlags\nVERIFY_CRL_CHECK_LEAF: VerifyFlags\nVERIFY_CRL_CHECK_CHAIN: VerifyFlags\nVERIFY_X509_STRICT: VerifyFlags\nVERIFY_X509_TRUSTED_FIRST: VerifyFlags\n\nif sys.version_info >= (3, 10):\n VERIFY_ALLOW_PROXY_CERTS: VerifyFlags\n VERIFY_X509_PARTIAL_CHAIN: VerifyFlags\n\nclass _SSLMethod(enum.IntEnum):\n PROTOCOL_SSLv23: int\n PROTOCOL_SSLv2: int\n PROTOCOL_SSLv3: int\n PROTOCOL_TLSv1: int\n PROTOCOL_TLSv1_1: int\n PROTOCOL_TLSv1_2: int\n PROTOCOL_TLS: int\n PROTOCOL_TLS_CLIENT: int\n PROTOCOL_TLS_SERVER: int\n\nPROTOCOL_SSLv23: _SSLMethod\nPROTOCOL_SSLv2: _SSLMethod\nPROTOCOL_SSLv3: _SSLMethod\nPROTOCOL_TLSv1: _SSLMethod\nPROTOCOL_TLSv1_1: _SSLMethod\nPROTOCOL_TLSv1_2: _SSLMethod\nPROTOCOL_TLS: _SSLMethod\nPROTOCOL_TLS_CLIENT: _SSLMethod\nPROTOCOL_TLS_SERVER: _SSLMethod\n\nclass Options(enum.IntFlag):\n OP_ALL: int\n OP_NO_SSLv2: int\n OP_NO_SSLv3: int\n OP_NO_TLSv1: int\n OP_NO_TLSv1_1: int\n OP_NO_TLSv1_2: int\n OP_NO_TLSv1_3: int\n OP_CIPHER_SERVER_PREFERENCE: int\n OP_SINGLE_DH_USE: int\n OP_SINGLE_ECDH_USE: int\n OP_NO_COMPRESSION: int\n OP_NO_TICKET: int\n OP_NO_RENEGOTIATION: int\n if sys.version_info >= (3, 8):\n OP_ENABLE_MIDDLEBOX_COMPAT: int\n if sys.version_info >= (3, 12):\n OP_LEGACY_SERVER_CONNECT: int\n OP_ENABLE_KTLS: int\n if sys.version_info >= (3, 11):\n OP_IGNORE_UNEXPECTED_EOF: int\n elif sys.version_info >= (3, 8) and sys.platform == \"linux\":\n OP_IGNORE_UNEXPECTED_EOF: int\n\nOP_ALL: Options\nOP_NO_SSLv2: Options\nOP_NO_SSLv3: Options\nOP_NO_TLSv1: Options\nOP_NO_TLSv1_1: Options\nOP_NO_TLSv1_2: Options\nOP_NO_TLSv1_3: Options\nOP_CIPHER_SERVER_PREFERENCE: Options\nOP_SINGLE_DH_USE: Options\nOP_SINGLE_ECDH_USE: Options\nOP_NO_COMPRESSION: Options\nOP_NO_TICKET: Options\nOP_NO_RENEGOTIATION: Options\nif sys.version_info >= (3, 8):\n OP_ENABLE_MIDDLEBOX_COMPAT: Options\nif sys.version_info >= (3, 12):\n OP_LEGACY_SERVER_CONNECT: Options\n OP_ENABLE_KTLS: Options\nif sys.version_info >= (3, 11):\n OP_IGNORE_UNEXPECTED_EOF: Options\nelif sys.version_info >= (3, 8) and sys.platform == \"linux\":\n OP_IGNORE_UNEXPECTED_EOF: Options\n\nHAS_NEVER_CHECK_COMMON_NAME: bool\nHAS_SSLv2: bool\nHAS_SSLv3: bool\nHAS_TLSv1: bool\nHAS_TLSv1_1: bool\nHAS_TLSv1_2: bool\nHAS_TLSv1_3: bool\nHAS_ALPN: bool\nHAS_ECDH: bool\nHAS_SNI: bool\nHAS_NPN: bool\nCHANNEL_BINDING_TYPES: list[str]\n\nOPENSSL_VERSION: str\nOPENSSL_VERSION_INFO: tuple[int, int, int, int, int]\nOPENSSL_VERSION_NUMBER: int\n\nclass AlertDescription(enum.IntEnum):\n ALERT_DESCRIPTION_ACCESS_DENIED: int\n ALERT_DESCRIPTION_BAD_CERTIFICATE: int\n ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE: int\n ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE: int\n ALERT_DESCRIPTION_BAD_RECORD_MAC: int\n ALERT_DESCRIPTION_CERTIFICATE_EXPIRED: int\n ALERT_DESCRIPTION_CERTIFICATE_REVOKED: int\n ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN: int\n ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE: int\n ALERT_DESCRIPTION_CLOSE_NOTIFY: int\n ALERT_DESCRIPTION_DECODE_ERROR: int\n ALERT_DESCRIPTION_DECOMPRESSION_FAILURE: int\n ALERT_DESCRIPTION_DECRYPT_ERROR: int\n ALERT_DESCRIPTION_HANDSHAKE_FAILURE: int\n ALERT_DESCRIPTION_ILLEGAL_PARAMETER: int\n ALERT_DESCRIPTION_INSUFFICIENT_SECURITY: int\n ALERT_DESCRIPTION_INTERNAL_ERROR: int\n ALERT_DESCRIPTION_NO_RENEGOTIATION: int\n ALERT_DESCRIPTION_PROTOCOL_VERSION: int\n ALERT_DESCRIPTION_RECORD_OVERFLOW: int\n ALERT_DESCRIPTION_UNEXPECTED_MESSAGE: int\n ALERT_DESCRIPTION_UNKNOWN_CA: int\n ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY: int\n ALERT_DESCRIPTION_UNRECOGNIZED_NAME: int\n ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE: int\n ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION: int\n ALERT_DESCRIPTION_USER_CANCELLED: int\n\nALERT_DESCRIPTION_HANDSHAKE_FAILURE: AlertDescription\nALERT_DESCRIPTION_INTERNAL_ERROR: AlertDescription\nALERT_DESCRIPTION_ACCESS_DENIED: AlertDescription\nALERT_DESCRIPTION_BAD_CERTIFICATE: AlertDescription\nALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE: AlertDescription\nALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE: AlertDescription\nALERT_DESCRIPTION_BAD_RECORD_MAC: AlertDescription\nALERT_DESCRIPTION_CERTIFICATE_EXPIRED: AlertDescription\nALERT_DESCRIPTION_CERTIFICATE_REVOKED: AlertDescription\nALERT_DESCRIPTION_CERTIFICATE_UNKNOWN: AlertDescription\nALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE: AlertDescription\nALERT_DESCRIPTION_CLOSE_NOTIFY: AlertDescription\nALERT_DESCRIPTION_DECODE_ERROR: AlertDescription\nALERT_DESCRIPTION_DECOMPRESSION_FAILURE: AlertDescription\nALERT_DESCRIPTION_DECRYPT_ERROR: AlertDescription\nALERT_DESCRIPTION_ILLEGAL_PARAMETER: AlertDescription\nALERT_DESCRIPTION_INSUFFICIENT_SECURITY: AlertDescription\nALERT_DESCRIPTION_NO_RENEGOTIATION: AlertDescription\nALERT_DESCRIPTION_PROTOCOL_VERSION: AlertDescription\nALERT_DESCRIPTION_RECORD_OVERFLOW: AlertDescription\nALERT_DESCRIPTION_UNEXPECTED_MESSAGE: AlertDescription\nALERT_DESCRIPTION_UNKNOWN_CA: AlertDescription\nALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY: AlertDescription\nALERT_DESCRIPTION_UNRECOGNIZED_NAME: AlertDescription\nALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE: AlertDescription\nALERT_DESCRIPTION_UNSUPPORTED_EXTENSION: AlertDescription\nALERT_DESCRIPTION_USER_CANCELLED: AlertDescription\n\nclass _ASN1ObjectBase(NamedTuple):\n nid: int\n shortname: str\n longname: str\n oid: str\n\nclass _ASN1Object(_ASN1ObjectBase):\n def __new__(cls, oid: str) -> Self: ...\n @classmethod\n def fromnid(cls, nid: int) -> Self: ...\n @classmethod\n def fromname(cls, name: str) -> Self: ...\n\nclass Purpose(_ASN1Object, enum.Enum):\n SERVER_AUTH: _ASN1Object\n CLIENT_AUTH: _ASN1Object\n\nclass SSLSocket(socket.socket):\n context: SSLContext\n server_side: bool\n server_hostname: str | None\n session: SSLSession | None\n @property\n def session_reused(self) -> bool | None: ...\n def __init__(self, *args: Any, **kwargs: Any) -> None: ...\n def connect(self, addr: socket._Address) -> None: ...\n def connect_ex(self, addr: socket._Address) -> int: ...\n def recv(self, buflen: int = 1024, flags: int = 0) -> bytes: ...\n def recv_into(self, buffer: WriteableBuffer, nbytes: int | None = None, flags: int = 0) -> int: ...\n def recvfrom(self, buflen: int = 1024, flags: int = 0) -> tuple[bytes, socket._RetAddress]: ...\n def recvfrom_into(\n self, buffer: WriteableBuffer, nbytes: int | None = None, flags: int = 0\n ) -> tuple[int, socket._RetAddress]: ...\n def send(self, data: ReadableBuffer, flags: int = 0) -> int: ...\n def sendall(self, data: ReadableBuffer, flags: int = 0) -> None: ...\n @overload\n def sendto(self, data: ReadableBuffer, flags_or_addr: socket._Address, addr: None = None) -> int: ...\n @overload\n def sendto(self, data: ReadableBuffer, flags_or_addr: int, addr: socket._Address) -> int: ...\n def shutdown(self, how: int) -> None: ...\n def read(self, len: int = 1024, buffer: bytearray | None = None) -> bytes: ...\n def write(self, data: ReadableBuffer) -> int: ...\n def do_handshake(self, block: bool = False) -> None: ... # block is undocumented\n @overload\n def getpeercert(self, binary_form: Literal[False] = False) -> _PeerCertRetDictType | None: ...\n @overload\n def getpeercert(self, binary_form: Literal[True]) -> bytes | None: ...\n @overload\n def getpeercert(self, binary_form: bool) -> _PeerCertRetType: ...\n def cipher(self) -> tuple[str, str, int] | None: ...\n def shared_ciphers(self) -> list[tuple[str, str, int]] | None: ...\n def compression(self) -> str | None: ...\n def get_channel_binding(self, cb_type: str = \"tls-unique\") -> bytes | None: ...\n def selected_alpn_protocol(self) -> str | None: ...\n def selected_npn_protocol(self) -> str | None: ...\n def accept(self) -> tuple[SSLSocket, socket._RetAddress]: ...\n def unwrap(self) -> socket.socket: ...\n def version(self) -> str | None: ...\n def pending(self) -> int: ...\n if sys.version_info >= (3, 8):\n def verify_client_post_handshake(self) -> None: ...\n # These methods always raise `NotImplementedError`:\n def recvmsg(self, *args: Never, **kwargs: Never) -> Never: ... # type: ignore[override]\n def recvmsg_into(self, *args: Never, **kwargs: Never) -> Never: ... # type: ignore[override]\n def sendmsg(self, *args: Never, **kwargs: Never) -> Never: ... # type: ignore[override]\n\nclass TLSVersion(enum.IntEnum):\n MINIMUM_SUPPORTED: int\n MAXIMUM_SUPPORTED: int\n SSLv3: int\n TLSv1: int\n TLSv1_1: int\n TLSv1_2: int\n TLSv1_3: int\n\nclass SSLContext:\n check_hostname: bool\n options: Options\n verify_flags: VerifyFlags\n verify_mode: VerifyMode\n @property\n def protocol(self) -> _SSLMethod: ...\n hostname_checks_common_name: bool\n maximum_version: TLSVersion\n minimum_version: TLSVersion\n sni_callback: Callable[[SSLObject, str, SSLContext], None | int] | None\n # The following two attributes have class-level defaults.\n # However, the docs explicitly state that it's OK to override these attributes on instances,\n # so making these ClassVars wouldn't be appropriate\n sslobject_class: type[SSLObject]\n sslsocket_class: type[SSLSocket]\n if sys.version_info >= (3, 8):\n keylog_filename: str\n post_handshake_auth: bool\n if sys.version_info >= (3, 10):\n security_level: int\n if sys.version_info >= (3, 10):\n # Using the default (None) for the `protocol` parameter is deprecated,\n # but there isn't a good way of marking that in the stub unless/until PEP 702 is accepted\n def __new__(cls, protocol: int | None = None, *args: Any, **kwargs: Any) -> Self: ...\n else:\n def __new__(cls, protocol: int = ..., *args: Any, **kwargs: Any) -> Self: ...\n\n def cert_store_stats(self) -> dict[str, int]: ...\n def load_cert_chain(\n self, certfile: StrOrBytesPath, keyfile: StrOrBytesPath | None = None, password: _PasswordType | None = None\n ) -> None: ...\n def load_default_certs(self, purpose: Purpose = ...) -> None: ...\n def load_verify_locations(\n self,\n cafile: StrOrBytesPath | None = None,\n capath: StrOrBytesPath | None = None,\n cadata: str | ReadableBuffer | None = None,\n ) -> None: ...\n @overload\n def get_ca_certs(self, binary_form: Literal[False] = False) -> list[_PeerCertRetDictType]: ...\n @overload\n def get_ca_certs(self, binary_form: Literal[True]) -> list[bytes]: ...\n @overload\n def get_ca_certs(self, binary_form: bool = False) -> Any: ...\n def get_ciphers(self) -> list[_Cipher]: ...\n def set_default_verify_paths(self) -> None: ...\n def set_ciphers(self, __cipherlist: str) -> None: ...\n def set_alpn_protocols(self, alpn_protocols: Iterable[str]) -> None: ...\n def set_npn_protocols(self, npn_protocols: Iterable[str]) -> None: ...\n def set_servername_callback(self, server_name_callback: _SrvnmeCbType | None) -> None: ...\n def load_dh_params(self, __path: str) -> None: ...\n def set_ecdh_curve(self, __name: str) -> None: ...\n def wrap_socket(\n self,\n sock: socket.socket,\n server_side: bool = False,\n do_handshake_on_connect: bool = True,\n suppress_ragged_eofs: bool = True,\n server_hostname: str | bytes | None = None,\n session: SSLSession | None = None,\n ) -> SSLSocket: ...\n def wrap_bio(\n self,\n incoming: MemoryBIO,\n outgoing: MemoryBIO,\n server_side: bool = False,\n server_hostname: str | bytes | None = None,\n session: SSLSession | None = None,\n ) -> SSLObject: ...\n def session_stats(self) -> dict[str, int]: ...\n\nclass SSLObject:\n context: SSLContext\n @property\n def server_side(self) -> bool: ...\n @property\n def server_hostname(self) -> str | None: ...\n session: SSLSession | None\n @property\n def session_reused(self) -> bool: ...\n def __init__(self, *args: Any, **kwargs: Any) -> None: ...\n def read(self, len: int = 1024, buffer: bytearray | None = None) -> bytes: ...\n def write(self, data: ReadableBuffer) -> int: ...\n @overload\n def getpeercert(self, binary_form: Literal[False] = False) -> _PeerCertRetDictType | None: ...\n @overload\n def getpeercert(self, binary_form: Literal[True]) -> bytes | None: ...\n @overload\n def getpeercert(self, binary_form: bool) -> _PeerCertRetType: ...\n def selected_alpn_protocol(self) -> str | None: ...\n def selected_npn_protocol(self) -> str | None: ...\n def cipher(self) -> tuple[str, str, int] | None: ...\n def shared_ciphers(self) -> list[tuple[str, str, int]] | None: ...\n def compression(self) -> str | None: ...\n def pending(self) -> int: ...\n def do_handshake(self) -> None: ...\n def unwrap(self) -> None: ...\n def version(self) -> str | None: ...\n def get_channel_binding(self, cb_type: str = \"tls-unique\") -> bytes | None: ...\n if sys.version_info >= (3, 8):\n def verify_client_post_handshake(self) -> None: ...\n\n@final\nclass MemoryBIO:\n pending: int\n eof: bool\n def read(self, __size: int = -1) -> bytes: ...\n def write(self, __b: ReadableBuffer) -> int: ...\n def write_eof(self) -> None: ...\n\n@final\nclass SSLSession:\n @property\n def has_ticket(self) -> bool: ...\n @property\n def id(self) -> bytes: ...\n @property\n def ticket_lifetime_hint(self) -> int: ...\n @property\n def time(self) -> int: ...\n @property\n def timeout(self) -> int: ...\n def __eq__(self, __value: object) -> bool: ...\n\nclass SSLErrorNumber(enum.IntEnum):\n SSL_ERROR_EOF: int\n SSL_ERROR_INVALID_ERROR_CODE: int\n SSL_ERROR_SSL: int\n SSL_ERROR_SYSCALL: int\n SSL_ERROR_WANT_CONNECT: int\n SSL_ERROR_WANT_READ: int\n SSL_ERROR_WANT_WRITE: int\n SSL_ERROR_WANT_X509_LOOKUP: int\n SSL_ERROR_ZERO_RETURN: int\n\nSSL_ERROR_EOF: SSLErrorNumber # undocumented\nSSL_ERROR_INVALID_ERROR_CODE: SSLErrorNumber # undocumented\nSSL_ERROR_SSL: SSLErrorNumber # undocumented\nSSL_ERROR_SYSCALL: SSLErrorNumber # undocumented\nSSL_ERROR_WANT_CONNECT: SSLErrorNumber # undocumented\nSSL_ERROR_WANT_READ: SSLErrorNumber # undocumented\nSSL_ERROR_WANT_WRITE: SSLErrorNumber # undocumented\nSSL_ERROR_WANT_X509_LOOKUP: SSLErrorNumber # undocumented\nSSL_ERROR_ZERO_RETURN: SSLErrorNumber # undocumented\n\ndef get_protocol_name(protocol_code: int) -> str: ...\n\nif sys.version_info < (3, 9):\n AF_INET: int\nPEM_FOOTER: str\nPEM_HEADER: str\nSOCK_STREAM: int\nSOL_SOCKET: int\nSO_TYPE: int\n", + "/typeshed/stdlib/stat.pyi": "from _stat import *\n", + "/typeshed/stdlib/statistics.pyi": "import sys\nfrom _typeshed import SupportsRichComparisonT\nfrom collections.abc import Hashable, Iterable, Sequence\nfrom decimal import Decimal\nfrom fractions import Fraction\nfrom typing import Any, NamedTuple, SupportsFloat, TypeVar\nfrom typing_extensions import Literal, Self, TypeAlias\n\n__all__ = [\n \"StatisticsError\",\n \"pstdev\",\n \"pvariance\",\n \"stdev\",\n \"variance\",\n \"median\",\n \"median_low\",\n \"median_high\",\n \"median_grouped\",\n \"mean\",\n \"mode\",\n \"harmonic_mean\",\n]\n\nif sys.version_info >= (3, 8):\n __all__ += [\"geometric_mean\", \"multimode\", \"NormalDist\", \"fmean\", \"quantiles\"]\n\nif sys.version_info >= (3, 10):\n __all__ += [\"covariance\", \"correlation\", \"linear_regression\"]\n\n# Most functions in this module accept homogeneous collections of one of these types\n_Number: TypeAlias = float | Decimal | Fraction\n_NumberT = TypeVar(\"_NumberT\", float, Decimal, Fraction)\n\n# Used in mode, multimode\n_HashableT = TypeVar(\"_HashableT\", bound=Hashable)\n\nclass StatisticsError(ValueError): ...\n\nif sys.version_info >= (3, 11):\n def fmean(data: Iterable[SupportsFloat], weights: Iterable[SupportsFloat] | None = None) -> float: ...\n\nelif sys.version_info >= (3, 8):\n def fmean(data: Iterable[SupportsFloat]) -> float: ...\n\nif sys.version_info >= (3, 8):\n def geometric_mean(data: Iterable[SupportsFloat]) -> float: ...\n\ndef mean(data: Iterable[_NumberT]) -> _NumberT: ...\n\nif sys.version_info >= (3, 10):\n def harmonic_mean(data: Iterable[_NumberT], weights: Iterable[_Number] | None = None) -> _NumberT: ...\n\nelse:\n def harmonic_mean(data: Iterable[_NumberT]) -> _NumberT: ...\n\ndef median(data: Iterable[_NumberT]) -> _NumberT: ...\ndef median_low(data: Iterable[SupportsRichComparisonT]) -> SupportsRichComparisonT: ...\ndef median_high(data: Iterable[SupportsRichComparisonT]) -> SupportsRichComparisonT: ...\n\nif sys.version_info >= (3, 11):\n def median_grouped(data: Iterable[SupportsFloat], interval: SupportsFloat = 1.0) -> float: ...\n\nelse:\n def median_grouped(data: Iterable[_NumberT], interval: _NumberT | float = 1) -> _NumberT | float: ...\n\ndef mode(data: Iterable[_HashableT]) -> _HashableT: ...\n\nif sys.version_info >= (3, 8):\n def multimode(data: Iterable[_HashableT]) -> list[_HashableT]: ...\n\ndef pstdev(data: Iterable[_NumberT], mu: _NumberT | None = None) -> _NumberT: ...\ndef pvariance(data: Iterable[_NumberT], mu: _NumberT | None = None) -> _NumberT: ...\n\nif sys.version_info >= (3, 8):\n def quantiles(\n data: Iterable[_NumberT], *, n: int = 4, method: Literal[\"inclusive\", \"exclusive\"] = \"exclusive\"\n ) -> list[_NumberT]: ...\n\ndef stdev(data: Iterable[_NumberT], xbar: _NumberT | None = None) -> _NumberT: ...\ndef variance(data: Iterable[_NumberT], xbar: _NumberT | None = None) -> _NumberT: ...\n\nif sys.version_info >= (3, 8):\n class NormalDist:\n def __init__(self, mu: float = 0.0, sigma: float = 1.0) -> None: ...\n @property\n def mean(self) -> float: ...\n @property\n def median(self) -> float: ...\n @property\n def mode(self) -> float: ...\n @property\n def stdev(self) -> float: ...\n @property\n def variance(self) -> float: ...\n @classmethod\n def from_samples(cls, data: Iterable[SupportsFloat]) -> Self: ...\n def samples(self, n: int, *, seed: Any | None = None) -> list[float]: ...\n def pdf(self, x: float) -> float: ...\n def cdf(self, x: float) -> float: ...\n def inv_cdf(self, p: float) -> float: ...\n def overlap(self, other: NormalDist) -> float: ...\n def quantiles(self, n: int = 4) -> list[float]: ...\n if sys.version_info >= (3, 9):\n def zscore(self, x: float) -> float: ...\n\n def __eq__(self, x2: object) -> bool: ...\n def __add__(self, x2: float | NormalDist) -> NormalDist: ...\n def __sub__(self, x2: float | NormalDist) -> NormalDist: ...\n def __mul__(self, x2: float) -> NormalDist: ...\n def __truediv__(self, x2: float) -> NormalDist: ...\n def __pos__(self) -> NormalDist: ...\n def __neg__(self) -> NormalDist: ...\n __radd__ = __add__\n def __rsub__(self, x2: float | NormalDist) -> NormalDist: ...\n __rmul__ = __mul__\n def __hash__(self) -> int: ...\n\nif sys.version_info >= (3, 12):\n def correlation(\n __x: Sequence[_Number], __y: Sequence[_Number], *, method: Literal[\"linear\", \"ranked\"] = \"linear\"\n ) -> float: ...\n\nelif sys.version_info >= (3, 10):\n def correlation(__x: Sequence[_Number], __y: Sequence[_Number]) -> float: ...\n\nif sys.version_info >= (3, 10):\n def covariance(__x: Sequence[_Number], __y: Sequence[_Number]) -> float: ...\n\n class LinearRegression(NamedTuple):\n slope: float\n intercept: float\n\nif sys.version_info >= (3, 11):\n def linear_regression(\n __regressor: Sequence[_Number], __dependent_variable: Sequence[_Number], *, proportional: bool = False\n ) -> LinearRegression: ...\n\nelif sys.version_info >= (3, 10):\n def linear_regression(__regressor: Sequence[_Number], __dependent_variable: Sequence[_Number]) -> LinearRegression: ...\n", + "/typeshed/stdlib/string.pyi": "import sys\nfrom _typeshed import StrOrLiteralStr\nfrom collections.abc import Iterable, Mapping, Sequence\nfrom re import Pattern, RegexFlag\nfrom typing import Any, ClassVar, overload\nfrom typing_extensions import LiteralString, TypeAlias\n\n__all__ = [\n \"ascii_letters\",\n \"ascii_lowercase\",\n \"ascii_uppercase\",\n \"capwords\",\n \"digits\",\n \"hexdigits\",\n \"octdigits\",\n \"printable\",\n \"punctuation\",\n \"whitespace\",\n \"Formatter\",\n \"Template\",\n]\n\nascii_letters: LiteralString\nascii_lowercase: LiteralString\nascii_uppercase: LiteralString\ndigits: LiteralString\nhexdigits: LiteralString\noctdigits: LiteralString\npunctuation: LiteralString\nprintable: LiteralString\nwhitespace: LiteralString\n\ndef capwords(s: StrOrLiteralStr, sep: StrOrLiteralStr | None = None) -> StrOrLiteralStr: ...\n\nif sys.version_info >= (3, 9):\n _TemplateMetaclass: TypeAlias = type\nelse:\n class _TemplateMetaclass(type):\n pattern: ClassVar[str]\n def __init__(cls, name: str, bases: tuple[type, ...], dct: dict[str, Any]) -> None: ...\n\nclass Template(metaclass=_TemplateMetaclass):\n template: str\n delimiter: ClassVar[str]\n idpattern: ClassVar[str]\n braceidpattern: ClassVar[str | None]\n flags: ClassVar[RegexFlag]\n pattern: ClassVar[Pattern[str]]\n def __init__(self, template: str) -> None: ...\n def substitute(self, __mapping: Mapping[str, object] = {}, **kwds: object) -> str: ...\n def safe_substitute(self, __mapping: Mapping[str, object] = {}, **kwds: object) -> str: ...\n if sys.version_info >= (3, 11):\n def get_identifiers(self) -> list[str]: ...\n def is_valid(self) -> bool: ...\n\nclass Formatter:\n @overload\n def format(self, __format_string: LiteralString, *args: LiteralString, **kwargs: LiteralString) -> LiteralString: ...\n @overload\n def format(self, __format_string: str, *args: Any, **kwargs: Any) -> str: ...\n @overload\n def vformat(\n self, format_string: LiteralString, args: Sequence[LiteralString], kwargs: Mapping[LiteralString, LiteralString]\n ) -> LiteralString: ...\n @overload\n def vformat(self, format_string: str, args: Sequence[Any], kwargs: Mapping[str, Any]) -> str: ...\n def _vformat( # undocumented\n self,\n format_string: str,\n args: Sequence[Any],\n kwargs: Mapping[str, Any],\n used_args: set[int | str],\n recursion_depth: int,\n auto_arg_index: int = 0,\n ) -> tuple[str, int]: ...\n def parse(\n self, format_string: StrOrLiteralStr\n ) -> Iterable[tuple[StrOrLiteralStr, StrOrLiteralStr | None, StrOrLiteralStr | None, StrOrLiteralStr | None]]: ...\n def get_field(self, field_name: str, args: Sequence[Any], kwargs: Mapping[str, Any]) -> Any: ...\n def get_value(self, key: int | str, args: Sequence[Any], kwargs: Mapping[str, Any]) -> Any: ...\n def check_unused_args(self, used_args: set[int | str], args: Sequence[Any], kwargs: Mapping[str, Any]) -> None: ...\n def format_field(self, value: Any, format_spec: str) -> Any: ...\n def convert_field(self, value: Any, conversion: str) -> Any: ...\n", + "/typeshed/stdlib/stringprep.pyi": "b1_set: set[int]\nb3_exceptions: dict[int, str]\nc22_specials: set[int]\nc6_set: set[int]\nc7_set: set[int]\nc8_set: set[int]\nc9_set: set[int]\n\ndef in_table_a1(code: str) -> bool: ...\ndef in_table_b1(code: str) -> bool: ...\ndef map_table_b3(code: str) -> str: ...\ndef map_table_b2(a: str) -> str: ...\ndef in_table_c11(code: str) -> bool: ...\ndef in_table_c12(code: str) -> bool: ...\ndef in_table_c11_c12(code: str) -> bool: ...\ndef in_table_c21(code: str) -> bool: ...\ndef in_table_c22(code: str) -> bool: ...\ndef in_table_c21_c22(code: str) -> bool: ...\ndef in_table_c3(code: str) -> bool: ...\ndef in_table_c4(code: str) -> bool: ...\ndef in_table_c5(code: str) -> bool: ...\ndef in_table_c6(code: str) -> bool: ...\ndef in_table_c7(code: str) -> bool: ...\ndef in_table_c8(code: str) -> bool: ...\ndef in_table_c9(code: str) -> bool: ...\ndef in_table_d1(code: str) -> bool: ...\ndef in_table_d2(code: str) -> bool: ...\n", + "/typeshed/stdlib/struct.pyi": "from _typeshed import ReadableBuffer, WriteableBuffer\nfrom collections.abc import Iterator\nfrom typing import Any\n\n__all__ = [\"calcsize\", \"pack\", \"pack_into\", \"unpack\", \"unpack_from\", \"iter_unpack\", \"Struct\", \"error\"]\n\nclass error(Exception): ...\n\ndef pack(__fmt: str | bytes, *v: Any) -> bytes: ...\ndef pack_into(__fmt: str | bytes, __buffer: WriteableBuffer, __offset: int, *v: Any) -> None: ...\ndef unpack(__format: str | bytes, __buffer: ReadableBuffer) -> tuple[Any, ...]: ...\ndef unpack_from(__format: str | bytes, buffer: ReadableBuffer, offset: int = 0) -> tuple[Any, ...]: ...\ndef iter_unpack(__format: str | bytes, __buffer: ReadableBuffer) -> Iterator[tuple[Any, ...]]: ...\ndef calcsize(__format: str | bytes) -> int: ...\n\nclass Struct:\n @property\n def format(self) -> str: ...\n @property\n def size(self) -> int: ...\n def __init__(self, format: str | bytes) -> None: ...\n def pack(self, *v: Any) -> bytes: ...\n def pack_into(self, buffer: WriteableBuffer, offset: int, *v: Any) -> None: ...\n def unpack(self, __buffer: ReadableBuffer) -> tuple[Any, ...]: ...\n def unpack_from(self, buffer: ReadableBuffer, offset: int = 0) -> tuple[Any, ...]: ...\n def iter_unpack(self, __buffer: ReadableBuffer) -> Iterator[tuple[Any, ...]]: ...\n", + "/typeshed/stdlib/sunau.pyi": "import sys\nfrom _typeshed import Unused\nfrom typing import IO, Any, NamedTuple, NoReturn, overload\nfrom typing_extensions import Literal, Self, TypeAlias\n\n_File: TypeAlias = str | IO[bytes]\n\nclass Error(Exception): ...\n\nAUDIO_FILE_MAGIC: int\nAUDIO_FILE_ENCODING_MULAW_8: int\nAUDIO_FILE_ENCODING_LINEAR_8: int\nAUDIO_FILE_ENCODING_LINEAR_16: int\nAUDIO_FILE_ENCODING_LINEAR_24: int\nAUDIO_FILE_ENCODING_LINEAR_32: int\nAUDIO_FILE_ENCODING_FLOAT: int\nAUDIO_FILE_ENCODING_DOUBLE: int\nAUDIO_FILE_ENCODING_ADPCM_G721: int\nAUDIO_FILE_ENCODING_ADPCM_G722: int\nAUDIO_FILE_ENCODING_ADPCM_G723_3: int\nAUDIO_FILE_ENCODING_ADPCM_G723_5: int\nAUDIO_FILE_ENCODING_ALAW_8: int\nAUDIO_UNKNOWN_SIZE: int\n\nclass _sunau_params(NamedTuple):\n nchannels: int\n sampwidth: int\n framerate: int\n nframes: int\n comptype: str\n compname: str\n\nclass Au_read:\n def __init__(self, f: _File) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, *args: Unused) -> None: ...\n def getfp(self) -> IO[bytes] | None: ...\n def rewind(self) -> None: ...\n def close(self) -> None: ...\n def tell(self) -> int: ...\n def getnchannels(self) -> int: ...\n def getnframes(self) -> int: ...\n def getsampwidth(self) -> int: ...\n def getframerate(self) -> int: ...\n def getcomptype(self) -> str: ...\n def getcompname(self) -> str: ...\n def getparams(self) -> _sunau_params: ...\n def getmarkers(self) -> None: ...\n def getmark(self, id: Any) -> NoReturn: ...\n def setpos(self, pos: int) -> None: ...\n def readframes(self, nframes: int) -> bytes | None: ...\n\nclass Au_write:\n def __init__(self, f: _File) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, *args: Unused) -> None: ...\n def setnchannels(self, nchannels: int) -> None: ...\n def getnchannels(self) -> int: ...\n def setsampwidth(self, sampwidth: int) -> None: ...\n def getsampwidth(self) -> int: ...\n def setframerate(self, framerate: float) -> None: ...\n def getframerate(self) -> int: ...\n def setnframes(self, nframes: int) -> None: ...\n def getnframes(self) -> int: ...\n def setcomptype(self, type: str, name: str) -> None: ...\n def getcomptype(self) -> str: ...\n def getcompname(self) -> str: ...\n def setparams(self, params: _sunau_params) -> None: ...\n def getparams(self) -> _sunau_params: ...\n def tell(self) -> int: ...\n # should be any bytes-like object after 3.4, but we don't have a type for that\n def writeframesraw(self, data: bytes) -> None: ...\n def writeframes(self, data: bytes) -> None: ...\n def close(self) -> None: ...\n\n@overload\ndef open(f: _File, mode: Literal[\"r\", \"rb\"]) -> Au_read: ...\n@overload\ndef open(f: _File, mode: Literal[\"w\", \"wb\"]) -> Au_write: ...\n@overload\ndef open(f: _File, mode: str | None = None) -> Any: ...\n\nif sys.version_info < (3, 9):\n openfp = open\n", + "/typeshed/stdlib/symbol.pyi": "import sys\n\nsingle_input: int\nfile_input: int\neval_input: int\ndecorator: int\ndecorators: int\ndecorated: int\nasync_funcdef: int\nfuncdef: int\nparameters: int\ntypedargslist: int\ntfpdef: int\nvarargslist: int\nvfpdef: int\nstmt: int\nsimple_stmt: int\nsmall_stmt: int\nexpr_stmt: int\nannassign: int\ntestlist_star_expr: int\naugassign: int\ndel_stmt: int\npass_stmt: int\nflow_stmt: int\nbreak_stmt: int\ncontinue_stmt: int\nreturn_stmt: int\nyield_stmt: int\nraise_stmt: int\nimport_stmt: int\nimport_name: int\nimport_from: int\nimport_as_name: int\ndotted_as_name: int\nimport_as_names: int\ndotted_as_names: int\ndotted_name: int\nglobal_stmt: int\nnonlocal_stmt: int\nassert_stmt: int\ncompound_stmt: int\nasync_stmt: int\nif_stmt: int\nwhile_stmt: int\nfor_stmt: int\ntry_stmt: int\nwith_stmt: int\nwith_item: int\nexcept_clause: int\nsuite: int\ntest: int\ntest_nocond: int\nlambdef: int\nlambdef_nocond: int\nor_test: int\nand_test: int\nnot_test: int\ncomparison: int\ncomp_op: int\nstar_expr: int\nexpr: int\nxor_expr: int\nand_expr: int\nshift_expr: int\narith_expr: int\nterm: int\nfactor: int\npower: int\natom_expr: int\natom: int\ntestlist_comp: int\ntrailer: int\nsubscriptlist: int\nsubscript: int\nsliceop: int\nexprlist: int\ntestlist: int\ndictorsetmaker: int\nclassdef: int\narglist: int\nargument: int\ncomp_iter: int\ncomp_for: int\ncomp_if: int\nencoding_decl: int\nyield_expr: int\nyield_arg: int\nsync_comp_for: int\nif sys.version_info >= (3, 8):\n func_body_suite: int\n func_type: int\n func_type_input: int\n namedexpr_test: int\n typelist: int\n\nsym_name: dict[int, str]\n", + "/typeshed/stdlib/symtable.pyi": "import sys\nfrom _collections_abc import dict_keys\nfrom collections.abc import Sequence\nfrom typing import Any\n\n__all__ = [\"symtable\", \"SymbolTable\", \"Class\", \"Function\", \"Symbol\"]\n\ndef symtable(code: str, filename: str, compile_type: str) -> SymbolTable: ...\n\nclass SymbolTable:\n def __init__(self, raw_table: Any, filename: str) -> None: ...\n def get_type(self) -> str: ...\n def get_id(self) -> int: ...\n def get_name(self) -> str: ...\n def get_lineno(self) -> int: ...\n def is_optimized(self) -> bool: ...\n def is_nested(self) -> bool: ...\n def has_children(self) -> bool: ...\n if sys.version_info < (3, 9):\n def has_exec(self) -> bool: ...\n\n def get_identifiers(self) -> dict_keys[str, int]: ...\n def lookup(self, name: str) -> Symbol: ...\n def get_symbols(self) -> list[Symbol]: ...\n def get_children(self) -> list[SymbolTable]: ...\n\nclass Function(SymbolTable):\n def get_parameters(self) -> tuple[str, ...]: ...\n def get_locals(self) -> tuple[str, ...]: ...\n def get_globals(self) -> tuple[str, ...]: ...\n def get_frees(self) -> tuple[str, ...]: ...\n if sys.version_info >= (3, 8):\n def get_nonlocals(self) -> tuple[str, ...]: ...\n\nclass Class(SymbolTable):\n def get_methods(self) -> tuple[str, ...]: ...\n\nclass Symbol:\n if sys.version_info >= (3, 8):\n def __init__(\n self, name: str, flags: int, namespaces: Sequence[SymbolTable] | None = None, *, module_scope: bool = False\n ) -> None: ...\n def is_nonlocal(self) -> bool: ...\n else:\n def __init__(self, name: str, flags: int, namespaces: Sequence[SymbolTable] | None = None) -> None: ...\n\n def get_name(self) -> str: ...\n def is_referenced(self) -> bool: ...\n def is_parameter(self) -> bool: ...\n def is_global(self) -> bool: ...\n def is_declared_global(self) -> bool: ...\n def is_local(self) -> bool: ...\n def is_annotated(self) -> bool: ...\n def is_free(self) -> bool: ...\n def is_imported(self) -> bool: ...\n def is_assigned(self) -> bool: ...\n def is_namespace(self) -> bool: ...\n def get_namespaces(self) -> Sequence[SymbolTable]: ...\n def get_namespace(self) -> SymbolTable: ...\n\nclass SymbolTableFactory:\n def new(self, table: Any, filename: str) -> SymbolTable: ...\n def __call__(self, table: Any, filename: str) -> SymbolTable: ...\n", + "/typeshed/stdlib/sysconfig.pyi": "import sys\nfrom typing import IO, Any, overload\nfrom typing_extensions import Literal\n\n__all__ = [\n \"get_config_h_filename\",\n \"get_config_var\",\n \"get_config_vars\",\n \"get_makefile_filename\",\n \"get_path\",\n \"get_path_names\",\n \"get_paths\",\n \"get_platform\",\n \"get_python_version\",\n \"get_scheme_names\",\n \"parse_config_h\",\n]\n\ndef get_config_var(name: str) -> Any: ...\n@overload\ndef get_config_vars() -> dict[str, Any]: ...\n@overload\ndef get_config_vars(arg: str, *args: str) -> list[Any]: ...\ndef get_scheme_names() -> tuple[str, ...]: ...\n\nif sys.version_info >= (3, 10):\n def get_default_scheme() -> str: ...\n def get_preferred_scheme(key: Literal[\"prefix\", \"home\", \"user\"]) -> str: ...\n\ndef get_path_names() -> tuple[str, ...]: ...\ndef get_path(name: str, scheme: str = ..., vars: dict[str, Any] | None = None, expand: bool = True) -> str: ...\ndef get_paths(scheme: str = ..., vars: dict[str, Any] | None = None, expand: bool = True) -> dict[str, str]: ...\ndef get_python_version() -> str: ...\ndef get_platform() -> str: ...\n\nif sys.version_info >= (3, 11):\n def is_python_build(check_home: object = None) -> bool: ...\n\nelse:\n def is_python_build(check_home: bool = False) -> bool: ...\n\ndef parse_config_h(fp: IO[Any], vars: dict[str, Any] | None = None) -> dict[str, Any]: ...\ndef get_config_h_filename() -> str: ...\ndef get_makefile_filename() -> str: ...\n", + "/typeshed/stdlib/syslog.pyi": "import sys\nfrom typing import overload\nfrom typing_extensions import Literal\n\nif sys.platform != \"win32\":\n LOG_ALERT: Literal[1]\n LOG_AUTH: Literal[32]\n LOG_AUTHPRIV: Literal[80]\n LOG_CONS: Literal[2]\n LOG_CRIT: Literal[2]\n LOG_CRON: Literal[72]\n LOG_DAEMON: Literal[24]\n LOG_DEBUG: Literal[7]\n LOG_EMERG: Literal[0]\n LOG_ERR: Literal[3]\n LOG_INFO: Literal[6]\n LOG_KERN: Literal[0]\n LOG_LOCAL0: Literal[128]\n LOG_LOCAL1: Literal[136]\n LOG_LOCAL2: Literal[144]\n LOG_LOCAL3: Literal[152]\n LOG_LOCAL4: Literal[160]\n LOG_LOCAL5: Literal[168]\n LOG_LOCAL6: Literal[176]\n LOG_LOCAL7: Literal[184]\n LOG_LPR: Literal[48]\n LOG_MAIL: Literal[16]\n LOG_NDELAY: Literal[8]\n LOG_NEWS: Literal[56]\n LOG_NOTICE: Literal[5]\n LOG_NOWAIT: Literal[16]\n LOG_ODELAY: Literal[4]\n LOG_PERROR: Literal[32]\n LOG_PID: Literal[1]\n LOG_SYSLOG: Literal[40]\n LOG_USER: Literal[8]\n LOG_UUCP: Literal[64]\n LOG_WARNING: Literal[4]\n def LOG_MASK(__pri: int) -> int: ...\n def LOG_UPTO(__pri: int) -> int: ...\n def closelog() -> None: ...\n def openlog(ident: str = ..., logoption: int = ..., facility: int = ...) -> None: ...\n def setlogmask(__maskpri: int) -> int: ...\n @overload\n def syslog(priority: int, message: str) -> None: ...\n @overload\n def syslog(message: str) -> None: ...\n", + "/typeshed/stdlib/tabnanny.pyi": "from _typeshed import StrOrBytesPath\nfrom collections.abc import Iterable\n\n__all__ = [\"check\", \"NannyNag\", \"process_tokens\"]\n\nverbose: int\nfilename_only: int\n\nclass NannyNag(Exception):\n def __init__(self, lineno: int, msg: str, line: str) -> None: ...\n def get_lineno(self) -> int: ...\n def get_msg(self) -> str: ...\n def get_line(self) -> str: ...\n\ndef check(file: StrOrBytesPath) -> None: ...\ndef process_tokens(tokens: Iterable[tuple[int, str, tuple[int, int], tuple[int, int], str]]) -> None: ...\n", + "/typeshed/stdlib/tarfile.pyi": "import bz2\nimport io\nimport sys\nfrom _typeshed import StrOrBytesPath, StrPath\nfrom builtins import list as _list # aliases to avoid name clashes with fields named \"type\" or \"list\"\nfrom collections.abc import Callable, Iterable, Iterator, Mapping\nfrom gzip import _ReadableFileobj as _GzipReadableFileobj, _WritableFileobj as _GzipWritableFileobj\nfrom types import TracebackType\nfrom typing import IO, ClassVar, Protocol, overload\nfrom typing_extensions import Literal, Self, TypeAlias\n\n__all__ = [\n \"TarFile\",\n \"TarInfo\",\n \"is_tarfile\",\n \"TarError\",\n \"ReadError\",\n \"CompressionError\",\n \"StreamError\",\n \"ExtractError\",\n \"HeaderError\",\n \"ENCODING\",\n \"USTAR_FORMAT\",\n \"GNU_FORMAT\",\n \"PAX_FORMAT\",\n \"DEFAULT_FORMAT\",\n \"open\",\n]\nif sys.version_info >= (3, 12):\n __all__ += [\n \"fully_trusted_filter\",\n \"data_filter\",\n \"tar_filter\",\n \"FilterError\",\n \"AbsoluteLinkError\",\n \"OutsideDestinationError\",\n \"SpecialFileError\",\n \"AbsolutePathError\",\n \"LinkOutsideDestinationError\",\n ]\n\n_FilterFunction: TypeAlias = Callable[[TarInfo, str], TarInfo | None]\n_TarfileFilter: TypeAlias = Literal[\"fully_trusted\", \"tar\", \"data\"] | _FilterFunction\n\nclass _Fileobj(Protocol):\n def read(self, __size: int) -> bytes: ...\n def write(self, __b: bytes) -> object: ...\n def tell(self) -> int: ...\n def seek(self, __pos: int) -> object: ...\n def close(self) -> object: ...\n # Optional fields:\n # name: str | bytes\n # mode: Literal[\"rb\", \"r+b\", \"wb\", \"xb\"]\n\nclass _Bz2ReadableFileobj(bz2._ReadableFileobj):\n def close(self) -> object: ...\n\nclass _Bz2WritableFileobj(bz2._WritableFileobj):\n def close(self) -> object: ...\n\n# tar constants\nNUL: bytes\nBLOCKSIZE: int\nRECORDSIZE: int\nGNU_MAGIC: bytes\nPOSIX_MAGIC: bytes\n\nLENGTH_NAME: int\nLENGTH_LINK: int\nLENGTH_PREFIX: int\n\nREGTYPE: bytes\nAREGTYPE: bytes\nLNKTYPE: bytes\nSYMTYPE: bytes\nCONTTYPE: bytes\nBLKTYPE: bytes\nDIRTYPE: bytes\nFIFOTYPE: bytes\nCHRTYPE: bytes\n\nGNUTYPE_LONGNAME: bytes\nGNUTYPE_LONGLINK: bytes\nGNUTYPE_SPARSE: bytes\n\nXHDTYPE: bytes\nXGLTYPE: bytes\nSOLARIS_XHDTYPE: bytes\n\nUSTAR_FORMAT: int\nGNU_FORMAT: int\nPAX_FORMAT: int\nDEFAULT_FORMAT: int\n\n# tarfile constants\n\nSUPPORTED_TYPES: tuple[bytes, ...]\nREGULAR_TYPES: tuple[bytes, ...]\nGNU_TYPES: tuple[bytes, ...]\nPAX_FIELDS: tuple[str, ...]\nPAX_NUMBER_FIELDS: dict[str, type]\nPAX_NAME_FIELDS: set[str]\n\nENCODING: str\n\ndef open(\n name: StrOrBytesPath | None = None,\n mode: str = \"r\",\n fileobj: IO[bytes] | None = None, # depends on mode\n bufsize: int = 10240,\n *,\n format: int | None = ...,\n tarinfo: type[TarInfo] | None = ...,\n dereference: bool | None = ...,\n ignore_zeros: bool | None = ...,\n encoding: str | None = ...,\n errors: str = ...,\n pax_headers: Mapping[str, str] | None = ...,\n debug: int | None = ...,\n errorlevel: int | None = ...,\n compresslevel: int | None = ...,\n) -> TarFile: ...\n\nclass ExFileObject(io.BufferedReader):\n def __init__(self, tarfile: TarFile, tarinfo: TarInfo) -> None: ...\n\nclass TarFile:\n OPEN_METH: ClassVar[Mapping[str, str]]\n name: StrOrBytesPath | None\n mode: Literal[\"r\", \"a\", \"w\", \"x\"]\n fileobj: _Fileobj | None\n format: int | None\n tarinfo: type[TarInfo]\n dereference: bool | None\n ignore_zeros: bool | None\n encoding: str | None\n errors: str\n fileobject: type[ExFileObject]\n pax_headers: Mapping[str, str] | None\n debug: int | None\n errorlevel: int | None\n offset: int # undocumented\n extraction_filter: _FilterFunction | None\n def __init__(\n self,\n name: StrOrBytesPath | None = None,\n mode: Literal[\"r\", \"a\", \"w\", \"x\"] = \"r\",\n fileobj: _Fileobj | None = None,\n format: int | None = None,\n tarinfo: type[TarInfo] | None = None,\n dereference: bool | None = None,\n ignore_zeros: bool | None = None,\n encoding: str | None = None,\n errors: str = \"surrogateescape\",\n pax_headers: Mapping[str, str] | None = None,\n debug: int | None = None,\n errorlevel: int | None = None,\n copybufsize: int | None = None, # undocumented\n ) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, type: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None\n ) -> None: ...\n def __iter__(self) -> Iterator[TarInfo]: ...\n @classmethod\n def open(\n cls,\n name: StrOrBytesPath | None = None,\n mode: str = \"r\",\n fileobj: IO[bytes] | None = None, # depends on mode\n bufsize: int = 10240,\n *,\n format: int | None = ...,\n tarinfo: type[TarInfo] | None = ...,\n dereference: bool | None = ...,\n ignore_zeros: bool | None = ...,\n encoding: str | None = ...,\n errors: str = ...,\n pax_headers: Mapping[str, str] | None = ...,\n debug: int | None = ...,\n errorlevel: int | None = ...,\n ) -> Self: ...\n @classmethod\n def taropen(\n cls,\n name: StrOrBytesPath | None,\n mode: Literal[\"r\", \"a\", \"w\", \"x\"] = \"r\",\n fileobj: _Fileobj | None = None,\n *,\n compresslevel: int = ...,\n format: int | None = ...,\n tarinfo: type[TarInfo] | None = ...,\n dereference: bool | None = ...,\n ignore_zeros: bool | None = ...,\n encoding: str | None = ...,\n pax_headers: Mapping[str, str] | None = ...,\n debug: int | None = ...,\n errorlevel: int | None = ...,\n ) -> Self: ...\n @overload\n @classmethod\n def gzopen(\n cls,\n name: StrOrBytesPath | None,\n mode: Literal[\"r\"] = \"r\",\n fileobj: _GzipReadableFileobj | None = None,\n compresslevel: int = 9,\n *,\n format: int | None = ...,\n tarinfo: type[TarInfo] | None = ...,\n dereference: bool | None = ...,\n ignore_zeros: bool | None = ...,\n encoding: str | None = ...,\n pax_headers: Mapping[str, str] | None = ...,\n debug: int | None = ...,\n errorlevel: int | None = ...,\n ) -> Self: ...\n @overload\n @classmethod\n def gzopen(\n cls,\n name: StrOrBytesPath | None,\n mode: Literal[\"w\", \"x\"],\n fileobj: _GzipWritableFileobj | None = None,\n compresslevel: int = 9,\n *,\n format: int | None = ...,\n tarinfo: type[TarInfo] | None = ...,\n dereference: bool | None = ...,\n ignore_zeros: bool | None = ...,\n encoding: str | None = ...,\n pax_headers: Mapping[str, str] | None = ...,\n debug: int | None = ...,\n errorlevel: int | None = ...,\n ) -> Self: ...\n @overload\n @classmethod\n def bz2open(\n cls,\n name: StrOrBytesPath | None,\n mode: Literal[\"w\", \"x\"],\n fileobj: _Bz2WritableFileobj | None = None,\n compresslevel: int = 9,\n *,\n format: int | None = ...,\n tarinfo: type[TarInfo] | None = ...,\n dereference: bool | None = ...,\n ignore_zeros: bool | None = ...,\n encoding: str | None = ...,\n pax_headers: Mapping[str, str] | None = ...,\n debug: int | None = ...,\n errorlevel: int | None = ...,\n ) -> Self: ...\n @overload\n @classmethod\n def bz2open(\n cls,\n name: StrOrBytesPath | None,\n mode: Literal[\"r\"] = \"r\",\n fileobj: _Bz2ReadableFileobj | None = None,\n compresslevel: int = 9,\n *,\n format: int | None = ...,\n tarinfo: type[TarInfo] | None = ...,\n dereference: bool | None = ...,\n ignore_zeros: bool | None = ...,\n encoding: str | None = ...,\n pax_headers: Mapping[str, str] | None = ...,\n debug: int | None = ...,\n errorlevel: int | None = ...,\n ) -> Self: ...\n @classmethod\n def xzopen(\n cls,\n name: StrOrBytesPath | None,\n mode: Literal[\"r\", \"w\", \"x\"] = \"r\",\n fileobj: IO[bytes] | None = None,\n preset: int | None = None,\n *,\n format: int | None = ...,\n tarinfo: type[TarInfo] | None = ...,\n dereference: bool | None = ...,\n ignore_zeros: bool | None = ...,\n encoding: str | None = ...,\n pax_headers: Mapping[str, str] | None = ...,\n debug: int | None = ...,\n errorlevel: int | None = ...,\n ) -> Self: ...\n def getmember(self, name: str) -> TarInfo: ...\n def getmembers(self) -> _list[TarInfo]: ...\n def getnames(self) -> _list[str]: ...\n def list(self, verbose: bool = True, *, members: _list[TarInfo] | None = None) -> None: ...\n def next(self) -> TarInfo | None: ...\n if sys.version_info >= (3, 8):\n def extractall(\n self,\n path: StrOrBytesPath = \".\",\n members: Iterable[TarInfo] | None = None,\n *,\n numeric_owner: bool = False,\n filter: _TarfileFilter | None = ...,\n ) -> None: ...\n def extract(\n self,\n member: str | TarInfo,\n path: StrOrBytesPath = \"\",\n set_attrs: bool = True,\n *,\n numeric_owner: bool = False,\n filter: _TarfileFilter | None = ...,\n ) -> None: ...\n else:\n def extractall(\n self, path: StrOrBytesPath = \".\", members: Iterable[TarInfo] | None = None, *, numeric_owner: bool = False\n ) -> None: ...\n def extract(\n self, member: str | TarInfo, path: StrOrBytesPath = \"\", set_attrs: bool = True, *, numeric_owner: bool = False\n ) -> None: ...\n\n def _extract_member(\n self, tarinfo: TarInfo, targetpath: str, set_attrs: bool = True, numeric_owner: bool = False\n ) -> None: ... # undocumented\n def extractfile(self, member: str | TarInfo) -> IO[bytes] | None: ...\n def makedir(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ... # undocumented\n def makefile(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ... # undocumented\n def makeunknown(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ... # undocumented\n def makefifo(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ... # undocumented\n def makedev(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ... # undocumented\n def makelink(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ... # undocumented\n def chown(self, tarinfo: TarInfo, targetpath: StrOrBytesPath, numeric_owner: bool) -> None: ... # undocumented\n def chmod(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ... # undocumented\n def utime(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ... # undocumented\n def add(\n self,\n name: StrPath,\n arcname: StrPath | None = None,\n recursive: bool = True,\n *,\n filter: Callable[[TarInfo], TarInfo | None] | None = None,\n ) -> None: ...\n def addfile(self, tarinfo: TarInfo, fileobj: IO[bytes] | None = None) -> None: ...\n def gettarinfo(\n self, name: StrOrBytesPath | None = None, arcname: str | None = None, fileobj: IO[bytes] | None = None\n ) -> TarInfo: ...\n def close(self) -> None: ...\n\nif sys.version_info >= (3, 9):\n def is_tarfile(name: StrOrBytesPath | IO[bytes]) -> bool: ...\n\nelse:\n def is_tarfile(name: StrOrBytesPath) -> bool: ...\n\nif sys.version_info < (3, 8):\n def filemode(mode: int) -> str: ... # undocumented\n\nclass TarError(Exception): ...\nclass ReadError(TarError): ...\nclass CompressionError(TarError): ...\nclass StreamError(TarError): ...\nclass ExtractError(TarError): ...\nclass HeaderError(TarError): ...\n\nif sys.version_info >= (3, 8):\n class FilterError(TarError):\n # This attribute is only set directly on the subclasses, but the documentation guarantees\n # that it is always present on FilterError.\n tarinfo: TarInfo\n\n class AbsolutePathError(FilterError):\n def __init__(self, tarinfo: TarInfo) -> None: ...\n\n class OutsideDestinationError(FilterError):\n def __init__(self, tarinfo: TarInfo, path: str) -> None: ...\n\n class SpecialFileError(FilterError):\n def __init__(self, tarinfo: TarInfo) -> None: ...\n\n class AbsoluteLinkError(FilterError):\n def __init__(self, tarinfo: TarInfo) -> None: ...\n\n class LinkOutsideDestinationError(FilterError):\n def __init__(self, tarinfo: TarInfo, path: str) -> None: ...\n\n def fully_trusted_filter(member: TarInfo, dest_path: str) -> TarInfo: ...\n def tar_filter(member: TarInfo, dest_path: str) -> TarInfo: ...\n def data_filter(member: TarInfo, dest_path: str) -> TarInfo: ...\n\nclass TarInfo:\n name: str\n path: str\n size: int\n mtime: int\n chksum: int\n devmajor: int\n devminor: int\n offset: int\n offset_data: int\n sparse: bytes | None\n tarfile: TarFile | None\n mode: int\n type: bytes\n linkname: str\n uid: int\n gid: int\n uname: str\n gname: str\n pax_headers: Mapping[str, str]\n def __init__(self, name: str = \"\") -> None: ...\n @classmethod\n def frombuf(cls, buf: bytes | bytearray, encoding: str, errors: str) -> Self: ...\n @classmethod\n def fromtarfile(cls, tarfile: TarFile) -> Self: ...\n @property\n def linkpath(self) -> str: ...\n @linkpath.setter\n def linkpath(self, linkname: str) -> None: ...\n if sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n name: str = ...,\n mtime: int = ...,\n mode: int = ...,\n linkname: str = ...,\n uid: int = ...,\n gid: int = ...,\n uname: str = ...,\n gname: str = ...,\n deep: bool = True,\n ) -> Self: ...\n\n def get_info(self) -> Mapping[str, str | int | bytes | Mapping[str, str]]: ...\n if sys.version_info >= (3, 8):\n def tobuf(self, format: int | None = 2, encoding: str | None = \"utf-8\", errors: str = \"surrogateescape\") -> bytes: ...\n else:\n def tobuf(self, format: int | None = 1, encoding: str | None = \"utf-8\", errors: str = \"surrogateescape\") -> bytes: ...\n\n def create_ustar_header(\n self, info: Mapping[str, str | int | bytes | Mapping[str, str]], encoding: str, errors: str\n ) -> bytes: ...\n def create_gnu_header(\n self, info: Mapping[str, str | int | bytes | Mapping[str, str]], encoding: str, errors: str\n ) -> bytes: ...\n def create_pax_header(self, info: Mapping[str, str | int | bytes | Mapping[str, str]], encoding: str) -> bytes: ...\n @classmethod\n def create_pax_global_header(cls, pax_headers: Mapping[str, str]) -> bytes: ...\n def isfile(self) -> bool: ...\n def isreg(self) -> bool: ...\n def issparse(self) -> bool: ...\n def isdir(self) -> bool: ...\n def issym(self) -> bool: ...\n def islnk(self) -> bool: ...\n def ischr(self) -> bool: ...\n def isblk(self) -> bool: ...\n def isfifo(self) -> bool: ...\n def isdev(self) -> bool: ...\n", + "/typeshed/stdlib/tempfile.pyi": "import io\nimport sys\nfrom _typeshed import (\n BytesPath,\n GenericPath,\n OpenBinaryMode,\n OpenBinaryModeReading,\n OpenBinaryModeUpdating,\n OpenBinaryModeWriting,\n OpenTextMode,\n ReadableBuffer,\n StrPath,\n WriteableBuffer,\n)\nfrom collections.abc import Iterable, Iterator\nfrom types import TracebackType\nfrom typing import IO, Any, AnyStr, Generic, overload\nfrom typing_extensions import Literal, Self\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = [\n \"NamedTemporaryFile\",\n \"TemporaryFile\",\n \"SpooledTemporaryFile\",\n \"TemporaryDirectory\",\n \"mkstemp\",\n \"mkdtemp\",\n \"mktemp\",\n \"TMP_MAX\",\n \"gettempprefix\",\n \"tempdir\",\n \"gettempdir\",\n \"gettempprefixb\",\n \"gettempdirb\",\n]\n\n# global variables\nTMP_MAX: int\ntempdir: str | None\ntemplate: str\n\nif sys.version_info >= (3, 12):\n @overload\n def NamedTemporaryFile(\n mode: OpenTextMode,\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n delete: bool = True,\n *,\n errors: str | None = None,\n delete_on_close: bool = True,\n ) -> _TemporaryFileWrapper[str]: ...\n @overload\n def NamedTemporaryFile(\n mode: OpenBinaryMode = \"w+b\",\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n delete: bool = True,\n *,\n errors: str | None = None,\n delete_on_close: bool = True,\n ) -> _TemporaryFileWrapper[bytes]: ...\n @overload\n def NamedTemporaryFile(\n mode: str = \"w+b\",\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n delete: bool = True,\n *,\n errors: str | None = None,\n delete_on_close: bool = True,\n ) -> _TemporaryFileWrapper[Any]: ...\n\nelif sys.version_info >= (3, 8):\n @overload\n def NamedTemporaryFile(\n mode: OpenTextMode,\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n delete: bool = True,\n *,\n errors: str | None = None,\n ) -> _TemporaryFileWrapper[str]: ...\n @overload\n def NamedTemporaryFile(\n mode: OpenBinaryMode = \"w+b\",\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n delete: bool = True,\n *,\n errors: str | None = None,\n ) -> _TemporaryFileWrapper[bytes]: ...\n @overload\n def NamedTemporaryFile(\n mode: str = \"w+b\",\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n delete: bool = True,\n *,\n errors: str | None = None,\n ) -> _TemporaryFileWrapper[Any]: ...\n\nelse:\n @overload\n def NamedTemporaryFile(\n mode: OpenTextMode,\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n delete: bool = True,\n ) -> _TemporaryFileWrapper[str]: ...\n @overload\n def NamedTemporaryFile(\n mode: OpenBinaryMode = \"w+b\",\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n delete: bool = True,\n ) -> _TemporaryFileWrapper[bytes]: ...\n @overload\n def NamedTemporaryFile(\n mode: str = \"w+b\",\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n delete: bool = True,\n ) -> _TemporaryFileWrapper[Any]: ...\n\nif sys.platform == \"win32\":\n TemporaryFile = NamedTemporaryFile\nelse:\n # See the comments for builtins.open() for an explanation of the overloads.\n if sys.version_info >= (3, 8):\n @overload\n def TemporaryFile(\n mode: OpenTextMode,\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n *,\n errors: str | None = None,\n ) -> io.TextIOWrapper: ...\n @overload\n def TemporaryFile(\n mode: OpenBinaryMode,\n buffering: Literal[0],\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n *,\n errors: str | None = None,\n ) -> io.FileIO: ...\n @overload\n def TemporaryFile(\n *,\n buffering: Literal[0],\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n errors: str | None = None,\n ) -> io.FileIO: ...\n @overload\n def TemporaryFile(\n mode: OpenBinaryModeWriting,\n buffering: Literal[-1, 1] = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n *,\n errors: str | None = None,\n ) -> io.BufferedWriter: ...\n @overload\n def TemporaryFile(\n mode: OpenBinaryModeReading,\n buffering: Literal[-1, 1] = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n *,\n errors: str | None = None,\n ) -> io.BufferedReader: ...\n @overload\n def TemporaryFile(\n mode: OpenBinaryModeUpdating = \"w+b\",\n buffering: Literal[-1, 1] = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n *,\n errors: str | None = None,\n ) -> io.BufferedRandom: ...\n @overload\n def TemporaryFile(\n mode: str = \"w+b\",\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n *,\n errors: str | None = None,\n ) -> IO[Any]: ...\n else:\n @overload\n def TemporaryFile(\n mode: OpenTextMode,\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n ) -> io.TextIOWrapper: ...\n @overload\n def TemporaryFile(\n mode: OpenBinaryMode,\n buffering: Literal[0],\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n ) -> io.FileIO: ...\n @overload\n def TemporaryFile(\n *,\n buffering: Literal[0],\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n ) -> io.FileIO: ...\n @overload\n def TemporaryFile(\n mode: OpenBinaryModeUpdating = \"w+b\",\n buffering: Literal[-1, 1] = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n ) -> io.BufferedRandom: ...\n @overload\n def TemporaryFile(\n mode: OpenBinaryModeWriting,\n buffering: Literal[-1, 1] = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n ) -> io.BufferedWriter: ...\n @overload\n def TemporaryFile(\n mode: OpenBinaryModeReading,\n buffering: Literal[-1, 1] = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n ) -> io.BufferedReader: ...\n @overload\n def TemporaryFile(\n mode: str = \"w+b\",\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: AnyStr | None = None,\n prefix: AnyStr | None = None,\n dir: GenericPath[AnyStr] | None = None,\n ) -> IO[Any]: ...\n\nclass _TemporaryFileWrapper(IO[AnyStr]):\n file: IO[AnyStr] # io.TextIOWrapper, io.BufferedReader or io.BufferedWriter\n name: str\n delete: bool\n if sys.version_info >= (3, 12):\n def __init__(self, file: IO[AnyStr], name: str, delete: bool = True, delete_on_close: bool = True) -> None: ...\n else:\n def __init__(self, file: IO[AnyStr], name: str, delete: bool = True) -> None: ...\n\n def __enter__(self) -> Self: ...\n def __exit__(self, exc: type[BaseException] | None, value: BaseException | None, tb: TracebackType | None) -> None: ...\n def __getattr__(self, name: str) -> Any: ...\n def close(self) -> None: ...\n # These methods don't exist directly on this object, but\n # are delegated to the underlying IO object through __getattr__.\n # We need to add them here so that this class is concrete.\n def __iter__(self) -> Iterator[AnyStr]: ...\n # FIXME: __next__ doesn't actually exist on this class and should be removed:\n # see also https://github.com/python/typeshed/pull/5456#discussion_r633068648\n # >>> import tempfile\n # >>> ntf=tempfile.NamedTemporaryFile()\n # >>> next(ntf)\n # Traceback (most recent call last):\n # File \"\", line 1, in \n # TypeError: '_TemporaryFileWrapper' object is not an iterator\n def __next__(self) -> AnyStr: ...\n def fileno(self) -> int: ...\n def flush(self) -> None: ...\n def isatty(self) -> bool: ...\n def read(self, n: int = ...) -> AnyStr: ...\n def readable(self) -> bool: ...\n def readline(self, limit: int = ...) -> AnyStr: ...\n def readlines(self, hint: int = ...) -> list[AnyStr]: ...\n def seek(self, offset: int, whence: int = ...) -> int: ...\n def seekable(self) -> bool: ...\n def tell(self) -> int: ...\n def truncate(self, size: int | None = ...) -> int: ...\n def writable(self) -> bool: ...\n @overload\n def write(self: _TemporaryFileWrapper[str], s: str) -> int: ...\n @overload\n def write(self: _TemporaryFileWrapper[bytes], s: ReadableBuffer) -> int: ...\n @overload\n def write(self, s: AnyStr) -> int: ...\n @overload\n def writelines(self: _TemporaryFileWrapper[str], lines: Iterable[str]) -> None: ...\n @overload\n def writelines(self: _TemporaryFileWrapper[bytes], lines: Iterable[ReadableBuffer]) -> None: ...\n @overload\n def writelines(self, lines: Iterable[AnyStr]) -> None: ...\n\nif sys.version_info >= (3, 11):\n _SpooledTemporaryFileBase = io.IOBase\nelse:\n _SpooledTemporaryFileBase = object\n\n# It does not actually derive from IO[AnyStr], but it does mostly behave\n# like one.\nclass SpooledTemporaryFile(IO[AnyStr], _SpooledTemporaryFileBase):\n _file: IO[AnyStr]\n @property\n def encoding(self) -> str: ... # undocumented\n @property\n def newlines(self) -> str | tuple[str, ...] | None: ... # undocumented\n # bytes needs to go first, as default mode is to open as bytes\n if sys.version_info >= (3, 8):\n @overload\n def __init__(\n self: SpooledTemporaryFile[bytes],\n max_size: int = 0,\n mode: OpenBinaryMode = \"w+b\",\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: str | None = None,\n prefix: str | None = None,\n dir: str | None = None,\n *,\n errors: str | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self: SpooledTemporaryFile[str],\n max_size: int,\n mode: OpenTextMode,\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: str | None = None,\n prefix: str | None = None,\n dir: str | None = None,\n *,\n errors: str | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self: SpooledTemporaryFile[str],\n max_size: int = 0,\n *,\n mode: OpenTextMode,\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: str | None = None,\n prefix: str | None = None,\n dir: str | None = None,\n errors: str | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self,\n max_size: int,\n mode: str,\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: str | None = None,\n prefix: str | None = None,\n dir: str | None = None,\n *,\n errors: str | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self,\n max_size: int = 0,\n *,\n mode: str,\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: str | None = None,\n prefix: str | None = None,\n dir: str | None = None,\n errors: str | None = None,\n ) -> None: ...\n @property\n def errors(self) -> str | None: ...\n else:\n @overload\n def __init__(\n self: SpooledTemporaryFile[bytes],\n max_size: int = 0,\n mode: OpenBinaryMode = \"w+b\",\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: str | None = None,\n prefix: str | None = None,\n dir: str | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self: SpooledTemporaryFile[str],\n max_size: int,\n mode: OpenTextMode,\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: str | None = None,\n prefix: str | None = None,\n dir: str | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self: SpooledTemporaryFile[str],\n max_size: int = 0,\n *,\n mode: OpenTextMode,\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: str | None = None,\n prefix: str | None = None,\n dir: str | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self,\n max_size: int,\n mode: str,\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: str | None = None,\n prefix: str | None = None,\n dir: str | None = None,\n ) -> None: ...\n @overload\n def __init__(\n self,\n max_size: int = 0,\n *,\n mode: str,\n buffering: int = -1,\n encoding: str | None = None,\n newline: str | None = None,\n suffix: str | None = None,\n prefix: str | None = None,\n dir: str | None = None,\n ) -> None: ...\n\n def rollover(self) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, exc: type[BaseException] | None, value: BaseException | None, tb: TracebackType | None) -> None: ...\n # These methods are copied from the abstract methods of IO, because\n # SpooledTemporaryFile implements IO.\n # See also https://github.com/python/typeshed/pull/2452#issuecomment-420657918.\n def close(self) -> None: ...\n def fileno(self) -> int: ...\n def flush(self) -> None: ...\n def isatty(self) -> bool: ...\n if sys.version_info >= (3, 11):\n # These three work only if the SpooledTemporaryFile is opened in binary mode,\n # because the underlying object in text mode does not have these methods.\n def read1(self, __size: int = ...) -> AnyStr: ...\n def readinto(self, b: WriteableBuffer) -> int: ...\n def readinto1(self, b: WriteableBuffer) -> int: ...\n def detach(self) -> io.RawIOBase: ...\n\n def read(self, __n: int = ...) -> AnyStr: ...\n def readline(self, __limit: int | None = ...) -> AnyStr: ... # type: ignore[override]\n def readlines(self, __hint: int = ...) -> list[AnyStr]: ... # type: ignore[override]\n def seek(self, offset: int, whence: int = ...) -> int: ...\n def tell(self) -> int: ...\n def truncate(self, size: int | None = None) -> None: ... # type: ignore[override]\n @overload\n def write(self: SpooledTemporaryFile[str], s: str) -> int: ...\n @overload\n def write(self: SpooledTemporaryFile[bytes], s: ReadableBuffer) -> int: ...\n @overload\n def write(self, s: AnyStr) -> int: ...\n @overload\n def writelines(self: SpooledTemporaryFile[str], iterable: Iterable[str]) -> None: ...\n @overload\n def writelines(self: SpooledTemporaryFile[bytes], iterable: Iterable[ReadableBuffer]) -> None: ...\n @overload\n def writelines(self, iterable: Iterable[AnyStr]) -> None: ...\n def __iter__(self) -> Iterator[AnyStr]: ... # type: ignore[override]\n # These exist at runtime only on 3.11+.\n def readable(self) -> bool: ...\n def seekable(self) -> bool: ...\n def writable(self) -> bool: ...\n def __next__(self) -> AnyStr: ... # type: ignore[override]\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass TemporaryDirectory(Generic[AnyStr]):\n name: AnyStr\n if sys.version_info >= (3, 12):\n @overload\n def __init__(\n self: TemporaryDirectory[str],\n suffix: str | None = None,\n prefix: str | None = None,\n dir: StrPath | None = None,\n ignore_cleanup_errors: bool = False,\n *,\n delete: bool = True,\n ) -> None: ...\n @overload\n def __init__(\n self: TemporaryDirectory[bytes],\n suffix: bytes | None = None,\n prefix: bytes | None = None,\n dir: BytesPath | None = None,\n ignore_cleanup_errors: bool = False,\n *,\n delete: bool = True,\n ) -> None: ...\n elif sys.version_info >= (3, 10):\n @overload\n def __init__(\n self: TemporaryDirectory[str],\n suffix: str | None = None,\n prefix: str | None = None,\n dir: StrPath | None = None,\n ignore_cleanup_errors: bool = False,\n ) -> None: ...\n @overload\n def __init__(\n self: TemporaryDirectory[bytes],\n suffix: bytes | None = None,\n prefix: bytes | None = None,\n dir: BytesPath | None = None,\n ignore_cleanup_errors: bool = False,\n ) -> None: ...\n else:\n @overload\n def __init__(\n self: TemporaryDirectory[str], suffix: str | None = None, prefix: str | None = None, dir: StrPath | None = None\n ) -> None: ...\n @overload\n def __init__(\n self: TemporaryDirectory[bytes],\n suffix: bytes | None = None,\n prefix: bytes | None = None,\n dir: BytesPath | None = None,\n ) -> None: ...\n\n def cleanup(self) -> None: ...\n def __enter__(self) -> AnyStr: ...\n def __exit__(self, exc: type[BaseException] | None, value: BaseException | None, tb: TracebackType | None) -> None: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\n# The overloads overlap, but they should still work fine.\n@overload\ndef mkstemp( # type: ignore[misc]\n suffix: str | None = None, prefix: str | None = None, dir: StrPath | None = None, text: bool = False\n) -> tuple[int, str]: ...\n@overload\ndef mkstemp(\n suffix: bytes | None = None, prefix: bytes | None = None, dir: BytesPath | None = None, text: bool = False\n) -> tuple[int, bytes]: ...\n\n# The overloads overlap, but they should still work fine.\n@overload\ndef mkdtemp(suffix: str | None = None, prefix: str | None = None, dir: StrPath | None = None) -> str: ... # type: ignore[misc]\n@overload\ndef mkdtemp(suffix: bytes | None = None, prefix: bytes | None = None, dir: BytesPath | None = None) -> bytes: ...\ndef mktemp(suffix: str = \"\", prefix: str = \"tmp\", dir: StrPath | None = None) -> str: ...\ndef gettempdirb() -> bytes: ...\ndef gettempprefixb() -> bytes: ...\ndef gettempdir() -> str: ...\ndef gettempprefix() -> str: ...\n", + "/typeshed/stdlib/termios.pyi": "import sys\nfrom _typeshed import FileDescriptorLike\nfrom typing import Any\nfrom typing_extensions import TypeAlias\n\n# Must be a list of length 7, containing 6 ints and a list of NCCS 1-character bytes or ints.\n_Attr: TypeAlias = list[int | list[bytes | int]] | list[int | list[bytes]] | list[int | list[int]]\n# Same as _Attr for return types; we use Any to avoid a union.\n_AttrReturn: TypeAlias = list[Any]\n\nif sys.platform != \"win32\":\n B0: int\n B1000000: int\n B110: int\n B115200: int\n B1152000: int\n B1200: int\n B134: int\n B150: int\n B1500000: int\n B1800: int\n B19200: int\n B200: int\n B2000000: int\n B230400: int\n B2400: int\n B2500000: int\n B300: int\n B3000000: int\n B3500000: int\n B38400: int\n B4000000: int\n B460800: int\n B4800: int\n B50: int\n B500000: int\n B57600: int\n B576000: int\n B600: int\n B75: int\n B921600: int\n B9600: int\n BRKINT: int\n BS0: int\n BS1: int\n BSDLY: int\n CBAUD: int\n CBAUDEX: int\n CDEL: int\n CDSUSP: int\n CEOF: int\n CEOL: int\n CEOL2: int\n CEOT: int\n CERASE: int\n CESC: int\n CFLUSH: int\n CIBAUD: int\n CINTR: int\n CKILL: int\n CLNEXT: int\n CLOCAL: int\n CNUL: int\n COMMON: int\n CQUIT: int\n CR0: int\n CR1: int\n CR2: int\n CR3: int\n CRDLY: int\n CREAD: int\n CRPRNT: int\n CRTSCTS: int\n CS5: int\n CS6: int\n CS7: int\n CS8: int\n CSIZE: int\n CSTART: int\n CSTOP: int\n CSTOPB: int\n CSUSP: int\n CSWTCH: int\n CWERASE: int\n ECHO: int\n ECHOCTL: int\n ECHOE: int\n ECHOK: int\n ECHOKE: int\n ECHONL: int\n ECHOPRT: int\n EXTA: int\n EXTB: int\n FF0: int\n FF1: int\n FFDLY: int\n FIOASYNC: int\n FIOCLEX: int\n FIONBIO: int\n FIONCLEX: int\n FIONREAD: int\n FLUSHO: int\n HUPCL: int\n IBSHIFT: int\n ICANON: int\n ICRNL: int\n IEXTEN: int\n IGNBRK: int\n IGNCR: int\n IGNPAR: int\n IMAXBEL: int\n INIT_C_CC: int\n INLCR: int\n INPCK: int\n IOCSIZE_MASK: int\n IOCSIZE_SHIFT: int\n ISIG: int\n ISTRIP: int\n IUCLC: int\n IXANY: int\n IXOFF: int\n IXON: int\n N_MOUSE: int\n N_PPP: int\n N_SLIP: int\n N_STRIP: int\n N_TTY: int\n NCC: int\n NCCS: int\n NL0: int\n NL1: int\n NLDLY: int\n NOFLSH: int\n NSWTCH: int\n OCRNL: int\n OFDEL: int\n OFILL: int\n OLCUC: int\n ONLCR: int\n ONLRET: int\n ONOCR: int\n OPOST: int\n PARENB: int\n PARMRK: int\n PARODD: int\n PENDIN: int\n TAB0: int\n TAB1: int\n TAB2: int\n TAB3: int\n TABDLY: int\n TCFLSH: int\n TCGETA: int\n TCGETS: int\n TCIFLUSH: int\n TCIOFF: int\n TCIOFLUSH: int\n TCION: int\n TCOFLUSH: int\n TCOOFF: int\n TCOON: int\n TCSADRAIN: int\n TCSAFLUSH: int\n TCSANOW: int\n TCSASOFT: int\n TCSBRK: int\n TCSBRKP: int\n TCSETA: int\n TCSETAF: int\n TCSETAW: int\n TCSETS: int\n TCSETSF: int\n TCSETSW: int\n TCXONC: int\n TIOCCONS: int\n TIOCEXCL: int\n TIOCGETD: int\n TIOCGICOUNT: int\n TIOCGLCKTRMIOS: int\n TIOCGPGRP: int\n TIOCGSERIAL: int\n TIOCGSIZE: int\n TIOCGSOFTCAR: int\n TIOCGWINSZ: int\n TIOCINQ: int\n TIOCLINUX: int\n TIOCM_CAR: int\n TIOCM_CD: int\n TIOCM_CTS: int\n TIOCM_DSR: int\n TIOCM_DTR: int\n TIOCM_LE: int\n TIOCM_RI: int\n TIOCM_RNG: int\n TIOCM_RTS: int\n TIOCM_SR: int\n TIOCM_ST: int\n TIOCMBIC: int\n TIOCMBIS: int\n TIOCMGET: int\n TIOCMIWAIT: int\n TIOCMSET: int\n TIOCNOTTY: int\n TIOCNXCL: int\n TIOCOUTQ: int\n TIOCPKT_DATA: int\n TIOCPKT_DOSTOP: int\n TIOCPKT_FLUSHREAD: int\n TIOCPKT_FLUSHWRITE: int\n TIOCPKT_NOSTOP: int\n TIOCPKT_START: int\n TIOCPKT_STOP: int\n TIOCPKT: int\n TIOCSCTTY: int\n TIOCSER_TEMT: int\n TIOCSERCONFIG: int\n TIOCSERGETLSR: int\n TIOCSERGETMULTI: int\n TIOCSERGSTRUCT: int\n TIOCSERGWILD: int\n TIOCSERSETMULTI: int\n TIOCSERSWILD: int\n TIOCSETD: int\n TIOCSLCKTRMIOS: int\n TIOCSPGRP: int\n TIOCSSERIAL: int\n TIOCSSIZE: int\n TIOCSSOFTCAR: int\n TIOCSTI: int\n TIOCSWINSZ: int\n TIOCTTYGSTRUCT: int\n TOSTOP: int\n VDISCARD: int\n VEOF: int\n VEOL: int\n VEOL2: int\n VERASE: int\n VINTR: int\n VKILL: int\n VLNEXT: int\n VMIN: int\n VQUIT: int\n VREPRINT: int\n VSTART: int\n VSTOP: int\n VSUSP: int\n VSWTC: int\n VSWTCH: int\n VT0: int\n VT1: int\n VTDLY: int\n VTIME: int\n VWERASE: int\n XCASE: int\n XTABS: int\n\n def tcgetattr(__fd: FileDescriptorLike) -> _AttrReturn: ...\n def tcsetattr(__fd: FileDescriptorLike, __when: int, __attributes: _Attr) -> None: ...\n def tcsendbreak(__fd: FileDescriptorLike, __duration: int) -> None: ...\n def tcdrain(__fd: FileDescriptorLike) -> None: ...\n def tcflush(__fd: FileDescriptorLike, __queue: int) -> None: ...\n def tcflow(__fd: FileDescriptorLike, __action: int) -> None: ...\n if sys.version_info >= (3, 11):\n def tcgetwinsize(__fd: FileDescriptorLike) -> tuple[int, int]: ...\n def tcsetwinsize(__fd: FileDescriptorLike, __winsize: tuple[int, int]) -> None: ...\n\n class error(Exception): ...\n", + "/typeshed/stdlib/textwrap.pyi": "from collections.abc import Callable\nfrom re import Pattern\n\n__all__ = [\"TextWrapper\", \"wrap\", \"fill\", \"dedent\", \"indent\", \"shorten\"]\n\nclass TextWrapper:\n width: int\n initial_indent: str\n subsequent_indent: str\n expand_tabs: bool\n replace_whitespace: bool\n fix_sentence_endings: bool\n drop_whitespace: bool\n break_long_words: bool\n break_on_hyphens: bool\n tabsize: int\n max_lines: int | None\n placeholder: str\n\n # Attributes not present in documentation\n sentence_end_re: Pattern[str]\n wordsep_re: Pattern[str]\n wordsep_simple_re: Pattern[str]\n whitespace_trans: str\n unicode_whitespace_trans: dict[int, int]\n uspace: int\n x: str # leaked loop variable\n def __init__(\n self,\n width: int = 70,\n initial_indent: str = \"\",\n subsequent_indent: str = \"\",\n expand_tabs: bool = True,\n replace_whitespace: bool = True,\n fix_sentence_endings: bool = False,\n break_long_words: bool = True,\n drop_whitespace: bool = True,\n break_on_hyphens: bool = True,\n tabsize: int = 8,\n *,\n max_lines: int | None = None,\n placeholder: str = \" [...]\",\n ) -> None: ...\n # Private methods *are* part of the documented API for subclasses.\n def _munge_whitespace(self, text: str) -> str: ...\n def _split(self, text: str) -> list[str]: ...\n def _fix_sentence_endings(self, chunks: list[str]) -> None: ...\n def _handle_long_word(self, reversed_chunks: list[str], cur_line: list[str], cur_len: int, width: int) -> None: ...\n def _wrap_chunks(self, chunks: list[str]) -> list[str]: ...\n def _split_chunks(self, text: str) -> list[str]: ...\n def wrap(self, text: str) -> list[str]: ...\n def fill(self, text: str) -> str: ...\n\ndef wrap(\n text: str,\n width: int = 70,\n *,\n initial_indent: str = \"\",\n subsequent_indent: str = \"\",\n expand_tabs: bool = True,\n tabsize: int = 8,\n replace_whitespace: bool = True,\n fix_sentence_endings: bool = False,\n break_long_words: bool = True,\n break_on_hyphens: bool = True,\n drop_whitespace: bool = True,\n max_lines: int | None = None,\n placeholder: str = \" [...]\",\n) -> list[str]: ...\ndef fill(\n text: str,\n width: int = 70,\n *,\n initial_indent: str = \"\",\n subsequent_indent: str = \"\",\n expand_tabs: bool = True,\n tabsize: int = 8,\n replace_whitespace: bool = True,\n fix_sentence_endings: bool = False,\n break_long_words: bool = True,\n break_on_hyphens: bool = True,\n drop_whitespace: bool = True,\n max_lines: int | None = None,\n placeholder: str = \" [...]\",\n) -> str: ...\ndef shorten(\n text: str,\n width: int,\n *,\n initial_indent: str = \"\",\n subsequent_indent: str = \"\",\n expand_tabs: bool = True,\n tabsize: int = 8,\n replace_whitespace: bool = True,\n fix_sentence_endings: bool = False,\n break_long_words: bool = True,\n break_on_hyphens: bool = True,\n drop_whitespace: bool = True,\n # Omit `max_lines: int = None`, it is forced to 1 here.\n placeholder: str = \" [...]\",\n) -> str: ...\ndef dedent(text: str) -> str: ...\ndef indent(text: str, prefix: str, predicate: Callable[[str], bool] | None = None) -> str: ...\n", + "/typeshed/stdlib/this.pyi": "s: str\nd: dict[str, str]\n", + "/typeshed/stdlib/threading.pyi": "import sys\nfrom _typeshed import ProfileFunction, TraceFunction\nfrom collections.abc import Callable, Iterable, Mapping\nfrom types import TracebackType\nfrom typing import Any, TypeVar\nfrom typing_extensions import final\n\n_T = TypeVar(\"_T\")\n\n__all__ = [\n \"get_ident\",\n \"active_count\",\n \"Condition\",\n \"current_thread\",\n \"enumerate\",\n \"main_thread\",\n \"TIMEOUT_MAX\",\n \"Event\",\n \"Lock\",\n \"RLock\",\n \"Semaphore\",\n \"BoundedSemaphore\",\n \"Thread\",\n \"Barrier\",\n \"BrokenBarrierError\",\n \"Timer\",\n \"ThreadError\",\n \"setprofile\",\n \"settrace\",\n \"local\",\n \"stack_size\",\n]\n\nif sys.version_info >= (3, 8):\n __all__ += [\"ExceptHookArgs\", \"excepthook\", \"get_native_id\"]\n\nif sys.version_info >= (3, 10):\n __all__ += [\"getprofile\", \"gettrace\"]\n\nif sys.version_info >= (3, 12):\n __all__ += [\"setprofile_all_threads\", \"settrace_all_threads\"]\n\n_profile_hook: ProfileFunction | None\n\ndef active_count() -> int: ...\ndef activeCount() -> int: ... # deprecated alias for active_count()\ndef current_thread() -> Thread: ...\ndef currentThread() -> Thread: ... # deprecated alias for current_thread()\ndef get_ident() -> int: ...\ndef enumerate() -> list[Thread]: ...\ndef main_thread() -> Thread: ...\n\nif sys.version_info >= (3, 8):\n from _thread import get_native_id as get_native_id\n\ndef settrace(func: TraceFunction) -> None: ...\ndef setprofile(func: ProfileFunction | None) -> None: ...\n\nif sys.version_info >= (3, 12):\n def setprofile_all_threads(func: ProfileFunction | None) -> None: ...\n def settrace_all_threads(func: TraceFunction) -> None: ...\n\nif sys.version_info >= (3, 10):\n def gettrace() -> TraceFunction | None: ...\n def getprofile() -> ProfileFunction | None: ...\n\ndef stack_size(size: int = ...) -> int: ...\n\nTIMEOUT_MAX: float\n\nclass ThreadError(Exception): ...\n\nclass local:\n def __getattribute__(self, __name: str) -> Any: ...\n def __setattr__(self, __name: str, __value: Any) -> None: ...\n def __delattr__(self, __name: str) -> None: ...\n\nclass Thread:\n name: str\n @property\n def ident(self) -> int | None: ...\n daemon: bool\n def __init__(\n self,\n group: None = None,\n target: Callable[..., object] | None = None,\n name: str | None = None,\n args: Iterable[Any] = (),\n kwargs: Mapping[str, Any] | None = None,\n *,\n daemon: bool | None = None,\n ) -> None: ...\n def start(self) -> None: ...\n def run(self) -> None: ...\n def join(self, timeout: float | None = None) -> None: ...\n if sys.version_info >= (3, 8):\n @property\n def native_id(self) -> int | None: ... # only available on some platforms\n\n def is_alive(self) -> bool: ...\n if sys.version_info < (3, 9):\n def isAlive(self) -> bool: ...\n # the following methods are all deprecated\n def getName(self) -> str: ...\n def setName(self, name: str) -> None: ...\n def isDaemon(self) -> bool: ...\n def setDaemon(self, daemonic: bool) -> None: ...\n\nclass _DummyThread(Thread):\n def __init__(self) -> None: ...\n\n@final\nclass Lock:\n def __enter__(self) -> bool: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> None: ...\n def acquire(self, blocking: bool = ..., timeout: float = ...) -> bool: ...\n def release(self) -> None: ...\n def locked(self) -> bool: ...\n\n@final\nclass _RLock:\n def acquire(self, blocking: bool = True, timeout: float = -1) -> bool: ...\n def release(self) -> None: ...\n __enter__ = acquire\n def __exit__(self, t: type[BaseException] | None, v: BaseException | None, tb: TracebackType | None) -> None: ...\n\nRLock = _RLock\n\nclass Condition:\n def __init__(self, lock: Lock | _RLock | None = None) -> None: ...\n def __enter__(self) -> bool: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> None: ...\n def acquire(self, blocking: bool = ..., timeout: float = ...) -> bool: ...\n def release(self) -> None: ...\n def wait(self, timeout: float | None = None) -> bool: ...\n def wait_for(self, predicate: Callable[[], _T], timeout: float | None = None) -> _T: ...\n def notify(self, n: int = 1) -> None: ...\n def notify_all(self) -> None: ...\n def notifyAll(self) -> None: ... # deprecated alias for notify_all()\n\nclass Semaphore:\n _value: int\n def __init__(self, value: int = 1) -> None: ...\n def __exit__(self, t: type[BaseException] | None, v: BaseException | None, tb: TracebackType | None) -> None: ...\n def acquire(self, blocking: bool = True, timeout: float | None = None) -> bool: ...\n def __enter__(self, blocking: bool = True, timeout: float | None = None) -> bool: ...\n if sys.version_info >= (3, 9):\n def release(self, n: int = 1) -> None: ...\n else:\n def release(self) -> None: ...\n\nclass BoundedSemaphore(Semaphore): ...\n\nclass Event:\n def is_set(self) -> bool: ...\n def isSet(self) -> bool: ... # deprecated alias for is_set()\n def set(self) -> None: ...\n def clear(self) -> None: ...\n def wait(self, timeout: float | None = None) -> bool: ...\n\nif sys.version_info >= (3, 8):\n from _thread import _excepthook, _ExceptHookArgs\n\n excepthook = _excepthook\n ExceptHookArgs = _ExceptHookArgs\n\nclass Timer(Thread):\n args: Iterable[Any] # undocumented\n finished: Event # undocumented\n function: Callable[..., Any] # undocumented\n interval: float # undocumented\n kwargs: Mapping[str, Any] # undocumented\n\n def __init__(\n self,\n interval: float,\n function: Callable[..., object],\n args: Iterable[Any] | None = None,\n kwargs: Mapping[str, Any] | None = None,\n ) -> None: ...\n def cancel(self) -> None: ...\n\nclass Barrier:\n @property\n def parties(self) -> int: ...\n @property\n def n_waiting(self) -> int: ...\n @property\n def broken(self) -> bool: ...\n def __init__(self, parties: int, action: Callable[[], None] | None = None, timeout: float | None = None) -> None: ...\n def wait(self, timeout: float | None = None) -> int: ...\n def reset(self) -> None: ...\n def abort(self) -> None: ...\n\nclass BrokenBarrierError(RuntimeError): ...\n", + "/typeshed/stdlib/time.pyi": "import sys\nfrom _typeshed import structseq\nfrom typing import Any, Protocol\nfrom typing_extensions import Final, Literal, TypeAlias, final\n\n_TimeTuple: TypeAlias = tuple[int, int, int, int, int, int, int, int, int]\n\naltzone: int\ndaylight: int\ntimezone: int\ntzname: tuple[str, str]\n\nif sys.platform == \"linux\":\n CLOCK_BOOTTIME: int\nif sys.platform != \"linux\" and sys.platform != \"win32\" and sys.platform != \"darwin\":\n CLOCK_PROF: int # FreeBSD, NetBSD, OpenBSD\n CLOCK_UPTIME: int # FreeBSD, OpenBSD\n\nif sys.platform != \"win32\":\n CLOCK_MONOTONIC: int\n CLOCK_MONOTONIC_RAW: int\n CLOCK_PROCESS_CPUTIME_ID: int\n CLOCK_REALTIME: int\n CLOCK_THREAD_CPUTIME_ID: int\n if sys.platform != \"linux\" and sys.platform != \"darwin\":\n CLOCK_HIGHRES: int # Solaris only\n\nif sys.version_info >= (3, 8) and sys.platform == \"darwin\":\n CLOCK_UPTIME_RAW: int\n\nif sys.version_info >= (3, 9) and sys.platform == \"linux\":\n CLOCK_TAI: int\n\n# Constructor takes an iterable of any type, of length between 9 and 11 elements.\n# However, it always *behaves* like a tuple of 9 elements,\n# even if an iterable with length >9 is passed.\n# https://github.com/python/typeshed/pull/6560#discussion_r767162532\n@final\nclass struct_time(structseq[Any | int], _TimeTuple):\n if sys.version_info >= (3, 10):\n __match_args__: Final = (\"tm_year\", \"tm_mon\", \"tm_mday\", \"tm_hour\", \"tm_min\", \"tm_sec\", \"tm_wday\", \"tm_yday\", \"tm_isdst\")\n @property\n def tm_year(self) -> int: ...\n @property\n def tm_mon(self) -> int: ...\n @property\n def tm_mday(self) -> int: ...\n @property\n def tm_hour(self) -> int: ...\n @property\n def tm_min(self) -> int: ...\n @property\n def tm_sec(self) -> int: ...\n @property\n def tm_wday(self) -> int: ...\n @property\n def tm_yday(self) -> int: ...\n @property\n def tm_isdst(self) -> int: ...\n # These final two properties only exist if a 10- or 11-item sequence was passed to the constructor.\n @property\n def tm_zone(self) -> str: ...\n @property\n def tm_gmtoff(self) -> int: ...\n\ndef asctime(t: _TimeTuple | struct_time = ...) -> str: ...\n\nif sys.version_info < (3, 8):\n def clock() -> float: ...\n\ndef ctime(secs: float | None = ...) -> str: ...\ndef gmtime(secs: float | None = ...) -> struct_time: ...\ndef localtime(secs: float | None = ...) -> struct_time: ...\ndef mktime(t: _TimeTuple | struct_time) -> float: ...\ndef sleep(secs: float) -> None: ...\ndef strftime(format: str, t: _TimeTuple | struct_time = ...) -> str: ...\ndef strptime(string: str, format: str = ...) -> struct_time: ...\ndef time() -> float: ...\n\nif sys.platform != \"win32\":\n def tzset() -> None: ... # Unix only\n\nclass _ClockInfo(Protocol):\n adjustable: bool\n implementation: str\n monotonic: bool\n resolution: float\n\ndef get_clock_info(name: Literal[\"monotonic\", \"perf_counter\", \"process_time\", \"time\", \"thread_time\"]) -> _ClockInfo: ...\ndef monotonic() -> float: ...\ndef perf_counter() -> float: ...\ndef process_time() -> float: ...\n\nif sys.platform != \"win32\":\n def clock_getres(clk_id: int) -> float: ... # Unix only\n def clock_gettime(clk_id: int) -> float: ... # Unix only\n def clock_settime(clk_id: int, time: float) -> None: ... # Unix only\n\nif sys.platform != \"win32\":\n def clock_gettime_ns(clock_id: int) -> int: ...\n def clock_settime_ns(clock_id: int, time: int) -> int: ...\n\nif sys.platform == \"linux\":\n def pthread_getcpuclockid(thread_id: int) -> int: ...\n\ndef monotonic_ns() -> int: ...\ndef perf_counter_ns() -> int: ...\ndef process_time_ns() -> int: ...\ndef time_ns() -> int: ...\ndef thread_time() -> float: ...\ndef thread_time_ns() -> int: ...\n", + "/typeshed/stdlib/timeit.pyi": "from collections.abc import Callable, Sequence\nfrom typing import IO, Any\nfrom typing_extensions import TypeAlias\n\n__all__ = [\"Timer\", \"timeit\", \"repeat\", \"default_timer\"]\n\n_Timer: TypeAlias = Callable[[], float]\n_Stmt: TypeAlias = str | Callable[[], object]\n\ndefault_timer: _Timer\n\nclass Timer:\n def __init__(\n self, stmt: _Stmt = \"pass\", setup: _Stmt = \"pass\", timer: _Timer = ..., globals: dict[str, Any] | None = None\n ) -> None: ...\n def print_exc(self, file: IO[str] | None = None) -> None: ...\n def timeit(self, number: int = 1000000) -> float: ...\n def repeat(self, repeat: int = 5, number: int = 1000000) -> list[float]: ...\n def autorange(self, callback: Callable[[int, float], object] | None = None) -> tuple[int, float]: ...\n\ndef timeit(\n stmt: _Stmt = \"pass\", setup: _Stmt = \"pass\", timer: _Timer = ..., number: int = 1000000, globals: dict[str, Any] | None = None\n) -> float: ...\ndef repeat(\n stmt: _Stmt = \"pass\",\n setup: _Stmt = \"pass\",\n timer: _Timer = ...,\n repeat: int = 5,\n number: int = 1000000,\n globals: dict[str, Any] | None = None,\n) -> list[float]: ...\ndef main(args: Sequence[str] | None = None, *, _wrap_timer: Callable[[_Timer], _Timer] | None = None) -> None: ...\n", + "/typeshed/stdlib/token.pyi": "import sys\n\n__all__ = [\n \"AMPER\",\n \"AMPEREQUAL\",\n \"AT\",\n \"ATEQUAL\",\n \"CIRCUMFLEX\",\n \"CIRCUMFLEXEQUAL\",\n \"COLON\",\n \"COMMA\",\n \"DEDENT\",\n \"DOT\",\n \"DOUBLESLASH\",\n \"DOUBLESLASHEQUAL\",\n \"DOUBLESTAR\",\n \"DOUBLESTAREQUAL\",\n \"ELLIPSIS\",\n \"ENDMARKER\",\n \"EQEQUAL\",\n \"EQUAL\",\n \"ERRORTOKEN\",\n \"GREATER\",\n \"GREATEREQUAL\",\n \"INDENT\",\n \"ISEOF\",\n \"ISNONTERMINAL\",\n \"ISTERMINAL\",\n \"LBRACE\",\n \"LEFTSHIFT\",\n \"LEFTSHIFTEQUAL\",\n \"LESS\",\n \"LESSEQUAL\",\n \"LPAR\",\n \"LSQB\",\n \"MINEQUAL\",\n \"MINUS\",\n \"NAME\",\n \"NEWLINE\",\n \"NOTEQUAL\",\n \"NT_OFFSET\",\n \"NUMBER\",\n \"N_TOKENS\",\n \"OP\",\n \"PERCENT\",\n \"PERCENTEQUAL\",\n \"PLUS\",\n \"PLUSEQUAL\",\n \"RARROW\",\n \"RBRACE\",\n \"RIGHTSHIFT\",\n \"RIGHTSHIFTEQUAL\",\n \"RPAR\",\n \"RSQB\",\n \"SEMI\",\n \"SLASH\",\n \"SLASHEQUAL\",\n \"STAR\",\n \"STAREQUAL\",\n \"STRING\",\n \"TILDE\",\n \"VBAR\",\n \"VBAREQUAL\",\n \"tok_name\",\n \"ENCODING\",\n \"NL\",\n \"COMMENT\",\n]\n\nif sys.version_info >= (3, 8):\n __all__ += [\"ASYNC\", \"AWAIT\", \"COLONEQUAL\", \"TYPE_COMMENT\", \"TYPE_IGNORE\"]\n\nif sys.version_info >= (3, 10):\n __all__ += [\"SOFT_KEYWORD\"]\n\nif sys.version_info >= (3, 12):\n __all__ += [\"EXCLAMATION\", \"FSTRING_END\", \"FSTRING_MIDDLE\", \"FSTRING_START\"]\n\nENDMARKER: int\nNAME: int\nNUMBER: int\nSTRING: int\nNEWLINE: int\nINDENT: int\nDEDENT: int\nLPAR: int\nRPAR: int\nLSQB: int\nRSQB: int\nCOLON: int\nCOMMA: int\nSEMI: int\nPLUS: int\nMINUS: int\nSTAR: int\nSLASH: int\nVBAR: int\nAMPER: int\nLESS: int\nGREATER: int\nEQUAL: int\nDOT: int\nPERCENT: int\nLBRACE: int\nRBRACE: int\nEQEQUAL: int\nNOTEQUAL: int\nLESSEQUAL: int\nGREATEREQUAL: int\nTILDE: int\nCIRCUMFLEX: int\nLEFTSHIFT: int\nRIGHTSHIFT: int\nDOUBLESTAR: int\nPLUSEQUAL: int\nMINEQUAL: int\nSTAREQUAL: int\nSLASHEQUAL: int\nPERCENTEQUAL: int\nAMPEREQUAL: int\nVBAREQUAL: int\nCIRCUMFLEXEQUAL: int\nLEFTSHIFTEQUAL: int\nRIGHTSHIFTEQUAL: int\nDOUBLESTAREQUAL: int\nDOUBLESLASH: int\nDOUBLESLASHEQUAL: int\nAT: int\nRARROW: int\nELLIPSIS: int\nATEQUAL: int\nif sys.version_info >= (3, 8):\n AWAIT: int\n ASYNC: int\nOP: int\nERRORTOKEN: int\nN_TOKENS: int\nNT_OFFSET: int\ntok_name: dict[int, str]\nCOMMENT: int\nNL: int\nENCODING: int\nif sys.version_info >= (3, 8):\n TYPE_COMMENT: int\n TYPE_IGNORE: int\n COLONEQUAL: int\n EXACT_TOKEN_TYPES: dict[str, int]\nif sys.version_info >= (3, 10):\n SOFT_KEYWORD: int\n\nif sys.version_info >= (3, 12):\n EXCLAMATION: int\n FSTRING_END: int\n FSTRING_MIDDLE: int\n FSTRING_START: int\n\ndef ISTERMINAL(x: int) -> bool: ...\ndef ISNONTERMINAL(x: int) -> bool: ...\ndef ISEOF(x: int) -> bool: ...\n", + "/typeshed/stdlib/tokenize.pyi": "import sys\nfrom _typeshed import FileDescriptorOrPath\nfrom collections.abc import Callable, Generator, Iterable, Sequence\nfrom re import Pattern\nfrom token import *\nfrom typing import Any, NamedTuple, TextIO\nfrom typing_extensions import TypeAlias\n\n__all__ = [\n \"AMPER\",\n \"AMPEREQUAL\",\n \"AT\",\n \"ATEQUAL\",\n \"CIRCUMFLEX\",\n \"CIRCUMFLEXEQUAL\",\n \"COLON\",\n \"COMMA\",\n \"COMMENT\",\n \"DEDENT\",\n \"DOT\",\n \"DOUBLESLASH\",\n \"DOUBLESLASHEQUAL\",\n \"DOUBLESTAR\",\n \"DOUBLESTAREQUAL\",\n \"ELLIPSIS\",\n \"ENCODING\",\n \"ENDMARKER\",\n \"EQEQUAL\",\n \"EQUAL\",\n \"ERRORTOKEN\",\n \"GREATER\",\n \"GREATEREQUAL\",\n \"INDENT\",\n \"ISEOF\",\n \"ISNONTERMINAL\",\n \"ISTERMINAL\",\n \"LBRACE\",\n \"LEFTSHIFT\",\n \"LEFTSHIFTEQUAL\",\n \"LESS\",\n \"LESSEQUAL\",\n \"LPAR\",\n \"LSQB\",\n \"MINEQUAL\",\n \"MINUS\",\n \"NAME\",\n \"NEWLINE\",\n \"NL\",\n \"NOTEQUAL\",\n \"NT_OFFSET\",\n \"NUMBER\",\n \"N_TOKENS\",\n \"OP\",\n \"PERCENT\",\n \"PERCENTEQUAL\",\n \"PLUS\",\n \"PLUSEQUAL\",\n \"RARROW\",\n \"RBRACE\",\n \"RIGHTSHIFT\",\n \"RIGHTSHIFTEQUAL\",\n \"RPAR\",\n \"RSQB\",\n \"SEMI\",\n \"SLASH\",\n \"SLASHEQUAL\",\n \"STAR\",\n \"STAREQUAL\",\n \"STRING\",\n \"TILDE\",\n \"TokenInfo\",\n \"VBAR\",\n \"VBAREQUAL\",\n \"detect_encoding\",\n \"tok_name\",\n \"tokenize\",\n \"untokenize\",\n]\n\nif sys.version_info >= (3, 8):\n __all__ += [\"ASYNC\", \"AWAIT\", \"COLONEQUAL\", \"generate_tokens\", \"TYPE_COMMENT\", \"TYPE_IGNORE\"]\n\nif sys.version_info >= (3, 10):\n __all__ += [\"SOFT_KEYWORD\"]\n\nif sys.version_info >= (3, 12):\n __all__ += [\"EXCLAMATION\", \"FSTRING_END\", \"FSTRING_MIDDLE\", \"FSTRING_START\"]\n\nif sys.version_info >= (3, 8):\n from token import EXACT_TOKEN_TYPES as EXACT_TOKEN_TYPES\nelse:\n EXACT_TOKEN_TYPES: dict[str, int]\n\ncookie_re: Pattern[str]\nblank_re: Pattern[bytes]\n\n_Position: TypeAlias = tuple[int, int]\n\nclass _TokenInfo(NamedTuple):\n type: int\n string: str\n start: _Position\n end: _Position\n line: str\n\nclass TokenInfo(_TokenInfo):\n @property\n def exact_type(self) -> int: ...\n\n# Backwards compatible tokens can be sequences of a shorter length too\n_Token: TypeAlias = TokenInfo | Sequence[int | str | _Position]\n\nclass TokenError(Exception): ...\nclass StopTokenizing(Exception): ... # undocumented\n\nclass Untokenizer:\n tokens: list[str]\n prev_row: int\n prev_col: int\n encoding: str | None\n def add_whitespace(self, start: _Position) -> None: ...\n def untokenize(self, iterable: Iterable[_Token]) -> str: ...\n def compat(self, token: Sequence[int | str], iterable: Iterable[_Token]) -> None: ...\n\n# the docstring says \"returns bytes\" but is incorrect --\n# if the ENCODING token is missing, it skips the encode\ndef untokenize(iterable: Iterable[_Token]) -> Any: ...\ndef detect_encoding(readline: Callable[[], bytes | bytearray]) -> tuple[str, Sequence[bytes]]: ...\ndef tokenize(readline: Callable[[], bytes | bytearray]) -> Generator[TokenInfo, None, None]: ...\ndef generate_tokens(readline: Callable[[], str]) -> Generator[TokenInfo, None, None]: ... # undocumented\ndef open(filename: FileDescriptorOrPath) -> TextIO: ...\ndef group(*choices: str) -> str: ... # undocumented\ndef any(*choices: str) -> str: ... # undocumented\ndef maybe(*choices: str) -> str: ... # undocumented\n\nWhitespace: str # undocumented\nComment: str # undocumented\nIgnore: str # undocumented\nName: str # undocumented\n\nHexnumber: str # undocumented\nBinnumber: str # undocumented\nOctnumber: str # undocumented\nDecnumber: str # undocumented\nIntnumber: str # undocumented\nExponent: str # undocumented\nPointfloat: str # undocumented\nExpfloat: str # undocumented\nFloatnumber: str # undocumented\nImagnumber: str # undocumented\nNumber: str # undocumented\n\ndef _all_string_prefixes() -> set[str]: ... # undocumented\n\nStringPrefix: str # undocumented\n\nSingle: str # undocumented\nDouble: str # undocumented\nSingle3: str # undocumented\nDouble3: str # undocumented\nTriple: str # undocumented\nString: str # undocumented\n\nSpecial: str # undocumented\nFunny: str # undocumented\n\nPlainToken: str # undocumented\nToken: str # undocumented\n\nContStr: str # undocumented\nPseudoExtras: str # undocumented\nPseudoToken: str # undocumented\n\nendpats: dict[str, str] # undocumented\nsingle_quoted: set[str] # undocumented\ntriple_quoted: set[str] # undocumented\n\ntabsize: int # undocumented\n", + "/typeshed/stdlib/tomllib.pyi": "from _typeshed import SupportsRead\nfrom collections.abc import Callable\nfrom typing import Any\n\n__all__ = (\"loads\", \"load\", \"TOMLDecodeError\")\n\nclass TOMLDecodeError(ValueError): ...\n\ndef load(__fp: SupportsRead[bytes], *, parse_float: Callable[[str], Any] = ...) -> dict[str, Any]: ...\ndef loads(__s: str, *, parse_float: Callable[[str], Any] = ...) -> dict[str, Any]: ...\n", + "/typeshed/stdlib/trace.pyi": "import sys\nimport types\nfrom _typeshed import StrPath, TraceFunction\nfrom collections.abc import Callable, Mapping, Sequence\nfrom typing import Any, TypeVar\nfrom typing_extensions import ParamSpec, TypeAlias\n\n__all__ = [\"Trace\", \"CoverageResults\"]\n\n_T = TypeVar(\"_T\")\n_P = ParamSpec(\"_P\")\n_FileModuleFunction: TypeAlias = tuple[str, str | None, str]\n\nclass CoverageResults:\n def __init__(\n self,\n counts: dict[tuple[str, int], int] | None = None,\n calledfuncs: dict[_FileModuleFunction, int] | None = None,\n infile: StrPath | None = None,\n callers: dict[tuple[_FileModuleFunction, _FileModuleFunction], int] | None = None,\n outfile: StrPath | None = None,\n ) -> None: ... # undocumented\n def update(self, other: CoverageResults) -> None: ...\n def write_results(self, show_missing: bool = True, summary: bool = False, coverdir: StrPath | None = None) -> None: ...\n def write_results_file(\n self, path: StrPath, lines: Sequence[str], lnotab: Any, lines_hit: Mapping[int, int], encoding: str | None = None\n ) -> tuple[int, int]: ...\n def is_ignored_filename(self, filename: str) -> bool: ... # undocumented\n\nclass Trace:\n def __init__(\n self,\n count: int = 1,\n trace: int = 1,\n countfuncs: int = 0,\n countcallers: int = 0,\n ignoremods: Sequence[str] = (),\n ignoredirs: Sequence[str] = (),\n infile: StrPath | None = None,\n outfile: StrPath | None = None,\n timing: bool = False,\n ) -> None: ...\n def run(self, cmd: str | types.CodeType) -> None: ...\n def runctx(\n self, cmd: str | types.CodeType, globals: Mapping[str, Any] | None = None, locals: Mapping[str, Any] | None = None\n ) -> None: ...\n if sys.version_info >= (3, 9):\n def runfunc(self, __func: Callable[_P, _T], *args: _P.args, **kw: _P.kwargs) -> _T: ...\n else:\n def runfunc(self, func: Callable[_P, _T], *args: _P.args, **kw: _P.kwargs) -> _T: ...\n\n def file_module_function_of(self, frame: types.FrameType) -> _FileModuleFunction: ...\n def globaltrace_trackcallers(self, frame: types.FrameType, why: str, arg: Any) -> None: ...\n def globaltrace_countfuncs(self, frame: types.FrameType, why: str, arg: Any) -> None: ...\n def globaltrace_lt(self, frame: types.FrameType, why: str, arg: Any) -> None: ...\n def localtrace_trace_and_count(self, frame: types.FrameType, why: str, arg: Any) -> TraceFunction: ...\n def localtrace_trace(self, frame: types.FrameType, why: str, arg: Any) -> TraceFunction: ...\n def localtrace_count(self, frame: types.FrameType, why: str, arg: Any) -> TraceFunction: ...\n def results(self) -> CoverageResults: ...\n", + "/typeshed/stdlib/traceback.pyi": "import sys\nfrom _typeshed import SupportsWrite, Unused\nfrom collections.abc import Generator, Iterable, Iterator, Mapping\nfrom types import FrameType, TracebackType\nfrom typing import Any, overload\nfrom typing_extensions import Literal, Self, TypeAlias\n\n__all__ = [\n \"extract_stack\",\n \"extract_tb\",\n \"format_exception\",\n \"format_exception_only\",\n \"format_list\",\n \"format_stack\",\n \"format_tb\",\n \"print_exc\",\n \"format_exc\",\n \"print_exception\",\n \"print_last\",\n \"print_stack\",\n \"print_tb\",\n \"clear_frames\",\n \"FrameSummary\",\n \"StackSummary\",\n \"TracebackException\",\n \"walk_stack\",\n \"walk_tb\",\n]\n\n_PT: TypeAlias = tuple[str, int, str, str | None]\n\ndef print_tb(tb: TracebackType | None, limit: int | None = None, file: SupportsWrite[str] | None = None) -> None: ...\n\nif sys.version_info >= (3, 10):\n @overload\n def print_exception(\n __exc: type[BaseException] | None,\n value: BaseException | None = ...,\n tb: TracebackType | None = ...,\n limit: int | None = None,\n file: SupportsWrite[str] | None = None,\n chain: bool = True,\n ) -> None: ...\n @overload\n def print_exception(\n __exc: BaseException, *, limit: int | None = None, file: SupportsWrite[str] | None = None, chain: bool = True\n ) -> None: ...\n @overload\n def format_exception(\n __exc: type[BaseException] | None,\n value: BaseException | None = ...,\n tb: TracebackType | None = ...,\n limit: int | None = None,\n chain: bool = True,\n ) -> list[str]: ...\n @overload\n def format_exception(__exc: BaseException, *, limit: int | None = None, chain: bool = True) -> list[str]: ...\n\nelse:\n def print_exception(\n etype: type[BaseException] | None,\n value: BaseException | None,\n tb: TracebackType | None,\n limit: int | None = None,\n file: SupportsWrite[str] | None = None,\n chain: bool = True,\n ) -> None: ...\n def format_exception(\n etype: type[BaseException] | None,\n value: BaseException | None,\n tb: TracebackType | None,\n limit: int | None = None,\n chain: bool = True,\n ) -> list[str]: ...\n\ndef print_exc(limit: int | None = None, file: SupportsWrite[str] | None = None, chain: bool = True) -> None: ...\ndef print_last(limit: int | None = None, file: SupportsWrite[str] | None = None, chain: bool = True) -> None: ...\ndef print_stack(f: FrameType | None = None, limit: int | None = None, file: SupportsWrite[str] | None = None) -> None: ...\ndef extract_tb(tb: TracebackType | None, limit: int | None = None) -> StackSummary: ...\ndef extract_stack(f: FrameType | None = None, limit: int | None = None) -> StackSummary: ...\ndef format_list(extracted_list: list[FrameSummary]) -> list[str]: ...\n\n# undocumented\ndef print_list(extracted_list: list[FrameSummary], file: SupportsWrite[str] | None = None) -> None: ...\n\nif sys.version_info >= (3, 10):\n @overload\n def format_exception_only(__exc: BaseException | None) -> list[str]: ...\n @overload\n def format_exception_only(__exc: Unused, value: BaseException | None) -> list[str]: ...\n\nelse:\n def format_exception_only(etype: type[BaseException] | None, value: BaseException | None) -> list[str]: ...\n\ndef format_exc(limit: int | None = None, chain: bool = True) -> str: ...\ndef format_tb(tb: TracebackType | None, limit: int | None = None) -> list[str]: ...\ndef format_stack(f: FrameType | None = None, limit: int | None = None) -> list[str]: ...\ndef clear_frames(tb: TracebackType | None) -> None: ...\ndef walk_stack(f: FrameType | None) -> Iterator[tuple[FrameType, int]]: ...\ndef walk_tb(tb: TracebackType | None) -> Iterator[tuple[FrameType, int]]: ...\n\nif sys.version_info >= (3, 11):\n class _ExceptionPrintContext:\n def indent(self) -> str: ...\n def emit(self, text_gen: str | Iterable[str], margin_char: str | None = None) -> Generator[str, None, None]: ...\n\nclass TracebackException:\n __cause__: TracebackException\n __context__: TracebackException\n __suppress_context__: bool\n stack: StackSummary\n exc_type: type[BaseException]\n filename: str\n lineno: int\n text: str\n offset: int\n msg: str\n if sys.version_info >= (3, 11):\n def __init__(\n self,\n exc_type: type[BaseException],\n exc_value: BaseException,\n exc_traceback: TracebackType | None,\n *,\n limit: int | None = None,\n lookup_lines: bool = True,\n capture_locals: bool = False,\n compact: bool = False,\n max_group_width: int = 15,\n max_group_depth: int = 10,\n _seen: set[int] | None = None,\n ) -> None: ...\n @classmethod\n def from_exception(\n cls,\n exc: BaseException,\n *,\n limit: int | None = None,\n lookup_lines: bool = True,\n capture_locals: bool = False,\n compact: bool = False,\n max_group_width: int = 15,\n max_group_depth: int = 10,\n ) -> Self: ...\n elif sys.version_info >= (3, 10):\n def __init__(\n self,\n exc_type: type[BaseException],\n exc_value: BaseException,\n exc_traceback: TracebackType | None,\n *,\n limit: int | None = None,\n lookup_lines: bool = True,\n capture_locals: bool = False,\n compact: bool = False,\n _seen: set[int] | None = None,\n ) -> None: ...\n @classmethod\n def from_exception(\n cls,\n exc: BaseException,\n *,\n limit: int | None = None,\n lookup_lines: bool = True,\n capture_locals: bool = False,\n compact: bool = False,\n ) -> Self: ...\n else:\n def __init__(\n self,\n exc_type: type[BaseException],\n exc_value: BaseException,\n exc_traceback: TracebackType | None,\n *,\n limit: int | None = None,\n lookup_lines: bool = True,\n capture_locals: bool = False,\n _seen: set[int] | None = None,\n ) -> None: ...\n @classmethod\n def from_exception(\n cls, exc: BaseException, *, limit: int | None = None, lookup_lines: bool = True, capture_locals: bool = False\n ) -> Self: ...\n\n def __eq__(self, other: object) -> bool: ...\n if sys.version_info >= (3, 11):\n def format(self, *, chain: bool = True, _ctx: _ExceptionPrintContext | None = None) -> Generator[str, None, None]: ...\n else:\n def format(self, *, chain: bool = True) -> Generator[str, None, None]: ...\n\n def format_exception_only(self) -> Generator[str, None, None]: ...\n\n if sys.version_info >= (3, 11):\n def print(self, *, file: SupportsWrite[str] | None = None, chain: bool = True) -> None: ...\n\nclass FrameSummary(Iterable[Any]):\n if sys.version_info >= (3, 11):\n def __init__(\n self,\n filename: str,\n lineno: int | None,\n name: str,\n *,\n lookup_line: bool = True,\n locals: Mapping[str, str] | None = None,\n line: str | None = None,\n end_lineno: int | None = None,\n colno: int | None = None,\n end_colno: int | None = None,\n ) -> None: ...\n end_lineno: int | None\n colno: int | None\n end_colno: int | None\n else:\n def __init__(\n self,\n filename: str,\n lineno: int | None,\n name: str,\n *,\n lookup_line: bool = True,\n locals: Mapping[str, str] | None = None,\n line: str | None = None,\n ) -> None: ...\n filename: str\n lineno: int | None\n name: str\n locals: dict[str, str] | None\n @property\n def line(self) -> str | None: ...\n @overload\n def __getitem__(self, pos: Literal[0]) -> str: ...\n @overload\n def __getitem__(self, pos: Literal[1]) -> int: ...\n @overload\n def __getitem__(self, pos: Literal[2]) -> str: ...\n @overload\n def __getitem__(self, pos: Literal[3]) -> str | None: ...\n @overload\n def __getitem__(self, pos: int) -> Any: ...\n def __iter__(self) -> Iterator[Any]: ...\n def __eq__(self, other: object) -> bool: ...\n if sys.version_info >= (3, 8):\n def __len__(self) -> Literal[4]: ...\n\nclass StackSummary(list[FrameSummary]):\n @classmethod\n def extract(\n cls,\n frame_gen: Iterable[tuple[FrameType, int]],\n *,\n limit: int | None = None,\n lookup_lines: bool = True,\n capture_locals: bool = False,\n ) -> StackSummary: ...\n @classmethod\n def from_list(cls, a_list: Iterable[FrameSummary | _PT]) -> StackSummary: ...\n if sys.version_info >= (3, 11):\n def format_frame_summary(self, frame_summary: FrameSummary) -> str: ...\n\n def format(self) -> list[str]: ...\n", + "/typeshed/stdlib/tracemalloc.pyi": "import sys\nfrom _tracemalloc import *\nfrom collections.abc import Sequence\nfrom typing import Any, overload\nfrom typing_extensions import SupportsIndex, TypeAlias\n\ndef get_object_traceback(obj: object) -> Traceback | None: ...\ndef take_snapshot() -> Snapshot: ...\n\nclass BaseFilter:\n inclusive: bool\n def __init__(self, inclusive: bool) -> None: ...\n\nclass DomainFilter(BaseFilter):\n @property\n def domain(self) -> int: ...\n def __init__(self, inclusive: bool, domain: int) -> None: ...\n\nclass Filter(BaseFilter):\n domain: int | None\n lineno: int | None\n @property\n def filename_pattern(self) -> str: ...\n all_frames: bool\n def __init__(\n self,\n inclusive: bool,\n filename_pattern: str,\n lineno: int | None = None,\n all_frames: bool = False,\n domain: int | None = None,\n ) -> None: ...\n\nclass Statistic:\n count: int\n size: int\n traceback: Traceback\n def __init__(self, traceback: Traceback, size: int, count: int) -> None: ...\n def __eq__(self, other: object) -> bool: ...\n def __hash__(self) -> int: ...\n\nclass StatisticDiff:\n count: int\n count_diff: int\n size: int\n size_diff: int\n traceback: Traceback\n def __init__(self, traceback: Traceback, size: int, size_diff: int, count: int, count_diff: int) -> None: ...\n def __eq__(self, other: object) -> bool: ...\n def __hash__(self) -> int: ...\n\n_FrameTuple: TypeAlias = tuple[str, int]\n\nclass Frame:\n @property\n def filename(self) -> str: ...\n @property\n def lineno(self) -> int: ...\n def __init__(self, frame: _FrameTuple) -> None: ...\n def __eq__(self, other: object) -> bool: ...\n def __hash__(self) -> int: ...\n def __lt__(self, other: Frame) -> bool: ...\n if sys.version_info >= (3, 11):\n def __gt__(self, other: Frame) -> bool: ...\n def __ge__(self, other: Frame) -> bool: ...\n def __le__(self, other: Frame) -> bool: ...\n else:\n def __gt__(self, other: Frame, NotImplemented: Any = ...) -> bool: ...\n def __ge__(self, other: Frame, NotImplemented: Any = ...) -> bool: ...\n def __le__(self, other: Frame, NotImplemented: Any = ...) -> bool: ...\n\nif sys.version_info >= (3, 9):\n _TraceTuple: TypeAlias = tuple[int, int, Sequence[_FrameTuple], int | None] | tuple[int, int, Sequence[_FrameTuple]]\nelse:\n _TraceTuple: TypeAlias = tuple[int, int, Sequence[_FrameTuple]]\n\nclass Trace:\n @property\n def domain(self) -> int: ...\n @property\n def size(self) -> int: ...\n @property\n def traceback(self) -> Traceback: ...\n def __init__(self, trace: _TraceTuple) -> None: ...\n def __eq__(self, other: object) -> bool: ...\n def __hash__(self) -> int: ...\n\nclass Traceback(Sequence[Frame]):\n if sys.version_info >= (3, 9):\n @property\n def total_nframe(self) -> int | None: ...\n def __init__(self, frames: Sequence[_FrameTuple], total_nframe: int | None = None) -> None: ...\n else:\n def __init__(self, frames: Sequence[_FrameTuple]) -> None: ...\n\n def format(self, limit: int | None = None, most_recent_first: bool = False) -> list[str]: ...\n @overload\n def __getitem__(self, index: SupportsIndex) -> Frame: ...\n @overload\n def __getitem__(self, index: slice) -> Sequence[Frame]: ...\n def __contains__(self, frame: Frame) -> bool: ... # type: ignore[override]\n def __len__(self) -> int: ...\n def __eq__(self, other: object) -> bool: ...\n def __hash__(self) -> int: ...\n def __lt__(self, other: Traceback) -> bool: ...\n if sys.version_info >= (3, 11):\n def __gt__(self, other: Traceback) -> bool: ...\n def __ge__(self, other: Traceback) -> bool: ...\n def __le__(self, other: Traceback) -> bool: ...\n else:\n def __gt__(self, other: Traceback, NotImplemented: Any = ...) -> bool: ...\n def __ge__(self, other: Traceback, NotImplemented: Any = ...) -> bool: ...\n def __le__(self, other: Traceback, NotImplemented: Any = ...) -> bool: ...\n\nclass Snapshot:\n def __init__(self, traces: Sequence[_TraceTuple], traceback_limit: int) -> None: ...\n def compare_to(self, old_snapshot: Snapshot, key_type: str, cumulative: bool = False) -> list[StatisticDiff]: ...\n def dump(self, filename: str) -> None: ...\n def filter_traces(self, filters: Sequence[DomainFilter | Filter]) -> Snapshot: ...\n @staticmethod\n def load(filename: str) -> Snapshot: ...\n def statistics(self, key_type: str, cumulative: bool = False) -> list[Statistic]: ...\n traceback_limit: int\n traces: Sequence[Trace]\n", + "/typeshed/stdlib/tty.pyi": "import sys\nimport termios\nfrom typing import IO\nfrom typing_extensions import TypeAlias\n\nif sys.platform != \"win32\":\n __all__ = [\"setraw\", \"setcbreak\"]\n if sys.version_info >= (3, 12):\n __all__ += [\"cfmakeraw\", \"cfmakecbreak\"]\n\n _ModeSetterReturn: TypeAlias = termios._AttrReturn\n else:\n _ModeSetterReturn: TypeAlias = None\n\n _FD: TypeAlias = int | IO[str]\n\n # XXX: Undocumented integer constants\n IFLAG: int\n OFLAG: int\n CFLAG: int\n LFLAG: int\n ISPEED: int\n OSPEED: int\n CC: int\n def setraw(fd: _FD, when: int = 2) -> _ModeSetterReturn: ...\n def setcbreak(fd: _FD, when: int = 2) -> _ModeSetterReturn: ...\n\n if sys.version_info >= (3, 12):\n def cfmakeraw(mode: termios._Attr) -> None: ...\n def cfmakecbreak(mode: termios._Attr) -> None: ...\n", + "/typeshed/stdlib/turtle.pyi": "import sys\nfrom collections.abc import Callable, Sequence\nfrom tkinter import Canvas, Frame, Misc, PhotoImage, Scrollbar\nfrom typing import Any, ClassVar, overload\nfrom typing_extensions import Self, TypeAlias\n\n__all__ = [\n \"ScrolledCanvas\",\n \"TurtleScreen\",\n \"Screen\",\n \"RawTurtle\",\n \"Turtle\",\n \"RawPen\",\n \"Pen\",\n \"Shape\",\n \"Vec2D\",\n \"addshape\",\n \"bgcolor\",\n \"bgpic\",\n \"bye\",\n \"clearscreen\",\n \"colormode\",\n \"delay\",\n \"exitonclick\",\n \"getcanvas\",\n \"getshapes\",\n \"listen\",\n \"mainloop\",\n \"mode\",\n \"numinput\",\n \"onkey\",\n \"onkeypress\",\n \"onkeyrelease\",\n \"onscreenclick\",\n \"ontimer\",\n \"register_shape\",\n \"resetscreen\",\n \"screensize\",\n \"setup\",\n \"setworldcoordinates\",\n \"textinput\",\n \"title\",\n \"tracer\",\n \"turtles\",\n \"update\",\n \"window_height\",\n \"window_width\",\n \"back\",\n \"backward\",\n \"begin_fill\",\n \"begin_poly\",\n \"bk\",\n \"circle\",\n \"clear\",\n \"clearstamp\",\n \"clearstamps\",\n \"clone\",\n \"color\",\n \"degrees\",\n \"distance\",\n \"dot\",\n \"down\",\n \"end_fill\",\n \"end_poly\",\n \"fd\",\n \"fillcolor\",\n \"filling\",\n \"forward\",\n \"get_poly\",\n \"getpen\",\n \"getscreen\",\n \"get_shapepoly\",\n \"getturtle\",\n \"goto\",\n \"heading\",\n \"hideturtle\",\n \"home\",\n \"ht\",\n \"isdown\",\n \"isvisible\",\n \"left\",\n \"lt\",\n \"onclick\",\n \"ondrag\",\n \"onrelease\",\n \"pd\",\n \"pen\",\n \"pencolor\",\n \"pendown\",\n \"pensize\",\n \"penup\",\n \"pos\",\n \"position\",\n \"pu\",\n \"radians\",\n \"right\",\n \"reset\",\n \"resizemode\",\n \"rt\",\n \"seth\",\n \"setheading\",\n \"setpos\",\n \"setposition\",\n \"settiltangle\",\n \"setundobuffer\",\n \"setx\",\n \"sety\",\n \"shape\",\n \"shapesize\",\n \"shapetransform\",\n \"shearfactor\",\n \"showturtle\",\n \"speed\",\n \"st\",\n \"stamp\",\n \"tilt\",\n \"tiltangle\",\n \"towards\",\n \"turtlesize\",\n \"undo\",\n \"undobufferentries\",\n \"up\",\n \"width\",\n \"write\",\n \"xcor\",\n \"ycor\",\n \"write_docstringdict\",\n \"done\",\n \"Terminator\",\n]\n\nif sys.version_info >= (3, 12):\n __all__ += [\"teleport\"]\n\n# Note: '_Color' is the alias we use for arguments and _AnyColor is the\n# alias we use for return types. Really, these two aliases should be the\n# same, but as per the \"no union returns\" typeshed policy, we'll return\n# Any instead.\n_Color: TypeAlias = str | tuple[float, float, float]\n_AnyColor: TypeAlias = Any\n\n# TODO: Replace this with a TypedDict once it becomes standardized.\n_PenState: TypeAlias = dict[str, Any]\n\n_Speed: TypeAlias = str | float\n_PolygonCoords: TypeAlias = Sequence[tuple[float, float]]\n\nclass Vec2D(tuple[float, float]):\n def __new__(cls, x: float, y: float) -> Self: ...\n def __add__(self, other: tuple[float, float]) -> Vec2D: ... # type: ignore[override]\n @overload # type: ignore[override]\n def __mul__(self, other: Vec2D) -> float: ...\n @overload\n def __mul__(self, other: float) -> Vec2D: ...\n def __rmul__(self, other: float) -> Vec2D: ... # type: ignore[override]\n def __sub__(self, other: tuple[float, float]) -> Vec2D: ...\n def __neg__(self) -> Vec2D: ...\n def __abs__(self) -> float: ...\n def rotate(self, angle: float) -> Vec2D: ...\n\n# Does not actually inherit from Canvas, but dynamically gets all methods of Canvas\nclass ScrolledCanvas(Canvas, Frame): # type: ignore[misc]\n bg: str\n hscroll: Scrollbar\n vscroll: Scrollbar\n def __init__(\n self, master: Misc | None, width: int = 500, height: int = 350, canvwidth: int = 600, canvheight: int = 500\n ) -> None: ...\n canvwidth: int\n canvheight: int\n def reset(self, canvwidth: int | None = None, canvheight: int | None = None, bg: str | None = None) -> None: ...\n\nclass TurtleScreenBase:\n cv: Canvas\n canvwidth: int\n canvheight: int\n xscale: float\n yscale: float\n def __init__(self, cv: Canvas) -> None: ...\n def mainloop(self) -> None: ...\n def textinput(self, title: str, prompt: str) -> str | None: ...\n def numinput(\n self, title: str, prompt: str, default: float | None = None, minval: float | None = None, maxval: float | None = None\n ) -> float | None: ...\n\nclass Terminator(Exception): ...\nclass TurtleGraphicsError(Exception): ...\n\nclass Shape:\n def __init__(self, type_: str, data: _PolygonCoords | PhotoImage | None = None) -> None: ...\n def addcomponent(self, poly: _PolygonCoords, fill: _Color, outline: _Color | None = None) -> None: ...\n\nclass TurtleScreen(TurtleScreenBase):\n def __init__(self, cv: Canvas, mode: str = \"standard\", colormode: float = 1.0, delay: int = 10) -> None: ...\n def clear(self) -> None: ...\n @overload\n def mode(self, mode: None = None) -> str: ...\n @overload\n def mode(self, mode: str) -> None: ...\n def setworldcoordinates(self, llx: float, lly: float, urx: float, ury: float) -> None: ...\n def register_shape(self, name: str, shape: _PolygonCoords | Shape | None = None) -> None: ...\n @overload\n def colormode(self, cmode: None = None) -> float: ...\n @overload\n def colormode(self, cmode: float) -> None: ...\n def reset(self) -> None: ...\n def turtles(self) -> list[Turtle]: ...\n @overload\n def bgcolor(self) -> _AnyColor: ...\n @overload\n def bgcolor(self, color: _Color) -> None: ...\n @overload\n def bgcolor(self, r: float, g: float, b: float) -> None: ...\n @overload\n def tracer(self, n: None = None) -> int: ...\n @overload\n def tracer(self, n: int, delay: int | None = None) -> None: ...\n @overload\n def delay(self, delay: None = None) -> int: ...\n @overload\n def delay(self, delay: int) -> None: ...\n def update(self) -> None: ...\n def window_width(self) -> int: ...\n def window_height(self) -> int: ...\n def getcanvas(self) -> Canvas: ...\n def getshapes(self) -> list[str]: ...\n def onclick(self, fun: Callable[[float, float], object], btn: int = 1, add: Any | None = None) -> None: ...\n def onkey(self, fun: Callable[[], object], key: str) -> None: ...\n def listen(self, xdummy: float | None = None, ydummy: float | None = None) -> None: ...\n def ontimer(self, fun: Callable[[], object], t: int = 0) -> None: ...\n @overload\n def bgpic(self, picname: None = None) -> str: ...\n @overload\n def bgpic(self, picname: str) -> None: ...\n @overload\n def screensize(self, canvwidth: None = None, canvheight: None = None, bg: None = None) -> tuple[int, int]: ...\n # Looks like if self.cv is not a ScrolledCanvas, this could return a tuple as well\n @overload\n def screensize(self, canvwidth: int, canvheight: int, bg: _Color | None = None) -> None: ...\n onscreenclick = onclick\n resetscreen = reset\n clearscreen = clear\n addshape = register_shape\n def onkeypress(self, fun: Callable[[], object], key: str | None = None) -> None: ...\n onkeyrelease = onkey\n\nclass TNavigator:\n START_ORIENTATION: dict[str, Vec2D]\n DEFAULT_MODE: str\n DEFAULT_ANGLEOFFSET: int\n DEFAULT_ANGLEORIENT: int\n def __init__(self, mode: str = \"standard\") -> None: ...\n def reset(self) -> None: ...\n def degrees(self, fullcircle: float = 360.0) -> None: ...\n def radians(self) -> None: ...\n if sys.version_info >= (3, 12):\n def teleport(self, x: float | None = None, y: float | None = None, *, fill_gap: bool = False) -> None: ...\n\n def forward(self, distance: float) -> None: ...\n def back(self, distance: float) -> None: ...\n def right(self, angle: float) -> None: ...\n def left(self, angle: float) -> None: ...\n def pos(self) -> Vec2D: ...\n def xcor(self) -> float: ...\n def ycor(self) -> float: ...\n @overload\n def goto(self, x: tuple[float, float], y: None = None) -> None: ...\n @overload\n def goto(self, x: float, y: float) -> None: ...\n def home(self) -> None: ...\n def setx(self, x: float) -> None: ...\n def sety(self, y: float) -> None: ...\n @overload\n def distance(self, x: TNavigator | tuple[float, float], y: None = None) -> float: ...\n @overload\n def distance(self, x: float, y: float) -> float: ...\n @overload\n def towards(self, x: TNavigator | tuple[float, float], y: None = None) -> float: ...\n @overload\n def towards(self, x: float, y: float) -> float: ...\n def heading(self) -> float: ...\n def setheading(self, to_angle: float) -> None: ...\n def circle(self, radius: float, extent: float | None = None, steps: int | None = None) -> None: ...\n fd = forward\n bk = back\n backward = back\n rt = right\n lt = left\n position = pos\n setpos = goto\n setposition = goto\n seth = setheading\n\nclass TPen:\n def __init__(self, resizemode: str = \"noresize\") -> None: ...\n @overload\n def resizemode(self, rmode: None = None) -> str: ...\n @overload\n def resizemode(self, rmode: str) -> None: ...\n @overload\n def pensize(self, width: None = None) -> int: ...\n @overload\n def pensize(self, width: int) -> None: ...\n def penup(self) -> None: ...\n def pendown(self) -> None: ...\n def isdown(self) -> bool: ...\n @overload\n def speed(self, speed: None = None) -> int: ...\n @overload\n def speed(self, speed: _Speed) -> None: ...\n @overload\n def pencolor(self) -> _AnyColor: ...\n @overload\n def pencolor(self, color: _Color) -> None: ...\n @overload\n def pencolor(self, r: float, g: float, b: float) -> None: ...\n @overload\n def fillcolor(self) -> _AnyColor: ...\n @overload\n def fillcolor(self, color: _Color) -> None: ...\n @overload\n def fillcolor(self, r: float, g: float, b: float) -> None: ...\n @overload\n def color(self) -> tuple[_AnyColor, _AnyColor]: ...\n @overload\n def color(self, color: _Color) -> None: ...\n @overload\n def color(self, r: float, g: float, b: float) -> None: ...\n @overload\n def color(self, color1: _Color, color2: _Color) -> None: ...\n if sys.version_info >= (3, 12):\n def teleport(self, x: float | None = None, y: float | None = None, *, fill_gap: bool = False) -> None: ...\n\n def showturtle(self) -> None: ...\n def hideturtle(self) -> None: ...\n def isvisible(self) -> bool: ...\n # Note: signatures 1 and 2 overlap unsafely when no arguments are provided\n @overload\n def pen(self) -> _PenState: ... # type: ignore[misc]\n @overload\n def pen(\n self,\n pen: _PenState | None = None,\n *,\n shown: bool = ...,\n pendown: bool = ...,\n pencolor: _Color = ...,\n fillcolor: _Color = ...,\n pensize: int = ...,\n speed: int = ...,\n resizemode: str = ...,\n stretchfactor: tuple[float, float] = ...,\n outline: int = ...,\n tilt: float = ...,\n ) -> None: ...\n width = pensize\n up = penup\n pu = penup\n pd = pendown\n down = pendown\n st = showturtle\n ht = hideturtle\n\nclass RawTurtle(TPen, TNavigator):\n screen: TurtleScreen\n screens: ClassVar[list[TurtleScreen]]\n def __init__(\n self,\n canvas: Canvas | TurtleScreen | None = None,\n shape: str = \"classic\",\n undobuffersize: int = 1000,\n visible: bool = True,\n ) -> None: ...\n def reset(self) -> None: ...\n def setundobuffer(self, size: int | None) -> None: ...\n def undobufferentries(self) -> int: ...\n def clear(self) -> None: ...\n def clone(self) -> Self: ...\n @overload\n def shape(self, name: None = None) -> str: ...\n @overload\n def shape(self, name: str) -> None: ...\n # Unsafely overlaps when no arguments are provided\n @overload\n def shapesize(self) -> tuple[float, float, float]: ... # type: ignore[misc]\n @overload\n def shapesize(\n self, stretch_wid: float | None = None, stretch_len: float | None = None, outline: float | None = None\n ) -> None: ...\n @overload\n def shearfactor(self, shear: None = None) -> float: ...\n @overload\n def shearfactor(self, shear: float) -> None: ...\n # Unsafely overlaps when no arguments are provided\n @overload\n def shapetransform(self) -> tuple[float, float, float, float]: ... # type: ignore[misc]\n @overload\n def shapetransform(\n self, t11: float | None = None, t12: float | None = None, t21: float | None = None, t22: float | None = None\n ) -> None: ...\n def get_shapepoly(self) -> _PolygonCoords | None: ...\n def settiltangle(self, angle: float) -> None: ...\n @overload\n def tiltangle(self, angle: None = None) -> float: ...\n @overload\n def tiltangle(self, angle: float) -> None: ...\n def tilt(self, angle: float) -> None: ...\n # Can return either 'int' or Tuple[int, ...] based on if the stamp is\n # a compound stamp or not. So, as per the \"no Union return\" policy,\n # we return Any.\n def stamp(self) -> Any: ...\n def clearstamp(self, stampid: int | tuple[int, ...]) -> None: ...\n def clearstamps(self, n: int | None = None) -> None: ...\n def filling(self) -> bool: ...\n def begin_fill(self) -> None: ...\n def end_fill(self) -> None: ...\n def dot(self, size: int | None = None, *color: _Color) -> None: ...\n def write(\n self, arg: object, move: bool = False, align: str = \"left\", font: tuple[str, int, str] = (\"Arial\", 8, \"normal\")\n ) -> None: ...\n def begin_poly(self) -> None: ...\n def end_poly(self) -> None: ...\n def get_poly(self) -> _PolygonCoords | None: ...\n def getscreen(self) -> TurtleScreen: ...\n def getturtle(self) -> Self: ...\n getpen = getturtle\n def onclick(self, fun: Callable[[float, float], object], btn: int = 1, add: bool | None = None) -> None: ...\n def onrelease(self, fun: Callable[[float, float], object], btn: int = 1, add: bool | None = None) -> None: ...\n def ondrag(self, fun: Callable[[float, float], object], btn: int = 1, add: bool | None = None) -> None: ...\n def undo(self) -> None: ...\n turtlesize = shapesize\n\nclass _Screen(TurtleScreen):\n def __init__(self) -> None: ...\n # Note int and float are interpreted differently, hence the Union instead of just float\n def setup(\n self,\n width: int | float = 0.5, # noqa: Y041\n height: int | float = 0.75, # noqa: Y041\n startx: int | None = None,\n starty: int | None = None,\n ) -> None: ...\n def title(self, titlestring: str) -> None: ...\n def bye(self) -> None: ...\n def exitonclick(self) -> None: ...\n\nclass Turtle(RawTurtle):\n def __init__(self, shape: str = \"classic\", undobuffersize: int = 1000, visible: bool = True) -> None: ...\n\nRawPen = RawTurtle\nPen = Turtle\n\ndef write_docstringdict(filename: str = \"turtle_docstringdict\") -> None: ...\n\n# Note: it's somewhat unfortunate that we have to copy the function signatures.\n# It would be nice if we could partially reduce the redundancy by doing something\n# like the following:\n#\n# _screen: Screen\n# clear = _screen.clear\n#\n# However, it seems pytype does not support this type of syntax in pyi files.\n\n# Functions copied from TurtleScreenBase:\n\n# Note: mainloop() was always present in the global scope, but was added to\n# TurtleScreenBase in Python 3.0\ndef mainloop() -> None: ...\ndef textinput(title: str, prompt: str) -> str | None: ...\ndef numinput(\n title: str, prompt: str, default: float | None = None, minval: float | None = None, maxval: float | None = None\n) -> float | None: ...\n\n# Functions copied from TurtleScreen:\n\ndef clear() -> None: ...\n@overload\ndef mode(mode: None = None) -> str: ...\n@overload\ndef mode(mode: str) -> None: ...\ndef setworldcoordinates(llx: float, lly: float, urx: float, ury: float) -> None: ...\ndef register_shape(name: str, shape: _PolygonCoords | Shape | None = None) -> None: ...\n@overload\ndef colormode(cmode: None = None) -> float: ...\n@overload\ndef colormode(cmode: float) -> None: ...\ndef reset() -> None: ...\ndef turtles() -> list[Turtle]: ...\n@overload\ndef bgcolor() -> _AnyColor: ...\n@overload\ndef bgcolor(color: _Color) -> None: ...\n@overload\ndef bgcolor(r: float, g: float, b: float) -> None: ...\n@overload\ndef tracer(n: None = None) -> int: ...\n@overload\ndef tracer(n: int, delay: int | None = None) -> None: ...\n@overload\ndef delay(delay: None = None) -> int: ...\n@overload\ndef delay(delay: int) -> None: ...\ndef update() -> None: ...\ndef window_width() -> int: ...\ndef window_height() -> int: ...\ndef getcanvas() -> Canvas: ...\ndef getshapes() -> list[str]: ...\ndef onclick(fun: Callable[[float, float], object], btn: int = 1, add: Any | None = None) -> None: ...\ndef onkey(fun: Callable[[], object], key: str) -> None: ...\ndef listen(xdummy: float | None = None, ydummy: float | None = None) -> None: ...\ndef ontimer(fun: Callable[[], object], t: int = 0) -> None: ...\n@overload\ndef bgpic(picname: None = None) -> str: ...\n@overload\ndef bgpic(picname: str) -> None: ...\n@overload\ndef screensize(canvwidth: None = None, canvheight: None = None, bg: None = None) -> tuple[int, int]: ...\n@overload\ndef screensize(canvwidth: int, canvheight: int, bg: _Color | None = None) -> None: ...\n\nonscreenclick = onclick\nresetscreen = reset\nclearscreen = clear\naddshape = register_shape\n\ndef onkeypress(fun: Callable[[], object], key: str | None = None) -> None: ...\n\nonkeyrelease = onkey\n\n# Functions copied from _Screen:\n\ndef setup(width: float = 0.5, height: float = 0.75, startx: int | None = None, starty: int | None = None) -> None: ...\ndef title(titlestring: str) -> None: ...\ndef bye() -> None: ...\ndef exitonclick() -> None: ...\ndef Screen() -> _Screen: ...\n\n# Functions copied from TNavigator:\n\ndef degrees(fullcircle: float = 360.0) -> None: ...\ndef radians() -> None: ...\ndef forward(distance: float) -> None: ...\ndef back(distance: float) -> None: ...\ndef right(angle: float) -> None: ...\ndef left(angle: float) -> None: ...\ndef pos() -> Vec2D: ...\ndef xcor() -> float: ...\ndef ycor() -> float: ...\n@overload\ndef goto(x: tuple[float, float], y: None = None) -> None: ...\n@overload\ndef goto(x: float, y: float) -> None: ...\ndef home() -> None: ...\ndef setx(x: float) -> None: ...\ndef sety(y: float) -> None: ...\n@overload\ndef distance(x: TNavigator | tuple[float, float], y: None = None) -> float: ...\n@overload\ndef distance(x: float, y: float) -> float: ...\n@overload\ndef towards(x: TNavigator | tuple[float, float], y: None = None) -> float: ...\n@overload\ndef towards(x: float, y: float) -> float: ...\ndef heading() -> float: ...\ndef setheading(to_angle: float) -> None: ...\ndef circle(radius: float, extent: float | None = None, steps: int | None = None) -> None: ...\n\nfd = forward\nbk = back\nbackward = back\nrt = right\nlt = left\nposition = pos\nsetpos = goto\nsetposition = goto\nseth = setheading\n\n# Functions copied from TPen:\n@overload\ndef resizemode(rmode: None = None) -> str: ...\n@overload\ndef resizemode(rmode: str) -> None: ...\n@overload\ndef pensize(width: None = None) -> int: ...\n@overload\ndef pensize(width: int) -> None: ...\ndef penup() -> None: ...\ndef pendown() -> None: ...\ndef isdown() -> bool: ...\n@overload\ndef speed(speed: None = None) -> int: ...\n@overload\ndef speed(speed: _Speed) -> None: ...\n@overload\ndef pencolor() -> _AnyColor: ...\n@overload\ndef pencolor(color: _Color) -> None: ...\n@overload\ndef pencolor(r: float, g: float, b: float) -> None: ...\n@overload\ndef fillcolor() -> _AnyColor: ...\n@overload\ndef fillcolor(color: _Color) -> None: ...\n@overload\ndef fillcolor(r: float, g: float, b: float) -> None: ...\n@overload\ndef color() -> tuple[_AnyColor, _AnyColor]: ...\n@overload\ndef color(color: _Color) -> None: ...\n@overload\ndef color(r: float, g: float, b: float) -> None: ...\n@overload\ndef color(color1: _Color, color2: _Color) -> None: ...\ndef showturtle() -> None: ...\ndef hideturtle() -> None: ...\ndef isvisible() -> bool: ...\n\n# Note: signatures 1 and 2 overlap unsafely when no arguments are provided\n@overload\ndef pen() -> _PenState: ... # type: ignore[misc]\n@overload\ndef pen(\n pen: _PenState | None = None,\n *,\n shown: bool = ...,\n pendown: bool = ...,\n pencolor: _Color = ...,\n fillcolor: _Color = ...,\n pensize: int = ...,\n speed: int = ...,\n resizemode: str = ...,\n stretchfactor: tuple[float, float] = ...,\n outline: int = ...,\n tilt: float = ...,\n) -> None: ...\n\nwidth = pensize\nup = penup\npu = penup\npd = pendown\ndown = pendown\nst = showturtle\nht = hideturtle\n\n# Functions copied from RawTurtle:\n\ndef setundobuffer(size: int | None) -> None: ...\ndef undobufferentries() -> int: ...\n@overload\ndef shape(name: None = None) -> str: ...\n@overload\ndef shape(name: str) -> None: ...\n\nif sys.version_info >= (3, 12):\n def teleport(x: float | None = None, y: float | None = None, *, fill_gap: bool = False) -> None: ...\n\n# Unsafely overlaps when no arguments are provided\n@overload\ndef shapesize() -> tuple[float, float, float]: ... # type: ignore[misc]\n@overload\ndef shapesize(stretch_wid: float | None = None, stretch_len: float | None = None, outline: float | None = None) -> None: ...\n@overload\ndef shearfactor(shear: None = None) -> float: ...\n@overload\ndef shearfactor(shear: float) -> None: ...\n\n# Unsafely overlaps when no arguments are provided\n@overload\ndef shapetransform() -> tuple[float, float, float, float]: ... # type: ignore[misc]\n@overload\ndef shapetransform(\n t11: float | None = None, t12: float | None = None, t21: float | None = None, t22: float | None = None\n) -> None: ...\ndef get_shapepoly() -> _PolygonCoords | None: ...\ndef settiltangle(angle: float) -> None: ...\n@overload\ndef tiltangle(angle: None = None) -> float: ...\n@overload\ndef tiltangle(angle: float) -> None: ...\ndef tilt(angle: float) -> None: ...\n\n# Can return either 'int' or Tuple[int, ...] based on if the stamp is\n# a compound stamp or not. So, as per the \"no Union return\" policy,\n# we return Any.\ndef stamp() -> Any: ...\ndef clearstamp(stampid: int | tuple[int, ...]) -> None: ...\ndef clearstamps(n: int | None = None) -> None: ...\ndef filling() -> bool: ...\ndef begin_fill() -> None: ...\ndef end_fill() -> None: ...\ndef dot(size: int | None = None, *color: _Color) -> None: ...\ndef write(arg: object, move: bool = False, align: str = \"left\", font: tuple[str, int, str] = (\"Arial\", 8, \"normal\")) -> None: ...\ndef begin_poly() -> None: ...\ndef end_poly() -> None: ...\ndef get_poly() -> _PolygonCoords | None: ...\ndef getscreen() -> TurtleScreen: ...\ndef getturtle() -> Turtle: ...\n\ngetpen = getturtle\n\ndef onrelease(fun: Callable[[float, float], object], btn: int = 1, add: Any | None = None) -> None: ...\ndef ondrag(fun: Callable[[float, float], object], btn: int = 1, add: Any | None = None) -> None: ...\ndef undo() -> None: ...\n\nturtlesize = shapesize\n\n# Functions copied from RawTurtle with a few tweaks:\n\ndef clone() -> Turtle: ...\n\n# Extra functions present only in the global scope:\n\ndone = mainloop\n", + "/typeshed/stdlib/types.pyi": "import sys\nfrom _typeshed import SupportsKeysAndGetItem\nfrom collections.abc import (\n AsyncGenerator,\n Awaitable,\n Callable,\n Coroutine,\n Generator,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n MutableSequence,\n ValuesView,\n)\nfrom importlib.machinery import ModuleSpec\n\n# pytype crashes if types.MappingProxyType inherits from collections.abc.Mapping instead of typing.Mapping\nfrom typing import Any, ClassVar, Mapping, Protocol, TypeVar, overload # noqa: Y022\nfrom typing_extensions import Literal, ParamSpec, Self, TypeVarTuple, final\n\n__all__ = [\n \"FunctionType\",\n \"LambdaType\",\n \"CodeType\",\n \"MappingProxyType\",\n \"SimpleNamespace\",\n \"GeneratorType\",\n \"CoroutineType\",\n \"AsyncGeneratorType\",\n \"MethodType\",\n \"BuiltinFunctionType\",\n \"ModuleType\",\n \"TracebackType\",\n \"FrameType\",\n \"GetSetDescriptorType\",\n \"MemberDescriptorType\",\n \"new_class\",\n \"prepare_class\",\n \"DynamicClassAttribute\",\n \"coroutine\",\n \"BuiltinMethodType\",\n \"ClassMethodDescriptorType\",\n \"MethodDescriptorType\",\n \"MethodWrapperType\",\n \"WrapperDescriptorType\",\n \"resolve_bases\",\n]\n\nif sys.version_info >= (3, 8):\n __all__ += [\"CellType\"]\n\nif sys.version_info >= (3, 9):\n __all__ += [\"GenericAlias\"]\n\nif sys.version_info >= (3, 10):\n __all__ += [\"EllipsisType\", \"NoneType\", \"NotImplementedType\", \"UnionType\"]\n\nif sys.version_info >= (3, 12):\n __all__ += [\"get_original_bases\"]\n\n# Note, all classes \"defined\" here require special handling.\n\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_KT = TypeVar(\"_KT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n\n@final\nclass _Cell:\n if sys.version_info >= (3, 8):\n def __new__(cls, __contents: object = ...) -> Self: ...\n\n def __eq__(self, __value: object) -> bool: ...\n __hash__: ClassVar[None] # type: ignore[assignment]\n cell_contents: Any\n\n# Make sure this class definition stays roughly in line with `builtins.function`\n@final\nclass FunctionType:\n @property\n def __closure__(self) -> tuple[_Cell, ...] | None: ...\n __code__: CodeType\n __defaults__: tuple[Any, ...] | None\n __dict__: dict[str, Any]\n @property\n def __globals__(self) -> dict[str, Any]: ...\n __name__: str\n __qualname__: str\n __annotations__: dict[str, Any]\n __kwdefaults__: dict[str, Any]\n if sys.version_info >= (3, 10):\n @property\n def __builtins__(self) -> dict[str, Any]: ...\n if sys.version_info >= (3, 12):\n __type_params__: tuple[TypeVar | ParamSpec | TypeVarTuple, ...]\n\n __module__: str\n def __new__(\n cls,\n code: CodeType,\n globals: dict[str, Any],\n name: str | None = ...,\n argdefs: tuple[object, ...] | None = ...,\n closure: tuple[_Cell, ...] | None = ...,\n ) -> Self: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n @overload\n def __get__(self, __instance: None, __owner: type) -> FunctionType: ...\n @overload\n def __get__(self, __instance: object, __owner: type | None = None) -> MethodType: ...\n\nLambdaType = FunctionType\n\n@final\nclass CodeType:\n def __eq__(self, __value: object) -> bool: ...\n def __hash__(self) -> int: ...\n @property\n def co_argcount(self) -> int: ...\n if sys.version_info >= (3, 8):\n @property\n def co_posonlyargcount(self) -> int: ...\n\n @property\n def co_kwonlyargcount(self) -> int: ...\n @property\n def co_nlocals(self) -> int: ...\n @property\n def co_stacksize(self) -> int: ...\n @property\n def co_flags(self) -> int: ...\n @property\n def co_code(self) -> bytes: ...\n @property\n def co_consts(self) -> tuple[Any, ...]: ...\n @property\n def co_names(self) -> tuple[str, ...]: ...\n @property\n def co_varnames(self) -> tuple[str, ...]: ...\n @property\n def co_filename(self) -> str: ...\n @property\n def co_name(self) -> str: ...\n @property\n def co_firstlineno(self) -> int: ...\n @property\n def co_lnotab(self) -> bytes: ...\n @property\n def co_freevars(self) -> tuple[str, ...]: ...\n @property\n def co_cellvars(self) -> tuple[str, ...]: ...\n if sys.version_info >= (3, 10):\n @property\n def co_linetable(self) -> bytes: ...\n def co_lines(self) -> Iterator[tuple[int, int, int | None]]: ...\n if sys.version_info >= (3, 11):\n @property\n def co_exceptiontable(self) -> bytes: ...\n @property\n def co_qualname(self) -> str: ...\n def co_positions(self) -> Iterable[tuple[int | None, int | None, int | None, int | None]]: ...\n\n if sys.version_info >= (3, 11):\n def __new__(\n cls,\n __argcount: int,\n __posonlyargcount: int,\n __kwonlyargcount: int,\n __nlocals: int,\n __stacksize: int,\n __flags: int,\n __codestring: bytes,\n __constants: tuple[object, ...],\n __names: tuple[str, ...],\n __varnames: tuple[str, ...],\n __filename: str,\n __name: str,\n __qualname: str,\n __firstlineno: int,\n __linetable: bytes,\n __exceptiontable: bytes,\n __freevars: tuple[str, ...] = ...,\n __cellvars: tuple[str, ...] = ...,\n ) -> Self: ...\n elif sys.version_info >= (3, 10):\n def __new__(\n cls,\n __argcount: int,\n __posonlyargcount: int,\n __kwonlyargcount: int,\n __nlocals: int,\n __stacksize: int,\n __flags: int,\n __codestring: bytes,\n __constants: tuple[object, ...],\n __names: tuple[str, ...],\n __varnames: tuple[str, ...],\n __filename: str,\n __name: str,\n __firstlineno: int,\n __linetable: bytes,\n __freevars: tuple[str, ...] = ...,\n __cellvars: tuple[str, ...] = ...,\n ) -> Self: ...\n elif sys.version_info >= (3, 8):\n def __new__(\n cls,\n __argcount: int,\n __posonlyargcount: int,\n __kwonlyargcount: int,\n __nlocals: int,\n __stacksize: int,\n __flags: int,\n __codestring: bytes,\n __constants: tuple[object, ...],\n __names: tuple[str, ...],\n __varnames: tuple[str, ...],\n __filename: str,\n __name: str,\n __firstlineno: int,\n __lnotab: bytes,\n __freevars: tuple[str, ...] = ...,\n __cellvars: tuple[str, ...] = ...,\n ) -> Self: ...\n else:\n def __new__(\n cls,\n __argcount: int,\n __kwonlyargcount: int,\n __nlocals: int,\n __stacksize: int,\n __flags: int,\n __codestring: bytes,\n __constants: tuple[object, ...],\n __names: tuple[str, ...],\n __varnames: tuple[str, ...],\n __filename: str,\n __name: str,\n __firstlineno: int,\n __lnotab: bytes,\n __freevars: tuple[str, ...] = ...,\n __cellvars: tuple[str, ...] = ...,\n ) -> Self: ...\n if sys.version_info >= (3, 11):\n def replace(\n self,\n *,\n co_argcount: int = -1,\n co_posonlyargcount: int = -1,\n co_kwonlyargcount: int = -1,\n co_nlocals: int = -1,\n co_stacksize: int = -1,\n co_flags: int = -1,\n co_firstlineno: int = -1,\n co_code: bytes = ...,\n co_consts: tuple[object, ...] = ...,\n co_names: tuple[str, ...] = ...,\n co_varnames: tuple[str, ...] = ...,\n co_freevars: tuple[str, ...] = ...,\n co_cellvars: tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_qualname: str = ...,\n co_linetable: bytes = ...,\n co_exceptiontable: bytes = ...,\n ) -> CodeType: ...\n elif sys.version_info >= (3, 10):\n def replace(\n self,\n *,\n co_argcount: int = -1,\n co_posonlyargcount: int = -1,\n co_kwonlyargcount: int = -1,\n co_nlocals: int = -1,\n co_stacksize: int = -1,\n co_flags: int = -1,\n co_firstlineno: int = -1,\n co_code: bytes = ...,\n co_consts: tuple[object, ...] = ...,\n co_names: tuple[str, ...] = ...,\n co_varnames: tuple[str, ...] = ...,\n co_freevars: tuple[str, ...] = ...,\n co_cellvars: tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_linetable: bytes = ...,\n ) -> CodeType: ...\n elif sys.version_info >= (3, 8):\n def replace(\n self,\n *,\n co_argcount: int = -1,\n co_posonlyargcount: int = -1,\n co_kwonlyargcount: int = -1,\n co_nlocals: int = -1,\n co_stacksize: int = -1,\n co_flags: int = -1,\n co_firstlineno: int = -1,\n co_code: bytes = ...,\n co_consts: tuple[object, ...] = ...,\n co_names: tuple[str, ...] = ...,\n co_varnames: tuple[str, ...] = ...,\n co_freevars: tuple[str, ...] = ...,\n co_cellvars: tuple[str, ...] = ...,\n co_filename: str = ...,\n co_name: str = ...,\n co_lnotab: bytes = ...,\n ) -> CodeType: ...\n\n@final\nclass MappingProxyType(Mapping[_KT, _VT_co]):\n __hash__: ClassVar[None] # type: ignore[assignment]\n def __new__(cls, mapping: SupportsKeysAndGetItem[_KT, _VT_co]) -> Self: ...\n def __getitem__(self, __key: _KT) -> _VT_co: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def __eq__(self, __value: object) -> bool: ...\n def copy(self) -> dict[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def __or__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT_co | _T2]: ...\n def __ror__(self, __value: Mapping[_T1, _T2]) -> dict[_KT | _T1, _VT_co | _T2]: ...\n\nclass SimpleNamespace:\n __hash__: ClassVar[None] # type: ignore[assignment]\n def __init__(self, **kwargs: Any) -> None: ...\n def __eq__(self, __value: object) -> bool: ...\n def __getattribute__(self, __name: str) -> Any: ...\n def __setattr__(self, __name: str, __value: Any) -> None: ...\n def __delattr__(self, __name: str) -> None: ...\n\nclass _LoaderProtocol(Protocol):\n def load_module(self, fullname: str) -> ModuleType: ...\n\nclass ModuleType:\n __name__: str\n __file__: str | None\n @property\n def __dict__(self) -> dict[str, Any]: ... # type: ignore[override]\n __loader__: _LoaderProtocol | None\n __package__: str | None\n __path__: MutableSequence[str]\n __spec__: ModuleSpec | None\n def __init__(self, name: str, doc: str | None = ...) -> None: ...\n # __getattr__ doesn't exist at runtime,\n # but having it here in typeshed makes dynamic imports\n # using `builtins.__import__` or `importlib.import_module` less painful\n def __getattr__(self, name: str) -> Any: ...\n\n_YieldT_co = TypeVar(\"_YieldT_co\", covariant=True)\n_SendT_contra = TypeVar(\"_SendT_contra\", contravariant=True)\n_ReturnT_co = TypeVar(\"_ReturnT_co\", covariant=True)\n\n@final\nclass GeneratorType(Generator[_YieldT_co, _SendT_contra, _ReturnT_co]):\n @property\n def gi_yieldfrom(self) -> GeneratorType[_YieldT_co, _SendT_contra, Any] | None: ...\n if sys.version_info >= (3, 11):\n @property\n def gi_suspended(self) -> bool: ...\n __name__: str\n __qualname__: str\n def __iter__(self) -> Self: ...\n def __next__(self) -> _YieldT_co: ...\n def send(self, __arg: _SendT_contra) -> _YieldT_co: ...\n @overload\n def throw(\n self, __typ: type[BaseException], __val: BaseException | object = ..., __tb: TracebackType | None = ...\n ) -> _YieldT_co: ...\n @overload\n def throw(self, __typ: BaseException, __val: None = None, __tb: TracebackType | None = ...) -> _YieldT_co: ...\n\n@final\nclass AsyncGeneratorType(AsyncGenerator[_YieldT_co, _SendT_contra]):\n @property\n def ag_await(self) -> Awaitable[Any] | None: ...\n __name__: str\n __qualname__: str\n if sys.version_info >= (3, 12):\n @property\n def ag_suspended(self) -> bool: ...\n\n def __aiter__(self) -> Self: ...\n def __anext__(self) -> Coroutine[Any, Any, _YieldT_co]: ...\n def asend(self, __val: _SendT_contra) -> Coroutine[Any, Any, _YieldT_co]: ...\n @overload\n async def athrow(\n self, __typ: type[BaseException], __val: BaseException | object = ..., __tb: TracebackType | None = ...\n ) -> _YieldT_co: ...\n @overload\n async def athrow(self, __typ: BaseException, __val: None = None, __tb: TracebackType | None = ...) -> _YieldT_co: ...\n def aclose(self) -> Coroutine[Any, Any, None]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, __item: Any) -> GenericAlias: ...\n\n@final\nclass CoroutineType(Coroutine[_YieldT_co, _SendT_contra, _ReturnT_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_origin(self) -> tuple[tuple[str, int, str], ...] | None: ...\n if sys.version_info >= (3, 11):\n @property\n def cr_suspended(self) -> bool: ...\n\n def close(self) -> None: ...\n def __await__(self) -> Generator[Any, None, _ReturnT_co]: ...\n def send(self, __arg: _SendT_contra) -> _YieldT_co: ...\n @overload\n def throw(\n self, __typ: type[BaseException], __val: BaseException | object = ..., __tb: TracebackType | None = ...\n ) -> _YieldT_co: ...\n @overload\n def throw(self, __typ: BaseException, __val: None = None, __tb: TracebackType | None = ...) -> _YieldT_co: ...\n\nclass _StaticFunctionType:\n # Fictional type to correct the type of MethodType.__func__.\n # FunctionType is a descriptor, so mypy follows the descriptor protocol and\n # converts MethodType.__func__ back to MethodType (the return type of\n # FunctionType.__get__). But this is actually a special case; MethodType is\n # implemented in C and its attribute access doesn't go through\n # __getattribute__.\n # By wrapping FunctionType in _StaticFunctionType, we get the right result;\n # similar to wrapping a function in staticmethod() at runtime to prevent it\n # being bound as a method.\n def __get__(self, obj: object, type: type | None) -> FunctionType: ...\n\n@final\nclass MethodType:\n @property\n def __closure__(self) -> tuple[_Cell, ...] | None: ... # inherited from the added function\n @property\n def __defaults__(self) -> tuple[Any, ...] | None: ... # inherited from the added function\n @property\n def __func__(self) -> _StaticFunctionType: ...\n @property\n def __self__(self) -> object: ...\n @property\n def __name__(self) -> str: ... # inherited from the added function\n @property\n def __qualname__(self) -> str: ... # inherited from the added function\n def __new__(cls, __func: Callable[..., Any], __obj: object) -> Self: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, __value: object) -> bool: ...\n def __hash__(self) -> int: ...\n\n@final\nclass BuiltinFunctionType:\n @property\n def __self__(self) -> object | ModuleType: ...\n @property\n def __name__(self) -> str: ...\n @property\n def __qualname__(self) -> str: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, __value: object) -> bool: ...\n def __hash__(self) -> int: ...\n\nBuiltinMethodType = BuiltinFunctionType\n\n@final\nclass WrapperDescriptorType:\n @property\n def __name__(self) -> str: ...\n @property\n def __qualname__(self) -> str: ...\n @property\n def __objclass__(self) -> type: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, __instance: Any, __owner: type | None = None) -> Any: ...\n\n@final\nclass MethodWrapperType:\n @property\n def __self__(self) -> object: ...\n @property\n def __name__(self) -> str: ...\n @property\n def __qualname__(self) -> str: ...\n @property\n def __objclass__(self) -> type: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __eq__(self, __value: object) -> bool: ...\n def __ne__(self, __value: object) -> bool: ...\n def __hash__(self) -> int: ...\n\n@final\nclass MethodDescriptorType:\n @property\n def __name__(self) -> str: ...\n @property\n def __qualname__(self) -> str: ...\n @property\n def __objclass__(self) -> type: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, __instance: Any, __owner: type | None = None) -> Any: ...\n\n@final\nclass ClassMethodDescriptorType:\n @property\n def __name__(self) -> str: ...\n @property\n def __qualname__(self) -> str: ...\n @property\n def __objclass__(self) -> type: ...\n def __call__(self, *args: Any, **kwargs: Any) -> Any: ...\n def __get__(self, __instance: Any, __owner: type | None = None) -> Any: ...\n\n@final\nclass TracebackType:\n def __new__(cls, tb_next: TracebackType | None, tb_frame: FrameType, tb_lasti: int, tb_lineno: int) -> Self: ...\n tb_next: TracebackType | None\n # the rest are read-only even in 3.7\n @property\n def tb_frame(self) -> FrameType: ...\n @property\n def tb_lasti(self) -> int: ...\n @property\n def tb_lineno(self) -> int: ...\n\n@final\nclass FrameType:\n @property\n def f_back(self) -> FrameType | None: ...\n @property\n def f_builtins(self) -> dict[str, Any]: ...\n @property\n def f_code(self) -> CodeType: ...\n @property\n def f_globals(self) -> dict[str, Any]: ...\n @property\n def f_lasti(self) -> int: ...\n # see discussion in #6769: f_lineno *can* sometimes be None,\n # but you should probably file a bug report with CPython if you encounter it being None in the wild.\n # An `int | None` annotation here causes too many false-positive errors.\n @property\n def f_lineno(self) -> int | Any: ...\n @property\n def f_locals(self) -> dict[str, Any]: ...\n f_trace: Callable[[FrameType, str, Any], Any] | None\n f_trace_lines: bool\n f_trace_opcodes: bool\n def clear(self) -> None: ...\n\n@final\nclass GetSetDescriptorType:\n @property\n def __name__(self) -> str: ...\n @property\n def __qualname__(self) -> str: ...\n @property\n def __objclass__(self) -> type: ...\n def __get__(self, __instance: Any, __owner: type | None = None) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, __instance: Any) -> None: ...\n\n@final\nclass MemberDescriptorType:\n @property\n def __name__(self) -> str: ...\n @property\n def __qualname__(self) -> str: ...\n @property\n def __objclass__(self) -> type: ...\n def __get__(self, __instance: Any, __owner: type | None = None) -> Any: ...\n def __set__(self, __instance: Any, __value: Any) -> None: ...\n def __delete__(self, __instance: Any) -> None: ...\n\ndef new_class(\n name: str,\n bases: Iterable[object] = (),\n kwds: dict[str, Any] | None = None,\n exec_body: Callable[[dict[str, Any]], object] | None = None,\n) -> type: ...\ndef resolve_bases(bases: Iterable[object]) -> tuple[Any, ...]: ...\ndef prepare_class(\n name: str, bases: tuple[type, ...] = (), kwds: dict[str, Any] | None = None\n) -> tuple[type, dict[str, Any], dict[str, Any]]: ...\n\nif sys.version_info >= (3, 12):\n def get_original_bases(__cls: type) -> tuple[Any, ...]: ...\n\n# Actually a different type, but `property` is special and we want that too.\nDynamicClassAttribute = property\n\n_Fn = TypeVar(\"_Fn\", bound=Callable[..., object])\n_R = TypeVar(\"_R\")\n_P = ParamSpec(\"_P\")\n\n# it's not really an Awaitable, but can be used in an await expression. Real type: Generator & Awaitable\n# The type: ignore is due to overlapping overloads, not the use of ParamSpec\n@overload\ndef coroutine(func: Callable[_P, Generator[Any, Any, _R]]) -> Callable[_P, Awaitable[_R]]: ... # type: ignore[misc]\n@overload\ndef coroutine(func: _Fn) -> _Fn: ...\n\nif sys.version_info >= (3, 8):\n CellType = _Cell\n\nif sys.version_info >= (3, 9):\n class GenericAlias:\n @property\n def __origin__(self) -> type: ...\n @property\n def __args__(self) -> tuple[Any, ...]: ...\n @property\n def __parameters__(self) -> tuple[Any, ...]: ...\n def __new__(cls, origin: type, args: Any) -> Self: ...\n def __getitem__(self, __typeargs: Any) -> GenericAlias: ...\n def __eq__(self, __value: object) -> bool: ...\n def __hash__(self) -> int: ...\n if sys.version_info >= (3, 11):\n @property\n def __unpacked__(self) -> bool: ...\n @property\n def __typing_unpacked_tuple_args__(self) -> tuple[Any, ...] | None: ...\n\n # GenericAlias delegates attr access to `__origin__`\n def __getattr__(self, name: str) -> Any: ...\n\nif sys.version_info >= (3, 10):\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n EllipsisType = ellipsis # noqa: F821 from builtins\n from builtins import _NotImplementedType\n\n NotImplementedType = _NotImplementedType\n @final\n class UnionType:\n @property\n def __args__(self) -> tuple[Any, ...]: ...\n def __or__(self, __value: Any) -> UnionType: ...\n def __ror__(self, __value: Any) -> UnionType: ...\n def __eq__(self, __value: object) -> bool: ...\n def __hash__(self) -> int: ...\n", + "/typeshed/stdlib/typing.pyi": "import collections # Needed by aliases like DefaultDict, see mypy issue 2986\nimport sys\nimport typing_extensions\nfrom _collections_abc import dict_items, dict_keys, dict_values\nfrom _typeshed import IdentityFunction, Incomplete, ReadableBuffer, SupportsKeysAndGetItem\nfrom abc import ABCMeta, abstractmethod\nfrom contextlib import AbstractAsyncContextManager, AbstractContextManager\nfrom re import Match as Match, Pattern as Pattern\nfrom types import (\n BuiltinFunctionType,\n CodeType,\n FrameType,\n FunctionType,\n MethodDescriptorType,\n MethodType,\n MethodWrapperType,\n ModuleType,\n TracebackType,\n WrapperDescriptorType,\n)\nfrom typing_extensions import Never as _Never, ParamSpec as _ParamSpec, final as _final\n\nif sys.version_info >= (3, 10):\n from types import UnionType\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = [\n \"AbstractSet\",\n \"Any\",\n \"AnyStr\",\n \"AsyncContextManager\",\n \"AsyncGenerator\",\n \"AsyncIterable\",\n \"AsyncIterator\",\n \"Awaitable\",\n \"ByteString\",\n \"Callable\",\n \"ChainMap\",\n \"ClassVar\",\n \"Collection\",\n \"Container\",\n \"ContextManager\",\n \"Coroutine\",\n \"Counter\",\n \"DefaultDict\",\n \"Deque\",\n \"Dict\",\n \"FrozenSet\",\n \"Generator\",\n \"Generic\",\n \"Hashable\",\n \"ItemsView\",\n \"Iterable\",\n \"Iterator\",\n \"KeysView\",\n \"List\",\n \"Mapping\",\n \"MappingView\",\n \"MutableMapping\",\n \"MutableSequence\",\n \"MutableSet\",\n \"NamedTuple\",\n \"NewType\",\n \"Optional\",\n \"Reversible\",\n \"Sequence\",\n \"Set\",\n \"Sized\",\n \"SupportsAbs\",\n \"SupportsBytes\",\n \"SupportsComplex\",\n \"SupportsFloat\",\n \"SupportsInt\",\n \"SupportsRound\",\n \"Text\",\n \"Tuple\",\n \"Type\",\n \"TypeVar\",\n \"Union\",\n \"ValuesView\",\n \"TYPE_CHECKING\",\n \"cast\",\n \"get_type_hints\",\n \"no_type_check\",\n \"no_type_check_decorator\",\n \"overload\",\n \"ForwardRef\",\n \"NoReturn\",\n \"OrderedDict\",\n]\n\nif sys.version_info >= (3, 8):\n __all__ += [\n \"Final\",\n \"Literal\",\n \"Protocol\",\n \"SupportsIndex\",\n \"TypedDict\",\n \"final\",\n \"get_args\",\n \"get_origin\",\n \"runtime_checkable\",\n ]\n\nif sys.version_info >= (3, 9):\n __all__ += [\"Annotated\", \"BinaryIO\", \"IO\", \"Match\", \"Pattern\", \"TextIO\"]\n\nif sys.version_info >= (3, 10):\n __all__ += [\"Concatenate\", \"ParamSpec\", \"ParamSpecArgs\", \"ParamSpecKwargs\", \"TypeAlias\", \"TypeGuard\", \"is_typeddict\"]\n\nif sys.version_info >= (3, 11):\n __all__ += [\n \"LiteralString\",\n \"Never\",\n \"NotRequired\",\n \"Required\",\n \"Self\",\n \"TypeVarTuple\",\n \"Unpack\",\n \"assert_never\",\n \"assert_type\",\n \"clear_overloads\",\n \"dataclass_transform\",\n \"get_overloads\",\n \"reveal_type\",\n ]\n\nif sys.version_info >= (3, 12):\n __all__ += [\"TypeAliasType\", \"override\"]\n\nContextManager = AbstractContextManager\nAsyncContextManager = AbstractAsyncContextManager\n\n# This itself is only available during type checking\ndef type_check_only(func_or_cls: _F) -> _F: ...\n\nAny = object()\n\n@_final\nclass TypeVar:\n @property\n def __name__(self) -> str: ...\n @property\n def __bound__(self) -> Any | None: ...\n @property\n def __constraints__(self) -> tuple[Any, ...]: ...\n @property\n def __covariant__(self) -> bool: ...\n @property\n def __contravariant__(self) -> bool: ...\n if sys.version_info >= (3, 12):\n @property\n def __infer_variance__(self) -> bool: ...\n def __init__(\n self,\n name: str,\n *constraints: Any,\n bound: Any | None = None,\n covariant: bool = False,\n contravariant: bool = False,\n infer_variance: bool = False,\n ) -> None: ...\n else:\n def __init__(\n self, name: str, *constraints: Any, bound: Any | None = None, covariant: bool = False, contravariant: bool = False\n ) -> None: ...\n if sys.version_info >= (3, 10):\n def __or__(self, right: Any) -> _SpecialForm: ...\n def __ror__(self, left: Any) -> _SpecialForm: ...\n if sys.version_info >= (3, 11):\n def __typing_subst__(self, arg: Incomplete) -> Incomplete: ...\n\n# Used for an undocumented mypy feature. Does not exist at runtime.\n_promote = object()\n\n# N.B. Keep this definition in sync with typing_extensions._SpecialForm\n@_final\nclass _SpecialForm:\n def __getitem__(self, parameters: Any) -> object: ...\n if sys.version_info >= (3, 10):\n def __or__(self, other: Any) -> _SpecialForm: ...\n def __ror__(self, other: Any) -> _SpecialForm: ...\n\n_F = TypeVar(\"_F\", bound=Callable[..., Any])\n_P = _ParamSpec(\"_P\")\n_T = TypeVar(\"_T\")\n\ndef overload(func: _F) -> _F: ...\n\nUnion: _SpecialForm\nGeneric: _SpecialForm\n# Protocol is only present in 3.8 and later, but mypy needs it unconditionally\nProtocol: _SpecialForm\nCallable: _SpecialForm\nType: _SpecialForm\nNoReturn: _SpecialForm\nClassVar: _SpecialForm\n\nOptional: _SpecialForm\nTuple: _SpecialForm\nif sys.version_info >= (3, 8):\n Final: _SpecialForm\n def final(f: _T) -> _T: ...\n Literal: _SpecialForm\n # TypedDict is a (non-subscriptable) special form.\n TypedDict: object\n\nif sys.version_info >= (3, 11):\n Self: _SpecialForm\n Never: _SpecialForm\n Unpack: _SpecialForm\n Required: _SpecialForm\n NotRequired: _SpecialForm\n LiteralString: _SpecialForm\n\n @_final\n class TypeVarTuple:\n @property\n def __name__(self) -> str: ...\n def __init__(self, name: str) -> None: ...\n def __iter__(self) -> Any: ...\n def __typing_subst__(self, arg: Never) -> Never: ...\n def __typing_prepare_subst__(self, alias: Incomplete, args: Incomplete) -> Incomplete: ...\n\nif sys.version_info >= (3, 10):\n @_final\n class ParamSpecArgs:\n @property\n def __origin__(self) -> ParamSpec: ...\n def __init__(self, origin: ParamSpec) -> None: ...\n def __eq__(self, other: object) -> bool: ...\n\n @_final\n class ParamSpecKwargs:\n @property\n def __origin__(self) -> ParamSpec: ...\n def __init__(self, origin: ParamSpec) -> None: ...\n def __eq__(self, other: object) -> bool: ...\n\n @_final\n class ParamSpec:\n @property\n def __name__(self) -> str: ...\n @property\n def __bound__(self) -> Any | None: ...\n @property\n def __covariant__(self) -> bool: ...\n @property\n def __contravariant__(self) -> bool: ...\n if sys.version_info >= (3, 12):\n @property\n def __infer_variance__(self) -> bool: ...\n def __init__(\n self,\n name: str,\n *,\n bound: Any | None = None,\n contravariant: bool = False,\n covariant: bool = False,\n infer_variance: bool = False,\n ) -> None: ...\n else:\n def __init__(\n self, name: str, *, bound: Any | None = None, contravariant: bool = False, covariant: bool = False\n ) -> None: ...\n\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n if sys.version_info >= (3, 11):\n def __typing_subst__(self, arg: Incomplete) -> Incomplete: ...\n def __typing_prepare_subst__(self, alias: Incomplete, args: Incomplete) -> Incomplete: ...\n\n def __or__(self, right: Any) -> _SpecialForm: ...\n def __ror__(self, left: Any) -> _SpecialForm: ...\n Concatenate: _SpecialForm\n TypeAlias: _SpecialForm\n TypeGuard: _SpecialForm\n\n class NewType:\n def __init__(self, name: str, tp: Any) -> None: ...\n def __call__(self, __x: _T) -> _T: ...\n def __or__(self, other: Any) -> _SpecialForm: ...\n def __ror__(self, other: Any) -> _SpecialForm: ...\n __supertype__: type\n\nelse:\n def NewType(name: str, tp: Any) -> Any: ...\n\n# These type variables are used by the container types.\n_S = TypeVar(\"_S\")\n_KT = TypeVar(\"_KT\") # Key type.\n_VT = TypeVar(\"_VT\") # Value type.\n_T_co = TypeVar(\"_T_co\", covariant=True) # Any type covariant containers.\n_KT_co = TypeVar(\"_KT_co\", covariant=True) # Key type covariant containers.\n_VT_co = TypeVar(\"_VT_co\", covariant=True) # Value type covariant containers.\n_TC = TypeVar(\"_TC\", bound=Type[object])\n\ndef no_type_check(arg: _F) -> _F: ...\ndef no_type_check_decorator(decorator: Callable[_P, _T]) -> Callable[_P, _T]: ...\n\n# Type aliases and type constructors\n\nclass _Alias:\n # Class for defining generic aliases for library types.\n def __getitem__(self, typeargs: Any) -> Any: ...\n\nList = _Alias()\nDict = _Alias()\nDefaultDict = _Alias()\nSet = _Alias()\nFrozenSet = _Alias()\nCounter = _Alias()\nDeque = _Alias()\nChainMap = _Alias()\n\nOrderedDict = _Alias()\n\nif sys.version_info >= (3, 9):\n Annotated: _SpecialForm\n\n# Predefined type variables.\nAnyStr = TypeVar(\"AnyStr\", str, bytes) # noqa: Y001\n\n# Technically in 3.7 this inherited from GenericMeta. But let's not reflect that, since\n# type checkers tend to assume that Protocols all have the ABCMeta metaclass.\nclass _ProtocolMeta(ABCMeta):\n if sys.version_info >= (3, 12):\n def __init__(cls, *args: Any, **kwargs: Any) -> None: ...\n\n# Abstract base classes.\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n@runtime_checkable\nclass SupportsInt(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __int__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsFloat(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __float__(self) -> float: ...\n\n@runtime_checkable\nclass SupportsComplex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __complex__(self) -> complex: ...\n\n@runtime_checkable\nclass SupportsBytes(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __bytes__(self) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n @runtime_checkable\n class SupportsIndex(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __index__(self) -> int: ...\n\n@runtime_checkable\nclass SupportsAbs(Protocol[_T_co]):\n @abstractmethod\n def __abs__(self) -> _T_co: ...\n\n@runtime_checkable\nclass SupportsRound(Protocol[_T_co]):\n @overload\n @abstractmethod\n def __round__(self) -> int: ...\n @overload\n @abstractmethod\n def __round__(self, __ndigits: int) -> _T_co: ...\n\n@runtime_checkable\nclass Sized(Protocol, metaclass=ABCMeta):\n @abstractmethod\n def __len__(self) -> int: ...\n\n@runtime_checkable\nclass Hashable(Protocol, metaclass=ABCMeta):\n # TODO: This is special, in that a subclass of a hashable class may not be hashable\n # (for example, list vs. object). It's not obvious how to represent this. This class\n # is currently mostly useless for static checking.\n @abstractmethod\n def __hash__(self) -> int: ...\n\n@runtime_checkable\nclass Iterable(Protocol[_T_co]):\n @abstractmethod\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Iterator(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __next__(self) -> _T_co: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n\n@runtime_checkable\nclass Reversible(Iterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __reversed__(self) -> Iterator[_T_co]: ...\n\n_YieldT_co = TypeVar(\"_YieldT_co\", covariant=True)\n_SendT_contra = TypeVar(\"_SendT_contra\", contravariant=True)\n_ReturnT_co = TypeVar(\"_ReturnT_co\", covariant=True)\n\nclass Generator(Iterator[_YieldT_co], Generic[_YieldT_co, _SendT_contra, _ReturnT_co]):\n def __next__(self) -> _YieldT_co: ...\n @abstractmethod\n def send(self, __value: _SendT_contra) -> _YieldT_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: BaseException | object = None, __tb: TracebackType | None = None\n ) -> _YieldT_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = None, __tb: TracebackType | None = None) -> _YieldT_co: ...\n def close(self) -> None: ...\n def __iter__(self) -> Generator[_YieldT_co, _SendT_contra, _ReturnT_co]: ...\n @property\n def gi_code(self) -> CodeType: ...\n @property\n def gi_frame(self) -> FrameType: ...\n @property\n def gi_running(self) -> bool: ...\n @property\n def gi_yieldfrom(self) -> Generator[Any, Any, Any] | None: ...\n\n@runtime_checkable\nclass Awaitable(Protocol[_T_co]):\n @abstractmethod\n def __await__(self) -> Generator[Any, None, _T_co]: ...\n\nclass Coroutine(Awaitable[_ReturnT_co], Generic[_YieldT_co, _SendT_contra, _ReturnT_co]):\n __name__: str\n __qualname__: str\n @property\n def cr_await(self) -> Any | None: ...\n @property\n def cr_code(self) -> CodeType: ...\n @property\n def cr_frame(self) -> FrameType: ...\n @property\n def cr_running(self) -> bool: ...\n @abstractmethod\n def send(self, __value: _SendT_contra) -> _YieldT_co: ...\n @overload\n @abstractmethod\n def throw(\n self, __typ: Type[BaseException], __val: BaseException | object = None, __tb: TracebackType | None = None\n ) -> _YieldT_co: ...\n @overload\n @abstractmethod\n def throw(self, __typ: BaseException, __val: None = None, __tb: TracebackType | None = None) -> _YieldT_co: ...\n @abstractmethod\n def close(self) -> None: ...\n\n# NOTE: This type does not exist in typing.py or PEP 484 but mypy needs it to exist.\n# The parameters correspond to Generator, but the 4th is the original type.\n@type_check_only\nclass AwaitableGenerator(\n Awaitable[_ReturnT_co],\n Generator[_YieldT_co, _SendT_contra, _ReturnT_co],\n Generic[_YieldT_co, _SendT_contra, _ReturnT_co, _S],\n metaclass=ABCMeta,\n): ...\n\n@runtime_checkable\nclass AsyncIterable(Protocol[_T_co]):\n @abstractmethod\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\n@runtime_checkable\nclass AsyncIterator(AsyncIterable[_T_co], Protocol[_T_co]):\n @abstractmethod\n def __anext__(self) -> Awaitable[_T_co]: ...\n def __aiter__(self) -> AsyncIterator[_T_co]: ...\n\nclass AsyncGenerator(AsyncIterator[_YieldT_co], Generic[_YieldT_co, _SendT_contra]):\n def __anext__(self) -> Awaitable[_YieldT_co]: ...\n @abstractmethod\n def asend(self, __value: _SendT_contra) -> Awaitable[_YieldT_co]: ...\n @overload\n @abstractmethod\n def athrow(\n self, __typ: Type[BaseException], __val: BaseException | object = None, __tb: TracebackType | None = None\n ) -> Awaitable[_YieldT_co]: ...\n @overload\n @abstractmethod\n def athrow(self, __typ: BaseException, __val: None = None, __tb: TracebackType | None = None) -> Awaitable[_YieldT_co]: ...\n def aclose(self) -> Awaitable[None]: ...\n @property\n def ag_await(self) -> Any: ...\n @property\n def ag_code(self) -> CodeType: ...\n @property\n def ag_frame(self) -> FrameType: ...\n @property\n def ag_running(self) -> bool: ...\n\n@runtime_checkable\nclass Container(Protocol[_T_co]):\n # This is generic more on vibes than anything else\n @abstractmethod\n def __contains__(self, __x: object) -> bool: ...\n\n@runtime_checkable\nclass Collection(Iterable[_T_co], Container[_T_co], Protocol[_T_co]):\n # Implement Sized (but don't have it as a base class).\n @abstractmethod\n def __len__(self) -> int: ...\n\nclass Sequence(Collection[_T_co], Reversible[_T_co], Generic[_T_co]):\n @overload\n @abstractmethod\n def __getitem__(self, index: int) -> _T_co: ...\n @overload\n @abstractmethod\n def __getitem__(self, index: slice) -> Sequence[_T_co]: ...\n # Mixin methods\n def index(self, value: Any, start: int = 0, stop: int = ...) -> int: ...\n def count(self, value: Any) -> int: ...\n def __contains__(self, value: object) -> bool: ...\n def __iter__(self) -> Iterator[_T_co]: ...\n def __reversed__(self) -> Iterator[_T_co]: ...\n\nclass MutableSequence(Sequence[_T]):\n @abstractmethod\n def insert(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __getitem__(self, index: int) -> _T: ...\n @overload\n @abstractmethod\n def __getitem__(self, index: slice) -> MutableSequence[_T]: ...\n @overload\n @abstractmethod\n def __setitem__(self, index: int, value: _T) -> None: ...\n @overload\n @abstractmethod\n def __setitem__(self, index: slice, value: Iterable[_T]) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, index: int) -> None: ...\n @overload\n @abstractmethod\n def __delitem__(self, index: slice) -> None: ...\n # Mixin methods\n def append(self, value: _T) -> None: ...\n def clear(self) -> None: ...\n def extend(self, values: Iterable[_T]) -> None: ...\n def reverse(self) -> None: ...\n def pop(self, index: int = -1) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __iadd__(self, values: Iterable[_T]) -> typing_extensions.Self: ...\n\nclass AbstractSet(Collection[_T_co]):\n @abstractmethod\n def __contains__(self, x: object) -> bool: ...\n def _hash(self) -> int: ...\n # Mixin methods\n def __le__(self, other: AbstractSet[Any]) -> bool: ...\n def __lt__(self, other: AbstractSet[Any]) -> bool: ...\n def __gt__(self, other: AbstractSet[Any]) -> bool: ...\n def __ge__(self, other: AbstractSet[Any]) -> bool: ...\n def __and__(self, other: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __or__(self, other: AbstractSet[_T]) -> AbstractSet[_T_co | _T]: ...\n def __sub__(self, other: AbstractSet[Any]) -> AbstractSet[_T_co]: ...\n def __xor__(self, other: AbstractSet[_T]) -> AbstractSet[_T_co | _T]: ...\n def __eq__(self, other: object) -> bool: ...\n def isdisjoint(self, other: Iterable[Any]) -> bool: ...\n\nclass MutableSet(AbstractSet[_T]):\n @abstractmethod\n def add(self, value: _T) -> None: ...\n @abstractmethod\n def discard(self, value: _T) -> None: ...\n # Mixin methods\n def clear(self) -> None: ...\n def pop(self) -> _T: ...\n def remove(self, value: _T) -> None: ...\n def __ior__(self, it: AbstractSet[_T]) -> typing_extensions.Self: ... # type: ignore[override,misc]\n def __iand__(self, it: AbstractSet[Any]) -> typing_extensions.Self: ...\n def __ixor__(self, it: AbstractSet[_T]) -> typing_extensions.Self: ... # type: ignore[override,misc]\n def __isub__(self, it: AbstractSet[Any]) -> typing_extensions.Self: ...\n\nclass MappingView(Sized):\n def __init__(self, mapping: Mapping[Any, Any]) -> None: ... # undocumented\n def __len__(self) -> int: ...\n\nclass ItemsView(MappingView, AbstractSet[tuple[_KT_co, _VT_co]], Generic[_KT_co, _VT_co]):\n def __init__(self, mapping: Mapping[_KT_co, _VT_co]) -> None: ... # undocumented\n def __and__(self, other: Iterable[Any]) -> set[tuple[_KT_co, _VT_co]]: ...\n def __rand__(self, other: Iterable[_T]) -> set[_T]: ...\n def __contains__(self, item: object) -> bool: ...\n def __iter__(self) -> Iterator[tuple[_KT_co, _VT_co]]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[tuple[_KT_co, _VT_co]]: ...\n\n def __or__(self, other: Iterable[_T]) -> set[tuple[_KT_co, _VT_co] | _T]: ...\n def __ror__(self, other: Iterable[_T]) -> set[tuple[_KT_co, _VT_co] | _T]: ...\n def __sub__(self, other: Iterable[Any]) -> set[tuple[_KT_co, _VT_co]]: ...\n def __rsub__(self, other: Iterable[_T]) -> set[_T]: ...\n def __xor__(self, other: Iterable[_T]) -> set[tuple[_KT_co, _VT_co] | _T]: ...\n def __rxor__(self, other: Iterable[_T]) -> set[tuple[_KT_co, _VT_co] | _T]: ...\n\nclass KeysView(MappingView, AbstractSet[_KT_co], Generic[_KT_co]):\n def __init__(self, mapping: Mapping[_KT_co, Any]) -> None: ... # undocumented\n def __and__(self, other: Iterable[Any]) -> set[_KT_co]: ...\n def __rand__(self, other: Iterable[_T]) -> set[_T]: ...\n def __contains__(self, key: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n\n def __or__(self, other: Iterable[_T]) -> set[_KT_co | _T]: ...\n def __ror__(self, other: Iterable[_T]) -> set[_KT_co | _T]: ...\n def __sub__(self, other: Iterable[Any]) -> set[_KT_co]: ...\n def __rsub__(self, other: Iterable[_T]) -> set[_T]: ...\n def __xor__(self, other: Iterable[_T]) -> set[_KT_co | _T]: ...\n def __rxor__(self, other: Iterable[_T]) -> set[_KT_co | _T]: ...\n\nclass ValuesView(MappingView, Collection[_VT_co], Generic[_VT_co]):\n def __init__(self, mapping: Mapping[Any, _VT_co]) -> None: ... # undocumented\n def __contains__(self, value: object) -> bool: ...\n def __iter__(self) -> Iterator[_VT_co]: ...\n if sys.version_info >= (3, 8):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\nclass Mapping(Collection[_KT], Generic[_KT, _VT_co]):\n # TODO: We wish the key type could also be covariant, but that doesn't work,\n # see discussion in https://github.com/python/typing/pull/273.\n @abstractmethod\n def __getitem__(self, __key: _KT) -> _VT_co: ...\n # Mixin methods\n @overload\n def get(self, __key: _KT) -> _VT_co | None: ...\n @overload\n def get(self, __key: _KT, default: _VT_co | _T) -> _VT_co | _T: ...\n def items(self) -> ItemsView[_KT, _VT_co]: ...\n def keys(self) -> KeysView[_KT]: ...\n def values(self) -> ValuesView[_VT_co]: ...\n def __contains__(self, __key: object) -> bool: ...\n def __eq__(self, __other: object) -> bool: ...\n\nclass MutableMapping(Mapping[_KT, _VT]):\n @abstractmethod\n def __setitem__(self, __key: _KT, __value: _VT) -> None: ...\n @abstractmethod\n def __delitem__(self, __key: _KT) -> None: ...\n def clear(self) -> None: ...\n @overload\n def pop(self, __key: _KT) -> _VT: ...\n @overload\n def pop(self, __key: _KT, default: _VT) -> _VT: ...\n @overload\n def pop(self, __key: _KT, default: _T) -> _VT | _T: ...\n def popitem(self) -> tuple[_KT, _VT]: ...\n # This overload should be allowed only if the value type is compatible with None.\n #\n # Keep the following methods in line with MutableMapping.setdefault, modulo positional-only differences:\n # -- collections.OrderedDict.setdefault\n # -- collections.ChainMap.setdefault\n # -- weakref.WeakKeyDictionary.setdefault\n @overload\n def setdefault(self: MutableMapping[_KT, _T | None], __key: _KT, __default: None = None) -> _T | None: ...\n @overload\n def setdefault(self, __key: _KT, __default: _VT) -> _VT: ...\n # 'update' used to take a Union, but using overloading is better.\n # The second overloaded type here is a bit too general, because\n # Mapping[tuple[_KT, _VT], W] is a subclass of Iterable[tuple[_KT, _VT]],\n # but will always have the behavior of the first overloaded type\n # at runtime, leading to keys of a mix of types _KT and tuple[_KT, _VT].\n # We don't currently have any way of forcing all Mappings to use\n # the first overload, but by using overloading rather than a Union,\n # mypy will commit to using the first overload when the argument is\n # known to be a Mapping with unknown type parameters, which is closer\n # to the behavior we want. See mypy issue #1430.\n #\n # Various mapping classes have __ior__ methods that should be kept roughly in line with .update():\n # -- dict.__ior__\n # -- os._Environ.__ior__\n # -- collections.UserDict.__ior__\n # -- collections.ChainMap.__ior__\n # -- peewee.attrdict.__add__\n # -- peewee.attrdict.__iadd__\n # -- weakref.WeakValueDictionary.__ior__\n # -- weakref.WeakKeyDictionary.__ior__\n @overload\n def update(self, __m: SupportsKeysAndGetItem[_KT, _VT], **kwargs: _VT) -> None: ...\n @overload\n def update(self, __m: Iterable[tuple[_KT, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def update(self, **kwargs: _VT) -> None: ...\n\nText = str\n\nTYPE_CHECKING: bool\n\n# In stubs, the arguments of the IO class are marked as positional-only.\n# This differs from runtime, but better reflects the fact that in reality\n# classes deriving from IO use different names for the arguments.\nclass IO(Iterator[AnyStr]):\n # At runtime these are all abstract properties,\n # but making them abstract in the stub is hugely disruptive, for not much gain.\n # See #8726\n @property\n def mode(self) -> str: ...\n # Usually str, but may be bytes if a bytes path was passed to open(). See #10737.\n # If PEP 696 becomes available, we may want to use a defaulted TypeVar here.\n @property\n def name(self) -> str | Any: ...\n @abstractmethod\n def close(self) -> None: ...\n @property\n def closed(self) -> bool: ...\n @abstractmethod\n def fileno(self) -> int: ...\n @abstractmethod\n def flush(self) -> None: ...\n @abstractmethod\n def isatty(self) -> bool: ...\n @abstractmethod\n def read(self, __n: int = -1) -> AnyStr: ...\n @abstractmethod\n def readable(self) -> bool: ...\n @abstractmethod\n def readline(self, __limit: int = -1) -> AnyStr: ...\n @abstractmethod\n def readlines(self, __hint: int = -1) -> list[AnyStr]: ...\n @abstractmethod\n def seek(self, __offset: int, __whence: int = 0) -> int: ...\n @abstractmethod\n def seekable(self) -> bool: ...\n @abstractmethod\n def tell(self) -> int: ...\n @abstractmethod\n def truncate(self, __size: int | None = None) -> int: ...\n @abstractmethod\n def writable(self) -> bool: ...\n @abstractmethod\n @overload\n def write(self: IO[str], __s: str) -> int: ...\n @abstractmethod\n @overload\n def write(self: IO[bytes], __s: ReadableBuffer) -> int: ...\n @abstractmethod\n @overload\n def write(self, __s: AnyStr) -> int: ...\n @abstractmethod\n @overload\n def writelines(self: IO[str], __lines: Iterable[str]) -> None: ...\n @abstractmethod\n @overload\n def writelines(self: IO[bytes], __lines: Iterable[ReadableBuffer]) -> None: ...\n @abstractmethod\n @overload\n def writelines(self, __lines: Iterable[AnyStr]) -> None: ...\n @abstractmethod\n def __next__(self) -> AnyStr: ...\n @abstractmethod\n def __iter__(self) -> Iterator[AnyStr]: ...\n @abstractmethod\n def __enter__(self) -> IO[AnyStr]: ...\n @abstractmethod\n def __exit__(\n self, __type: Type[BaseException] | None, __value: BaseException | None, __traceback: TracebackType | None\n ) -> None: ...\n\nclass BinaryIO(IO[bytes]):\n @abstractmethod\n def __enter__(self) -> BinaryIO: ...\n\nclass TextIO(IO[str]):\n # See comment regarding the @properties in the `IO` class\n @property\n def buffer(self) -> BinaryIO: ...\n @property\n def encoding(self) -> str: ...\n @property\n def errors(self) -> str | None: ...\n @property\n def line_buffering(self) -> int: ... # int on PyPy, bool on CPython\n @property\n def newlines(self) -> Any: ... # None, str or tuple\n @abstractmethod\n def __enter__(self) -> TextIO: ...\n\nByteString: typing_extensions.TypeAlias = bytes | bytearray | memoryview\n\n# Functions\n\n_get_type_hints_obj_allowed_types: typing_extensions.TypeAlias = ( # noqa: Y042\n object\n | Callable[..., Any]\n | FunctionType\n | BuiltinFunctionType\n | MethodType\n | ModuleType\n | WrapperDescriptorType\n | MethodWrapperType\n | MethodDescriptorType\n)\n\nif sys.version_info >= (3, 9):\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types,\n globalns: dict[str, Any] | None = None,\n localns: dict[str, Any] | None = None,\n include_extras: bool = False,\n ) -> dict[str, Any]: ...\n\nelse:\n def get_type_hints(\n obj: _get_type_hints_obj_allowed_types, globalns: dict[str, Any] | None = None, localns: dict[str, Any] | None = None\n ) -> dict[str, Any]: ...\n\nif sys.version_info >= (3, 8):\n def get_args(tp: Any) -> tuple[Any, ...]: ...\n\n if sys.version_info >= (3, 10):\n @overload\n def get_origin(tp: ParamSpecArgs | ParamSpecKwargs) -> ParamSpec: ...\n @overload\n def get_origin(tp: UnionType) -> type[UnionType]: ...\n if sys.version_info >= (3, 9):\n @overload\n def get_origin(tp: GenericAlias) -> type: ...\n @overload\n def get_origin(tp: Any) -> Any | None: ...\n else:\n def get_origin(tp: Any) -> Any | None: ...\n\n@overload\ndef cast(typ: Type[_T], val: Any) -> _T: ...\n@overload\ndef cast(typ: str, val: Any) -> Any: ...\n@overload\ndef cast(typ: object, val: Any) -> Any: ...\n\nif sys.version_info >= (3, 11):\n def reveal_type(__obj: _T) -> _T: ...\n def assert_never(__arg: Never) -> Never: ...\n def assert_type(__val: _T, __typ: Any) -> _T: ...\n def clear_overloads() -> None: ...\n def get_overloads(func: Callable[..., object]) -> Sequence[Callable[..., object]]: ...\n def dataclass_transform(\n *,\n eq_default: bool = True,\n order_default: bool = False,\n kw_only_default: bool = False,\n frozen_default: bool = False, # on 3.11, runtime accepts it as part of kwargs\n field_specifiers: tuple[type[Any] | Callable[..., Any], ...] = (),\n **kwargs: Any,\n ) -> IdentityFunction: ...\n\n# Type constructors\n\nclass NamedTuple(tuple[Any, ...]):\n if sys.version_info < (3, 8):\n _field_types: ClassVar[collections.OrderedDict[str, type]]\n elif sys.version_info < (3, 9):\n _field_types: ClassVar[dict[str, type]]\n _field_defaults: ClassVar[dict[str, Any]]\n _fields: ClassVar[tuple[str, ...]]\n # __orig_bases__ sometimes exists on <3.12, but not consistently\n # So we only add it to the stub on 3.12+.\n if sys.version_info >= (3, 12):\n __orig_bases__: ClassVar[tuple[Any, ...]]\n @overload\n def __init__(self, __typename: str, __fields: Iterable[tuple[str, Any]]) -> None: ...\n @overload\n def __init__(self, __typename: str, __fields: None = None, **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls, iterable: Iterable[Any]) -> typing_extensions.Self: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n\n def _replace(self, **kwargs: Any) -> typing_extensions.Self: ...\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\n# N.B. Keep this mostly in sync with typing_extensions._TypedDict/mypy_extensions._TypedDict\n@type_check_only\nclass _TypedDict(Mapping[str, object], metaclass=ABCMeta):\n __total__: ClassVar[bool]\n if sys.version_info >= (3, 9):\n __required_keys__: ClassVar[frozenset[str]]\n __optional_keys__: ClassVar[frozenset[str]]\n # __orig_bases__ sometimes exists on <3.12, but not consistently,\n # so we only add it to the stub on 3.12+\n if sys.version_info >= (3, 12):\n __orig_bases__: ClassVar[tuple[Any, ...]]\n def copy(self) -> typing_extensions.Self: ...\n # Using Never so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: _Never, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: _Never, default: _T = ...) -> object: ... # pyright: ignore[reportInvalidTypeVarUse]\n def update(self: _T, __m: _T) -> None: ...\n def __delitem__(self, k: _Never) -> None: ...\n def items(self) -> dict_items[str, object]: ...\n def keys(self) -> dict_keys[str, object]: ...\n def values(self) -> dict_values[str, object]: ...\n if sys.version_info >= (3, 9):\n @overload\n def __or__(self, __value: typing_extensions.Self) -> typing_extensions.Self: ...\n @overload\n def __or__(self, __value: dict[str, Any]) -> dict[str, object]: ...\n @overload\n def __ror__(self, __value: typing_extensions.Self) -> typing_extensions.Self: ...\n @overload\n def __ror__(self, __value: dict[str, Any]) -> dict[str, object]: ...\n # supposedly incompatible definitions of __or__ and __ior__\n def __ior__(self, __value: typing_extensions.Self) -> typing_extensions.Self: ... # type: ignore[misc]\n\n@_final\nclass ForwardRef:\n __forward_arg__: str\n __forward_code__: CodeType\n __forward_evaluated__: bool\n __forward_value__: Any | None\n __forward_is_argument__: bool\n __forward_is_class__: bool\n __forward_module__: Any | None\n if sys.version_info >= (3, 9):\n # The module and is_class arguments were added in later Python 3.9 versions.\n def __init__(self, arg: str, is_argument: bool = True, module: Any | None = None, *, is_class: bool = False) -> None: ...\n else:\n def __init__(self, arg: str, is_argument: bool = True) -> None: ...\n\n if sys.version_info >= (3, 9):\n def _evaluate(\n self, globalns: dict[str, Any] | None, localns: dict[str, Any] | None, recursive_guard: frozenset[str]\n ) -> Any | None: ...\n else:\n def _evaluate(self, globalns: dict[str, Any] | None, localns: dict[str, Any] | None) -> Any | None: ...\n\n def __eq__(self, other: object) -> bool: ...\n def __hash__(self) -> int: ...\n if sys.version_info >= (3, 11):\n def __or__(self, other: Any) -> _SpecialForm: ...\n def __ror__(self, other: Any) -> _SpecialForm: ...\n\nif sys.version_info >= (3, 10):\n def is_typeddict(tp: object) -> bool: ...\n\ndef _type_repr(obj: object) -> str: ...\n\nif sys.version_info >= (3, 12):\n def override(__method: _F) -> _F: ...\n @_final\n class TypeAliasType:\n def __init__(\n self, name: str, value: Any, *, type_params: tuple[TypeVar | ParamSpec | TypeVarTuple, ...] = ()\n ) -> None: ...\n @property\n def __value__(self) -> Any: ...\n @property\n def __type_params__(self) -> tuple[TypeVar | ParamSpec | TypeVarTuple, ...]: ...\n @property\n def __parameters__(self) -> tuple[Any, ...]: ...\n @property\n def __name__(self) -> str: ...\n # It's writable on types, but not on instances of TypeAliasType.\n @property\n def __module__(self) -> str | None: ... # type: ignore[override]\n def __getitem__(self, parameters: Any) -> Any: ...\n if sys.version_info >= (3, 10):\n def __or__(self, right: Any) -> _SpecialForm: ...\n def __ror__(self, left: Any) -> _SpecialForm: ...\n\nif sys.version_info >= (3, 13):\n def is_protocol(__tp: type) -> bool: ...\n def get_protocol_members(__tp: type) -> frozenset[str]: ...\n", + "/typeshed/stdlib/typing_extensions.pyi": "import abc\nimport collections\nimport sys\nimport typing\nfrom _collections_abc import dict_items, dict_keys, dict_values\nfrom _typeshed import IdentityFunction, Incomplete\nfrom typing import ( # noqa: Y022,Y037,Y038,Y039\n IO as IO,\n TYPE_CHECKING as TYPE_CHECKING,\n AbstractSet as AbstractSet,\n Any as Any,\n AnyStr as AnyStr,\n AsyncContextManager as AsyncContextManager,\n AsyncGenerator as AsyncGenerator,\n AsyncIterable as AsyncIterable,\n AsyncIterator as AsyncIterator,\n Awaitable as Awaitable,\n BinaryIO as BinaryIO,\n Callable as Callable,\n ChainMap as ChainMap,\n ClassVar as ClassVar,\n Collection as Collection,\n Container as Container,\n ContextManager as ContextManager,\n Coroutine as Coroutine,\n Counter as Counter,\n DefaultDict as DefaultDict,\n Deque as Deque,\n Dict as Dict,\n ForwardRef as ForwardRef,\n FrozenSet as FrozenSet,\n Generator as Generator,\n Generic as Generic,\n Hashable as Hashable,\n ItemsView as ItemsView,\n Iterable as Iterable,\n Iterator as Iterator,\n KeysView as KeysView,\n List as List,\n Mapping as Mapping,\n MappingView as MappingView,\n Match as Match,\n MutableMapping as MutableMapping,\n MutableSequence as MutableSequence,\n MutableSet as MutableSet,\n NoReturn as NoReturn,\n Optional as Optional,\n Pattern as Pattern,\n Reversible as Reversible,\n Sequence as Sequence,\n Set as Set,\n Sized as Sized,\n SupportsAbs as SupportsAbs,\n SupportsBytes as SupportsBytes,\n SupportsComplex as SupportsComplex,\n SupportsFloat as SupportsFloat,\n SupportsInt as SupportsInt,\n SupportsRound as SupportsRound,\n Text as Text,\n TextIO as TextIO,\n Tuple as Tuple,\n Type as Type,\n Union as Union,\n ValuesView as ValuesView,\n _Alias,\n cast as cast,\n no_type_check as no_type_check,\n no_type_check_decorator as no_type_check_decorator,\n overload as overload,\n type_check_only,\n)\n\nif sys.version_info >= (3, 10):\n from types import UnionType\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = [\n \"Any\",\n \"Buffer\",\n \"ClassVar\",\n \"Concatenate\",\n \"Final\",\n \"LiteralString\",\n \"ParamSpec\",\n \"ParamSpecArgs\",\n \"ParamSpecKwargs\",\n \"Self\",\n \"Type\",\n \"TypeVar\",\n \"TypeVarTuple\",\n \"Unpack\",\n \"Awaitable\",\n \"AsyncIterator\",\n \"AsyncIterable\",\n \"Coroutine\",\n \"AsyncGenerator\",\n \"AsyncContextManager\",\n \"ChainMap\",\n \"ContextManager\",\n \"Counter\",\n \"Deque\",\n \"DefaultDict\",\n \"NamedTuple\",\n \"OrderedDict\",\n \"TypedDict\",\n \"SupportsIndex\",\n \"SupportsAbs\",\n \"SupportsRound\",\n \"SupportsBytes\",\n \"SupportsComplex\",\n \"SupportsFloat\",\n \"SupportsInt\",\n \"Annotated\",\n \"assert_never\",\n \"assert_type\",\n \"dataclass_transform\",\n \"deprecated\",\n \"final\",\n \"IntVar\",\n \"is_typeddict\",\n \"Literal\",\n \"NewType\",\n \"overload\",\n \"override\",\n \"Protocol\",\n \"reveal_type\",\n \"runtime\",\n \"runtime_checkable\",\n \"Text\",\n \"TypeAlias\",\n \"TypeAliasType\",\n \"TypeGuard\",\n \"TYPE_CHECKING\",\n \"Never\",\n \"NoReturn\",\n \"Required\",\n \"NotRequired\",\n \"clear_overloads\",\n \"get_args\",\n \"get_origin\",\n \"get_original_bases\",\n \"get_overloads\",\n \"get_type_hints\",\n \"AbstractSet\",\n \"AnyStr\",\n \"BinaryIO\",\n \"Callable\",\n \"Collection\",\n \"Container\",\n \"Dict\",\n \"Doc\",\n \"ForwardRef\",\n \"FrozenSet\",\n \"Generator\",\n \"Generic\",\n \"Hashable\",\n \"IO\",\n \"ItemsView\",\n \"Iterable\",\n \"Iterator\",\n \"KeysView\",\n \"List\",\n \"Mapping\",\n \"MappingView\",\n \"Match\",\n \"MutableMapping\",\n \"MutableSequence\",\n \"MutableSet\",\n \"Optional\",\n \"Pattern\",\n \"Reversible\",\n \"Sequence\",\n \"Set\",\n \"Sized\",\n \"TextIO\",\n \"Tuple\",\n \"Union\",\n \"ValuesView\",\n \"cast\",\n \"get_protocol_members\",\n \"is_protocol\",\n \"no_type_check\",\n \"no_type_check_decorator\",\n]\n\n_T = typing.TypeVar(\"_T\")\n_F = typing.TypeVar(\"_F\", bound=Callable[..., Any])\n_TC = typing.TypeVar(\"_TC\", bound=type[object])\n\n# unfortunately we have to duplicate this class definition from typing.pyi or we break pytype\nclass _SpecialForm:\n def __getitem__(self, parameters: Any) -> object: ...\n if sys.version_info >= (3, 10):\n def __or__(self, other: Any) -> _SpecialForm: ...\n def __ror__(self, other: Any) -> _SpecialForm: ...\n\n# Do not import (and re-export) Protocol or runtime_checkable from\n# typing module because type checkers need to be able to distinguish\n# typing.Protocol and typing_extensions.Protocol so they can properly\n# warn users about potential runtime exceptions when using typing.Protocol\n# on older versions of Python.\nProtocol: _SpecialForm\n\ndef runtime_checkable(cls: _TC) -> _TC: ...\n\n# This alias for above is kept here for backwards compatibility.\nruntime = runtime_checkable\nFinal: _SpecialForm\n\ndef final(f: _F) -> _F: ...\n\nLiteral: _SpecialForm\n\ndef IntVar(name: str) -> Any: ... # returns a new TypeVar\n\n# Internal mypy fallback type for all typed dicts (does not exist at runtime)\n# N.B. Keep this mostly in sync with typing._TypedDict/mypy_extensions._TypedDict\n@type_check_only\nclass _TypedDict(Mapping[str, object], metaclass=abc.ABCMeta):\n __required_keys__: ClassVar[frozenset[str]]\n __optional_keys__: ClassVar[frozenset[str]]\n __total__: ClassVar[bool]\n __orig_bases__: ClassVar[tuple[Any, ...]]\n def copy(self) -> Self: ...\n # Using Never so that only calls using mypy plugin hook that specialize the signature\n # can go through.\n def setdefault(self, k: Never, default: object) -> object: ...\n # Mypy plugin hook for 'pop' expects that 'default' has a type variable type.\n def pop(self, k: Never, default: _T = ...) -> object: ... # pyright: ignore[reportInvalidTypeVarUse]\n def update(self: _T, __m: _T) -> None: ...\n def items(self) -> dict_items[str, object]: ...\n def keys(self) -> dict_keys[str, object]: ...\n def values(self) -> dict_values[str, object]: ...\n def __delitem__(self, k: Never) -> None: ...\n if sys.version_info >= (3, 9):\n @overload\n def __or__(self, __value: Self) -> Self: ...\n @overload\n def __or__(self, __value: dict[str, Any]) -> dict[str, object]: ...\n @overload\n def __ror__(self, __value: Self) -> Self: ...\n @overload\n def __ror__(self, __value: dict[str, Any]) -> dict[str, object]: ...\n # supposedly incompatible definitions of `__ior__` and `__or__`:\n def __ior__(self, __value: Self) -> Self: ... # type: ignore[misc]\n\n# TypedDict is a (non-subscriptable) special form.\nTypedDict: object\n\nOrderedDict = _Alias()\n\ndef get_type_hints(\n obj: Callable[..., Any],\n globalns: dict[str, Any] | None = None,\n localns: dict[str, Any] | None = None,\n include_extras: bool = False,\n) -> dict[str, Any]: ...\ndef get_args(tp: Any) -> tuple[Any, ...]: ...\n\nif sys.version_info >= (3, 10):\n @overload\n def get_origin(tp: UnionType) -> type[UnionType]: ...\n\nif sys.version_info >= (3, 9):\n @overload\n def get_origin(tp: GenericAlias) -> type: ...\n\n@overload\ndef get_origin(tp: ParamSpecArgs | ParamSpecKwargs) -> ParamSpec: ...\n@overload\ndef get_origin(tp: Any) -> Any | None: ...\n\nAnnotated: _SpecialForm\n_AnnotatedAlias: Any # undocumented\n\n@runtime_checkable\nclass SupportsIndex(Protocol, metaclass=abc.ABCMeta):\n @abc.abstractmethod\n def __index__(self) -> int: ...\n\n# New and changed things in 3.10\nif sys.version_info >= (3, 10):\n from typing import (\n Concatenate as Concatenate,\n NewType as NewType,\n ParamSpecArgs as ParamSpecArgs,\n ParamSpecKwargs as ParamSpecKwargs,\n TypeAlias as TypeAlias,\n TypeGuard as TypeGuard,\n is_typeddict as is_typeddict,\n )\nelse:\n @final\n class ParamSpecArgs:\n @property\n def __origin__(self) -> ParamSpec: ...\n def __init__(self, origin: ParamSpec) -> None: ...\n\n @final\n class ParamSpecKwargs:\n @property\n def __origin__(self) -> ParamSpec: ...\n def __init__(self, origin: ParamSpec) -> None: ...\n\n Concatenate: _SpecialForm\n TypeAlias: _SpecialForm\n TypeGuard: _SpecialForm\n def is_typeddict(tp: object) -> bool: ...\n\n class NewType:\n def __init__(self, name: str, tp: Any) -> None: ...\n def __call__(self, __x: _T) -> _T: ...\n __supertype__: type\n\n# New things in 3.11\n# NamedTuples are not new, but the ability to create generic NamedTuples is new in 3.11\nif sys.version_info >= (3, 11):\n from typing import (\n LiteralString as LiteralString,\n NamedTuple as NamedTuple,\n Never as Never,\n NotRequired as NotRequired,\n Required as Required,\n Self as Self,\n Unpack as Unpack,\n assert_never as assert_never,\n assert_type as assert_type,\n clear_overloads as clear_overloads,\n dataclass_transform as dataclass_transform,\n get_overloads as get_overloads,\n reveal_type as reveal_type,\n )\nelse:\n Self: _SpecialForm\n Never: _SpecialForm\n def reveal_type(__obj: _T) -> _T: ...\n def assert_never(__arg: Never) -> Never: ...\n def assert_type(__val: _T, __typ: Any) -> _T: ...\n def clear_overloads() -> None: ...\n def get_overloads(func: Callable[..., object]) -> Sequence[Callable[..., object]]: ...\n\n Required: _SpecialForm\n NotRequired: _SpecialForm\n LiteralString: _SpecialForm\n Unpack: _SpecialForm\n\n def dataclass_transform(\n *,\n eq_default: bool = True,\n order_default: bool = False,\n kw_only_default: bool = False,\n frozen_default: bool = False,\n field_specifiers: tuple[type[Any] | Callable[..., Any], ...] = (),\n **kwargs: object,\n ) -> IdentityFunction: ...\n\n class NamedTuple(tuple[Any, ...]):\n if sys.version_info < (3, 8):\n _field_types: ClassVar[collections.OrderedDict[str, type]]\n elif sys.version_info < (3, 9):\n _field_types: ClassVar[dict[str, type]]\n _field_defaults: ClassVar[dict[str, Any]]\n _fields: ClassVar[tuple[str, ...]]\n __orig_bases__: ClassVar[tuple[Any, ...]]\n @overload\n def __init__(self, typename: str, fields: Iterable[tuple[str, Any]] = ...) -> None: ...\n @overload\n def __init__(self, typename: str, fields: None = None, **kwargs: Any) -> None: ...\n @classmethod\n def _make(cls, iterable: Iterable[Any]) -> Self: ...\n if sys.version_info >= (3, 8):\n def _asdict(self) -> dict[str, Any]: ...\n else:\n def _asdict(self) -> collections.OrderedDict[str, Any]: ...\n\n def _replace(self, **kwargs: Any) -> Self: ...\n\n# New things in 3.xx\n# The `default` parameter was added to TypeVar, ParamSpec, and TypeVarTuple (PEP 696)\n# The `infer_variance` parameter was added to TypeVar in 3.12 (PEP 695)\n# typing_extensions.override (PEP 698)\n@final\nclass TypeVar:\n @property\n def __name__(self) -> str: ...\n @property\n def __bound__(self) -> Any | None: ...\n @property\n def __constraints__(self) -> tuple[Any, ...]: ...\n @property\n def __covariant__(self) -> bool: ...\n @property\n def __contravariant__(self) -> bool: ...\n @property\n def __infer_variance__(self) -> bool: ...\n @property\n def __default__(self) -> Any | None: ...\n def __init__(\n self,\n name: str,\n *constraints: Any,\n bound: Any | None = None,\n covariant: bool = False,\n contravariant: bool = False,\n default: Any | None = None,\n infer_variance: bool = False,\n ) -> None: ...\n if sys.version_info >= (3, 10):\n def __or__(self, right: Any) -> _SpecialForm: ...\n def __ror__(self, left: Any) -> _SpecialForm: ...\n if sys.version_info >= (3, 11):\n def __typing_subst__(self, arg: Incomplete) -> Incomplete: ...\n\n@final\nclass ParamSpec:\n @property\n def __name__(self) -> str: ...\n @property\n def __bound__(self) -> Any | None: ...\n @property\n def __covariant__(self) -> bool: ...\n @property\n def __contravariant__(self) -> bool: ...\n @property\n def __infer_variance__(self) -> bool: ...\n @property\n def __default__(self) -> Any | None: ...\n def __init__(\n self,\n name: str,\n *,\n bound: None | type[Any] | str = None,\n contravariant: bool = False,\n covariant: bool = False,\n default: type[Any] | str | None = None,\n ) -> None: ...\n @property\n def args(self) -> ParamSpecArgs: ...\n @property\n def kwargs(self) -> ParamSpecKwargs: ...\n\n@final\nclass TypeVarTuple:\n @property\n def __name__(self) -> str: ...\n @property\n def __default__(self) -> Any | None: ...\n def __init__(self, name: str, *, default: Any | None = None) -> None: ...\n def __iter__(self) -> Any: ... # Unpack[Self]\n\ndef deprecated(__msg: str, *, category: type[Warning] | None = ..., stacklevel: int = 1) -> Callable[[_T], _T]: ...\n\nif sys.version_info >= (3, 12):\n from collections.abc import Buffer as Buffer\n from types import get_original_bases as get_original_bases\n from typing import TypeAliasType as TypeAliasType, override as override\nelse:\n def override(__arg: _F) -> _F: ...\n def get_original_bases(__cls: type) -> tuple[Any, ...]: ...\n @final\n class TypeAliasType:\n def __init__(\n self, name: str, value: Any, *, type_params: tuple[TypeVar | ParamSpec | TypeVarTuple, ...] = ()\n ) -> None: ...\n @property\n def __value__(self) -> Any: ...\n @property\n def __type_params__(self) -> tuple[TypeVar | ParamSpec | TypeVarTuple, ...]: ...\n @property\n def __parameters__(self) -> tuple[Any, ...]: ...\n @property\n def __name__(self) -> str: ...\n # It's writable on types, but not on instances of TypeAliasType.\n @property\n def __module__(self) -> str | None: ... # type: ignore[override]\n def __getitem__(self, parameters: Any) -> Any: ...\n if sys.version_info >= (3, 10):\n def __or__(self, right: Any) -> _SpecialForm: ...\n def __ror__(self, left: Any) -> _SpecialForm: ...\n\n @runtime_checkable\n class Buffer(Protocol):\n # Not actually a Protocol at runtime; see\n # https://github.com/python/typeshed/issues/10224 for why we're defining it this way\n def __buffer__(self, __flags: int) -> memoryview: ...\n\nif sys.version_info >= (3, 13):\n from typing import get_protocol_members as get_protocol_members, is_protocol as is_protocol\nelse:\n def is_protocol(__tp: type) -> bool: ...\n def get_protocol_members(__tp: type) -> frozenset[str]: ...\n\nclass Doc:\n documentation: str\n def __init__(self, __documentation: str) -> None: ...\n def __hash__(self) -> int: ...\n def __eq__(self, other: object) -> bool: ...\n", + "/typeshed/stdlib/unicodedata.pyi": "import sys\nfrom _typeshed import ReadOnlyBuffer\nfrom typing import Any, TypeVar, overload\nfrom typing_extensions import Literal, TypeAlias, final\n\nucd_3_2_0: UCD\nunidata_version: str\n\nif sys.version_info < (3, 10):\n ucnhash_CAPI: Any\n\n_T = TypeVar(\"_T\")\n\ndef bidirectional(__chr: str) -> str: ...\ndef category(__chr: str) -> str: ...\ndef combining(__chr: str) -> int: ...\n@overload\ndef decimal(__chr: str) -> int: ...\n@overload\ndef decimal(__chr: str, __default: _T) -> int | _T: ...\ndef decomposition(__chr: str) -> str: ...\n@overload\ndef digit(__chr: str) -> int: ...\n@overload\ndef digit(__chr: str, __default: _T) -> int | _T: ...\n\n_EastAsianWidth: TypeAlias = Literal[\"F\", \"H\", \"W\", \"Na\", \"A\", \"N\"]\n\ndef east_asian_width(__chr: str) -> _EastAsianWidth: ...\n\nif sys.version_info >= (3, 8):\n def is_normalized(__form: str, __unistr: str) -> bool: ...\n\ndef lookup(__name: str | ReadOnlyBuffer) -> str: ...\ndef mirrored(__chr: str) -> int: ...\n@overload\ndef name(__chr: str) -> str: ...\n@overload\ndef name(__chr: str, __default: _T) -> str | _T: ...\ndef normalize(__form: str, __unistr: str) -> str: ...\n@overload\ndef numeric(__chr: str) -> float: ...\n@overload\ndef numeric(__chr: str, __default: _T) -> float | _T: ...\n@final\nclass UCD:\n # The methods below are constructed from the same array in C\n # (unicodedata_functions) and hence identical to the functions above.\n unidata_version: str\n def bidirectional(self, __chr: str) -> str: ...\n def category(self, __chr: str) -> str: ...\n def combining(self, __chr: str) -> int: ...\n @overload\n def decimal(self, __chr: str) -> int: ...\n @overload\n def decimal(self, __chr: str, __default: _T) -> int | _T: ...\n def decomposition(self, __chr: str) -> str: ...\n @overload\n def digit(self, __chr: str) -> int: ...\n @overload\n def digit(self, __chr: str, __default: _T) -> int | _T: ...\n def east_asian_width(self, __chr: str) -> _EastAsianWidth: ...\n if sys.version_info >= (3, 8):\n def is_normalized(self, __form: str, __unistr: str) -> bool: ...\n\n def lookup(self, __name: str | ReadOnlyBuffer) -> str: ...\n def mirrored(self, __chr: str) -> int: ...\n @overload\n def name(self, __chr: str) -> str: ...\n @overload\n def name(self, __chr: str, __default: _T) -> str | _T: ...\n def normalize(self, __form: str, __unistr: str) -> str: ...\n @overload\n def numeric(self, __chr: str) -> float: ...\n @overload\n def numeric(self, __chr: str, __default: _T) -> float | _T: ...\n", + "/typeshed/stdlib/uu.pyi": "from typing import BinaryIO\nfrom typing_extensions import TypeAlias\n\n__all__ = [\"Error\", \"encode\", \"decode\"]\n\n_File: TypeAlias = str | BinaryIO\n\nclass Error(Exception): ...\n\ndef encode(\n in_file: _File, out_file: _File, name: str | None = None, mode: int | None = None, *, backtick: bool = False\n) -> None: ...\ndef decode(in_file: _File, out_file: _File | None = None, mode: int | None = None, quiet: bool = False) -> None: ...\n", + "/typeshed/stdlib/uuid.pyi": "import builtins\nimport sys\nfrom _typeshed import Unused\nfrom enum import Enum\nfrom typing_extensions import TypeAlias\n\n_FieldsType: TypeAlias = tuple[int, int, int, int, int, int]\n\nclass SafeUUID(Enum):\n safe: int\n unsafe: int\n unknown: None\n\nclass UUID:\n def __init__(\n self,\n hex: str | None = None,\n bytes: builtins.bytes | None = None,\n bytes_le: builtins.bytes | None = None,\n fields: _FieldsType | None = None,\n int: builtins.int | None = None,\n version: builtins.int | None = None,\n *,\n is_safe: SafeUUID = ...,\n ) -> None: ...\n @property\n def is_safe(self) -> SafeUUID: ...\n @property\n def bytes(self) -> builtins.bytes: ...\n @property\n def bytes_le(self) -> builtins.bytes: ...\n @property\n def clock_seq(self) -> builtins.int: ...\n @property\n def clock_seq_hi_variant(self) -> builtins.int: ...\n @property\n def clock_seq_low(self) -> builtins.int: ...\n @property\n def fields(self) -> _FieldsType: ...\n @property\n def hex(self) -> str: ...\n @property\n def int(self) -> builtins.int: ...\n @property\n def node(self) -> builtins.int: ...\n @property\n def time(self) -> builtins.int: ...\n @property\n def time_hi_version(self) -> builtins.int: ...\n @property\n def time_low(self) -> builtins.int: ...\n @property\n def time_mid(self) -> builtins.int: ...\n @property\n def urn(self) -> str: ...\n @property\n def variant(self) -> str: ...\n @property\n def version(self) -> builtins.int | None: ...\n def __int__(self) -> builtins.int: ...\n def __eq__(self, other: object) -> bool: ...\n def __lt__(self, other: UUID) -> bool: ...\n def __le__(self, other: UUID) -> bool: ...\n def __gt__(self, other: UUID) -> bool: ...\n def __ge__(self, other: UUID) -> bool: ...\n def __hash__(self) -> builtins.int: ...\n\nif sys.version_info >= (3, 9):\n def getnode() -> int: ...\n\nelse:\n def getnode(*, getters: Unused = None) -> int: ... # undocumented\n\ndef uuid1(node: int | None = None, clock_seq: int | None = None) -> UUID: ...\n\nif sys.version_info >= (3, 12):\n def uuid3(namespace: UUID, name: str | bytes) -> UUID: ...\n\nelse:\n def uuid3(namespace: UUID, name: str) -> UUID: ...\n\ndef uuid4() -> UUID: ...\n\nif sys.version_info >= (3, 12):\n def uuid5(namespace: UUID, name: str | bytes) -> UUID: ...\n\nelse:\n def uuid5(namespace: UUID, name: str) -> UUID: ...\n\nNAMESPACE_DNS: UUID\nNAMESPACE_URL: UUID\nNAMESPACE_OID: UUID\nNAMESPACE_X500: UUID\nRESERVED_NCS: str\nRFC_4122: str\nRESERVED_MICROSOFT: str\nRESERVED_FUTURE: str\n\nif sys.version_info >= (3, 12):\n def main() -> None: ...\n", + "/typeshed/stdlib/warnings.pyi": "import sys\nfrom _warnings import warn as warn, warn_explicit as warn_explicit\nfrom collections.abc import Sequence\nfrom types import ModuleType, TracebackType\nfrom typing import Any, Generic, TextIO, TypeVar, overload\nfrom typing_extensions import Literal, TypeAlias\n\n__all__ = [\n \"warn\",\n \"warn_explicit\",\n \"showwarning\",\n \"formatwarning\",\n \"filterwarnings\",\n \"simplefilter\",\n \"resetwarnings\",\n \"catch_warnings\",\n]\n\n_W = TypeVar(\"_W\", bound=list[WarningMessage] | None)\n_ActionKind: TypeAlias = Literal[\"default\", \"error\", \"ignore\", \"always\", \"module\", \"once\"]\n\nfilters: Sequence[tuple[str, str | None, type[Warning], str | None, int]] # undocumented, do not mutate\n\ndef showwarning(\n message: Warning | str,\n category: type[Warning],\n filename: str,\n lineno: int,\n file: TextIO | None = None,\n line: str | None = None,\n) -> None: ...\ndef formatwarning(\n message: Warning | str, category: type[Warning], filename: str, lineno: int, line: str | None = None\n) -> str: ...\ndef filterwarnings(\n action: _ActionKind, message: str = \"\", category: type[Warning] = ..., module: str = \"\", lineno: int = 0, append: bool = False\n) -> None: ...\ndef simplefilter(action: _ActionKind, category: type[Warning] = ..., lineno: int = 0, append: bool = False) -> None: ...\ndef resetwarnings() -> None: ...\n\nclass _OptionError(Exception): ...\n\nclass WarningMessage:\n message: Warning | str\n category: type[Warning]\n filename: str\n lineno: int\n file: TextIO | None\n line: str | None\n source: Any | None\n def __init__(\n self,\n message: Warning | str,\n category: type[Warning],\n filename: str,\n lineno: int,\n file: TextIO | None = None,\n line: str | None = None,\n source: Any | None = None,\n ) -> None: ...\n\nclass catch_warnings(Generic[_W]):\n if sys.version_info >= (3, 11):\n @overload\n def __init__(\n self: catch_warnings[None],\n *,\n record: Literal[False] = False,\n module: ModuleType | None = None,\n action: _ActionKind | None = None,\n category: type[Warning] = ...,\n lineno: int = 0,\n append: bool = False,\n ) -> None: ...\n @overload\n def __init__(\n self: catch_warnings[list[WarningMessage]],\n *,\n record: Literal[True],\n module: ModuleType | None = None,\n action: _ActionKind | None = None,\n category: type[Warning] = ...,\n lineno: int = 0,\n append: bool = False,\n ) -> None: ...\n @overload\n def __init__(\n self: catch_warnings[list[WarningMessage] | None],\n *,\n record: bool,\n module: ModuleType | None = None,\n action: _ActionKind | None = None,\n category: type[Warning] = ...,\n lineno: int = 0,\n append: bool = False,\n ) -> None: ...\n else:\n @overload\n def __init__(self: catch_warnings[None], *, record: Literal[False] = False, module: ModuleType | None = None) -> None: ...\n @overload\n def __init__(\n self: catch_warnings[list[WarningMessage]], *, record: Literal[True], module: ModuleType | None = None\n ) -> None: ...\n @overload\n def __init__(\n self: catch_warnings[list[WarningMessage] | None], *, record: bool, module: ModuleType | None = None\n ) -> None: ...\n\n def __enter__(self) -> _W: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> None: ...\n", + "/typeshed/stdlib/wave.pyi": "import sys\nfrom _typeshed import ReadableBuffer, Unused\nfrom typing import IO, Any, BinaryIO, NamedTuple, NoReturn, overload\nfrom typing_extensions import Literal, Self, TypeAlias\n\nif sys.version_info >= (3, 9):\n __all__ = [\"open\", \"Error\", \"Wave_read\", \"Wave_write\"]\nelse:\n __all__ = [\"open\", \"openfp\", \"Error\", \"Wave_read\", \"Wave_write\"]\n\n_File: TypeAlias = str | IO[bytes]\n\nclass Error(Exception): ...\n\nWAVE_FORMAT_PCM: Literal[1]\n\nclass _wave_params(NamedTuple):\n nchannels: int\n sampwidth: int\n framerate: int\n nframes: int\n comptype: str\n compname: str\n\nclass Wave_read:\n def __init__(self, f: _File) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, *args: Unused) -> None: ...\n def getfp(self) -> BinaryIO | None: ...\n def rewind(self) -> None: ...\n def close(self) -> None: ...\n def tell(self) -> int: ...\n def getnchannels(self) -> int: ...\n def getnframes(self) -> int: ...\n def getsampwidth(self) -> int: ...\n def getframerate(self) -> int: ...\n def getcomptype(self) -> str: ...\n def getcompname(self) -> str: ...\n def getparams(self) -> _wave_params: ...\n def getmarkers(self) -> None: ...\n def getmark(self, id: Any) -> NoReturn: ...\n def setpos(self, pos: int) -> None: ...\n def readframes(self, nframes: int) -> bytes: ...\n\nclass Wave_write:\n def __init__(self, f: _File) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, *args: Unused) -> None: ...\n def setnchannels(self, nchannels: int) -> None: ...\n def getnchannels(self) -> int: ...\n def setsampwidth(self, sampwidth: int) -> None: ...\n def getsampwidth(self) -> int: ...\n def setframerate(self, framerate: float) -> None: ...\n def getframerate(self) -> int: ...\n def setnframes(self, nframes: int) -> None: ...\n def getnframes(self) -> int: ...\n def setcomptype(self, comptype: str, compname: str) -> None: ...\n def getcomptype(self) -> str: ...\n def getcompname(self) -> str: ...\n def setparams(self, params: _wave_params | tuple[int, int, int, int, str, str]) -> None: ...\n def getparams(self) -> _wave_params: ...\n def setmark(self, id: Any, pos: Any, name: Any) -> NoReturn: ...\n def getmark(self, id: Any) -> NoReturn: ...\n def getmarkers(self) -> None: ...\n def tell(self) -> int: ...\n def writeframesraw(self, data: ReadableBuffer) -> None: ...\n def writeframes(self, data: ReadableBuffer) -> None: ...\n def close(self) -> None: ...\n\n@overload\ndef open(f: _File, mode: Literal[\"r\", \"rb\"]) -> Wave_read: ...\n@overload\ndef open(f: _File, mode: Literal[\"w\", \"wb\"]) -> Wave_write: ...\n@overload\ndef open(f: _File, mode: str | None = None) -> Any: ...\n\nif sys.version_info < (3, 9):\n openfp = open\n", + "/typeshed/stdlib/weakref.pyi": "import sys\nfrom _typeshed import SupportsKeysAndGetItem\nfrom _weakref import (\n CallableProxyType as CallableProxyType,\n ProxyType as ProxyType,\n ReferenceType as ReferenceType,\n getweakrefcount as getweakrefcount,\n getweakrefs as getweakrefs,\n proxy as proxy,\n ref as ref,\n)\nfrom _weakrefset import WeakSet as WeakSet\nfrom collections.abc import Callable, Iterable, Iterator, Mapping, MutableMapping\nfrom typing import Any, Generic, TypeVar, overload\nfrom typing_extensions import ParamSpec, Self\n\n__all__ = [\n \"ref\",\n \"proxy\",\n \"getweakrefcount\",\n \"getweakrefs\",\n \"WeakKeyDictionary\",\n \"ReferenceType\",\n \"ProxyType\",\n \"CallableProxyType\",\n \"ProxyTypes\",\n \"WeakValueDictionary\",\n \"WeakSet\",\n \"WeakMethod\",\n \"finalize\",\n]\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_CallableT = TypeVar(\"_CallableT\", bound=Callable[..., Any])\n_P = ParamSpec(\"_P\")\n\nProxyTypes: tuple[type[Any], ...]\n\nclass WeakMethod(ref[_CallableT]):\n def __new__(cls, meth: _CallableT, callback: Callable[[Self], object] | None = None) -> Self: ...\n def __call__(self) -> _CallableT | None: ...\n def __eq__(self, other: object) -> bool: ...\n def __ne__(self, other: object) -> bool: ...\n def __hash__(self) -> int: ...\n\nclass WeakValueDictionary(MutableMapping[_KT, _VT]):\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self: WeakValueDictionary[_KT, _VT], __other: Mapping[_KT, _VT] | Iterable[tuple[_KT, _VT]]) -> None: ...\n @overload\n def __init__(\n self: WeakValueDictionary[str, _VT], __other: Mapping[str, _VT] | Iterable[tuple[str, _VT]] = (), **kwargs: _VT\n ) -> None: ...\n def __len__(self) -> int: ...\n def __getitem__(self, key: _KT) -> _VT: ...\n def __setitem__(self, key: _KT, value: _VT) -> None: ...\n def __delitem__(self, key: _KT) -> None: ...\n def __contains__(self, key: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def copy(self) -> WeakValueDictionary[_KT, _VT]: ...\n __copy__ = copy\n def __deepcopy__(self, memo: Any) -> Self: ...\n @overload\n def get(self, key: _KT, default: None = None) -> _VT | None: ...\n @overload\n def get(self, key: _KT, default: _T) -> _VT | _T: ...\n # These are incompatible with Mapping\n def keys(self) -> Iterator[_KT]: ... # type: ignore[override]\n def values(self) -> Iterator[_VT]: ... # type: ignore[override]\n def items(self) -> Iterator[tuple[_KT, _VT]]: ... # type: ignore[override]\n def itervaluerefs(self) -> Iterator[KeyedRef[_KT, _VT]]: ...\n def valuerefs(self) -> list[KeyedRef[_KT, _VT]]: ...\n def setdefault(self, key: _KT, default: _VT) -> _VT: ... # type: ignore[override]\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: _VT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: _T) -> _VT | _T: ...\n if sys.version_info >= (3, 9):\n def __or__(self, other: Mapping[_T1, _T2]) -> WeakValueDictionary[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, other: Mapping[_T1, _T2]) -> WeakValueDictionary[_KT | _T1, _VT | _T2]: ...\n # WeakValueDictionary.__ior__ should be kept roughly in line with MutableMapping.update()\n @overload # type: ignore[misc]\n def __ior__(self, other: SupportsKeysAndGetItem[_KT, _VT]) -> Self: ...\n @overload\n def __ior__(self, other: Iterable[tuple[_KT, _VT]]) -> Self: ...\n\nclass KeyedRef(ref[_T], Generic[_KT, _T]):\n key: _KT\n # This __new__ method uses a non-standard name for the \"cls\" parameter\n def __new__(type, ob: _T, callback: Callable[[_T], Any], key: _KT) -> Self: ...\n def __init__(self, ob: _T, callback: Callable[[_T], Any], key: _KT) -> None: ...\n\nclass WeakKeyDictionary(MutableMapping[_KT, _VT]):\n @overload\n def __init__(self, dict: None = None) -> None: ...\n @overload\n def __init__(self, dict: Mapping[_KT, _VT] | Iterable[tuple[_KT, _VT]]) -> None: ...\n def __len__(self) -> int: ...\n def __getitem__(self, key: _KT) -> _VT: ...\n def __setitem__(self, key: _KT, value: _VT) -> None: ...\n def __delitem__(self, key: _KT) -> None: ...\n def __contains__(self, key: object) -> bool: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def copy(self) -> WeakKeyDictionary[_KT, _VT]: ...\n __copy__ = copy\n def __deepcopy__(self, memo: Any) -> Self: ...\n @overload\n def get(self, key: _KT, default: None = None) -> _VT | None: ...\n @overload\n def get(self, key: _KT, default: _T) -> _VT | _T: ...\n # These are incompatible with Mapping\n def keys(self) -> Iterator[_KT]: ... # type: ignore[override]\n def values(self) -> Iterator[_VT]: ... # type: ignore[override]\n def items(self) -> Iterator[tuple[_KT, _VT]]: ... # type: ignore[override]\n def keyrefs(self) -> list[ref[_KT]]: ...\n # Keep WeakKeyDictionary.setdefault in line with MutableMapping.setdefault, modulo positional-only differences\n @overload\n def setdefault(self: WeakKeyDictionary[_KT, _VT | None], key: _KT, default: None = None) -> _VT: ...\n @overload\n def setdefault(self, key: _KT, default: _VT) -> _VT: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: _VT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: _T) -> _VT | _T: ...\n if sys.version_info >= (3, 9):\n def __or__(self, other: Mapping[_T1, _T2]) -> WeakKeyDictionary[_KT | _T1, _VT | _T2]: ...\n def __ror__(self, other: Mapping[_T1, _T2]) -> WeakKeyDictionary[_KT | _T1, _VT | _T2]: ...\n # WeakKeyDictionary.__ior__ should be kept roughly in line with MutableMapping.update()\n @overload # type: ignore[misc]\n def __ior__(self, other: SupportsKeysAndGetItem[_KT, _VT]) -> Self: ...\n @overload\n def __ior__(self, other: Iterable[tuple[_KT, _VT]]) -> Self: ...\n\nclass finalize: # TODO: This is a good candidate for to be a `Generic[_P, _T]` class\n def __init__(self, __obj: object, __func: Callable[_P, Any], *args: _P.args, **kwargs: _P.kwargs) -> None: ...\n def __call__(self, _: Any = None) -> Any | None: ...\n def detach(self) -> tuple[Any, Any, tuple[Any, ...], dict[str, Any]] | None: ...\n def peek(self) -> tuple[Any, Any, tuple[Any, ...], dict[str, Any]] | None: ...\n @property\n def alive(self) -> bool: ...\n atexit: bool\n", + "/typeshed/stdlib/webbrowser.pyi": "import sys\nfrom abc import abstractmethod\nfrom collections.abc import Callable, Sequence\nfrom typing_extensions import Literal\n\n__all__ = [\"Error\", \"open\", \"open_new\", \"open_new_tab\", \"get\", \"register\"]\n\nclass Error(Exception): ...\n\ndef register(\n name: str, klass: Callable[[], BaseBrowser] | None, instance: BaseBrowser | None = None, *, preferred: bool = False\n) -> None: ...\ndef get(using: str | None = None) -> BaseBrowser: ...\ndef open(url: str, new: int = 0, autoraise: bool = True) -> bool: ...\ndef open_new(url: str) -> bool: ...\ndef open_new_tab(url: str) -> bool: ...\n\nclass BaseBrowser:\n args: list[str]\n name: str\n basename: str\n def __init__(self, name: str = \"\") -> None: ...\n @abstractmethod\n def open(self, url: str, new: int = 0, autoraise: bool = True) -> bool: ...\n def open_new(self, url: str) -> bool: ...\n def open_new_tab(self, url: str) -> bool: ...\n\nclass GenericBrowser(BaseBrowser):\n def __init__(self, name: str | Sequence[str]) -> None: ...\n def open(self, url: str, new: int = 0, autoraise: bool = True) -> bool: ...\n\nclass BackgroundBrowser(GenericBrowser): ...\n\nclass UnixBrowser(BaseBrowser):\n def open(self, url: str, new: Literal[0, 1, 2] = 0, autoraise: bool = True) -> bool: ... # type: ignore[override]\n raise_opts: list[str] | None\n background: bool\n redirect_stdout: bool\n remote_args: list[str]\n remote_action: str\n remote_action_newwin: str\n remote_action_newtab: str\n\nclass Mozilla(UnixBrowser): ...\n\nif sys.version_info < (3, 12):\n class Galeon(UnixBrowser):\n raise_opts: list[str]\n\n class Grail(BaseBrowser):\n def open(self, url: str, new: int = 0, autoraise: bool = True) -> bool: ...\n\nclass Chrome(UnixBrowser): ...\nclass Opera(UnixBrowser): ...\nclass Elinks(UnixBrowser): ...\n\nclass Konqueror(BaseBrowser):\n def open(self, url: str, new: int = 0, autoraise: bool = True) -> bool: ...\n\nif sys.platform == \"win32\":\n class WindowsDefault(BaseBrowser):\n def open(self, url: str, new: int = 0, autoraise: bool = True) -> bool: ...\n\nif sys.platform == \"darwin\":\n class MacOSX(BaseBrowser):\n def open(self, url: str, new: int = 0, autoraise: bool = True) -> bool: ...\n\n class MacOSXOSAScript(BaseBrowser): # In runtime this class does not have `name` and `basename`\n if sys.version_info >= (3, 11):\n def __init__(self, name: str = \"default\") -> None: ...\n else:\n def __init__(self, name: str) -> None: ...\n\n def open(self, url: str, new: int = 0, autoraise: bool = True) -> bool: ...\n", + "/typeshed/stdlib/xdrlib.pyi": "from collections.abc import Callable, Sequence\nfrom typing import TypeVar\n\n__all__ = [\"Error\", \"Packer\", \"Unpacker\", \"ConversionError\"]\n\n_T = TypeVar(\"_T\")\n\nclass Error(Exception):\n msg: str\n def __init__(self, msg: str) -> None: ...\n\nclass ConversionError(Error): ...\n\nclass Packer:\n def reset(self) -> None: ...\n def get_buffer(self) -> bytes: ...\n def get_buf(self) -> bytes: ...\n def pack_uint(self, x: int) -> None: ...\n def pack_int(self, x: int) -> None: ...\n def pack_enum(self, x: int) -> None: ...\n def pack_bool(self, x: bool) -> None: ...\n def pack_uhyper(self, x: int) -> None: ...\n def pack_hyper(self, x: int) -> None: ...\n def pack_float(self, x: float) -> None: ...\n def pack_double(self, x: float) -> None: ...\n def pack_fstring(self, n: int, s: bytes) -> None: ...\n def pack_fopaque(self, n: int, s: bytes) -> None: ...\n def pack_string(self, s: bytes) -> None: ...\n def pack_opaque(self, s: bytes) -> None: ...\n def pack_bytes(self, s: bytes) -> None: ...\n def pack_list(self, list: Sequence[_T], pack_item: Callable[[_T], object]) -> None: ...\n def pack_farray(self, n: int, list: Sequence[_T], pack_item: Callable[[_T], object]) -> None: ...\n def pack_array(self, list: Sequence[_T], pack_item: Callable[[_T], object]) -> None: ...\n\nclass Unpacker:\n def __init__(self, data: bytes) -> None: ...\n def reset(self, data: bytes) -> None: ...\n def get_position(self) -> int: ...\n def set_position(self, position: int) -> None: ...\n def get_buffer(self) -> bytes: ...\n def done(self) -> None: ...\n def unpack_uint(self) -> int: ...\n def unpack_int(self) -> int: ...\n def unpack_enum(self) -> int: ...\n def unpack_bool(self) -> bool: ...\n def unpack_uhyper(self) -> int: ...\n def unpack_hyper(self) -> int: ...\n def unpack_float(self) -> float: ...\n def unpack_double(self) -> float: ...\n def unpack_fstring(self, n: int) -> bytes: ...\n def unpack_fopaque(self, n: int) -> bytes: ...\n def unpack_string(self) -> bytes: ...\n def unpack_opaque(self) -> bytes: ...\n def unpack_bytes(self) -> bytes: ...\n def unpack_list(self, unpack_item: Callable[[], _T]) -> list[_T]: ...\n def unpack_farray(self, n: int, unpack_item: Callable[[], _T]) -> list[_T]: ...\n def unpack_array(self, unpack_item: Callable[[], _T]) -> list[_T]: ...\n", + "/typeshed/stdlib/xxlimited.pyi": "import sys\nfrom typing import Any\nfrom typing_extensions import final\n\nclass Str: ...\n\n@final\nclass Xxo:\n def demo(self) -> None: ...\n if sys.version_info >= (3, 11) and sys.platform != \"win32\":\n x_exports: int\n\ndef foo(__i: int, __j: int) -> Any: ...\ndef new() -> Xxo: ...\n\nif sys.version_info >= (3, 10):\n class Error: ...\n\nelse:\n class error: ...\n class Null: ...\n\n def roj(__b: Any) -> None: ...\n", + "/typeshed/stdlib/zipapp.pyi": "from collections.abc import Callable\nfrom pathlib import Path\nfrom typing import BinaryIO\nfrom typing_extensions import TypeAlias\n\n__all__ = [\"ZipAppError\", \"create_archive\", \"get_interpreter\"]\n\n_Path: TypeAlias = str | Path | BinaryIO\n\nclass ZipAppError(ValueError): ...\n\ndef create_archive(\n source: _Path,\n target: _Path | None = None,\n interpreter: str | None = None,\n main: str | None = None,\n filter: Callable[[Path], bool] | None = None,\n compressed: bool = False,\n) -> None: ...\ndef get_interpreter(archive: _Path) -> str: ...\n", + "/typeshed/stdlib/zipfile.pyi": "import io\nimport sys\nfrom _typeshed import SizedBuffer, StrOrBytesPath, StrPath\nfrom collections.abc import Callable, Iterable, Iterator\nfrom io import TextIOWrapper\nfrom os import PathLike\nfrom types import TracebackType\nfrom typing import IO, Protocol, overload\nfrom typing_extensions import Literal, Self, TypeAlias\n\n__all__ = [\n \"BadZipFile\",\n \"BadZipfile\",\n \"error\",\n \"ZIP_STORED\",\n \"ZIP_DEFLATED\",\n \"ZIP_BZIP2\",\n \"ZIP_LZMA\",\n \"is_zipfile\",\n \"ZipInfo\",\n \"ZipFile\",\n \"PyZipFile\",\n \"LargeZipFile\",\n]\n\nif sys.version_info >= (3, 8):\n __all__ += [\"Path\"]\n\n_DateTuple: TypeAlias = tuple[int, int, int, int, int, int]\n_ReadWriteMode: TypeAlias = Literal[\"r\", \"w\"]\n_ReadWriteBinaryMode: TypeAlias = Literal[\"r\", \"w\", \"rb\", \"wb\"]\n_ZipFileMode: TypeAlias = Literal[\"r\", \"w\", \"x\", \"a\"]\n\nclass BadZipFile(Exception): ...\n\nBadZipfile = BadZipFile\nerror = BadZipfile\n\nclass LargeZipFile(Exception): ...\n\nclass _ZipStream(Protocol):\n def read(self, __n: int) -> bytes: ...\n # The following methods are optional:\n # def seekable(self) -> bool: ...\n # def tell(self) -> int: ...\n # def seek(self, __n: int) -> object: ...\n\n# Stream shape as required by _EndRecData() and _EndRecData64().\nclass _SupportsReadSeekTell(Protocol):\n def read(self, __n: int = ...) -> bytes: ...\n def seek(self, __cookie: int, __whence: int) -> object: ...\n def tell(self) -> int: ...\n\nclass _ClosableZipStream(_ZipStream, Protocol):\n def close(self) -> object: ...\n\nclass ZipExtFile(io.BufferedIOBase):\n MAX_N: int\n MIN_READ_SIZE: int\n MAX_SEEK_READ: int\n newlines: list[bytes] | None\n mode: _ReadWriteMode\n name: str\n @overload\n def __init__(\n self, fileobj: _ClosableZipStream, mode: _ReadWriteMode, zipinfo: ZipInfo, pwd: bytes | None, close_fileobj: Literal[True]\n ) -> None: ...\n @overload\n def __init__(\n self,\n fileobj: _ClosableZipStream,\n mode: _ReadWriteMode,\n zipinfo: ZipInfo,\n pwd: bytes | None = None,\n *,\n close_fileobj: Literal[True],\n ) -> None: ...\n @overload\n def __init__(\n self,\n fileobj: _ZipStream,\n mode: _ReadWriteMode,\n zipinfo: ZipInfo,\n pwd: bytes | None = None,\n close_fileobj: Literal[False] = False,\n ) -> None: ...\n def read(self, n: int | None = -1) -> bytes: ...\n def readline(self, limit: int = -1) -> bytes: ... # type: ignore[override]\n def peek(self, n: int = 1) -> bytes: ...\n def read1(self, n: int | None) -> bytes: ... # type: ignore[override]\n def seek(self, offset: int, whence: int = 0) -> int: ...\n\nclass _Writer(Protocol):\n def write(self, __s: str) -> object: ...\n\nclass ZipFile:\n filename: str | None\n debug: int\n comment: bytes\n filelist: list[ZipInfo]\n fp: IO[bytes] | None\n NameToInfo: dict[str, ZipInfo]\n start_dir: int # undocumented\n compression: int # undocumented\n compresslevel: int | None # undocumented\n mode: _ZipFileMode # undocumented\n pwd: bytes | None # undocumented\n if sys.version_info >= (3, 11):\n @overload\n def __init__(\n self,\n file: StrPath | IO[bytes],\n mode: Literal[\"r\"] = \"r\",\n compression: int = 0,\n allowZip64: bool = True,\n compresslevel: int | None = None,\n *,\n strict_timestamps: bool = True,\n metadata_encoding: str | None,\n ) -> None: ...\n @overload\n def __init__(\n self,\n file: StrPath | IO[bytes],\n mode: _ZipFileMode = \"r\",\n compression: int = 0,\n allowZip64: bool = True,\n compresslevel: int | None = None,\n *,\n strict_timestamps: bool = True,\n metadata_encoding: None = None,\n ) -> None: ...\n elif sys.version_info >= (3, 8):\n def __init__(\n self,\n file: StrPath | IO[bytes],\n mode: _ZipFileMode = \"r\",\n compression: int = 0,\n allowZip64: bool = True,\n compresslevel: int | None = None,\n *,\n strict_timestamps: bool = True,\n ) -> None: ...\n else:\n def __init__(\n self,\n file: StrPath | IO[bytes],\n mode: _ZipFileMode = \"r\",\n compression: int = 0,\n allowZip64: bool = True,\n compresslevel: int | None = None,\n ) -> None: ...\n\n def __enter__(self) -> Self: ...\n def __exit__(\n self, type: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None\n ) -> None: ...\n def close(self) -> None: ...\n def getinfo(self, name: str) -> ZipInfo: ...\n def infolist(self) -> list[ZipInfo]: ...\n def namelist(self) -> list[str]: ...\n def open(\n self, name: str | ZipInfo, mode: _ReadWriteMode = \"r\", pwd: bytes | None = None, *, force_zip64: bool = False\n ) -> IO[bytes]: ...\n def extract(self, member: str | ZipInfo, path: StrPath | None = None, pwd: bytes | None = None) -> str: ...\n def extractall(\n self, path: StrPath | None = None, members: Iterable[str | ZipInfo] | None = None, pwd: bytes | None = None\n ) -> None: ...\n def printdir(self, file: _Writer | None = None) -> None: ...\n def setpassword(self, pwd: bytes) -> None: ...\n def read(self, name: str | ZipInfo, pwd: bytes | None = None) -> bytes: ...\n def testzip(self) -> str | None: ...\n def write(\n self,\n filename: StrPath,\n arcname: StrPath | None = None,\n compress_type: int | None = None,\n compresslevel: int | None = None,\n ) -> None: ...\n def writestr(\n self,\n zinfo_or_arcname: str | ZipInfo,\n data: SizedBuffer | str,\n compress_type: int | None = None,\n compresslevel: int | None = None,\n ) -> None: ...\n if sys.version_info >= (3, 11):\n def mkdir(self, zinfo_or_directory_name: str | ZipInfo, mode: int = 0o777) -> None: ...\n\nclass PyZipFile(ZipFile):\n def __init__(\n self, file: str | IO[bytes], mode: _ZipFileMode = \"r\", compression: int = 0, allowZip64: bool = True, optimize: int = -1\n ) -> None: ...\n def writepy(self, pathname: str, basename: str = \"\", filterfunc: Callable[[str], bool] | None = None) -> None: ...\n\nclass ZipInfo:\n filename: str\n date_time: _DateTuple\n compress_type: int\n comment: bytes\n extra: bytes\n create_system: int\n create_version: int\n extract_version: int\n reserved: int\n flag_bits: int\n volume: int\n internal_attr: int\n external_attr: int\n header_offset: int\n CRC: int\n compress_size: int\n file_size: int\n orig_filename: str # undocumented\n def __init__(self, filename: str = \"NoName\", date_time: _DateTuple = (1980, 1, 1, 0, 0, 0)) -> None: ...\n if sys.version_info >= (3, 8):\n @classmethod\n def from_file(cls, filename: StrPath, arcname: StrPath | None = None, *, strict_timestamps: bool = True) -> Self: ...\n else:\n @classmethod\n def from_file(cls, filename: StrPath, arcname: StrPath | None = None) -> Self: ...\n\n def is_dir(self) -> bool: ...\n def FileHeader(self, zip64: bool | None = None) -> bytes: ...\n\nif sys.version_info >= (3, 8):\n class CompleteDirs(ZipFile):\n def resolve_dir(self, name: str) -> str: ...\n @overload\n @classmethod\n def make(cls, source: ZipFile) -> CompleteDirs: ...\n @overload\n @classmethod\n def make(cls: type[Self], source: StrPath | IO[bytes]) -> Self: ...\n\n class Path:\n root: CompleteDirs\n def __init__(self, root: ZipFile | StrPath | IO[bytes], at: str = \"\") -> None: ...\n @property\n def name(self) -> str: ...\n @property\n def parent(self) -> PathLike[str]: ... # undocumented\n if sys.version_info >= (3, 10):\n @property\n def filename(self) -> PathLike[str]: ... # undocumented\n if sys.version_info >= (3, 11):\n @property\n def suffix(self) -> str: ...\n @property\n def suffixes(self) -> list[str]: ...\n @property\n def stem(self) -> str: ...\n\n if sys.version_info >= (3, 9):\n @overload\n def open(\n self,\n mode: Literal[\"r\", \"w\"] = \"r\",\n encoding: str | None = None,\n errors: str | None = None,\n newline: str | None = None,\n line_buffering: bool = ...,\n write_through: bool = ...,\n *,\n pwd: bytes | None = None,\n ) -> TextIOWrapper: ...\n @overload\n def open(self, mode: Literal[\"rb\", \"wb\"], *, pwd: bytes | None = None) -> IO[bytes]: ...\n else:\n def open(\n self, mode: _ReadWriteBinaryMode = \"r\", pwd: bytes | None = None, *, force_zip64: bool = False\n ) -> IO[bytes]: ...\n\n if sys.version_info >= (3, 10):\n def iterdir(self) -> Iterator[Self]: ...\n else:\n def iterdir(self) -> Iterator[Path]: ...\n\n def is_dir(self) -> bool: ...\n def is_file(self) -> bool: ...\n def exists(self) -> bool: ...\n def read_text(\n self,\n encoding: str | None = ...,\n errors: str | None = ...,\n newline: str | None = ...,\n line_buffering: bool = ...,\n write_through: bool = ...,\n ) -> str: ...\n def read_bytes(self) -> bytes: ...\n if sys.version_info >= (3, 10):\n def joinpath(self, *other: StrPath) -> Path: ...\n else:\n def joinpath(self, add: StrPath) -> Path: ... # undocumented\n if sys.version_info >= (3, 12):\n def glob(self, pattern: str) -> Iterator[Self]: ...\n def rglob(self, pattern: str) -> Iterator[Self]: ...\n def is_symlink(self) -> Literal[False]: ...\n def relative_to(self, other: Path, *extra: StrPath) -> str: ...\n def match(self, path_pattern: str) -> bool: ...\n def __eq__(self, other: object) -> bool: ...\n def __hash__(self) -> int: ...\n\n def __truediv__(self, add: StrPath) -> Path: ...\n\ndef is_zipfile(filename: StrOrBytesPath | _SupportsReadSeekTell) -> bool: ...\n\nZIP_STORED: int\nZIP_DEFLATED: int\nZIP64_LIMIT: int\nZIP_FILECOUNT_LIMIT: int\nZIP_MAX_COMMENT: int\nZIP_BZIP2: int\nZIP_LZMA: int\n", + "/typeshed/stdlib/zipimport.pyi": "import sys\nfrom _typeshed import StrOrBytesPath\nfrom importlib.abc import ResourceReader\nfrom importlib.machinery import ModuleSpec\nfrom types import CodeType, ModuleType\n\nif sys.version_info >= (3, 8):\n __all__ = [\"ZipImportError\", \"zipimporter\"]\n\nclass ZipImportError(ImportError): ...\n\nclass zipimporter:\n archive: str\n prefix: str\n if sys.version_info >= (3, 11):\n def __init__(self, path: str) -> None: ...\n else:\n def __init__(self, path: StrOrBytesPath) -> None: ...\n\n if sys.version_info < (3, 12):\n def find_loader(self, fullname: str, path: str | None = None) -> tuple[zipimporter | None, list[str]]: ... # undocumented\n def find_module(self, fullname: str, path: str | None = None) -> zipimporter | None: ...\n\n def get_code(self, fullname: str) -> CodeType: ...\n def get_data(self, pathname: str) -> bytes: ...\n def get_filename(self, fullname: str) -> str: ...\n def get_resource_reader(self, fullname: str) -> ResourceReader | None: ... # undocumented\n def get_source(self, fullname: str) -> str | None: ...\n def is_package(self, fullname: str) -> bool: ...\n def load_module(self, fullname: str) -> ModuleType: ...\n if sys.version_info >= (3, 10):\n def find_spec(self, fullname: str, target: ModuleType | None = None) -> ModuleSpec | None: ...\n def invalidate_caches(self) -> None: ...\n", + "/typeshed/stdlib/zlib.pyi": "import sys\nfrom _typeshed import ReadableBuffer\nfrom typing_extensions import Literal\n\nDEFLATED: Literal[8]\nDEF_MEM_LEVEL: int # can change\nDEF_BUF_SIZE: Literal[16384]\nMAX_WBITS: int\nZLIB_VERSION: str # can change\nZLIB_RUNTIME_VERSION: str # can change\nZ_NO_COMPRESSION: Literal[0]\nZ_PARTIAL_FLUSH: Literal[1]\nZ_BEST_COMPRESSION: Literal[9]\nZ_BEST_SPEED: Literal[1]\nZ_BLOCK: Literal[5]\nZ_DEFAULT_COMPRESSION: Literal[-1]\nZ_DEFAULT_STRATEGY: Literal[0]\nZ_FILTERED: Literal[1]\nZ_FINISH: Literal[4]\nZ_FIXED: Literal[4]\nZ_FULL_FLUSH: Literal[3]\nZ_HUFFMAN_ONLY: Literal[2]\nZ_NO_FLUSH: Literal[0]\nZ_RLE: Literal[3]\nZ_SYNC_FLUSH: Literal[2]\nZ_TREES: Literal[6]\n\nclass error(Exception): ...\n\nclass _Compress:\n def compress(self, data: ReadableBuffer) -> bytes: ...\n def flush(self, mode: int = ...) -> bytes: ...\n def copy(self) -> _Compress: ...\n\nclass _Decompress:\n unused_data: bytes\n unconsumed_tail: bytes\n eof: bool\n def decompress(self, data: ReadableBuffer, max_length: int = ...) -> bytes: ...\n def flush(self, length: int = ...) -> bytes: ...\n def copy(self) -> _Decompress: ...\n\ndef adler32(__data: ReadableBuffer, __value: int = 1) -> int: ...\n\nif sys.version_info >= (3, 11):\n def compress(__data: ReadableBuffer, level: int = -1, wbits: int = 15) -> bytes: ...\n\nelse:\n def compress(__data: ReadableBuffer, level: int = -1) -> bytes: ...\n\ndef compressobj(\n level: int = -1, method: int = 8, wbits: int = 15, memLevel: int = 8, strategy: int = 0, zdict: ReadableBuffer | None = None\n) -> _Compress: ...\ndef crc32(__data: ReadableBuffer, __value: int = 0) -> int: ...\ndef decompress(__data: ReadableBuffer, wbits: int = 15, bufsize: int = 16384) -> bytes: ...\ndef decompressobj(wbits: int = 15, zdict: ReadableBuffer = b\"\") -> _Decompress: ...\n", + "/typeshed/stdlib/_typeshed/README.md": "# Utility types for typeshed\n\nThis package and its submodules contains various common types used by\ntypeshed. It can also be used by packages outside typeshed, but beware\nthe API stability guarantees below.\n\n## Usage\n\nThe `_typeshed` package and its types do not exist at runtime, but can be\nused freely in stubs (`.pyi`) files. To import the types from this package in\nimplementation (`.py`) files, use the following construct:\n\n```python\nfrom typing import TYPE_CHECKING\n\nif TYPE_CHECKING:\n from _typeshed import ...\n```\n\nTypes can then be used in annotations by either quoting them or\nusing:\n\n```python\nfrom __future__ import annotations\n```\n\n## API Stability\n\nYou can use this package and its submodules outside of typeshed, but we\nguarantee only limited API stability. Items marked as \"stable\" will not be\nremoved or changed in an incompatible way for at least one year.\nBefore making such a change, the \"stable\" moniker will be removed\nand we will mark the type in question as deprecated. No guarantees\nare made about unmarked types.\n", + "/typeshed/stdlib/_typeshed/__init__.pyi": "# Utility types for typeshed\n#\n# See the README.md file in this directory for more information.\n\nimport sys\nfrom collections.abc import Awaitable, Callable, Iterable, Sequence, Set as AbstractSet, Sized\nfrom dataclasses import Field\nfrom os import PathLike\nfrom types import FrameType, TracebackType\nfrom typing import Any, AnyStr, ClassVar, Generic, Protocol, SupportsFloat, SupportsInt, TypeVar, overload\nfrom typing_extensions import Buffer, Final, Literal, LiteralString, SupportsIndex, TypeAlias, final\n\n_KT = TypeVar(\"_KT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_KT_contra = TypeVar(\"_KT_contra\", contravariant=True)\n_VT = TypeVar(\"_VT\")\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T_contra = TypeVar(\"_T_contra\", contravariant=True)\n\n# Use for \"self\" annotations:\n# def __enter__(self: Self) -> Self: ...\nSelf = TypeVar(\"Self\") # noqa: Y001\n\n# covariant version of typing.AnyStr, useful for protocols\nAnyStr_co = TypeVar(\"AnyStr_co\", str, bytes, covariant=True) # noqa: Y001\n\n# For partially known annotations. Usually, fields where type annotations\n# haven't been added are left unannotated, but in some situations this\n# isn't possible or a type is already partially known. In cases like these,\n# use Incomplete instead of Any as a marker. For example, use\n# \"Incomplete | None\" instead of \"Any | None\".\nIncomplete: TypeAlias = Any\n\n# To describe a function parameter that is unused and will work with anything.\nUnused: TypeAlias = object\n\n# Used to mark arguments that default to a sentinel value. This prevents\n# stubtest from complaining about the default value not matching.\n#\n# def foo(x: int | None = sentinel) -> None: ...\n#\n# In cases where the sentinel object is exported and can be used by user code,\n# a construct like this is better:\n#\n# _SentinelType = NewType(\"_SentinelType\", object)\n# sentinel: _SentinelType\n# def foo(x: int | None | _SentinelType = ...) -> None: ...\nsentinel: Any\n\n# stable\nclass IdentityFunction(Protocol):\n def __call__(self, __x: _T) -> _T: ...\n\n# stable\nclass SupportsNext(Protocol[_T_co]):\n def __next__(self) -> _T_co: ...\n\n# stable\nclass SupportsAnext(Protocol[_T_co]):\n def __anext__(self) -> Awaitable[_T_co]: ...\n\n# Comparison protocols\n\nclass SupportsDunderLT(Protocol[_T_contra]):\n def __lt__(self, __other: _T_contra) -> bool: ...\n\nclass SupportsDunderGT(Protocol[_T_contra]):\n def __gt__(self, __other: _T_contra) -> bool: ...\n\nclass SupportsDunderLE(Protocol[_T_contra]):\n def __le__(self, __other: _T_contra) -> bool: ...\n\nclass SupportsDunderGE(Protocol[_T_contra]):\n def __ge__(self, __other: _T_contra) -> bool: ...\n\nclass SupportsAllComparisons(\n SupportsDunderLT[Any], SupportsDunderGT[Any], SupportsDunderLE[Any], SupportsDunderGE[Any], Protocol\n): ...\n\nSupportsRichComparison: TypeAlias = SupportsDunderLT[Any] | SupportsDunderGT[Any]\nSupportsRichComparisonT = TypeVar(\"SupportsRichComparisonT\", bound=SupportsRichComparison) # noqa: Y001\n\n# Dunder protocols\n\nclass SupportsAdd(Protocol[_T_contra, _T_co]):\n def __add__(self, __x: _T_contra) -> _T_co: ...\n\nclass SupportsRAdd(Protocol[_T_contra, _T_co]):\n def __radd__(self, __x: _T_contra) -> _T_co: ...\n\nclass SupportsSub(Protocol[_T_contra, _T_co]):\n def __sub__(self, __x: _T_contra) -> _T_co: ...\n\nclass SupportsRSub(Protocol[_T_contra, _T_co]):\n def __rsub__(self, __x: _T_contra) -> _T_co: ...\n\nclass SupportsDivMod(Protocol[_T_contra, _T_co]):\n def __divmod__(self, __other: _T_contra) -> _T_co: ...\n\nclass SupportsRDivMod(Protocol[_T_contra, _T_co]):\n def __rdivmod__(self, __other: _T_contra) -> _T_co: ...\n\n# This protocol is generic over the iterator type, while Iterable is\n# generic over the type that is iterated over.\nclass SupportsIter(Protocol[_T_co]):\n def __iter__(self) -> _T_co: ...\n\n# This protocol is generic over the iterator type, while AsyncIterable is\n# generic over the type that is iterated over.\nclass SupportsAiter(Protocol[_T_co]):\n def __aiter__(self) -> _T_co: ...\n\nclass SupportsLenAndGetItem(Protocol[_T_co]):\n def __len__(self) -> int: ...\n def __getitem__(self, __k: int) -> _T_co: ...\n\nclass SupportsTrunc(Protocol):\n def __trunc__(self) -> int: ...\n\n# Mapping-like protocols\n\n# stable\nclass SupportsItems(Protocol[_KT_co, _VT_co]):\n def items(self) -> AbstractSet[tuple[_KT_co, _VT_co]]: ...\n\n# stable\nclass SupportsKeysAndGetItem(Protocol[_KT, _VT_co]):\n def keys(self) -> Iterable[_KT]: ...\n def __getitem__(self, __key: _KT) -> _VT_co: ...\n\n# stable\nclass SupportsGetItem(Protocol[_KT_contra, _VT_co]):\n def __contains__(self, __x: Any) -> bool: ...\n def __getitem__(self, __key: _KT_contra) -> _VT_co: ...\n\n# stable\nclass SupportsItemAccess(SupportsGetItem[_KT_contra, _VT], Protocol[_KT_contra, _VT]):\n def __setitem__(self, __key: _KT_contra, __value: _VT) -> None: ...\n def __delitem__(self, __key: _KT_contra) -> None: ...\n\nStrPath: TypeAlias = str | PathLike[str] # stable\nBytesPath: TypeAlias = bytes | PathLike[bytes] # stable\nGenericPath: TypeAlias = AnyStr | PathLike[AnyStr]\nStrOrBytesPath: TypeAlias = str | bytes | PathLike[str] | PathLike[bytes] # stable\n\nOpenTextModeUpdating: TypeAlias = Literal[\n \"r+\",\n \"+r\",\n \"rt+\",\n \"r+t\",\n \"+rt\",\n \"tr+\",\n \"t+r\",\n \"+tr\",\n \"w+\",\n \"+w\",\n \"wt+\",\n \"w+t\",\n \"+wt\",\n \"tw+\",\n \"t+w\",\n \"+tw\",\n \"a+\",\n \"+a\",\n \"at+\",\n \"a+t\",\n \"+at\",\n \"ta+\",\n \"t+a\",\n \"+ta\",\n \"x+\",\n \"+x\",\n \"xt+\",\n \"x+t\",\n \"+xt\",\n \"tx+\",\n \"t+x\",\n \"+tx\",\n]\nOpenTextModeWriting: TypeAlias = Literal[\"w\", \"wt\", \"tw\", \"a\", \"at\", \"ta\", \"x\", \"xt\", \"tx\"]\nOpenTextModeReading: TypeAlias = Literal[\"r\", \"rt\", \"tr\", \"U\", \"rU\", \"Ur\", \"rtU\", \"rUt\", \"Urt\", \"trU\", \"tUr\", \"Utr\"]\nOpenTextMode: TypeAlias = OpenTextModeUpdating | OpenTextModeWriting | OpenTextModeReading\nOpenBinaryModeUpdating: TypeAlias = Literal[\n \"rb+\",\n \"r+b\",\n \"+rb\",\n \"br+\",\n \"b+r\",\n \"+br\",\n \"wb+\",\n \"w+b\",\n \"+wb\",\n \"bw+\",\n \"b+w\",\n \"+bw\",\n \"ab+\",\n \"a+b\",\n \"+ab\",\n \"ba+\",\n \"b+a\",\n \"+ba\",\n \"xb+\",\n \"x+b\",\n \"+xb\",\n \"bx+\",\n \"b+x\",\n \"+bx\",\n]\nOpenBinaryModeWriting: TypeAlias = Literal[\"wb\", \"bw\", \"ab\", \"ba\", \"xb\", \"bx\"]\nOpenBinaryModeReading: TypeAlias = Literal[\"rb\", \"br\", \"rbU\", \"rUb\", \"Urb\", \"brU\", \"bUr\", \"Ubr\"]\nOpenBinaryMode: TypeAlias = OpenBinaryModeUpdating | OpenBinaryModeReading | OpenBinaryModeWriting\n\n# stable\nclass HasFileno(Protocol):\n def fileno(self) -> int: ...\n\nFileDescriptor: TypeAlias = int # stable\nFileDescriptorLike: TypeAlias = int | HasFileno # stable\nFileDescriptorOrPath: TypeAlias = int | StrOrBytesPath\n\n# stable\nclass SupportsRead(Protocol[_T_co]):\n def read(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsReadline(Protocol[_T_co]):\n def readline(self, __length: int = ...) -> _T_co: ...\n\n# stable\nclass SupportsNoArgReadline(Protocol[_T_co]):\n def readline(self) -> _T_co: ...\n\n# stable\nclass SupportsWrite(Protocol[_T_contra]):\n def write(self, __s: _T_contra) -> object: ...\n\n# Unfortunately PEP 688 does not allow us to distinguish read-only\n# from writable buffers. We use these aliases for readability for now.\n# Perhaps a future extension of the buffer protocol will allow us to\n# distinguish these cases in the type system.\nReadOnlyBuffer: TypeAlias = Buffer # stable\n# Anything that implements the read-write buffer interface.\nWriteableBuffer: TypeAlias = Buffer\n# Same as WriteableBuffer, but also includes read-only buffer types (like bytes).\nReadableBuffer: TypeAlias = Buffer # stable\n\nclass SliceableBuffer(Buffer, Protocol):\n def __getitem__(self, __slice: slice) -> Sequence[int]: ...\n\nclass IndexableBuffer(Buffer, Protocol):\n def __getitem__(self, __i: int) -> int: ...\n\nclass SupportsGetItemBuffer(SliceableBuffer, IndexableBuffer, Protocol):\n def __contains__(self, __x: Any) -> bool: ...\n @overload\n def __getitem__(self, __slice: slice) -> Sequence[int]: ...\n @overload\n def __getitem__(self, __i: int) -> int: ...\n\nclass SizedBuffer(Sized, Buffer, Protocol): ...\n\n# for compatibility with third-party stubs that may use this\n_BufferWithLen: TypeAlias = SizedBuffer # not stable # noqa: Y047\n\nExcInfo: TypeAlias = tuple[type[BaseException], BaseException, TracebackType]\nOptExcInfo: TypeAlias = ExcInfo | tuple[None, None, None]\n\n# stable\nif sys.version_info >= (3, 10):\n from types import NoneType as NoneType\nelse:\n # Used by type checkers for checks involving None (does not exist at runtime)\n @final\n class NoneType:\n def __bool__(self) -> Literal[False]: ...\n\n# This is an internal CPython type that is like, but subtly different from, a NamedTuple\n# Subclasses of this type are found in multiple modules.\n# In typeshed, `structseq` is only ever used as a mixin in combination with a fixed-length `Tuple`\n# See discussion at #6546 & #6560\n# `structseq` classes are unsubclassable, so are all decorated with `@final`.\nclass structseq(Generic[_T_co]):\n n_fields: Final[int]\n n_unnamed_fields: Final[int]\n n_sequence_fields: Final[int]\n # The first parameter will generally only take an iterable of a specific length.\n # E.g. `os.uname_result` takes any iterable of length exactly 5.\n #\n # The second parameter will accept a dict of any kind without raising an exception,\n # but only has any meaning if you supply it a dict where the keys are strings.\n # https://github.com/python/typeshed/pull/6560#discussion_r767149830\n def __new__(cls: type[Self], sequence: Iterable[_T_co], dict: dict[str, Any] = ...) -> Self: ...\n\n# Superset of typing.AnyStr that also includes LiteralString\nAnyOrLiteralStr = TypeVar(\"AnyOrLiteralStr\", str, bytes, LiteralString) # noqa: Y001\n\n# Represents when str or LiteralStr is acceptable. Useful for string processing\n# APIs where literalness of return value depends on literalness of inputs\nStrOrLiteralStr = TypeVar(\"StrOrLiteralStr\", LiteralString, str) # noqa: Y001\n\n# Objects suitable to be passed to sys.setprofile, threading.setprofile, and similar\nProfileFunction: TypeAlias = Callable[[FrameType, str, Any], object]\n\n# Objects suitable to be passed to sys.settrace, threading.settrace, and similar\nTraceFunction: TypeAlias = Callable[[FrameType, str, Any], TraceFunction | None]\n\n# experimental\n# Might not work as expected for pyright, see\n# https://github.com/python/typeshed/pull/9362\n# https://github.com/microsoft/pyright/issues/4339\nclass DataclassInstance(Protocol):\n __dataclass_fields__: ClassVar[dict[str, Field[Any]]]\n\n# Anything that can be passed to the int/float constructors\nConvertibleToInt: TypeAlias = str | ReadableBuffer | SupportsInt | SupportsIndex | SupportsTrunc\nConvertibleToFloat: TypeAlias = str | ReadableBuffer | SupportsFloat | SupportsIndex\n", + "/typeshed/stdlib/_typeshed/dbapi.pyi": "# PEP 249 Database API 2.0 Types\n# https://www.python.org/dev/peps/pep-0249/\n\nfrom collections.abc import Mapping, Sequence\nfrom typing import Any, Protocol\nfrom typing_extensions import TypeAlias\n\nDBAPITypeCode: TypeAlias = Any | None\n# Strictly speaking, this should be a Sequence, but the type system does\n# not support fixed-length sequences.\nDBAPIColumnDescription: TypeAlias = tuple[str, DBAPITypeCode, int | None, int | None, int | None, int | None, bool | None]\n\nclass DBAPIConnection(Protocol):\n def close(self) -> object: ...\n def commit(self) -> object: ...\n # optional:\n # def rollback(self) -> Any: ...\n def cursor(self) -> DBAPICursor: ...\n\nclass DBAPICursor(Protocol):\n @property\n def description(self) -> Sequence[DBAPIColumnDescription] | None: ...\n @property\n def rowcount(self) -> int: ...\n # optional:\n # def callproc(self, __procname: str, __parameters: Sequence[Any] = ...) -> Sequence[Any]: ...\n def close(self) -> object: ...\n def execute(self, __operation: str, __parameters: Sequence[Any] | Mapping[str, Any] = ...) -> object: ...\n def executemany(self, __operation: str, __seq_of_parameters: Sequence[Sequence[Any]]) -> object: ...\n def fetchone(self) -> Sequence[Any] | None: ...\n def fetchmany(self, __size: int = ...) -> Sequence[Sequence[Any]]: ...\n def fetchall(self) -> Sequence[Sequence[Any]]: ...\n # optional:\n # def nextset(self) -> None | Literal[True]: ...\n arraysize: int\n def setinputsizes(self, __sizes: Sequence[DBAPITypeCode | int | None]) -> object: ...\n def setoutputsize(self, __size: int, __column: int = ...) -> object: ...\n", + "/typeshed/stdlib/_typeshed/wsgi.pyi": "# Types to support PEP 3333 (WSGI)\n#\n# Obsolete since Python 3.11: Use wsgiref.types instead.\n#\n# See the README.md file in this directory for more information.\n\nimport sys\nfrom _typeshed import OptExcInfo\nfrom collections.abc import Callable, Iterable, Iterator\nfrom typing import Any, Protocol\nfrom typing_extensions import TypeAlias\n\nclass _Readable(Protocol):\n def read(self, size: int = ...) -> bytes: ...\n # Optional: def close(self) -> object: ...\n\nif sys.version_info >= (3, 11):\n from wsgiref.types import *\nelse:\n # stable\n class StartResponse(Protocol):\n def __call__(\n self, __status: str, __headers: list[tuple[str, str]], __exc_info: OptExcInfo | None = ...\n ) -> Callable[[bytes], object]: ...\n\n WSGIEnvironment: TypeAlias = dict[str, Any] # stable\n WSGIApplication: TypeAlias = Callable[[WSGIEnvironment, StartResponse], Iterable[bytes]] # stable\n\n # WSGI input streams per PEP 3333, stable\n class InputStream(Protocol):\n def read(self, __size: int = ...) -> bytes: ...\n def readline(self, __size: int = ...) -> bytes: ...\n def readlines(self, __hint: int = ...) -> list[bytes]: ...\n def __iter__(self) -> Iterator[bytes]: ...\n\n # WSGI error streams per PEP 3333, stable\n class ErrorStream(Protocol):\n def flush(self) -> object: ...\n def write(self, __s: str) -> object: ...\n def writelines(self, __seq: list[str]) -> object: ...\n\n # Optional file wrapper in wsgi.file_wrapper\n class FileWrapper(Protocol):\n def __call__(self, __file: _Readable, __block_size: int = ...) -> Iterable[bytes]: ...\n", + "/typeshed/stdlib/_typeshed/xml.pyi": "# See the README.md file in this directory for more information.\n\nfrom typing import Any, Protocol\n\n# As defined https://docs.python.org/3/library/xml.dom.html#domimplementation-objects\nclass DOMImplementation(Protocol):\n def hasFeature(self, feature: str, version: str | None) -> bool: ...\n def createDocument(self, namespaceUri: str, qualifiedName: str, doctype: Any | None) -> Any: ...\n def createDocumentType(self, qualifiedName: str, publicId: str, systemId: str) -> Any: ...\n", + "/typeshed/stdlib/asyncio/__init__.pyi": "import sys\nfrom collections.abc import Awaitable, Coroutine, Generator\nfrom typing import Any, TypeVar\nfrom typing_extensions import TypeAlias\n\n# As at runtime, this depends on all submodules defining __all__ accurately.\nfrom .base_events import *\nfrom .coroutines import *\nfrom .events import *\nfrom .futures import *\nfrom .locks import *\nfrom .protocols import *\nfrom .queues import *\nfrom .runners import *\nfrom .streams import *\nfrom .subprocess import *\nfrom .tasks import *\nfrom .transports import *\n\nif sys.version_info >= (3, 8):\n from .exceptions import *\n\nif sys.version_info >= (3, 9):\n from .threads import *\n\nif sys.version_info >= (3, 11):\n from .taskgroups import *\n from .timeouts import *\n\nif sys.platform == \"win32\":\n from .windows_events import *\nelse:\n from .unix_events import *\n\n_T = TypeVar(\"_T\")\n\n# Aliases imported by multiple submodules in typeshed\nif sys.version_info >= (3, 12):\n _AwaitableLike: TypeAlias = Awaitable[_T] # noqa: Y047\n _CoroutineLike: TypeAlias = Coroutine[Any, Any, _T] # noqa: Y047\nelse:\n _AwaitableLike: TypeAlias = Generator[Any, None, _T] | Awaitable[_T]\n _CoroutineLike: TypeAlias = Generator[Any, None, _T] | Coroutine[Any, Any, _T]\n", + "/typeshed/stdlib/asyncio/base_events.pyi": "import ssl\nimport sys\nfrom _typeshed import FileDescriptorLike, ReadableBuffer, WriteableBuffer\nfrom asyncio import _AwaitableLike, _CoroutineLike\nfrom asyncio.events import AbstractEventLoop, AbstractServer, Handle, TimerHandle, _TaskFactory\nfrom asyncio.futures import Future\nfrom asyncio.protocols import BaseProtocol\nfrom asyncio.tasks import Task\nfrom asyncio.transports import BaseTransport, DatagramTransport, ReadTransport, SubprocessTransport, Transport, WriteTransport\nfrom collections.abc import Callable, Iterable, Sequence\nfrom contextvars import Context\nfrom socket import AddressFamily, SocketKind, _Address, _RetAddress, socket\nfrom typing import IO, Any, TypeVar, overload\nfrom typing_extensions import Literal, TypeAlias\n\nif sys.version_info >= (3, 9):\n __all__ = (\"BaseEventLoop\", \"Server\")\nelse:\n __all__ = (\"BaseEventLoop\",)\n\n_T = TypeVar(\"_T\")\n_ProtocolT = TypeVar(\"_ProtocolT\", bound=BaseProtocol)\n_Context: TypeAlias = dict[str, Any]\n_ExceptionHandler: TypeAlias = Callable[[AbstractEventLoop, _Context], object]\n_ProtocolFactory: TypeAlias = Callable[[], BaseProtocol]\n_SSLContext: TypeAlias = bool | None | ssl.SSLContext\n\nclass Server(AbstractServer):\n if sys.version_info >= (3, 11):\n def __init__(\n self,\n loop: AbstractEventLoop,\n sockets: Iterable[socket],\n protocol_factory: _ProtocolFactory,\n ssl_context: _SSLContext,\n backlog: int,\n ssl_handshake_timeout: float | None,\n ssl_shutdown_timeout: float | None = None,\n ) -> None: ...\n else:\n def __init__(\n self,\n loop: AbstractEventLoop,\n sockets: Iterable[socket],\n protocol_factory: _ProtocolFactory,\n ssl_context: _SSLContext,\n backlog: int,\n ssl_handshake_timeout: float | None,\n ) -> None: ...\n\n def get_loop(self) -> AbstractEventLoop: ...\n def is_serving(self) -> bool: ...\n async def start_serving(self) -> None: ...\n async def serve_forever(self) -> None: ...\n if sys.version_info >= (3, 8):\n @property\n def sockets(self) -> tuple[socket, ...]: ...\n else:\n @property\n def sockets(self) -> list[socket]: ...\n\n def close(self) -> None: ...\n async def wait_closed(self) -> None: ...\n\nclass BaseEventLoop(AbstractEventLoop):\n def run_forever(self) -> None: ...\n def run_until_complete(self, future: _AwaitableLike[_T]) -> _T: ...\n def stop(self) -> None: ...\n def is_running(self) -> bool: ...\n def is_closed(self) -> bool: ...\n def close(self) -> None: ...\n async def shutdown_asyncgens(self) -> None: ...\n # Methods scheduling callbacks. All these return Handles.\n def call_soon(self, callback: Callable[..., object], *args: Any, context: Context | None = None) -> Handle: ...\n def call_later(\n self, delay: float, callback: Callable[..., object], *args: Any, context: Context | None = None\n ) -> TimerHandle: ...\n def call_at(\n self, when: float, callback: Callable[..., object], *args: Any, context: Context | None = None\n ) -> TimerHandle: ...\n def time(self) -> float: ...\n # Future methods\n def create_future(self) -> Future[Any]: ...\n # Tasks methods\n if sys.version_info >= (3, 11):\n def create_task(self, coro: _CoroutineLike[_T], *, name: object = None, context: Context | None = None) -> Task[_T]: ...\n elif sys.version_info >= (3, 8):\n def create_task(self, coro: _CoroutineLike[_T], *, name: object = None) -> Task[_T]: ...\n else:\n def create_task(self, coro: _CoroutineLike[_T]) -> Task[_T]: ...\n\n def set_task_factory(self, factory: _TaskFactory | None) -> None: ...\n def get_task_factory(self) -> _TaskFactory | None: ...\n # Methods for interacting with threads\n def call_soon_threadsafe(self, callback: Callable[..., object], *args: Any, context: Context | None = None) -> Handle: ...\n def run_in_executor(self, executor: Any, func: Callable[..., _T], *args: Any) -> Future[_T]: ...\n def set_default_executor(self, executor: Any) -> None: ...\n # Network I/O methods returning Futures.\n async def getaddrinfo(\n self,\n host: bytes | str | None,\n port: bytes | str | int | None,\n *,\n family: int = 0,\n type: int = 0,\n proto: int = 0,\n flags: int = 0,\n ) -> list[tuple[AddressFamily, SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int]]]: ...\n async def getnameinfo(self, sockaddr: tuple[str, int] | tuple[str, int, int, int], flags: int = 0) -> tuple[str, str]: ...\n if sys.version_info >= (3, 12):\n @overload\n async def create_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n host: str = ...,\n port: int = ...,\n *,\n ssl: _SSLContext = None,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n sock: None = None,\n local_addr: tuple[str, int] | None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n happy_eyeballs_delay: float | None = None,\n interleave: int | None = None,\n all_errors: bool = False,\n ) -> tuple[Transport, _ProtocolT]: ...\n @overload\n async def create_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n host: None = None,\n port: None = None,\n *,\n ssl: _SSLContext = None,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n sock: socket,\n local_addr: None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n happy_eyeballs_delay: float | None = None,\n interleave: int | None = None,\n all_errors: bool = False,\n ) -> tuple[Transport, _ProtocolT]: ...\n elif sys.version_info >= (3, 11):\n @overload\n async def create_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n host: str = ...,\n port: int = ...,\n *,\n ssl: _SSLContext = None,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n sock: None = None,\n local_addr: tuple[str, int] | None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n happy_eyeballs_delay: float | None = None,\n interleave: int | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n @overload\n async def create_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n host: None = None,\n port: None = None,\n *,\n ssl: _SSLContext = None,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n sock: socket,\n local_addr: None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n happy_eyeballs_delay: float | None = None,\n interleave: int | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n elif sys.version_info >= (3, 8):\n @overload\n async def create_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n host: str = ...,\n port: int = ...,\n *,\n ssl: _SSLContext = None,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n sock: None = None,\n local_addr: tuple[str, int] | None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n happy_eyeballs_delay: float | None = None,\n interleave: int | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n @overload\n async def create_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n host: None = None,\n port: None = None,\n *,\n ssl: _SSLContext = None,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n sock: socket,\n local_addr: None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n happy_eyeballs_delay: float | None = None,\n interleave: int | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n else:\n @overload\n async def create_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n host: str = ...,\n port: int = ...,\n *,\n ssl: _SSLContext = None,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n sock: None = None,\n local_addr: tuple[str, int] | None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n @overload\n async def create_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n host: None = None,\n port: None = None,\n *,\n ssl: _SSLContext = None,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n sock: socket,\n local_addr: None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n if sys.version_info >= (3, 11):\n @overload\n async def create_server(\n self,\n protocol_factory: _ProtocolFactory,\n host: str | Sequence[str] | None = None,\n port: int = ...,\n *,\n family: int = ...,\n flags: int = ...,\n sock: None = None,\n backlog: int = 100,\n ssl: _SSLContext = None,\n reuse_address: bool | None = None,\n reuse_port: bool | None = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n start_serving: bool = True,\n ) -> Server: ...\n @overload\n async def create_server(\n self,\n protocol_factory: _ProtocolFactory,\n host: None = None,\n port: None = None,\n *,\n family: int = ...,\n flags: int = ...,\n sock: socket = ...,\n backlog: int = 100,\n ssl: _SSLContext = None,\n reuse_address: bool | None = None,\n reuse_port: bool | None = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n start_serving: bool = True,\n ) -> Server: ...\n async def start_tls(\n self,\n transport: BaseTransport,\n protocol: BaseProtocol,\n sslcontext: ssl.SSLContext,\n *,\n server_side: bool = False,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n ) -> Transport | None: ...\n async def connect_accepted_socket(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n sock: socket,\n *,\n ssl: _SSLContext = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n else:\n @overload\n async def create_server(\n self,\n protocol_factory: _ProtocolFactory,\n host: str | Sequence[str] | None = None,\n port: int = ...,\n *,\n family: int = ...,\n flags: int = ...,\n sock: None = None,\n backlog: int = 100,\n ssl: _SSLContext = None,\n reuse_address: bool | None = None,\n reuse_port: bool | None = None,\n ssl_handshake_timeout: float | None = None,\n start_serving: bool = True,\n ) -> Server: ...\n @overload\n async def create_server(\n self,\n protocol_factory: _ProtocolFactory,\n host: None = None,\n port: None = None,\n *,\n family: int = ...,\n flags: int = ...,\n sock: socket = ...,\n backlog: int = 100,\n ssl: _SSLContext = None,\n reuse_address: bool | None = None,\n reuse_port: bool | None = None,\n ssl_handshake_timeout: float | None = None,\n start_serving: bool = True,\n ) -> Server: ...\n async def start_tls(\n self,\n transport: BaseTransport,\n protocol: BaseProtocol,\n sslcontext: ssl.SSLContext,\n *,\n server_side: bool = False,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ) -> Transport | None: ...\n async def connect_accepted_socket(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n sock: socket,\n *,\n ssl: _SSLContext = None,\n ssl_handshake_timeout: float | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n\n async def sock_sendfile(\n self, sock: socket, file: IO[bytes], offset: int = 0, count: int | None = None, *, fallback: bool | None = True\n ) -> int: ...\n async def sendfile(\n self, transport: WriteTransport, file: IO[bytes], offset: int = 0, count: int | None = None, *, fallback: bool = True\n ) -> int: ...\n if sys.version_info >= (3, 11):\n async def create_datagram_endpoint( # type: ignore[override]\n self,\n protocol_factory: Callable[[], _ProtocolT],\n local_addr: tuple[str, int] | str | None = None,\n remote_addr: tuple[str, int] | str | None = None,\n *,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n reuse_port: bool | None = None,\n allow_broadcast: bool | None = None,\n sock: socket | None = None,\n ) -> tuple[DatagramTransport, _ProtocolT]: ...\n else:\n async def create_datagram_endpoint(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n local_addr: tuple[str, int] | str | None = None,\n remote_addr: tuple[str, int] | str | None = None,\n *,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n reuse_address: bool | None = ...,\n reuse_port: bool | None = None,\n allow_broadcast: bool | None = None,\n sock: socket | None = None,\n ) -> tuple[DatagramTransport, _ProtocolT]: ...\n # Pipes and subprocesses.\n async def connect_read_pipe(\n self, protocol_factory: Callable[[], _ProtocolT], pipe: Any\n ) -> tuple[ReadTransport, _ProtocolT]: ...\n async def connect_write_pipe(\n self, protocol_factory: Callable[[], _ProtocolT], pipe: Any\n ) -> tuple[WriteTransport, _ProtocolT]: ...\n async def subprocess_shell(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n cmd: bytes | str,\n *,\n stdin: int | IO[Any] | None = -1,\n stdout: int | IO[Any] | None = -1,\n stderr: int | IO[Any] | None = -1,\n universal_newlines: Literal[False] = False,\n shell: Literal[True] = True,\n bufsize: Literal[0] = 0,\n encoding: None = None,\n errors: None = None,\n text: Literal[False, None] = None,\n **kwargs: Any,\n ) -> tuple[SubprocessTransport, _ProtocolT]: ...\n async def subprocess_exec(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n program: Any,\n *args: Any,\n stdin: int | IO[Any] | None = -1,\n stdout: int | IO[Any] | None = -1,\n stderr: int | IO[Any] | None = -1,\n universal_newlines: Literal[False] = False,\n shell: Literal[False] = False,\n bufsize: Literal[0] = 0,\n encoding: None = None,\n errors: None = None,\n **kwargs: Any,\n ) -> tuple[SubprocessTransport, _ProtocolT]: ...\n def add_reader(self, fd: FileDescriptorLike, callback: Callable[..., Any], *args: Any) -> None: ...\n def remove_reader(self, fd: FileDescriptorLike) -> bool: ...\n def add_writer(self, fd: FileDescriptorLike, callback: Callable[..., Any], *args: Any) -> None: ...\n def remove_writer(self, fd: FileDescriptorLike) -> bool: ...\n # The sock_* methods (and probably some others) are not actually implemented on\n # BaseEventLoop, only on subclasses. We list them here for now for convenience.\n async def sock_recv(self, sock: socket, nbytes: int) -> bytes: ...\n async def sock_recv_into(self, sock: socket, buf: WriteableBuffer) -> int: ...\n async def sock_sendall(self, sock: socket, data: ReadableBuffer) -> None: ...\n async def sock_connect(self, sock: socket, address: _Address) -> None: ...\n async def sock_accept(self, sock: socket) -> tuple[socket, _RetAddress]: ...\n if sys.version_info >= (3, 11):\n async def sock_recvfrom(self, sock: socket, bufsize: int) -> tuple[bytes, _RetAddress]: ...\n async def sock_recvfrom_into(self, sock: socket, buf: WriteableBuffer, nbytes: int = 0) -> tuple[int, _RetAddress]: ...\n async def sock_sendto(self, sock: socket, data: ReadableBuffer, address: _Address) -> int: ...\n # Signal handling.\n def add_signal_handler(self, sig: int, callback: Callable[..., Any], *args: Any) -> None: ...\n def remove_signal_handler(self, sig: int) -> bool: ...\n # Error handlers.\n def set_exception_handler(self, handler: _ExceptionHandler | None) -> None: ...\n def get_exception_handler(self) -> _ExceptionHandler | None: ...\n def default_exception_handler(self, context: _Context) -> None: ...\n def call_exception_handler(self, context: _Context) -> None: ...\n # Debug flag management.\n def get_debug(self) -> bool: ...\n def set_debug(self, enabled: bool) -> None: ...\n if sys.version_info >= (3, 12):\n async def shutdown_default_executor(self, timeout: float | None = None) -> None: ...\n elif sys.version_info >= (3, 9):\n async def shutdown_default_executor(self) -> None: ...\n", + "/typeshed/stdlib/asyncio/base_futures.pyi": "from collections.abc import Callable, Sequence\nfrom contextvars import Context\nfrom typing import Any\nfrom typing_extensions import Literal\n\nfrom . import futures\n\n__all__ = ()\n\n# asyncio defines 'isfuture()' in base_futures.py and re-imports it in futures.py\n# but it leads to circular import error in pytype tool.\n# That's why the import order is reversed.\nfrom .futures import isfuture as isfuture\n\n_PENDING: Literal[\"PENDING\"] # undocumented\n_CANCELLED: Literal[\"CANCELLED\"] # undocumented\n_FINISHED: Literal[\"FINISHED\"] # undocumented\n\ndef _format_callbacks(cb: Sequence[tuple[Callable[[futures.Future[Any]], None], Context]]) -> str: ... # undocumented\ndef _future_repr_info(future: futures.Future[Any]) -> list[str]: ... # undocumented\n", + "/typeshed/stdlib/asyncio/base_subprocess.pyi": "import subprocess\nfrom collections import deque\nfrom collections.abc import Callable, Sequence\nfrom typing import IO, Any\nfrom typing_extensions import TypeAlias\n\nfrom . import events, futures, protocols, transports\n\n_File: TypeAlias = int | IO[Any] | None\n\nclass BaseSubprocessTransport(transports.SubprocessTransport):\n _closed: bool # undocumented\n _protocol: protocols.SubprocessProtocol # undocumented\n _loop: events.AbstractEventLoop # undocumented\n _proc: subprocess.Popen[Any] | None # undocumented\n _pid: int | None # undocumented\n _returncode: int | None # undocumented\n _exit_waiters: list[futures.Future[Any]] # undocumented\n _pending_calls: deque[tuple[Callable[..., Any], tuple[Any, ...]]] # undocumented\n _pipes: dict[int, _File] # undocumented\n _finished: bool # undocumented\n def __init__(\n self,\n loop: events.AbstractEventLoop,\n protocol: protocols.SubprocessProtocol,\n args: str | bytes | Sequence[str | bytes],\n shell: bool,\n stdin: _File,\n stdout: _File,\n stderr: _File,\n bufsize: int,\n waiter: futures.Future[Any] | None = None,\n extra: Any | None = None,\n **kwargs: Any,\n ) -> None: ...\n def _start(\n self,\n args: str | bytes | Sequence[str | bytes],\n shell: bool,\n stdin: _File,\n stdout: _File,\n stderr: _File,\n bufsize: int,\n **kwargs: Any,\n ) -> None: ... # undocumented\n def get_pid(self) -> int | None: ... # type: ignore[override]\n def get_pipe_transport(self, fd: int) -> _File: ... # type: ignore[override]\n def _check_proc(self) -> None: ... # undocumented\n def send_signal(self, signal: int) -> None: ...\n async def _connect_pipes(self, waiter: futures.Future[Any] | None) -> None: ... # undocumented\n def _call(self, cb: Callable[..., object], *data: Any) -> None: ... # undocumented\n def _pipe_connection_lost(self, fd: int, exc: BaseException | None) -> None: ... # undocumented\n def _pipe_data_received(self, fd: int, data: bytes) -> None: ... # undocumented\n def _process_exited(self, returncode: int) -> None: ... # undocumented\n async def _wait(self) -> int: ... # undocumented\n def _try_finish(self) -> None: ... # undocumented\n def _call_connection_lost(self, exc: BaseException | None) -> None: ... # undocumented\n\nclass WriteSubprocessPipeProto(protocols.BaseProtocol): # undocumented\n def __init__(self, proc: BaseSubprocessTransport, fd: int) -> None: ...\n\nclass ReadSubprocessPipeProto(WriteSubprocessPipeProto, protocols.Protocol): ... # undocumented\n", + "/typeshed/stdlib/asyncio/base_tasks.pyi": "from _typeshed import StrOrBytesPath\nfrom types import FrameType\nfrom typing import Any\n\nfrom . import tasks\n\ndef _task_repr_info(task: tasks.Task[Any]) -> list[str]: ... # undocumented\ndef _task_get_stack(task: tasks.Task[Any], limit: int | None) -> list[FrameType]: ... # undocumented\ndef _task_print_stack(task: tasks.Task[Any], limit: int | None, file: StrOrBytesPath) -> None: ... # undocumented\n", + "/typeshed/stdlib/asyncio/constants.pyi": "import enum\nimport sys\nfrom typing_extensions import Literal\n\nLOG_THRESHOLD_FOR_CONNLOST_WRITES: Literal[5]\nACCEPT_RETRY_DELAY: Literal[1]\nDEBUG_STACK_DEPTH: Literal[10]\nSSL_HANDSHAKE_TIMEOUT: float\nSENDFILE_FALLBACK_READBUFFER_SIZE: Literal[262144]\nif sys.version_info >= (3, 11):\n SSL_SHUTDOWN_TIMEOUT: float\n FLOW_CONTROL_HIGH_WATER_SSL_READ: Literal[256]\n FLOW_CONTROL_HIGH_WATER_SSL_WRITE: Literal[512]\nif sys.version_info >= (3, 12):\n THREAD_JOIN_TIMEOUT: Literal[300]\n\nclass _SendfileMode(enum.Enum):\n UNSUPPORTED: int\n TRY_NATIVE: int\n FALLBACK: int\n", + "/typeshed/stdlib/asyncio/coroutines.pyi": "import sys\nfrom collections.abc import Awaitable, Callable, Coroutine\nfrom typing import Any, TypeVar, overload\nfrom typing_extensions import ParamSpec, TypeGuard\n\nif sys.version_info >= (3, 11):\n __all__ = (\"iscoroutinefunction\", \"iscoroutine\")\nelse:\n __all__ = (\"coroutine\", \"iscoroutinefunction\", \"iscoroutine\")\n\n_T = TypeVar(\"_T\")\n_FunctionT = TypeVar(\"_FunctionT\", bound=Callable[..., Any])\n_P = ParamSpec(\"_P\")\n\nif sys.version_info < (3, 11):\n def coroutine(func: _FunctionT) -> _FunctionT: ...\n\n@overload\ndef iscoroutinefunction(func: Callable[..., Coroutine[Any, Any, Any]]) -> bool: ...\n@overload\ndef iscoroutinefunction(func: Callable[_P, Awaitable[_T]]) -> TypeGuard[Callable[_P, Coroutine[Any, Any, _T]]]: ...\n@overload\ndef iscoroutinefunction(func: Callable[_P, object]) -> TypeGuard[Callable[_P, Coroutine[Any, Any, Any]]]: ...\n@overload\ndef iscoroutinefunction(func: object) -> TypeGuard[Callable[..., Coroutine[Any, Any, Any]]]: ...\n\n# Can actually be a generator-style coroutine on Python 3.7\ndef iscoroutine(obj: object) -> TypeGuard[Coroutine[Any, Any, Any]]: ...\n", + "/typeshed/stdlib/asyncio/events.pyi": "import ssl\nimport sys\nfrom _typeshed import FileDescriptorLike, ReadableBuffer, StrPath, Unused, WriteableBuffer\nfrom abc import ABCMeta, abstractmethod\nfrom collections.abc import Callable, Coroutine, Generator, Sequence\nfrom contextvars import Context\nfrom socket import AddressFamily, SocketKind, _Address, _RetAddress, socket\nfrom typing import IO, Any, Protocol, TypeVar, overload\nfrom typing_extensions import Literal, Self, TypeAlias\n\nfrom . import _AwaitableLike, _CoroutineLike\nfrom .base_events import Server\nfrom .futures import Future\nfrom .protocols import BaseProtocol\nfrom .tasks import Task\nfrom .transports import BaseTransport, DatagramTransport, ReadTransport, SubprocessTransport, Transport, WriteTransport\nfrom .unix_events import AbstractChildWatcher\n\nif sys.version_info >= (3, 8):\n __all__ = (\n \"AbstractEventLoopPolicy\",\n \"AbstractEventLoop\",\n \"AbstractServer\",\n \"Handle\",\n \"TimerHandle\",\n \"get_event_loop_policy\",\n \"set_event_loop_policy\",\n \"get_event_loop\",\n \"set_event_loop\",\n \"new_event_loop\",\n \"get_child_watcher\",\n \"set_child_watcher\",\n \"_set_running_loop\",\n \"get_running_loop\",\n \"_get_running_loop\",\n )\n\nelse:\n __all__ = (\n \"AbstractEventLoopPolicy\",\n \"AbstractEventLoop\",\n \"AbstractServer\",\n \"Handle\",\n \"TimerHandle\",\n \"SendfileNotAvailableError\",\n \"get_event_loop_policy\",\n \"set_event_loop_policy\",\n \"get_event_loop\",\n \"set_event_loop\",\n \"new_event_loop\",\n \"get_child_watcher\",\n \"set_child_watcher\",\n \"_set_running_loop\",\n \"get_running_loop\",\n \"_get_running_loop\",\n )\n\n_T = TypeVar(\"_T\")\n_ProtocolT = TypeVar(\"_ProtocolT\", bound=BaseProtocol)\n_Context: TypeAlias = dict[str, Any]\n_ExceptionHandler: TypeAlias = Callable[[AbstractEventLoop, _Context], object]\n_ProtocolFactory: TypeAlias = Callable[[], BaseProtocol]\n_SSLContext: TypeAlias = bool | None | ssl.SSLContext\n\nclass _TaskFactory(Protocol):\n def __call__(\n self, __loop: AbstractEventLoop, __factory: Coroutine[Any, Any, _T] | Generator[Any, None, _T]\n ) -> Future[_T]: ...\n\nclass Handle:\n _cancelled: bool\n _args: Sequence[Any]\n def __init__(\n self, callback: Callable[..., object], args: Sequence[Any], loop: AbstractEventLoop, context: Context | None = None\n ) -> None: ...\n def cancel(self) -> None: ...\n def _run(self) -> None: ...\n def cancelled(self) -> bool: ...\n if sys.version_info >= (3, 12):\n def get_context(self) -> Context: ...\n\nclass TimerHandle(Handle):\n def __init__(\n self,\n when: float,\n callback: Callable[..., object],\n args: Sequence[Any],\n loop: AbstractEventLoop,\n context: Context | None = None,\n ) -> None: ...\n def __hash__(self) -> int: ...\n def when(self) -> float: ...\n def __lt__(self, other: TimerHandle) -> bool: ...\n def __le__(self, other: TimerHandle) -> bool: ...\n def __gt__(self, other: TimerHandle) -> bool: ...\n def __ge__(self, other: TimerHandle) -> bool: ...\n def __eq__(self, other: object) -> bool: ...\n\nclass AbstractServer:\n @abstractmethod\n def close(self) -> None: ...\n async def __aenter__(self) -> Self: ...\n async def __aexit__(self, *exc: Unused) -> None: ...\n @abstractmethod\n def get_loop(self) -> AbstractEventLoop: ...\n @abstractmethod\n def is_serving(self) -> bool: ...\n @abstractmethod\n async def start_serving(self) -> None: ...\n @abstractmethod\n async def serve_forever(self) -> None: ...\n @abstractmethod\n async def wait_closed(self) -> None: ...\n\nclass AbstractEventLoop:\n slow_callback_duration: float\n @abstractmethod\n def run_forever(self) -> None: ...\n @abstractmethod\n def run_until_complete(self, future: _AwaitableLike[_T]) -> _T: ...\n @abstractmethod\n def stop(self) -> None: ...\n @abstractmethod\n def is_running(self) -> bool: ...\n @abstractmethod\n def is_closed(self) -> bool: ...\n @abstractmethod\n def close(self) -> None: ...\n @abstractmethod\n async def shutdown_asyncgens(self) -> None: ...\n # Methods scheduling callbacks. All these return Handles.\n if sys.version_info >= (3, 9): # \"context\" added in 3.9.10/3.10.2\n @abstractmethod\n def call_soon(self, callback: Callable[..., object], *args: Any, context: Context | None = None) -> Handle: ...\n @abstractmethod\n def call_later(\n self, delay: float, callback: Callable[..., object], *args: Any, context: Context | None = None\n ) -> TimerHandle: ...\n @abstractmethod\n def call_at(\n self, when: float, callback: Callable[..., object], *args: Any, context: Context | None = None\n ) -> TimerHandle: ...\n else:\n @abstractmethod\n def call_soon(self, callback: Callable[..., object], *args: Any) -> Handle: ...\n @abstractmethod\n def call_later(self, delay: float, callback: Callable[..., object], *args: Any) -> TimerHandle: ...\n @abstractmethod\n def call_at(self, when: float, callback: Callable[..., object], *args: Any) -> TimerHandle: ...\n\n @abstractmethod\n def time(self) -> float: ...\n # Future methods\n @abstractmethod\n def create_future(self) -> Future[Any]: ...\n # Tasks methods\n if sys.version_info >= (3, 11):\n @abstractmethod\n def create_task(\n self, coro: _CoroutineLike[_T], *, name: str | None = None, context: Context | None = None\n ) -> Task[_T]: ...\n elif sys.version_info >= (3, 8):\n @abstractmethod\n def create_task(self, coro: _CoroutineLike[_T], *, name: str | None = None) -> Task[_T]: ...\n else:\n @abstractmethod\n def create_task(self, coro: _CoroutineLike[_T]) -> Task[_T]: ...\n\n @abstractmethod\n def set_task_factory(self, factory: _TaskFactory | None) -> None: ...\n @abstractmethod\n def get_task_factory(self) -> _TaskFactory | None: ...\n # Methods for interacting with threads\n if sys.version_info >= (3, 9): # \"context\" added in 3.9.10/3.10.2\n @abstractmethod\n def call_soon_threadsafe(self, callback: Callable[..., object], *args: Any, context: Context | None = None) -> Handle: ...\n else:\n @abstractmethod\n def call_soon_threadsafe(self, callback: Callable[..., object], *args: Any) -> Handle: ...\n\n @abstractmethod\n def run_in_executor(self, executor: Any, func: Callable[..., _T], *args: Any) -> Future[_T]: ...\n @abstractmethod\n def set_default_executor(self, executor: Any) -> None: ...\n # Network I/O methods returning Futures.\n @abstractmethod\n async def getaddrinfo(\n self,\n host: bytes | str | None,\n port: bytes | str | int | None,\n *,\n family: int = 0,\n type: int = 0,\n proto: int = 0,\n flags: int = 0,\n ) -> list[tuple[AddressFamily, SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int]]]: ...\n @abstractmethod\n async def getnameinfo(self, sockaddr: tuple[str, int] | tuple[str, int, int, int], flags: int = 0) -> tuple[str, str]: ...\n if sys.version_info >= (3, 11):\n @overload\n @abstractmethod\n async def create_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n host: str = ...,\n port: int = ...,\n *,\n ssl: _SSLContext = None,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n sock: None = None,\n local_addr: tuple[str, int] | None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n happy_eyeballs_delay: float | None = None,\n interleave: int | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n @overload\n @abstractmethod\n async def create_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n host: None = None,\n port: None = None,\n *,\n ssl: _SSLContext = None,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n sock: socket,\n local_addr: None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n happy_eyeballs_delay: float | None = None,\n interleave: int | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n elif sys.version_info >= (3, 8):\n @overload\n @abstractmethod\n async def create_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n host: str = ...,\n port: int = ...,\n *,\n ssl: _SSLContext = None,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n sock: None = None,\n local_addr: tuple[str, int] | None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n happy_eyeballs_delay: float | None = None,\n interleave: int | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n @overload\n @abstractmethod\n async def create_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n host: None = None,\n port: None = None,\n *,\n ssl: _SSLContext = None,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n sock: socket,\n local_addr: None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n happy_eyeballs_delay: float | None = None,\n interleave: int | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n else:\n @overload\n @abstractmethod\n async def create_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n host: str = ...,\n port: int = ...,\n *,\n ssl: _SSLContext = None,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n sock: None = None,\n local_addr: tuple[str, int] | None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n @overload\n @abstractmethod\n async def create_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n host: None = None,\n port: None = None,\n *,\n ssl: _SSLContext = None,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n sock: socket,\n local_addr: None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n if sys.version_info >= (3, 11):\n @overload\n @abstractmethod\n async def create_server(\n self,\n protocol_factory: _ProtocolFactory,\n host: str | Sequence[str] | None = None,\n port: int = ...,\n *,\n family: int = ...,\n flags: int = ...,\n sock: None = None,\n backlog: int = 100,\n ssl: _SSLContext = None,\n reuse_address: bool | None = None,\n reuse_port: bool | None = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n start_serving: bool = True,\n ) -> Server: ...\n @overload\n @abstractmethod\n async def create_server(\n self,\n protocol_factory: _ProtocolFactory,\n host: None = None,\n port: None = None,\n *,\n family: int = ...,\n flags: int = ...,\n sock: socket = ...,\n backlog: int = 100,\n ssl: _SSLContext = None,\n reuse_address: bool | None = None,\n reuse_port: bool | None = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n start_serving: bool = True,\n ) -> Server: ...\n @abstractmethod\n async def start_tls(\n self,\n transport: WriteTransport,\n protocol: BaseProtocol,\n sslcontext: ssl.SSLContext,\n *,\n server_side: bool = False,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n ) -> Transport | None: ...\n async def create_unix_server(\n self,\n protocol_factory: _ProtocolFactory,\n path: StrPath | None = None,\n *,\n sock: socket | None = None,\n backlog: int = 100,\n ssl: _SSLContext = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n start_serving: bool = True,\n ) -> Server: ...\n else:\n @overload\n @abstractmethod\n async def create_server(\n self,\n protocol_factory: _ProtocolFactory,\n host: str | Sequence[str] | None = None,\n port: int = ...,\n *,\n family: int = ...,\n flags: int = ...,\n sock: None = None,\n backlog: int = 100,\n ssl: _SSLContext = None,\n reuse_address: bool | None = None,\n reuse_port: bool | None = None,\n ssl_handshake_timeout: float | None = None,\n start_serving: bool = True,\n ) -> Server: ...\n @overload\n @abstractmethod\n async def create_server(\n self,\n protocol_factory: _ProtocolFactory,\n host: None = None,\n port: None = None,\n *,\n family: int = ...,\n flags: int = ...,\n sock: socket = ...,\n backlog: int = 100,\n ssl: _SSLContext = None,\n reuse_address: bool | None = None,\n reuse_port: bool | None = None,\n ssl_handshake_timeout: float | None = None,\n start_serving: bool = True,\n ) -> Server: ...\n @abstractmethod\n async def start_tls(\n self,\n transport: BaseTransport,\n protocol: BaseProtocol,\n sslcontext: ssl.SSLContext,\n *,\n server_side: bool = False,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ) -> Transport | None: ...\n async def create_unix_server(\n self,\n protocol_factory: _ProtocolFactory,\n path: StrPath | None = None,\n *,\n sock: socket | None = None,\n backlog: int = 100,\n ssl: _SSLContext = None,\n ssl_handshake_timeout: float | None = None,\n start_serving: bool = True,\n ) -> Server: ...\n if sys.version_info >= (3, 11):\n async def connect_accepted_socket(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n sock: socket,\n *,\n ssl: _SSLContext = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n elif sys.version_info >= (3, 10):\n async def connect_accepted_socket(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n sock: socket,\n *,\n ssl: _SSLContext = None,\n ssl_handshake_timeout: float | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n if sys.version_info >= (3, 11):\n async def create_unix_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n path: str | None = None,\n *,\n ssl: _SSLContext = None,\n sock: socket | None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n else:\n async def create_unix_connection(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n path: str | None = None,\n *,\n ssl: _SSLContext = None,\n sock: socket | None = None,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ) -> tuple[Transport, _ProtocolT]: ...\n\n @abstractmethod\n async def sock_sendfile(\n self, sock: socket, file: IO[bytes], offset: int = 0, count: int | None = None, *, fallback: bool | None = None\n ) -> int: ...\n @abstractmethod\n async def sendfile(\n self, transport: WriteTransport, file: IO[bytes], offset: int = 0, count: int | None = None, *, fallback: bool = True\n ) -> int: ...\n @abstractmethod\n async def create_datagram_endpoint(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n local_addr: tuple[str, int] | str | None = None,\n remote_addr: tuple[str, int] | str | None = None,\n *,\n family: int = 0,\n proto: int = 0,\n flags: int = 0,\n reuse_address: bool | None = None,\n reuse_port: bool | None = None,\n allow_broadcast: bool | None = None,\n sock: socket | None = None,\n ) -> tuple[DatagramTransport, _ProtocolT]: ...\n # Pipes and subprocesses.\n @abstractmethod\n async def connect_read_pipe(\n self, protocol_factory: Callable[[], _ProtocolT], pipe: Any\n ) -> tuple[ReadTransport, _ProtocolT]: ...\n @abstractmethod\n async def connect_write_pipe(\n self, protocol_factory: Callable[[], _ProtocolT], pipe: Any\n ) -> tuple[WriteTransport, _ProtocolT]: ...\n @abstractmethod\n async def subprocess_shell(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n cmd: bytes | str,\n *,\n stdin: int | IO[Any] | None = -1,\n stdout: int | IO[Any] | None = -1,\n stderr: int | IO[Any] | None = -1,\n universal_newlines: Literal[False] = False,\n shell: Literal[True] = True,\n bufsize: Literal[0] = 0,\n encoding: None = None,\n errors: None = None,\n text: Literal[False, None] = ...,\n **kwargs: Any,\n ) -> tuple[SubprocessTransport, _ProtocolT]: ...\n @abstractmethod\n async def subprocess_exec(\n self,\n protocol_factory: Callable[[], _ProtocolT],\n program: Any,\n *args: Any,\n stdin: int | IO[Any] | None = -1,\n stdout: int | IO[Any] | None = -1,\n stderr: int | IO[Any] | None = -1,\n universal_newlines: Literal[False] = False,\n shell: Literal[False] = False,\n bufsize: Literal[0] = 0,\n encoding: None = None,\n errors: None = None,\n **kwargs: Any,\n ) -> tuple[SubprocessTransport, _ProtocolT]: ...\n @abstractmethod\n def add_reader(self, fd: FileDescriptorLike, callback: Callable[..., Any], *args: Any) -> None: ...\n @abstractmethod\n def remove_reader(self, fd: FileDescriptorLike) -> bool: ...\n @abstractmethod\n def add_writer(self, fd: FileDescriptorLike, callback: Callable[..., Any], *args: Any) -> None: ...\n @abstractmethod\n def remove_writer(self, fd: FileDescriptorLike) -> bool: ...\n # Completion based I/O methods returning Futures prior to 3.7\n @abstractmethod\n async def sock_recv(self, sock: socket, nbytes: int) -> bytes: ...\n @abstractmethod\n async def sock_recv_into(self, sock: socket, buf: WriteableBuffer) -> int: ...\n @abstractmethod\n async def sock_sendall(self, sock: socket, data: ReadableBuffer) -> None: ...\n @abstractmethod\n async def sock_connect(self, sock: socket, address: _Address) -> None: ...\n @abstractmethod\n async def sock_accept(self, sock: socket) -> tuple[socket, _RetAddress]: ...\n if sys.version_info >= (3, 11):\n @abstractmethod\n async def sock_recvfrom(self, sock: socket, bufsize: int) -> tuple[bytes, _RetAddress]: ...\n @abstractmethod\n async def sock_recvfrom_into(self, sock: socket, buf: WriteableBuffer, nbytes: int = 0) -> tuple[int, _RetAddress]: ...\n @abstractmethod\n async def sock_sendto(self, sock: socket, data: ReadableBuffer, address: _Address) -> int: ...\n # Signal handling.\n @abstractmethod\n def add_signal_handler(self, sig: int, callback: Callable[..., object], *args: Any) -> None: ...\n @abstractmethod\n def remove_signal_handler(self, sig: int) -> bool: ...\n # Error handlers.\n @abstractmethod\n def set_exception_handler(self, handler: _ExceptionHandler | None) -> None: ...\n @abstractmethod\n def get_exception_handler(self) -> _ExceptionHandler | None: ...\n @abstractmethod\n def default_exception_handler(self, context: _Context) -> None: ...\n @abstractmethod\n def call_exception_handler(self, context: _Context) -> None: ...\n # Debug flag management.\n @abstractmethod\n def get_debug(self) -> bool: ...\n @abstractmethod\n def set_debug(self, enabled: bool) -> None: ...\n if sys.version_info >= (3, 9):\n @abstractmethod\n async def shutdown_default_executor(self) -> None: ...\n\nclass AbstractEventLoopPolicy:\n @abstractmethod\n def get_event_loop(self) -> AbstractEventLoop: ...\n @abstractmethod\n def set_event_loop(self, loop: AbstractEventLoop | None) -> None: ...\n @abstractmethod\n def new_event_loop(self) -> AbstractEventLoop: ...\n # Child processes handling (Unix only).\n @abstractmethod\n def get_child_watcher(self) -> AbstractChildWatcher: ...\n @abstractmethod\n def set_child_watcher(self, watcher: AbstractChildWatcher) -> None: ...\n\nclass BaseDefaultEventLoopPolicy(AbstractEventLoopPolicy, metaclass=ABCMeta):\n def get_event_loop(self) -> AbstractEventLoop: ...\n def set_event_loop(self, loop: AbstractEventLoop | None) -> None: ...\n def new_event_loop(self) -> AbstractEventLoop: ...\n\ndef get_event_loop_policy() -> AbstractEventLoopPolicy: ...\ndef set_event_loop_policy(policy: AbstractEventLoopPolicy | None) -> None: ...\ndef get_event_loop() -> AbstractEventLoop: ...\ndef set_event_loop(loop: AbstractEventLoop | None) -> None: ...\ndef new_event_loop() -> AbstractEventLoop: ...\ndef get_child_watcher() -> AbstractChildWatcher: ...\ndef set_child_watcher(watcher: AbstractChildWatcher) -> None: ...\ndef _set_running_loop(__loop: AbstractEventLoop | None) -> None: ...\ndef _get_running_loop() -> AbstractEventLoop: ...\ndef get_running_loop() -> AbstractEventLoop: ...\n\nif sys.version_info < (3, 8):\n class SendfileNotAvailableError(RuntimeError): ...\n", + "/typeshed/stdlib/asyncio/exceptions.pyi": "import sys\n\nif sys.version_info >= (3, 11):\n __all__ = (\n \"BrokenBarrierError\",\n \"CancelledError\",\n \"InvalidStateError\",\n \"TimeoutError\",\n \"IncompleteReadError\",\n \"LimitOverrunError\",\n \"SendfileNotAvailableError\",\n )\nelse:\n __all__ = (\n \"CancelledError\",\n \"InvalidStateError\",\n \"TimeoutError\",\n \"IncompleteReadError\",\n \"LimitOverrunError\",\n \"SendfileNotAvailableError\",\n )\n\nclass CancelledError(BaseException): ...\nclass TimeoutError(Exception): ...\nclass InvalidStateError(Exception): ...\nclass SendfileNotAvailableError(RuntimeError): ...\n\nclass IncompleteReadError(EOFError):\n expected: int | None\n partial: bytes\n def __init__(self, partial: bytes, expected: int | None) -> None: ...\n\nclass LimitOverrunError(Exception):\n consumed: int\n def __init__(self, message: str, consumed: int) -> None: ...\n\nif sys.version_info >= (3, 11):\n class BrokenBarrierError(RuntimeError): ...\n", + "/typeshed/stdlib/asyncio/format_helpers.pyi": "import functools\nimport traceback\nfrom collections.abc import Iterable\nfrom types import FrameType, FunctionType\nfrom typing import Any, overload\nfrom typing_extensions import TypeAlias\n\nclass _HasWrapper:\n __wrapper__: _HasWrapper | FunctionType\n\n_FuncType: TypeAlias = FunctionType | _HasWrapper | functools.partial[Any] | functools.partialmethod[Any]\n\n@overload\ndef _get_function_source(func: _FuncType) -> tuple[str, int]: ...\n@overload\ndef _get_function_source(func: object) -> tuple[str, int] | None: ...\ndef _format_callback_source(func: object, args: Iterable[Any]) -> str: ...\ndef _format_args_and_kwargs(args: Iterable[Any], kwargs: dict[str, Any]) -> str: ...\ndef _format_callback(func: object, args: Iterable[Any], kwargs: dict[str, Any], suffix: str = \"\") -> str: ...\ndef extract_stack(f: FrameType | None = None, limit: int | None = None) -> traceback.StackSummary: ...\n", + "/typeshed/stdlib/asyncio/futures.pyi": "import sys\nfrom collections.abc import Awaitable, Callable, Generator, Iterable\nfrom concurrent.futures._base import Error, Future as _ConcurrentFuture\nfrom typing import Any, TypeVar\nfrom typing_extensions import Literal, Self, TypeGuard\n\nfrom .events import AbstractEventLoop\n\nif sys.version_info < (3, 8):\n from concurrent.futures import CancelledError as CancelledError, TimeoutError as TimeoutError\n\n class InvalidStateError(Error): ...\n\nfrom contextvars import Context\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nif sys.version_info >= (3, 8):\n __all__ = (\"Future\", \"wrap_future\", \"isfuture\")\nelse:\n __all__ = (\"CancelledError\", \"TimeoutError\", \"InvalidStateError\", \"Future\", \"wrap_future\", \"isfuture\")\n\n_T = TypeVar(\"_T\")\n\n# asyncio defines 'isfuture()' in base_futures.py and re-imports it in futures.py\n# but it leads to circular import error in pytype tool.\n# That's why the import order is reversed.\ndef isfuture(obj: object) -> TypeGuard[Future[Any]]: ...\n\nclass Future(Awaitable[_T], Iterable[_T]):\n _state: str\n @property\n def _exception(self) -> BaseException | None: ...\n _blocking: bool\n @property\n def _log_traceback(self) -> bool: ...\n @_log_traceback.setter\n def _log_traceback(self, val: Literal[False]) -> None: ...\n _asyncio_future_blocking: bool # is a part of duck-typing contract for `Future`\n def __init__(self, *, loop: AbstractEventLoop | None = ...) -> None: ...\n def __del__(self) -> None: ...\n def get_loop(self) -> AbstractEventLoop: ...\n @property\n def _callbacks(self) -> list[tuple[Callable[[Self], Any], Context]]: ...\n def add_done_callback(self, __fn: Callable[[Self], object], *, context: Context | None = None) -> None: ...\n if sys.version_info >= (3, 9):\n def cancel(self, msg: Any | None = None) -> bool: ...\n else:\n def cancel(self) -> bool: ...\n\n def cancelled(self) -> bool: ...\n def done(self) -> bool: ...\n def result(self) -> _T: ...\n def exception(self) -> BaseException | None: ...\n def remove_done_callback(self, __fn: Callable[[Self], object]) -> int: ...\n def set_result(self, __result: _T) -> None: ...\n def set_exception(self, __exception: type | BaseException) -> None: ...\n def __iter__(self) -> Generator[Any, None, _T]: ...\n def __await__(self) -> Generator[Any, None, _T]: ...\n @property\n def _loop(self) -> AbstractEventLoop: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\ndef wrap_future(future: _ConcurrentFuture[_T] | Future[_T], *, loop: AbstractEventLoop | None = None) -> Future[_T]: ...\n", + "/typeshed/stdlib/asyncio/locks.pyi": "import enum\nimport sys\nfrom _typeshed import Unused\nfrom collections import deque\nfrom collections.abc import Callable, Generator\nfrom types import TracebackType\nfrom typing import Any, TypeVar\nfrom typing_extensions import Literal, Self\n\nfrom .events import AbstractEventLoop\nfrom .futures import Future\n\nif sys.version_info >= (3, 11):\n from .mixins import _LoopBoundMixin\n\nif sys.version_info >= (3, 11):\n __all__ = (\"Lock\", \"Event\", \"Condition\", \"Semaphore\", \"BoundedSemaphore\", \"Barrier\")\nelse:\n __all__ = (\"Lock\", \"Event\", \"Condition\", \"Semaphore\", \"BoundedSemaphore\")\n\n_T = TypeVar(\"_T\")\n\nif sys.version_info >= (3, 9):\n class _ContextManagerMixin:\n async def __aenter__(self) -> None: ...\n async def __aexit__(\n self, exc_type: type[BaseException] | None, exc: BaseException | None, tb: TracebackType | None\n ) -> None: ...\n\nelse:\n class _ContextManager:\n def __init__(self, lock: Lock | Semaphore) -> None: ...\n def __enter__(self) -> None: ...\n def __exit__(self, *args: Unused) -> None: ...\n\n class _ContextManagerMixin:\n # Apparently this exists to *prohibit* use as a context manager.\n # def __enter__(self) -> NoReturn: ... see: https://github.com/python/typing/issues/1043\n # def __exit__(self, *args: Any) -> None: ...\n def __iter__(self) -> Generator[Any, None, _ContextManager]: ...\n def __await__(self) -> Generator[Any, None, _ContextManager]: ...\n async def __aenter__(self) -> None: ...\n async def __aexit__(\n self, exc_type: type[BaseException] | None, exc: BaseException | None, tb: TracebackType | None\n ) -> None: ...\n\nclass Lock(_ContextManagerMixin):\n if sys.version_info >= (3, 10):\n def __init__(self) -> None: ...\n else:\n def __init__(self, *, loop: AbstractEventLoop | None = None) -> None: ...\n\n def locked(self) -> bool: ...\n async def acquire(self) -> Literal[True]: ...\n def release(self) -> None: ...\n\nclass Event:\n if sys.version_info >= (3, 10):\n def __init__(self) -> None: ...\n else:\n def __init__(self, *, loop: AbstractEventLoop | None = None) -> None: ...\n\n def is_set(self) -> bool: ...\n def set(self) -> None: ...\n def clear(self) -> None: ...\n async def wait(self) -> Literal[True]: ...\n\nclass Condition(_ContextManagerMixin):\n if sys.version_info >= (3, 10):\n def __init__(self, lock: Lock | None = None) -> None: ...\n else:\n def __init__(self, lock: Lock | None = None, *, loop: AbstractEventLoop | None = None) -> None: ...\n\n def locked(self) -> bool: ...\n async def acquire(self) -> Literal[True]: ...\n def release(self) -> None: ...\n async def wait(self) -> Literal[True]: ...\n async def wait_for(self, predicate: Callable[[], _T]) -> _T: ...\n def notify(self, n: int = 1) -> None: ...\n def notify_all(self) -> None: ...\n\nclass Semaphore(_ContextManagerMixin):\n _value: int\n _waiters: deque[Future[Any]]\n if sys.version_info >= (3, 10):\n def __init__(self, value: int = 1) -> None: ...\n else:\n def __init__(self, value: int = 1, *, loop: AbstractEventLoop | None = None) -> None: ...\n\n def locked(self) -> bool: ...\n async def acquire(self) -> Literal[True]: ...\n def release(self) -> None: ...\n def _wake_up_next(self) -> None: ...\n\nclass BoundedSemaphore(Semaphore): ...\n\nif sys.version_info >= (3, 11):\n class _BarrierState(enum.Enum): # undocumented\n FILLING: str\n DRAINING: str\n RESETTING: str\n BROKEN: str\n\n class Barrier(_LoopBoundMixin):\n def __init__(self, parties: int) -> None: ...\n async def __aenter__(self) -> Self: ...\n async def __aexit__(self, *args: Unused) -> None: ...\n async def wait(self) -> int: ...\n async def abort(self) -> None: ...\n async def reset(self) -> None: ...\n @property\n def parties(self) -> int: ...\n @property\n def n_waiting(self) -> int: ...\n @property\n def broken(self) -> bool: ...\n", + "/typeshed/stdlib/asyncio/log.pyi": "import logging\n\nlogger: logging.Logger\n", + "/typeshed/stdlib/asyncio/mixins.pyi": "import sys\nimport threading\nfrom typing_extensions import Never\n\n_global_lock: threading.Lock\n\nclass _LoopBoundMixin:\n if sys.version_info < (3, 11):\n def __init__(self, *, loop: Never = ...) -> None: ...\n", + "/typeshed/stdlib/asyncio/proactor_events.pyi": "import sys\nfrom collections.abc import Mapping\nfrom socket import socket\nfrom typing import Any, ClassVar, Protocol\nfrom typing_extensions import Literal\n\nfrom . import base_events, constants, events, futures, streams, transports\n\n__all__ = (\"BaseProactorEventLoop\",)\n\nif sys.version_info >= (3, 8):\n class _WarnCallbackProtocol(Protocol):\n def __call__(\n self, message: str, category: type[Warning] | None = ..., stacklevel: int = ..., source: Any | None = ...\n ) -> object: ...\n\nclass _ProactorBasePipeTransport(transports._FlowControlMixin, transports.BaseTransport):\n def __init__(\n self,\n loop: events.AbstractEventLoop,\n sock: socket,\n protocol: streams.StreamReaderProtocol,\n waiter: futures.Future[Any] | None = None,\n extra: Mapping[Any, Any] | None = None,\n server: events.AbstractServer | None = None,\n ) -> None: ...\n if sys.version_info >= (3, 8):\n def __del__(self, _warn: _WarnCallbackProtocol = ...) -> None: ...\n else:\n def __del__(self) -> None: ...\n\nclass _ProactorReadPipeTransport(_ProactorBasePipeTransport, transports.ReadTransport):\n if sys.version_info >= (3, 10):\n def __init__(\n self,\n loop: events.AbstractEventLoop,\n sock: socket,\n protocol: streams.StreamReaderProtocol,\n waiter: futures.Future[Any] | None = None,\n extra: Mapping[Any, Any] | None = None,\n server: events.AbstractServer | None = None,\n buffer_size: int = 65536,\n ) -> None: ...\n else:\n def __init__(\n self,\n loop: events.AbstractEventLoop,\n sock: socket,\n protocol: streams.StreamReaderProtocol,\n waiter: futures.Future[Any] | None = None,\n extra: Mapping[Any, Any] | None = None,\n server: events.AbstractServer | None = None,\n ) -> None: ...\n\nclass _ProactorBaseWritePipeTransport(_ProactorBasePipeTransport, transports.WriteTransport): ...\nclass _ProactorWritePipeTransport(_ProactorBaseWritePipeTransport): ...\nclass _ProactorDuplexPipeTransport(_ProactorReadPipeTransport, _ProactorBaseWritePipeTransport, transports.Transport): ...\n\nclass _ProactorSocketTransport(_ProactorReadPipeTransport, _ProactorBaseWritePipeTransport, transports.Transport):\n _sendfile_compatible: ClassVar[constants._SendfileMode]\n def __init__(\n self,\n loop: events.AbstractEventLoop,\n sock: socket,\n protocol: streams.StreamReaderProtocol,\n waiter: futures.Future[Any] | None = None,\n extra: Mapping[Any, Any] | None = None,\n server: events.AbstractServer | None = None,\n ) -> None: ...\n def _set_extra(self, sock: socket) -> None: ...\n def can_write_eof(self) -> Literal[True]: ...\n\nclass BaseProactorEventLoop(base_events.BaseEventLoop):\n def __init__(self, proactor: Any) -> None: ...\n", + "/typeshed/stdlib/asyncio/protocols.pyi": "from _typeshed import ReadableBuffer\nfrom asyncio import transports\nfrom typing import Any\n\n__all__ = (\"BaseProtocol\", \"Protocol\", \"DatagramProtocol\", \"SubprocessProtocol\", \"BufferedProtocol\")\n\nclass BaseProtocol:\n def connection_made(self, transport: transports.BaseTransport) -> None: ...\n def connection_lost(self, exc: Exception | None) -> None: ...\n def pause_writing(self) -> None: ...\n def resume_writing(self) -> None: ...\n\nclass Protocol(BaseProtocol):\n def data_received(self, data: bytes) -> None: ...\n def eof_received(self) -> bool | None: ...\n\nclass BufferedProtocol(BaseProtocol):\n def get_buffer(self, sizehint: int) -> ReadableBuffer: ...\n def buffer_updated(self, nbytes: int) -> None: ...\n def eof_received(self) -> bool | None: ...\n\nclass DatagramProtocol(BaseProtocol):\n def connection_made(self, transport: transports.DatagramTransport) -> None: ... # type: ignore[override]\n # addr can be a tuple[int, int] for some unusual protocols like socket.AF_NETLINK.\n # Use tuple[str | Any, int] to not cause typechecking issues on most usual cases.\n # This could be improved by using tuple[AnyOf[str, int], int] if the AnyOf feature is accepted.\n # See https://github.com/python/typing/issues/566\n def datagram_received(self, data: bytes, addr: tuple[str | Any, int]) -> None: ...\n def error_received(self, exc: Exception) -> None: ...\n\nclass SubprocessProtocol(BaseProtocol):\n def pipe_data_received(self, fd: int, data: bytes) -> None: ...\n def pipe_connection_lost(self, fd: int, exc: Exception | None) -> None: ...\n def process_exited(self) -> None: ...\n", + "/typeshed/stdlib/asyncio/queues.pyi": "import sys\nfrom asyncio.events import AbstractEventLoop\nfrom typing import Any, Generic, TypeVar\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = (\"Queue\", \"PriorityQueue\", \"LifoQueue\", \"QueueFull\", \"QueueEmpty\")\n\nclass QueueEmpty(Exception): ...\nclass QueueFull(Exception): ...\n\n_T = TypeVar(\"_T\")\n\nclass Queue(Generic[_T]):\n if sys.version_info >= (3, 10):\n def __init__(self, maxsize: int = 0) -> None: ...\n else:\n def __init__(self, maxsize: int = 0, *, loop: AbstractEventLoop | None = None) -> None: ...\n\n def _init(self, maxsize: int) -> None: ...\n def _get(self) -> _T: ...\n def _put(self, item: _T) -> None: ...\n def _format(self) -> str: ...\n def qsize(self) -> int: ...\n @property\n def maxsize(self) -> int: ...\n def empty(self) -> bool: ...\n def full(self) -> bool: ...\n async def put(self, item: _T) -> None: ...\n def put_nowait(self, item: _T) -> None: ...\n async def get(self) -> _T: ...\n def get_nowait(self) -> _T: ...\n async def join(self) -> None: ...\n def task_done(self) -> None: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, type: Any) -> GenericAlias: ...\n\nclass PriorityQueue(Queue[_T]): ...\nclass LifoQueue(Queue[_T]): ...\n", + "/typeshed/stdlib/asyncio/runners.pyi": "import sys\nfrom _typeshed import Unused\nfrom collections.abc import Callable, Coroutine\nfrom contextvars import Context\nfrom typing import Any, TypeVar\nfrom typing_extensions import Self, final\n\nfrom .events import AbstractEventLoop\n\nif sys.version_info >= (3, 11):\n __all__ = (\"Runner\", \"run\")\nelse:\n __all__ = (\"run\",)\n_T = TypeVar(\"_T\")\n\nif sys.version_info >= (3, 11):\n @final\n class Runner:\n def __init__(self, *, debug: bool | None = None, loop_factory: Callable[[], AbstractEventLoop] | None = None) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, exc_type: Unused, exc_val: Unused, exc_tb: Unused) -> None: ...\n def close(self) -> None: ...\n def get_loop(self) -> AbstractEventLoop: ...\n def run(self, coro: Coroutine[Any, Any, _T], *, context: Context | None = None) -> _T: ...\n\nif sys.version_info >= (3, 12):\n def run(\n main: Coroutine[Any, Any, _T], *, debug: bool | None = ..., loop_factory: Callable[[], AbstractEventLoop] | None = ...\n ) -> _T: ...\n\nelif sys.version_info >= (3, 8):\n def run(main: Coroutine[Any, Any, _T], *, debug: bool | None = None) -> _T: ...\n\nelse:\n def run(main: Coroutine[Any, Any, _T], *, debug: bool = False) -> _T: ...\n", + "/typeshed/stdlib/asyncio/selector_events.pyi": "import selectors\n\nfrom . import base_events\n\n__all__ = (\"BaseSelectorEventLoop\",)\n\nclass BaseSelectorEventLoop(base_events.BaseEventLoop):\n def __init__(self, selector: selectors.BaseSelector | None = None) -> None: ...\n", + "/typeshed/stdlib/asyncio/sslproto.pyi": "import ssl\nimport sys\nfrom collections import deque\nfrom collections.abc import Callable\nfrom enum import Enum\nfrom typing import Any, ClassVar\nfrom typing_extensions import Literal, TypeAlias\n\nfrom . import constants, events, futures, protocols, transports\n\ndef _create_transport_context(server_side: bool, server_hostname: str | None) -> ssl.SSLContext: ...\n\nif sys.version_info >= (3, 11):\n SSLAgainErrors: tuple[type[ssl.SSLWantReadError], type[ssl.SSLSyscallError]]\n\n class SSLProtocolState(Enum):\n UNWRAPPED: str\n DO_HANDSHAKE: str\n WRAPPED: str\n FLUSHING: str\n SHUTDOWN: str\n\n class AppProtocolState(Enum):\n STATE_INIT: str\n STATE_CON_MADE: str\n STATE_EOF: str\n STATE_CON_LOST: str\n def add_flowcontrol_defaults(high: int | None, low: int | None, kb: int) -> tuple[int, int]: ...\n\nelse:\n _UNWRAPPED: Literal[\"UNWRAPPED\"]\n _DO_HANDSHAKE: Literal[\"DO_HANDSHAKE\"]\n _WRAPPED: Literal[\"WRAPPED\"]\n _SHUTDOWN: Literal[\"SHUTDOWN\"]\n\nif sys.version_info < (3, 11):\n class _SSLPipe:\n max_size: ClassVar[int]\n\n _context: ssl.SSLContext\n _server_side: bool\n _server_hostname: str | None\n _state: str\n _incoming: ssl.MemoryBIO\n _outgoing: ssl.MemoryBIO\n _sslobj: ssl.SSLObject | None\n _need_ssldata: bool\n _handshake_cb: Callable[[BaseException | None], None] | None\n _shutdown_cb: Callable[[], None] | None\n def __init__(self, context: ssl.SSLContext, server_side: bool, server_hostname: str | None = None) -> None: ...\n @property\n def context(self) -> ssl.SSLContext: ...\n @property\n def ssl_object(self) -> ssl.SSLObject | None: ...\n @property\n def need_ssldata(self) -> bool: ...\n @property\n def wrapped(self) -> bool: ...\n def do_handshake(self, callback: Callable[[BaseException | None], object] | None = None) -> list[bytes]: ...\n def shutdown(self, callback: Callable[[], object] | None = None) -> list[bytes]: ...\n def feed_eof(self) -> None: ...\n def feed_ssldata(self, data: bytes, only_handshake: bool = False) -> tuple[list[bytes], list[bytes]]: ...\n def feed_appdata(self, data: bytes, offset: int = 0) -> tuple[list[bytes], int]: ...\n\nclass _SSLProtocolTransport(transports._FlowControlMixin, transports.Transport):\n _sendfile_compatible: ClassVar[constants._SendfileMode]\n\n _loop: events.AbstractEventLoop\n if sys.version_info >= (3, 11):\n _ssl_protocol: SSLProtocol | None\n else:\n _ssl_protocol: SSLProtocol\n _closed: bool\n def __init__(self, loop: events.AbstractEventLoop, ssl_protocol: SSLProtocol) -> None: ...\n def get_extra_info(self, name: str, default: Any | None = None) -> dict[str, Any]: ...\n @property\n def _protocol_paused(self) -> bool: ...\n def write(self, data: bytes | bytearray | memoryview) -> None: ...\n def can_write_eof(self) -> Literal[False]: ...\n if sys.version_info >= (3, 11):\n def get_write_buffer_limits(self) -> tuple[int, int]: ...\n def get_read_buffer_limits(self) -> tuple[int, int]: ...\n def set_read_buffer_limits(self, high: int | None = None, low: int | None = None) -> None: ...\n def get_read_buffer_size(self) -> int: ...\n\nif sys.version_info >= (3, 11):\n _SSLProtocolBase: TypeAlias = protocols.BufferedProtocol\nelse:\n _SSLProtocolBase: TypeAlias = protocols.Protocol\n\nclass SSLProtocol(_SSLProtocolBase):\n _server_side: bool\n _server_hostname: str | None\n _sslcontext: ssl.SSLContext\n _extra: dict[str, Any]\n _write_backlog: deque[tuple[bytes, int]]\n _write_buffer_size: int\n _waiter: futures.Future[Any]\n _loop: events.AbstractEventLoop\n _app_transport: _SSLProtocolTransport\n _transport: transports.BaseTransport | None\n _ssl_handshake_timeout: int | None\n _app_protocol: protocols.BaseProtocol\n _app_protocol_is_buffer: bool\n\n if sys.version_info >= (3, 11):\n max_size: ClassVar[int]\n else:\n _sslpipe: _SSLPipe | None\n _session_established: bool\n _call_connection_made: bool\n _in_handshake: bool\n _in_shutdown: bool\n\n if sys.version_info >= (3, 11):\n def __init__(\n self,\n loop: events.AbstractEventLoop,\n app_protocol: protocols.BaseProtocol,\n sslcontext: ssl.SSLContext,\n waiter: futures.Future[Any],\n server_side: bool = False,\n server_hostname: str | None = None,\n call_connection_made: bool = True,\n ssl_handshake_timeout: int | None = None,\n ssl_shutdown_timeout: float | None = None,\n ) -> None: ...\n else:\n def __init__(\n self,\n loop: events.AbstractEventLoop,\n app_protocol: protocols.BaseProtocol,\n sslcontext: ssl.SSLContext,\n waiter: futures.Future[Any],\n server_side: bool = False,\n server_hostname: str | None = None,\n call_connection_made: bool = True,\n ssl_handshake_timeout: int | None = None,\n ) -> None: ...\n\n def _set_app_protocol(self, app_protocol: protocols.BaseProtocol) -> None: ...\n def _wakeup_waiter(self, exc: BaseException | None = None) -> None: ...\n def connection_lost(self, exc: BaseException | None) -> None: ...\n def eof_received(self) -> None: ...\n def _get_extra_info(self, name: str, default: Any | None = None) -> Any: ...\n def _start_shutdown(self) -> None: ...\n if sys.version_info >= (3, 11):\n def _write_appdata(self, list_of_data: list[bytes]) -> None: ...\n else:\n def _write_appdata(self, data: bytes) -> None: ...\n\n def _start_handshake(self) -> None: ...\n def _check_handshake_timeout(self) -> None: ...\n def _on_handshake_complete(self, handshake_exc: BaseException | None) -> None: ...\n def _fatal_error(self, exc: BaseException, message: str = \"Fatal error on transport\") -> None: ...\n def _abort(self) -> None: ...\n if sys.version_info >= (3, 11):\n def get_buffer(self, n: int) -> memoryview: ...\n else:\n def _finalize(self) -> None: ...\n def _process_write_backlog(self) -> None: ...\n", + "/typeshed/stdlib/asyncio/staggered.pyi": "from collections.abc import Awaitable, Callable, Iterable\nfrom typing import Any\n\nfrom . import events\n\n__all__ = (\"staggered_race\",)\n\nasync def staggered_race(\n coro_fns: Iterable[Callable[[], Awaitable[Any]]], delay: float | None, *, loop: events.AbstractEventLoop | None = None\n) -> tuple[Any, int | None, list[Exception | None]]: ...\n", + "/typeshed/stdlib/asyncio/streams.pyi": "import ssl\nimport sys\nfrom _typeshed import StrPath\nfrom collections.abc import AsyncIterator, Awaitable, Callable, Iterable, Sequence\nfrom typing import Any\nfrom typing_extensions import Self, SupportsIndex, TypeAlias\n\nfrom . import events, protocols, transports\nfrom .base_events import Server\n\nif sys.platform == \"win32\":\n if sys.version_info >= (3, 8):\n __all__ = (\"StreamReader\", \"StreamWriter\", \"StreamReaderProtocol\", \"open_connection\", \"start_server\")\n else:\n __all__ = (\n \"StreamReader\",\n \"StreamWriter\",\n \"StreamReaderProtocol\",\n \"open_connection\",\n \"start_server\",\n \"IncompleteReadError\",\n \"LimitOverrunError\",\n )\nelse:\n if sys.version_info >= (3, 8):\n __all__ = (\n \"StreamReader\",\n \"StreamWriter\",\n \"StreamReaderProtocol\",\n \"open_connection\",\n \"start_server\",\n \"open_unix_connection\",\n \"start_unix_server\",\n )\n else:\n __all__ = (\n \"StreamReader\",\n \"StreamWriter\",\n \"StreamReaderProtocol\",\n \"open_connection\",\n \"start_server\",\n \"IncompleteReadError\",\n \"LimitOverrunError\",\n \"open_unix_connection\",\n \"start_unix_server\",\n )\n\n_ClientConnectedCallback: TypeAlias = Callable[[StreamReader, StreamWriter], Awaitable[None] | None]\n\nif sys.version_info < (3, 8):\n class IncompleteReadError(EOFError):\n expected: int | None\n partial: bytes\n def __init__(self, partial: bytes, expected: int | None) -> None: ...\n\n class LimitOverrunError(Exception):\n consumed: int\n def __init__(self, message: str, consumed: int) -> None: ...\n\nif sys.version_info >= (3, 10):\n async def open_connection(\n host: str | None = None,\n port: int | str | None = None,\n *,\n limit: int = 65536,\n ssl_handshake_timeout: float | None = ...,\n **kwds: Any,\n ) -> tuple[StreamReader, StreamWriter]: ...\n async def start_server(\n client_connected_cb: _ClientConnectedCallback,\n host: str | Sequence[str] | None = None,\n port: int | str | None = None,\n *,\n limit: int = 65536,\n ssl_handshake_timeout: float | None = ...,\n **kwds: Any,\n ) -> Server: ...\n\nelse:\n async def open_connection(\n host: str | None = None,\n port: int | str | None = None,\n *,\n loop: events.AbstractEventLoop | None = None,\n limit: int = 65536,\n ssl_handshake_timeout: float | None = ...,\n **kwds: Any,\n ) -> tuple[StreamReader, StreamWriter]: ...\n async def start_server(\n client_connected_cb: _ClientConnectedCallback,\n host: str | None = None,\n port: int | str | None = None,\n *,\n loop: events.AbstractEventLoop | None = None,\n limit: int = 65536,\n ssl_handshake_timeout: float | None = ...,\n **kwds: Any,\n ) -> Server: ...\n\nif sys.platform != \"win32\":\n if sys.version_info >= (3, 10):\n async def open_unix_connection(\n path: StrPath | None = None, *, limit: int = 65536, **kwds: Any\n ) -> tuple[StreamReader, StreamWriter]: ...\n async def start_unix_server(\n client_connected_cb: _ClientConnectedCallback, path: StrPath | None = None, *, limit: int = 65536, **kwds: Any\n ) -> Server: ...\n else:\n async def open_unix_connection(\n path: StrPath | None = None, *, loop: events.AbstractEventLoop | None = None, limit: int = 65536, **kwds: Any\n ) -> tuple[StreamReader, StreamWriter]: ...\n async def start_unix_server(\n client_connected_cb: _ClientConnectedCallback,\n path: StrPath | None = None,\n *,\n loop: events.AbstractEventLoop | None = None,\n limit: int = 65536,\n **kwds: Any,\n ) -> Server: ...\n\nclass FlowControlMixin(protocols.Protocol):\n def __init__(self, loop: events.AbstractEventLoop | None = None) -> None: ...\n\nclass StreamReaderProtocol(FlowControlMixin, protocols.Protocol):\n def __init__(\n self,\n stream_reader: StreamReader,\n client_connected_cb: _ClientConnectedCallback | None = None,\n loop: events.AbstractEventLoop | None = None,\n ) -> None: ...\n\nclass StreamWriter:\n def __init__(\n self,\n transport: transports.WriteTransport,\n protocol: protocols.BaseProtocol,\n reader: StreamReader | None,\n loop: events.AbstractEventLoop,\n ) -> None: ...\n @property\n def transport(self) -> transports.WriteTransport: ...\n def write(self, data: bytes | bytearray | memoryview) -> None: ...\n def writelines(self, data: Iterable[bytes | bytearray | memoryview]) -> None: ...\n def write_eof(self) -> None: ...\n def can_write_eof(self) -> bool: ...\n def close(self) -> None: ...\n def is_closing(self) -> bool: ...\n async def wait_closed(self) -> None: ...\n def get_extra_info(self, name: str, default: Any = None) -> Any: ...\n async def drain(self) -> None: ...\n if sys.version_info >= (3, 12):\n async def start_tls(\n self,\n sslcontext: ssl.SSLContext,\n *,\n server_hostname: str | None = None,\n ssl_handshake_timeout: float | None = None,\n ssl_shutdown_timeout: float | None = None,\n ) -> None: ...\n elif sys.version_info >= (3, 11):\n async def start_tls(\n self, sslcontext: ssl.SSLContext, *, server_hostname: str | None = None, ssl_handshake_timeout: float | None = None\n ) -> None: ...\n\nclass StreamReader(AsyncIterator[bytes]):\n def __init__(self, limit: int = 65536, loop: events.AbstractEventLoop | None = None) -> None: ...\n def exception(self) -> Exception: ...\n def set_exception(self, exc: Exception) -> None: ...\n def set_transport(self, transport: transports.BaseTransport) -> None: ...\n def feed_eof(self) -> None: ...\n def at_eof(self) -> bool: ...\n def feed_data(self, data: Iterable[SupportsIndex]) -> None: ...\n async def readline(self) -> bytes: ...\n # Can be any buffer that supports len(); consider changing to a Protocol if PEP 688 is accepted\n async def readuntil(self, separator: bytes | bytearray | memoryview = b\"\\n\") -> bytes: ...\n async def read(self, n: int = -1) -> bytes: ...\n async def readexactly(self, n: int) -> bytes: ...\n def __aiter__(self) -> Self: ...\n async def __anext__(self) -> bytes: ...\n", + "/typeshed/stdlib/asyncio/taskgroups.pyi": "import sys\nfrom contextvars import Context\nfrom types import TracebackType\nfrom typing import Any, TypeVar\nfrom typing_extensions import Self\n\nfrom . import _CoroutineLike\nfrom .events import AbstractEventLoop\nfrom .tasks import Task\n\nif sys.version_info >= (3, 12):\n __all__ = (\"TaskGroup\",)\nelse:\n __all__ = [\"TaskGroup\"]\n\n_T = TypeVar(\"_T\")\n\nclass TaskGroup:\n _loop: AbstractEventLoop | None\n _tasks: set[Task[Any]]\n\n async def __aenter__(self) -> Self: ...\n async def __aexit__(self, et: type[BaseException] | None, exc: BaseException | None, tb: TracebackType | None) -> None: ...\n def create_task(self, coro: _CoroutineLike[_T], *, name: str | None = None, context: Context | None = None) -> Task[_T]: ...\n def _on_task_done(self, task: Task[object]) -> None: ...\n", + "/typeshed/stdlib/asyncio/tasks.pyi": "import concurrent.futures\nimport sys\nfrom collections.abc import Awaitable, Coroutine, Generator, Iterable, Iterator\nfrom types import FrameType\nfrom typing import Any, Protocol, TextIO, TypeVar, overload\nfrom typing_extensions import Literal, TypeAlias\n\nfrom . import _CoroutineLike\nfrom .events import AbstractEventLoop\nfrom .futures import Future\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\nif sys.version_info >= (3, 11):\n from contextvars import Context\n\nif sys.version_info >= (3, 12):\n __all__ = (\n \"Task\",\n \"create_task\",\n \"FIRST_COMPLETED\",\n \"FIRST_EXCEPTION\",\n \"ALL_COMPLETED\",\n \"wait\",\n \"wait_for\",\n \"as_completed\",\n \"sleep\",\n \"gather\",\n \"shield\",\n \"ensure_future\",\n \"run_coroutine_threadsafe\",\n \"current_task\",\n \"all_tasks\",\n \"create_eager_task_factory\",\n \"eager_task_factory\",\n \"_register_task\",\n \"_unregister_task\",\n \"_enter_task\",\n \"_leave_task\",\n )\nelse:\n __all__ = (\n \"Task\",\n \"create_task\",\n \"FIRST_COMPLETED\",\n \"FIRST_EXCEPTION\",\n \"ALL_COMPLETED\",\n \"wait\",\n \"wait_for\",\n \"as_completed\",\n \"sleep\",\n \"gather\",\n \"shield\",\n \"ensure_future\",\n \"run_coroutine_threadsafe\",\n \"current_task\",\n \"all_tasks\",\n \"_register_task\",\n \"_unregister_task\",\n \"_enter_task\",\n \"_leave_task\",\n )\n\n_T = TypeVar(\"_T\")\n_T_co = TypeVar(\"_T_co\", covariant=True)\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_T3 = TypeVar(\"_T3\")\n_T4 = TypeVar(\"_T4\")\n_T5 = TypeVar(\"_T5\")\n_T6 = TypeVar(\"_T6\")\n_FT = TypeVar(\"_FT\", bound=Future[Any])\n_FutureLike: TypeAlias = Future[_T] | Generator[Any, None, _T] | Awaitable[_T]\n_TaskYieldType: TypeAlias = Future[object] | None\n\nFIRST_COMPLETED = concurrent.futures.FIRST_COMPLETED\nFIRST_EXCEPTION = concurrent.futures.FIRST_EXCEPTION\nALL_COMPLETED = concurrent.futures.ALL_COMPLETED\n\nif sys.version_info >= (3, 10):\n def as_completed(fs: Iterable[_FutureLike[_T]], *, timeout: float | None = None) -> Iterator[Future[_T]]: ...\n\nelse:\n def as_completed(\n fs: Iterable[_FutureLike[_T]], *, loop: AbstractEventLoop | None = None, timeout: float | None = None\n ) -> Iterator[Future[_T]]: ...\n\n@overload\ndef ensure_future(coro_or_future: _FT, *, loop: AbstractEventLoop | None = None) -> _FT: ... # type: ignore[misc]\n@overload\ndef ensure_future(coro_or_future: Awaitable[_T], *, loop: AbstractEventLoop | None = None) -> Task[_T]: ...\n\n# `gather()` actually returns a list with length equal to the number\n# of tasks passed; however, Tuple is used similar to the annotation for\n# zip() because typing does not support variadic type variables. See\n# typing PR #1550 for discussion.\n#\n# The many type: ignores here are because the overloads overlap,\n# but having overlapping overloads is the only way to get acceptable type inference in all edge cases.\nif sys.version_info >= (3, 10):\n @overload\n def gather(__coro_or_future1: _FutureLike[_T1], *, return_exceptions: Literal[False] = False) -> Future[tuple[_T1]]: ... # type: ignore[misc]\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1], __coro_or_future2: _FutureLike[_T2], *, return_exceptions: Literal[False] = False\n ) -> Future[tuple[_T1, _T2]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n *,\n return_exceptions: Literal[False] = False,\n ) -> Future[tuple[_T1, _T2, _T3]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n __coro_or_future4: _FutureLike[_T4],\n *,\n return_exceptions: Literal[False] = False,\n ) -> Future[tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n __coro_or_future4: _FutureLike[_T4],\n __coro_or_future5: _FutureLike[_T5],\n *,\n return_exceptions: Literal[False] = False,\n ) -> Future[tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n __coro_or_future4: _FutureLike[_T4],\n __coro_or_future5: _FutureLike[_T5],\n __coro_or_future6: _FutureLike[_T6],\n *,\n return_exceptions: Literal[False] = False,\n ) -> Future[tuple[_T1, _T2, _T3, _T4, _T5, _T6]]: ...\n @overload\n def gather(*coros_or_futures: _FutureLike[_T], return_exceptions: Literal[False] = False) -> Future[list[_T]]: ... # type: ignore[misc]\n @overload\n def gather(__coro_or_future1: _FutureLike[_T1], *, return_exceptions: bool) -> Future[tuple[_T1 | BaseException]]: ... # type: ignore[misc]\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1], __coro_or_future2: _FutureLike[_T2], *, return_exceptions: bool\n ) -> Future[tuple[_T1 | BaseException, _T2 | BaseException]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n *,\n return_exceptions: bool,\n ) -> Future[tuple[_T1 | BaseException, _T2 | BaseException, _T3 | BaseException]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n __coro_or_future4: _FutureLike[_T4],\n *,\n return_exceptions: bool,\n ) -> Future[tuple[_T1 | BaseException, _T2 | BaseException, _T3 | BaseException, _T4 | BaseException]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n __coro_or_future4: _FutureLike[_T4],\n __coro_or_future5: _FutureLike[_T5],\n *,\n return_exceptions: bool,\n ) -> Future[\n tuple[_T1 | BaseException, _T2 | BaseException, _T3 | BaseException, _T4 | BaseException, _T5 | BaseException]\n ]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n __coro_or_future4: _FutureLike[_T4],\n __coro_or_future5: _FutureLike[_T5],\n __coro_or_future6: _FutureLike[_T6],\n *,\n return_exceptions: bool,\n ) -> Future[\n tuple[\n _T1 | BaseException,\n _T2 | BaseException,\n _T3 | BaseException,\n _T4 | BaseException,\n _T5 | BaseException,\n _T6 | BaseException,\n ]\n ]: ...\n @overload\n def gather(*coros_or_futures: _FutureLike[_T], return_exceptions: bool) -> Future[list[_T | BaseException]]: ...\n\nelse:\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1], *, loop: AbstractEventLoop | None = None, return_exceptions: Literal[False] = False\n ) -> Future[tuple[_T1]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n *,\n loop: AbstractEventLoop | None = None,\n return_exceptions: Literal[False] = False,\n ) -> Future[tuple[_T1, _T2]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n *,\n loop: AbstractEventLoop | None = None,\n return_exceptions: Literal[False] = False,\n ) -> Future[tuple[_T1, _T2, _T3]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n __coro_or_future4: _FutureLike[_T4],\n *,\n loop: AbstractEventLoop | None = None,\n return_exceptions: Literal[False] = False,\n ) -> Future[tuple[_T1, _T2, _T3, _T4]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n __coro_or_future4: _FutureLike[_T4],\n __coro_or_future5: _FutureLike[_T5],\n *,\n loop: AbstractEventLoop | None = None,\n return_exceptions: Literal[False] = False,\n ) -> Future[tuple[_T1, _T2, _T3, _T4, _T5]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n __coro_or_future4: _FutureLike[_T4],\n __coro_or_future5: _FutureLike[_T5],\n __coro_or_future6: _FutureLike[_T6],\n *,\n loop: AbstractEventLoop | None = None,\n return_exceptions: Literal[False] = False,\n ) -> Future[tuple[_T1, _T2, _T3, _T4, _T5, _T6]]: ...\n @overload\n def gather( # type: ignore[misc]\n *coros_or_futures: _FutureLike[_T], loop: AbstractEventLoop | None = None, return_exceptions: Literal[False] = False\n ) -> Future[list[_T]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1], *, loop: AbstractEventLoop | None = None, return_exceptions: bool\n ) -> Future[tuple[_T1 | BaseException]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n *,\n loop: AbstractEventLoop | None = None,\n return_exceptions: bool,\n ) -> Future[tuple[_T1 | BaseException, _T2 | BaseException]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n *,\n loop: AbstractEventLoop | None = None,\n return_exceptions: bool,\n ) -> Future[tuple[_T1 | BaseException, _T2 | BaseException, _T3 | BaseException]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n __coro_or_future4: _FutureLike[_T4],\n *,\n loop: AbstractEventLoop | None = None,\n return_exceptions: bool,\n ) -> Future[tuple[_T1 | BaseException, _T2 | BaseException, _T3 | BaseException, _T4 | BaseException]]: ...\n @overload\n def gather( # type: ignore[misc]\n __coro_or_future1: _FutureLike[_T1],\n __coro_or_future2: _FutureLike[_T2],\n __coro_or_future3: _FutureLike[_T3],\n __coro_or_future4: _FutureLike[_T4],\n __coro_or_future5: _FutureLike[_T5],\n __coro_or_future6: _FutureLike[_T6],\n *,\n loop: AbstractEventLoop | None = None,\n return_exceptions: bool,\n ) -> Future[\n tuple[\n _T1 | BaseException,\n _T2 | BaseException,\n _T3 | BaseException,\n _T4 | BaseException,\n _T5 | BaseException,\n _T6 | BaseException,\n ]\n ]: ...\n @overload\n def gather( # type: ignore[misc]\n *coros_or_futures: _FutureLike[_T], loop: AbstractEventLoop | None = None, return_exceptions: bool\n ) -> Future[list[_T | BaseException]]: ...\n\ndef run_coroutine_threadsafe(coro: _FutureLike[_T], loop: AbstractEventLoop) -> concurrent.futures.Future[_T]: ...\n\nif sys.version_info >= (3, 10):\n def shield(arg: _FutureLike[_T]) -> Future[_T]: ...\n @overload\n async def sleep(delay: float) -> None: ...\n @overload\n async def sleep(delay: float, result: _T) -> _T: ...\n async def wait_for(fut: _FutureLike[_T], timeout: float | None) -> _T: ...\n\nelse:\n def shield(arg: _FutureLike[_T], *, loop: AbstractEventLoop | None = None) -> Future[_T]: ...\n @overload\n async def sleep(delay: float, *, loop: AbstractEventLoop | None = None) -> None: ...\n @overload\n async def sleep(delay: float, result: _T, *, loop: AbstractEventLoop | None = None) -> _T: ...\n async def wait_for(fut: _FutureLike[_T], timeout: float | None, *, loop: AbstractEventLoop | None = None) -> _T: ...\n\nif sys.version_info >= (3, 11):\n @overload\n async def wait(fs: Iterable[_FT], *, timeout: float | None = None, return_when: str = \"ALL_COMPLETED\") -> tuple[set[_FT], set[_FT]]: ... # type: ignore[misc]\n @overload\n async def wait(\n fs: Iterable[Task[_T]], *, timeout: float | None = None, return_when: str = \"ALL_COMPLETED\"\n ) -> tuple[set[Task[_T]], set[Task[_T]]]: ...\n\nelif sys.version_info >= (3, 10):\n @overload\n async def wait(fs: Iterable[_FT], *, timeout: float | None = None, return_when: str = \"ALL_COMPLETED\") -> tuple[set[_FT], set[_FT]]: ... # type: ignore[misc]\n @overload\n async def wait(\n fs: Iterable[Awaitable[_T]], *, timeout: float | None = None, return_when: str = \"ALL_COMPLETED\"\n ) -> tuple[set[Task[_T]], set[Task[_T]]]: ...\n\nelse:\n @overload\n async def wait( # type: ignore[misc]\n fs: Iterable[_FT],\n *,\n loop: AbstractEventLoop | None = None,\n timeout: float | None = None,\n return_when: str = \"ALL_COMPLETED\",\n ) -> tuple[set[_FT], set[_FT]]: ...\n @overload\n async def wait(\n fs: Iterable[Awaitable[_T]],\n *,\n loop: AbstractEventLoop | None = None,\n timeout: float | None = None,\n return_when: str = \"ALL_COMPLETED\",\n ) -> tuple[set[Task[_T]], set[Task[_T]]]: ...\n\nif sys.version_info >= (3, 12):\n _TaskCompatibleCoro: TypeAlias = Coroutine[Any, Any, _T_co]\nelse:\n _TaskCompatibleCoro: TypeAlias = Generator[_TaskYieldType, None, _T_co] | Awaitable[_T_co]\n\n# mypy and pyright complain that a subclass of an invariant class shouldn't be covariant.\n# While this is true in general, here it's sort-of okay to have a covariant subclass,\n# since the only reason why `asyncio.Future` is invariant is the `set_result()` method,\n# and `asyncio.Task.set_result()` always raises.\nclass Task(Future[_T_co]): # type: ignore[type-var] # pyright: ignore[reportGeneralTypeIssues]\n if sys.version_info >= (3, 12):\n def __init__(\n self,\n coro: _TaskCompatibleCoro[_T_co],\n *,\n loop: AbstractEventLoop = ...,\n name: str | None = ...,\n context: Context | None = None,\n eager_start: bool = False,\n ) -> None: ...\n elif sys.version_info >= (3, 11):\n def __init__(\n self,\n coro: _TaskCompatibleCoro[_T_co],\n *,\n loop: AbstractEventLoop = ...,\n name: str | None = ...,\n context: Context | None = None,\n ) -> None: ...\n elif sys.version_info >= (3, 8):\n def __init__(\n self, coro: _TaskCompatibleCoro[_T_co], *, loop: AbstractEventLoop = ..., name: str | None = ...\n ) -> None: ...\n else:\n def __init__(self, coro: _TaskCompatibleCoro[_T_co], *, loop: AbstractEventLoop = ...) -> None: ...\n if sys.version_info >= (3, 8):\n def get_coro(self) -> _TaskCompatibleCoro[_T_co]: ...\n def get_name(self) -> str: ...\n def set_name(self, __value: object) -> None: ...\n if sys.version_info >= (3, 12):\n def get_context(self) -> Context: ...\n\n def get_stack(self, *, limit: int | None = None) -> list[FrameType]: ...\n def print_stack(self, *, limit: int | None = None, file: TextIO | None = None) -> None: ...\n if sys.version_info >= (3, 11):\n def cancelling(self) -> int: ...\n def uncancel(self) -> int: ...\n if sys.version_info < (3, 9):\n @classmethod\n def current_task(cls, loop: AbstractEventLoop | None = None) -> Task[Any] | None: ...\n @classmethod\n def all_tasks(cls, loop: AbstractEventLoop | None = None) -> set[Task[Any]]: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\ndef all_tasks(loop: AbstractEventLoop | None = None) -> set[Task[Any]]: ...\n\nif sys.version_info >= (3, 11):\n def create_task(coro: _CoroutineLike[_T], *, name: str | None = None, context: Context | None = None) -> Task[_T]: ...\n\nelif sys.version_info >= (3, 8):\n def create_task(coro: _CoroutineLike[_T], *, name: str | None = None) -> Task[_T]: ...\n\nelse:\n def create_task(coro: _CoroutineLike[_T]) -> Task[_T]: ...\n\ndef current_task(loop: AbstractEventLoop | None = None) -> Task[Any] | None: ...\ndef _enter_task(loop: AbstractEventLoop, task: Task[Any]) -> None: ...\ndef _leave_task(loop: AbstractEventLoop, task: Task[Any]) -> None: ...\n\nif sys.version_info >= (3, 12):\n _TaskT_co = TypeVar(\"_TaskT_co\", bound=Task[Any], covariant=True)\n\n class _CustomTaskConstructor(Protocol[_TaskT_co]):\n def __call__(\n self,\n __coro: _TaskCompatibleCoro[Any],\n *,\n loop: AbstractEventLoop,\n name: str | None,\n context: Context | None,\n eager_start: bool,\n ) -> _TaskT_co: ...\n\n class _EagerTaskFactoryType(Protocol[_TaskT_co]):\n def __call__(\n self,\n loop: AbstractEventLoop,\n coro: _TaskCompatibleCoro[Any],\n *,\n name: str | None = None,\n context: Context | None = None,\n ) -> _TaskT_co: ...\n\n def create_eager_task_factory(\n custom_task_constructor: _CustomTaskConstructor[_TaskT_co],\n ) -> _EagerTaskFactoryType[_TaskT_co]: ...\n def eager_task_factory(\n loop: AbstractEventLoop | None,\n coro: _TaskCompatibleCoro[_T_co],\n *,\n name: str | None = None,\n context: Context | None = None,\n ) -> Task[_T_co]: ...\n\ndef _register_task(task: Task[Any]) -> None: ...\ndef _unregister_task(task: Task[Any]) -> None: ...\n", + "/typeshed/stdlib/asyncio/threads.pyi": "from collections.abc import Callable\nfrom typing import TypeVar\nfrom typing_extensions import ParamSpec\n\n__all__ = (\"to_thread\",)\n_P = ParamSpec(\"_P\")\n_R = TypeVar(\"_R\")\n\nasync def to_thread(__func: Callable[_P, _R], *args: _P.args, **kwargs: _P.kwargs) -> _R: ...\n", + "/typeshed/stdlib/asyncio/timeouts.pyi": "from types import TracebackType\nfrom typing_extensions import Self, final\n\n__all__ = (\"Timeout\", \"timeout\", \"timeout_at\")\n\n@final\nclass Timeout:\n def __init__(self, when: float | None) -> None: ...\n def when(self) -> float | None: ...\n def reschedule(self, when: float | None) -> None: ...\n def expired(self) -> bool: ...\n async def __aenter__(self) -> Self: ...\n async def __aexit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> None: ...\n\ndef timeout(delay: float | None) -> Timeout: ...\ndef timeout_at(when: float | None) -> Timeout: ...\n", + "/typeshed/stdlib/asyncio/transports.pyi": "from asyncio.events import AbstractEventLoop\nfrom asyncio.protocols import BaseProtocol\nfrom collections.abc import Iterable, Mapping\nfrom socket import _Address\nfrom typing import Any\n\n__all__ = (\"BaseTransport\", \"ReadTransport\", \"WriteTransport\", \"Transport\", \"DatagramTransport\", \"SubprocessTransport\")\n\nclass BaseTransport:\n def __init__(self, extra: Mapping[str, Any] | None = None) -> None: ...\n def get_extra_info(self, name: str, default: Any = None) -> Any: ...\n def is_closing(self) -> bool: ...\n def close(self) -> None: ...\n def set_protocol(self, protocol: BaseProtocol) -> None: ...\n def get_protocol(self) -> BaseProtocol: ...\n\nclass ReadTransport(BaseTransport):\n def is_reading(self) -> bool: ...\n def pause_reading(self) -> None: ...\n def resume_reading(self) -> None: ...\n\nclass WriteTransport(BaseTransport):\n def set_write_buffer_limits(self, high: int | None = None, low: int | None = None) -> None: ...\n def get_write_buffer_size(self) -> int: ...\n def get_write_buffer_limits(self) -> tuple[int, int]: ...\n def write(self, data: bytes | bytearray | memoryview) -> None: ...\n def writelines(self, list_of_data: Iterable[bytes | bytearray | memoryview]) -> None: ...\n def write_eof(self) -> None: ...\n def can_write_eof(self) -> bool: ...\n def abort(self) -> None: ...\n\nclass Transport(ReadTransport, WriteTransport): ...\n\nclass DatagramTransport(BaseTransport):\n def sendto(self, data: bytes | bytearray | memoryview, addr: _Address | None = None) -> None: ...\n def abort(self) -> None: ...\n\nclass SubprocessTransport(BaseTransport):\n def get_pid(self) -> int: ...\n def get_returncode(self) -> int | None: ...\n def get_pipe_transport(self, fd: int) -> BaseTransport | None: ...\n def send_signal(self, signal: int) -> None: ...\n def terminate(self) -> None: ...\n def kill(self) -> None: ...\n\nclass _FlowControlMixin(Transport):\n def __init__(self, extra: Mapping[str, Any] | None = None, loop: AbstractEventLoop | None = None) -> None: ...\n", + "/typeshed/stdlib/asyncio/trsock.pyi": "import socket\nimport sys\nfrom _typeshed import ReadableBuffer\nfrom builtins import type as Type # alias to avoid name clashes with property named \"type\"\nfrom collections.abc import Iterable\nfrom types import TracebackType\nfrom typing import Any, BinaryIO, NoReturn, overload\nfrom typing_extensions import TypeAlias\n\n# These are based in socket, maybe move them out into _typeshed.pyi or such\n_Address: TypeAlias = socket._Address\n_RetAddress: TypeAlias = Any\n_WriteBuffer: TypeAlias = bytearray | memoryview\n_CMSG: TypeAlias = tuple[int, int, bytes]\n\nclass TransportSocket:\n def __init__(self, sock: socket.socket) -> None: ...\n @property\n def family(self) -> int: ...\n @property\n def type(self) -> int: ...\n @property\n def proto(self) -> int: ...\n def __getstate__(self) -> NoReturn: ...\n def fileno(self) -> int: ...\n def dup(self) -> socket.socket: ...\n def get_inheritable(self) -> bool: ...\n def shutdown(self, how: int) -> None: ...\n @overload\n def getsockopt(self, level: int, optname: int) -> int: ...\n @overload\n def getsockopt(self, level: int, optname: int, buflen: int) -> bytes: ...\n @overload\n def setsockopt(self, level: int, optname: int, value: int | ReadableBuffer) -> None: ...\n @overload\n def setsockopt(self, level: int, optname: int, value: None, optlen: int) -> None: ...\n def getpeername(self) -> _RetAddress: ...\n def getsockname(self) -> _RetAddress: ...\n def getsockbyname(self) -> NoReturn: ... # This method doesn't exist on socket, yet is passed through?\n def settimeout(self, value: float | None) -> None: ...\n def gettimeout(self) -> float | None: ...\n def setblocking(self, flag: bool) -> None: ...\n if sys.version_info < (3, 11):\n def _na(self, what: str) -> None: ...\n def accept(self) -> tuple[socket.socket, _RetAddress]: ...\n def connect(self, address: _Address) -> None: ...\n def connect_ex(self, address: _Address) -> int: ...\n def bind(self, address: _Address) -> None: ...\n if sys.platform == \"win32\":\n def ioctl(self, control: int, option: int | tuple[int, int, int] | bool) -> None: ...\n else:\n def ioctl(self, control: int, option: int | tuple[int, int, int] | bool) -> NoReturn: ...\n\n def listen(self, __backlog: int = ...) -> None: ...\n def makefile(self) -> BinaryIO: ...\n def sendfile(self, file: BinaryIO, offset: int = ..., count: int | None = ...) -> int: ...\n def close(self) -> None: ...\n def detach(self) -> int: ...\n if sys.platform == \"linux\":\n def sendmsg_afalg(\n self, msg: Iterable[ReadableBuffer] = ..., *, op: int, iv: Any = ..., assoclen: int = ..., flags: int = ...\n ) -> int: ...\n else:\n def sendmsg_afalg(\n self, msg: Iterable[ReadableBuffer] = ..., *, op: int, iv: Any = ..., assoclen: int = ..., flags: int = ...\n ) -> NoReturn: ...\n\n def sendmsg(\n self,\n __buffers: Iterable[ReadableBuffer],\n __ancdata: Iterable[_CMSG] = ...,\n __flags: int = ...,\n __address: _Address = ...,\n ) -> int: ...\n @overload\n def sendto(self, data: ReadableBuffer, address: _Address) -> int: ...\n @overload\n def sendto(self, data: ReadableBuffer, flags: int, address: _Address) -> int: ...\n def send(self, data: ReadableBuffer, flags: int = ...) -> int: ...\n def sendall(self, data: ReadableBuffer, flags: int = ...) -> None: ...\n def set_inheritable(self, inheritable: bool) -> None: ...\n if sys.platform == \"win32\":\n def share(self, process_id: int) -> bytes: ...\n else:\n def share(self, process_id: int) -> NoReturn: ...\n\n def recv_into(self, buffer: _WriteBuffer, nbytes: int = ..., flags: int = ...) -> int: ...\n def recvfrom_into(self, buffer: _WriteBuffer, nbytes: int = ..., flags: int = ...) -> tuple[int, _RetAddress]: ...\n def recvmsg_into(\n self, __buffers: Iterable[_WriteBuffer], __ancbufsize: int = ..., __flags: int = ...\n ) -> tuple[int, list[_CMSG], int, Any]: ...\n def recvmsg(self, __bufsize: int, __ancbufsize: int = ..., __flags: int = ...) -> tuple[bytes, list[_CMSG], int, Any]: ...\n def recvfrom(self, bufsize: int, flags: int = ...) -> tuple[bytes, _RetAddress]: ...\n def recv(self, bufsize: int, flags: int = ...) -> bytes: ...\n def __enter__(self) -> socket.socket: ...\n def __exit__(\n self, exc_type: Type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> None: ...\n", + "/typeshed/stdlib/asyncio/unix_events.pyi": "import sys\nimport types\nfrom abc import ABCMeta, abstractmethod\nfrom collections.abc import Callable\nfrom typing import Any\nfrom typing_extensions import Literal, Self\n\nfrom .events import AbstractEventLoop, BaseDefaultEventLoopPolicy\nfrom .selector_events import BaseSelectorEventLoop\n\n# This is also technically not available on Win,\n# but other parts of typeshed need this definition.\n# So, it is special cased.\nclass AbstractChildWatcher:\n @abstractmethod\n def add_child_handler(self, pid: int, callback: Callable[..., object], *args: Any) -> None: ...\n @abstractmethod\n def remove_child_handler(self, pid: int) -> bool: ...\n @abstractmethod\n def attach_loop(self, loop: AbstractEventLoop | None) -> None: ...\n @abstractmethod\n def close(self) -> None: ...\n @abstractmethod\n def __enter__(self) -> Self: ...\n @abstractmethod\n def __exit__(self, typ: type[BaseException] | None, exc: BaseException | None, tb: types.TracebackType | None) -> None: ...\n if sys.version_info >= (3, 8):\n @abstractmethod\n def is_active(self) -> bool: ...\n\nif sys.platform != \"win32\":\n if sys.version_info >= (3, 9):\n __all__ = (\n \"SelectorEventLoop\",\n \"AbstractChildWatcher\",\n \"SafeChildWatcher\",\n \"FastChildWatcher\",\n \"PidfdChildWatcher\",\n \"MultiLoopChildWatcher\",\n \"ThreadedChildWatcher\",\n \"DefaultEventLoopPolicy\",\n )\n elif sys.version_info >= (3, 8):\n __all__ = (\n \"SelectorEventLoop\",\n \"AbstractChildWatcher\",\n \"SafeChildWatcher\",\n \"FastChildWatcher\",\n \"MultiLoopChildWatcher\",\n \"ThreadedChildWatcher\",\n \"DefaultEventLoopPolicy\",\n )\n else:\n __all__ = (\"SelectorEventLoop\", \"AbstractChildWatcher\", \"SafeChildWatcher\", \"FastChildWatcher\", \"DefaultEventLoopPolicy\")\n\n # Doesn't actually have ABCMeta metaclass at runtime, but mypy complains if we don't have it in the stub.\n # See discussion in #7412\n class BaseChildWatcher(AbstractChildWatcher, metaclass=ABCMeta):\n def close(self) -> None: ...\n if sys.version_info >= (3, 8):\n def is_active(self) -> bool: ...\n\n def attach_loop(self, loop: AbstractEventLoop | None) -> None: ...\n\n class SafeChildWatcher(BaseChildWatcher):\n def __enter__(self) -> Self: ...\n def __exit__(self, a: type[BaseException] | None, b: BaseException | None, c: types.TracebackType | None) -> None: ...\n def add_child_handler(self, pid: int, callback: Callable[..., object], *args: Any) -> None: ...\n def remove_child_handler(self, pid: int) -> bool: ...\n\n class FastChildWatcher(BaseChildWatcher):\n def __enter__(self) -> Self: ...\n def __exit__(self, a: type[BaseException] | None, b: BaseException | None, c: types.TracebackType | None) -> None: ...\n def add_child_handler(self, pid: int, callback: Callable[..., object], *args: Any) -> None: ...\n def remove_child_handler(self, pid: int) -> bool: ...\n\n class _UnixSelectorEventLoop(BaseSelectorEventLoop): ...\n\n class _UnixDefaultEventLoopPolicy(BaseDefaultEventLoopPolicy):\n def get_child_watcher(self) -> AbstractChildWatcher: ...\n def set_child_watcher(self, watcher: AbstractChildWatcher | None) -> None: ...\n SelectorEventLoop = _UnixSelectorEventLoop\n\n DefaultEventLoopPolicy = _UnixDefaultEventLoopPolicy\n\n if sys.version_info >= (3, 8):\n from typing import Protocol\n\n class _Warn(Protocol):\n def __call__(\n self, message: str, category: type[Warning] | None = ..., stacklevel: int = ..., source: Any | None = ...\n ) -> object: ...\n\n class MultiLoopChildWatcher(AbstractChildWatcher):\n def is_active(self) -> bool: ...\n def close(self) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: types.TracebackType | None\n ) -> None: ...\n def add_child_handler(self, pid: int, callback: Callable[..., object], *args: Any) -> None: ...\n def remove_child_handler(self, pid: int) -> bool: ...\n def attach_loop(self, loop: AbstractEventLoop | None) -> None: ...\n\n class ThreadedChildWatcher(AbstractChildWatcher):\n def is_active(self) -> Literal[True]: ...\n def close(self) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: types.TracebackType | None\n ) -> None: ...\n def __del__(self, _warn: _Warn = ...) -> None: ...\n def add_child_handler(self, pid: int, callback: Callable[..., object], *args: Any) -> None: ...\n def remove_child_handler(self, pid: int) -> bool: ...\n def attach_loop(self, loop: AbstractEventLoop | None) -> None: ...\n\n if sys.version_info >= (3, 9):\n class PidfdChildWatcher(AbstractChildWatcher):\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: types.TracebackType | None\n ) -> None: ...\n def is_active(self) -> bool: ...\n def close(self) -> None: ...\n def attach_loop(self, loop: AbstractEventLoop | None) -> None: ...\n def add_child_handler(self, pid: int, callback: Callable[..., object], *args: Any) -> None: ...\n def remove_child_handler(self, pid: int) -> bool: ...\n", + "/typeshed/stdlib/asyncio/windows_events.pyi": "import socket\nimport sys\nfrom _typeshed import Incomplete, ReadableBuffer, WriteableBuffer\nfrom collections.abc import Callable\nfrom typing import IO, Any, ClassVar, NoReturn\nfrom typing_extensions import Literal\n\nfrom . import events, futures, proactor_events, selector_events, streams, windows_utils\n\nif sys.platform == \"win32\":\n __all__ = (\n \"SelectorEventLoop\",\n \"ProactorEventLoop\",\n \"IocpProactor\",\n \"DefaultEventLoopPolicy\",\n \"WindowsSelectorEventLoopPolicy\",\n \"WindowsProactorEventLoopPolicy\",\n )\n\n NULL: Literal[0]\n INFINITE: Literal[0xFFFFFFFF]\n ERROR_CONNECTION_REFUSED: Literal[1225]\n ERROR_CONNECTION_ABORTED: Literal[1236]\n CONNECT_PIPE_INIT_DELAY: float\n CONNECT_PIPE_MAX_DELAY: float\n\n class PipeServer:\n def __init__(self, address: str) -> None: ...\n def __del__(self) -> None: ...\n def closed(self) -> bool: ...\n def close(self) -> None: ...\n\n class _WindowsSelectorEventLoop(selector_events.BaseSelectorEventLoop): ...\n\n class ProactorEventLoop(proactor_events.BaseProactorEventLoop):\n def __init__(self, proactor: IocpProactor | None = None) -> None: ...\n async def create_pipe_connection(\n self, protocol_factory: Callable[[], streams.StreamReaderProtocol], address: str\n ) -> tuple[proactor_events._ProactorDuplexPipeTransport, streams.StreamReaderProtocol]: ...\n async def start_serving_pipe(\n self, protocol_factory: Callable[[], streams.StreamReaderProtocol], address: str\n ) -> list[PipeServer]: ...\n\n class IocpProactor:\n def __init__(self, concurrency: int = 0xFFFFFFFF) -> None: ...\n def __del__(self) -> None: ...\n def set_loop(self, loop: events.AbstractEventLoop) -> None: ...\n def select(self, timeout: int | None = None) -> list[futures.Future[Any]]: ...\n def recv(self, conn: socket.socket, nbytes: int, flags: int = 0) -> futures.Future[bytes]: ...\n def recv_into(self, conn: socket.socket, buf: WriteableBuffer, flags: int = 0) -> futures.Future[Any]: ...\n def recvfrom(\n self, conn: socket.socket, nbytes: int, flags: int = 0\n ) -> futures.Future[tuple[bytes, socket._RetAddress]]: ...\n def sendto(\n self, conn: socket.socket, buf: ReadableBuffer, flags: int = 0, addr: socket._Address | None = None\n ) -> futures.Future[int]: ...\n def send(self, conn: socket.socket, buf: WriteableBuffer, flags: int = 0) -> futures.Future[Any]: ...\n def accept(self, listener: socket.socket) -> futures.Future[Any]: ...\n def connect(\n self,\n conn: socket.socket,\n address: tuple[Incomplete, Incomplete] | tuple[Incomplete, Incomplete, Incomplete, Incomplete],\n ) -> futures.Future[Any]: ...\n def sendfile(self, sock: socket.socket, file: IO[bytes], offset: int, count: int) -> futures.Future[Any]: ...\n def accept_pipe(self, pipe: socket.socket) -> futures.Future[Any]: ...\n async def connect_pipe(self, address: str) -> windows_utils.PipeHandle: ...\n def wait_for_handle(self, handle: windows_utils.PipeHandle, timeout: int | None = None) -> bool: ...\n def close(self) -> None: ...\n if sys.version_info >= (3, 11):\n def recvfrom_into(\n self, conn: socket.socket, buf: WriteableBuffer, flags: int = 0\n ) -> futures.Future[tuple[int, socket._RetAddress]]: ...\n SelectorEventLoop = _WindowsSelectorEventLoop\n\n class WindowsSelectorEventLoopPolicy(events.BaseDefaultEventLoopPolicy):\n _loop_factory: ClassVar[type[SelectorEventLoop]]\n def get_child_watcher(self) -> NoReturn: ...\n def set_child_watcher(self, watcher: Any) -> NoReturn: ...\n\n class WindowsProactorEventLoopPolicy(events.BaseDefaultEventLoopPolicy):\n _loop_factory: ClassVar[type[ProactorEventLoop]]\n def get_child_watcher(self) -> NoReturn: ...\n def set_child_watcher(self, watcher: Any) -> NoReturn: ...\n DefaultEventLoopPolicy = WindowsSelectorEventLoopPolicy\n", + "/typeshed/stdlib/asyncio/windows_utils.pyi": "import subprocess\nimport sys\nfrom collections.abc import Callable\nfrom types import TracebackType\nfrom typing import Any, AnyStr, Protocol\nfrom typing_extensions import Literal, Self\n\nif sys.platform == \"win32\":\n __all__ = (\"pipe\", \"Popen\", \"PIPE\", \"PipeHandle\")\n\n class _WarnFunction(Protocol):\n def __call__(\n self, message: str, category: type[Warning] = ..., stacklevel: int = ..., source: PipeHandle = ...\n ) -> object: ...\n BUFSIZE: Literal[8192]\n PIPE = subprocess.PIPE\n STDOUT = subprocess.STDOUT\n def pipe(*, duplex: bool = False, overlapped: tuple[bool, bool] = (True, True), bufsize: int = 8192) -> tuple[int, int]: ...\n\n class PipeHandle:\n def __init__(self, handle: int) -> None: ...\n if sys.version_info >= (3, 8):\n def __del__(self, _warn: _WarnFunction = ...) -> None: ...\n else:\n def __del__(self) -> None: ...\n\n def __enter__(self) -> Self: ...\n def __exit__(self, t: type[BaseException] | None, v: BaseException | None, tb: TracebackType | None) -> None: ...\n @property\n def handle(self) -> int: ...\n def fileno(self) -> int: ...\n def close(self, *, CloseHandle: Callable[[int], object] = ...) -> None: ...\n\n class Popen(subprocess.Popen[AnyStr]):\n stdin: PipeHandle | None # type: ignore[assignment]\n stdout: PipeHandle | None # type: ignore[assignment]\n stderr: PipeHandle | None # type: ignore[assignment]\n # For simplicity we omit the full overloaded __new__ signature of\n # subprocess.Popen. The arguments are mostly the same, but\n # subprocess.Popen takes other positional-or-keyword arguments before\n # stdin.\n def __new__(\n cls,\n args: subprocess._CMD,\n stdin: subprocess._FILE | None = ...,\n stdout: subprocess._FILE | None = ...,\n stderr: subprocess._FILE | None = ...,\n **kwds: Any,\n ) -> Self: ...\n def __init__(\n self,\n args: subprocess._CMD,\n stdin: subprocess._FILE | None = None,\n stdout: subprocess._FILE | None = None,\n stderr: subprocess._FILE | None = None,\n **kwds: Any,\n ) -> None: ...\n", + "/typeshed/stdlib/collections/__init__.pyi": "import sys\nfrom _collections_abc import dict_items, dict_keys, dict_values\nfrom _typeshed import SupportsItems, SupportsKeysAndGetItem, SupportsRichComparison, SupportsRichComparisonT\nfrom typing import Any, Generic, NoReturn, TypeVar, overload\nfrom typing_extensions import Self, SupportsIndex, final\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nif sys.version_info >= (3, 10):\n from collections.abc import (\n Callable,\n ItemsView,\n Iterable,\n Iterator,\n KeysView,\n Mapping,\n MutableMapping,\n MutableSequence,\n Reversible,\n Sequence,\n ValuesView,\n )\nelse:\n from _collections_abc import *\n\n__all__ = [\"ChainMap\", \"Counter\", \"OrderedDict\", \"UserDict\", \"UserList\", \"UserString\", \"defaultdict\", \"deque\", \"namedtuple\"]\n\n_S = TypeVar(\"_S\")\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n_KT = TypeVar(\"_KT\")\n_VT = TypeVar(\"_VT\")\n_KT_co = TypeVar(\"_KT_co\", covariant=True)\n_VT_co = TypeVar(\"_VT_co\", covariant=True)\n\n# namedtuple is special-cased in the type checker; the initializer is ignored.\ndef namedtuple(\n typename: str,\n field_names: str | Iterable[str],\n *,\n rename: bool = False,\n module: str | None = None,\n defaults: Iterable[Any] | None = None,\n) -> type[tuple[Any, ...]]: ...\n\nclass UserDict(MutableMapping[_KT, _VT]):\n data: dict[_KT, _VT]\n # __init__ should be kept roughly in line with `dict.__init__`, which has the same semantics\n @overload\n def __init__(self, __dict: None = None) -> None: ...\n @overload\n def __init__(self: UserDict[str, _VT], __dict: None = None, **kwargs: _VT) -> None: ...\n @overload\n def __init__(self, __dict: SupportsKeysAndGetItem[_KT, _VT]) -> None: ...\n @overload\n def __init__(self: UserDict[str, _VT], __dict: SupportsKeysAndGetItem[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(self, __iterable: Iterable[tuple[_KT, _VT]]) -> None: ...\n @overload\n def __init__(self: UserDict[str, _VT], __iterable: Iterable[tuple[str, _VT]], **kwargs: _VT) -> None: ...\n @overload\n def __init__(self: UserDict[str, str], __iterable: Iterable[list[str]]) -> None: ...\n @overload\n def __init__(self: UserDict[bytes, bytes], __iterable: Iterable[list[bytes]]) -> None: ...\n def __len__(self) -> int: ...\n def __getitem__(self, key: _KT) -> _VT: ...\n def __setitem__(self, key: _KT, item: _VT) -> None: ...\n def __delitem__(self, key: _KT) -> None: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __contains__(self, key: object) -> bool: ...\n def copy(self) -> Self: ...\n def __copy__(self) -> Self: ...\n\n # `UserDict.fromkeys` has the same semantics as `dict.fromkeys`, so should be kept in line with `dict.fromkeys`.\n # TODO: Much like `dict.fromkeys`, the true signature of `UserDict.fromkeys` is inexpressible in the current type system.\n # See #3800 & https://github.com/python/typing/issues/548#issuecomment-683336963.\n @classmethod\n @overload\n def fromkeys(cls, iterable: Iterable[_T], value: None = None) -> UserDict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, iterable: Iterable[_T], value: _S) -> UserDict[_T, _S]: ...\n if sys.version_info >= (3, 9):\n @overload\n def __or__(self, other: UserDict[_KT, _VT] | dict[_KT, _VT]) -> Self: ...\n @overload\n def __or__(self, other: UserDict[_T1, _T2] | dict[_T1, _T2]) -> UserDict[_KT | _T1, _VT | _T2]: ...\n @overload # type: ignore[misc]\n def __ror__(self, other: UserDict[_KT, _VT] | dict[_KT, _VT]) -> Self: ...\n @overload # type: ignore[misc]\n def __ror__(self, other: UserDict[_T1, _T2] | dict[_T1, _T2]) -> UserDict[_KT | _T1, _VT | _T2]: ...\n # UserDict.__ior__ should be kept roughly in line with MutableMapping.update()\n @overload # type: ignore[misc]\n def __ior__(self, other: SupportsKeysAndGetItem[_KT, _VT]) -> Self: ...\n @overload\n def __ior__(self, other: Iterable[tuple[_KT, _VT]]) -> Self: ...\n if sys.version_info >= (3, 12):\n @overload\n def get(self, key: _KT, default: None = None) -> _VT | None: ...\n @overload\n def get(self, key: _KT, default: _T) -> _VT | _T: ...\n\nclass UserList(MutableSequence[_T]):\n data: list[_T]\n @overload\n def __init__(self, initlist: None = None) -> None: ...\n @overload\n def __init__(self, initlist: Iterable[_T]) -> None: ...\n def __lt__(self, other: list[_T] | UserList[_T]) -> bool: ...\n def __le__(self, other: list[_T] | UserList[_T]) -> bool: ...\n def __gt__(self, other: list[_T] | UserList[_T]) -> bool: ...\n def __ge__(self, other: list[_T] | UserList[_T]) -> bool: ...\n def __eq__(self, other: object) -> bool: ...\n def __contains__(self, item: object) -> bool: ...\n def __len__(self) -> int: ...\n @overload\n def __getitem__(self, i: SupportsIndex) -> _T: ...\n @overload\n def __getitem__(self, i: slice) -> Self: ...\n @overload\n def __setitem__(self, i: SupportsIndex, item: _T) -> None: ...\n @overload\n def __setitem__(self, i: slice, item: Iterable[_T]) -> None: ...\n def __delitem__(self, i: SupportsIndex | slice) -> None: ...\n def __add__(self, other: Iterable[_T]) -> Self: ...\n def __radd__(self, other: Iterable[_T]) -> Self: ...\n def __iadd__(self, other: Iterable[_T]) -> Self: ...\n def __mul__(self, n: int) -> Self: ...\n def __rmul__(self, n: int) -> Self: ...\n def __imul__(self, n: int) -> Self: ...\n def append(self, item: _T) -> None: ...\n def insert(self, i: int, item: _T) -> None: ...\n def pop(self, i: int = -1) -> _T: ...\n def remove(self, item: _T) -> None: ...\n def copy(self) -> Self: ...\n def __copy__(self) -> Self: ...\n def count(self, item: _T) -> int: ...\n # All arguments are passed to `list.index` at runtime, so the signature should be kept in line with `list.index`.\n def index(self, item: _T, __start: SupportsIndex = 0, __stop: SupportsIndex = sys.maxsize) -> int: ...\n # All arguments are passed to `list.sort` at runtime, so the signature should be kept in line with `list.sort`.\n @overload\n def sort(self: UserList[SupportsRichComparisonT], *, key: None = None, reverse: bool = False) -> None: ...\n @overload\n def sort(self, *, key: Callable[[_T], SupportsRichComparison], reverse: bool = False) -> None: ...\n def extend(self, other: Iterable[_T]) -> None: ...\n\nclass UserString(Sequence[UserString]):\n data: str\n def __init__(self, seq: object) -> None: ...\n def __int__(self) -> int: ...\n def __float__(self) -> float: ...\n def __complex__(self) -> complex: ...\n def __getnewargs__(self) -> tuple[str]: ...\n def __lt__(self, string: str | UserString) -> bool: ...\n def __le__(self, string: str | UserString) -> bool: ...\n def __gt__(self, string: str | UserString) -> bool: ...\n def __ge__(self, string: str | UserString) -> bool: ...\n def __eq__(self, string: object) -> bool: ...\n def __hash__(self) -> int: ...\n def __contains__(self, char: object) -> bool: ...\n def __len__(self) -> int: ...\n def __getitem__(self, index: SupportsIndex | slice) -> Self: ...\n def __iter__(self) -> Iterator[Self]: ...\n def __reversed__(self) -> Iterator[Self]: ...\n def __add__(self, other: object) -> Self: ...\n def __radd__(self, other: object) -> Self: ...\n def __mul__(self, n: int) -> Self: ...\n def __rmul__(self, n: int) -> Self: ...\n def __mod__(self, args: Any) -> Self: ...\n if sys.version_info >= (3, 8):\n def __rmod__(self, template: object) -> Self: ...\n else:\n def __rmod__(self, format: Any) -> Self: ...\n\n def capitalize(self) -> Self: ...\n def casefold(self) -> Self: ...\n def center(self, width: int, *args: Any) -> Self: ...\n def count(self, sub: str | UserString, start: int = 0, end: int = sys.maxsize) -> int: ...\n if sys.version_info >= (3, 8):\n def encode(self: UserString, encoding: str | None = \"utf-8\", errors: str | None = \"strict\") -> bytes: ...\n else:\n def encode(self, encoding: str | None = None, errors: str | None = None) -> Self: ...\n\n def endswith(self, suffix: str | tuple[str, ...], start: int | None = 0, end: int | None = sys.maxsize) -> bool: ...\n def expandtabs(self, tabsize: int = 8) -> Self: ...\n def find(self, sub: str | UserString, start: int = 0, end: int = sys.maxsize) -> int: ...\n def format(self, *args: Any, **kwds: Any) -> str: ...\n def format_map(self, mapping: Mapping[str, Any]) -> str: ...\n def index(self, sub: str, start: int = 0, end: int = sys.maxsize) -> int: ...\n def isalpha(self) -> bool: ...\n def isalnum(self) -> bool: ...\n def isdecimal(self) -> bool: ...\n def isdigit(self) -> bool: ...\n def isidentifier(self) -> bool: ...\n def islower(self) -> bool: ...\n def isnumeric(self) -> bool: ...\n def isprintable(self) -> bool: ...\n def isspace(self) -> bool: ...\n def istitle(self) -> bool: ...\n def isupper(self) -> bool: ...\n def isascii(self) -> bool: ...\n def join(self, seq: Iterable[str]) -> str: ...\n def ljust(self, width: int, *args: Any) -> Self: ...\n def lower(self) -> Self: ...\n def lstrip(self, chars: str | None = None) -> Self: ...\n maketrans = str.maketrans\n def partition(self, sep: str) -> tuple[str, str, str]: ...\n if sys.version_info >= (3, 9):\n def removeprefix(self, __prefix: str | UserString) -> Self: ...\n def removesuffix(self, __suffix: str | UserString) -> Self: ...\n\n def replace(self, old: str | UserString, new: str | UserString, maxsplit: int = -1) -> Self: ...\n def rfind(self, sub: str | UserString, start: int = 0, end: int = sys.maxsize) -> int: ...\n def rindex(self, sub: str | UserString, start: int = 0, end: int = sys.maxsize) -> int: ...\n def rjust(self, width: int, *args: Any) -> Self: ...\n def rpartition(self, sep: str) -> tuple[str, str, str]: ...\n def rstrip(self, chars: str | None = None) -> Self: ...\n def split(self, sep: str | None = None, maxsplit: int = -1) -> list[str]: ...\n def rsplit(self, sep: str | None = None, maxsplit: int = -1) -> list[str]: ...\n def splitlines(self, keepends: bool = False) -> list[str]: ...\n def startswith(self, prefix: str | tuple[str, ...], start: int | None = 0, end: int | None = sys.maxsize) -> bool: ...\n def strip(self, chars: str | None = None) -> Self: ...\n def swapcase(self) -> Self: ...\n def title(self) -> Self: ...\n def translate(self, *args: Any) -> Self: ...\n def upper(self) -> Self: ...\n def zfill(self, width: int) -> Self: ...\n\nclass deque(MutableSequence[_T]):\n @property\n def maxlen(self) -> int | None: ...\n @overload\n def __init__(self, *, maxlen: int | None = None) -> None: ...\n @overload\n def __init__(self, iterable: Iterable[_T], maxlen: int | None = None) -> None: ...\n def append(self, __x: _T) -> None: ...\n def appendleft(self, __x: _T) -> None: ...\n def copy(self) -> Self: ...\n def count(self, __x: _T) -> int: ...\n def extend(self, __iterable: Iterable[_T]) -> None: ...\n def extendleft(self, __iterable: Iterable[_T]) -> None: ...\n def insert(self, __i: int, __x: _T) -> None: ...\n def index(self, __x: _T, __start: int = 0, __stop: int = ...) -> int: ...\n def pop(self) -> _T: ... # type: ignore[override]\n def popleft(self) -> _T: ...\n def remove(self, __value: _T) -> None: ...\n def rotate(self, __n: int = 1) -> None: ...\n def __copy__(self) -> Self: ...\n def __len__(self) -> int: ...\n # These methods of deque don't take slices, unlike MutableSequence, hence the type: ignores\n def __getitem__(self, __key: SupportsIndex) -> _T: ... # type: ignore[override]\n def __setitem__(self, __key: SupportsIndex, __value: _T) -> None: ... # type: ignore[override]\n def __delitem__(self, __key: SupportsIndex) -> None: ... # type: ignore[override]\n def __contains__(self, __key: object) -> bool: ...\n def __reduce__(self) -> tuple[type[Self], tuple[()], None, Iterator[_T]]: ...\n def __iadd__(self, __value: Iterable[_T]) -> Self: ...\n def __add__(self, __value: Self) -> Self: ...\n def __mul__(self, __value: int) -> Self: ...\n def __imul__(self, __value: int) -> Self: ...\n def __lt__(self, __value: deque[_T]) -> bool: ...\n def __le__(self, __value: deque[_T]) -> bool: ...\n def __gt__(self, __value: deque[_T]) -> bool: ...\n def __ge__(self, __value: deque[_T]) -> bool: ...\n def __eq__(self, __value: object) -> bool: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, __item: Any) -> GenericAlias: ...\n\nclass Counter(dict[_T, int], Generic[_T]):\n @overload\n def __init__(self, __iterable: None = None) -> None: ...\n @overload\n def __init__(self: Counter[str], __iterable: None = None, **kwargs: int) -> None: ...\n @overload\n def __init__(self, __mapping: SupportsKeysAndGetItem[_T, int]) -> None: ...\n @overload\n def __init__(self, __iterable: Iterable[_T]) -> None: ...\n def copy(self) -> Self: ...\n def elements(self) -> Iterator[_T]: ...\n def most_common(self, n: int | None = None) -> list[tuple[_T, int]]: ...\n @classmethod\n def fromkeys(cls, iterable: Any, v: int | None = None) -> NoReturn: ... # type: ignore[override]\n @overload\n def subtract(self, __iterable: None = None) -> None: ...\n @overload\n def subtract(self, __mapping: Mapping[_T, int]) -> None: ...\n @overload\n def subtract(self, __iterable: Iterable[_T]) -> None: ...\n # Unlike dict.update(), use Mapping instead of SupportsKeysAndGetItem for the first overload\n # (source code does an `isinstance(other, Mapping)` check)\n #\n # The second overload is also deliberately different to dict.update()\n # (if it were `Iterable[_T] | Iterable[tuple[_T, int]]`,\n # the tuples would be added as keys, breaking type safety)\n @overload # type: ignore[override]\n def update(self, __m: Mapping[_T, int], **kwargs: int) -> None: ...\n @overload\n def update(self, __iterable: Iterable[_T], **kwargs: int) -> None: ...\n @overload\n def update(self, __iterable: None = None, **kwargs: int) -> None: ...\n def __missing__(self, key: _T) -> int: ...\n def __delitem__(self, elem: object) -> None: ...\n if sys.version_info >= (3, 10):\n def __eq__(self, other: object) -> bool: ...\n def __ne__(self, other: object) -> bool: ...\n\n def __add__(self, other: Counter[_S]) -> Counter[_T | _S]: ...\n def __sub__(self, other: Counter[_T]) -> Counter[_T]: ...\n def __and__(self, other: Counter[_T]) -> Counter[_T]: ...\n def __or__(self, other: Counter[_S]) -> Counter[_T | _S]: ... # type: ignore[override]\n def __pos__(self) -> Counter[_T]: ...\n def __neg__(self) -> Counter[_T]: ...\n # several type: ignores because __iadd__ is supposedly incompatible with __add__, etc.\n def __iadd__(self, other: SupportsItems[_T, int]) -> Self: ... # type: ignore[misc]\n def __isub__(self, other: SupportsItems[_T, int]) -> Self: ...\n def __iand__(self, other: SupportsItems[_T, int]) -> Self: ...\n def __ior__(self, other: SupportsItems[_T, int]) -> Self: ... # type: ignore[override,misc]\n if sys.version_info >= (3, 10):\n def total(self) -> int: ...\n def __le__(self, other: Counter[Any]) -> bool: ...\n def __lt__(self, other: Counter[Any]) -> bool: ...\n def __ge__(self, other: Counter[Any]) -> bool: ...\n def __gt__(self, other: Counter[Any]) -> bool: ...\n\n# The pure-Python implementations of the \"views\" classes\n# These are exposed at runtime in `collections/__init__.py`\nclass _OrderedDictKeysView(KeysView[_KT_co], Reversible[_KT_co]):\n def __reversed__(self) -> Iterator[_KT_co]: ...\n\nclass _OrderedDictItemsView(ItemsView[_KT_co, _VT_co], Reversible[tuple[_KT_co, _VT_co]]):\n def __reversed__(self) -> Iterator[tuple[_KT_co, _VT_co]]: ...\n\nclass _OrderedDictValuesView(ValuesView[_VT_co], Reversible[_VT_co]):\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\n# The C implementations of the \"views\" classes\n# (At runtime, these are called `odict_keys`, `odict_items` and `odict_values`,\n# but they are not exposed anywhere)\n# pyright doesn't have a specific error code for subclassing error!\n@final\nclass _odict_keys(dict_keys[_KT_co, _VT_co], Reversible[_KT_co]): # type: ignore[misc] # pyright: ignore\n def __reversed__(self) -> Iterator[_KT_co]: ...\n\n@final\nclass _odict_items(dict_items[_KT_co, _VT_co], Reversible[tuple[_KT_co, _VT_co]]): # type: ignore[misc] # pyright: ignore\n def __reversed__(self) -> Iterator[tuple[_KT_co, _VT_co]]: ...\n\n@final\nclass _odict_values(dict_values[_KT_co, _VT_co], Reversible[_VT_co], Generic[_KT_co, _VT_co]): # type: ignore[misc] # pyright: ignore\n def __reversed__(self) -> Iterator[_VT_co]: ...\n\nclass OrderedDict(dict[_KT, _VT], Reversible[_KT], Generic[_KT, _VT]):\n def popitem(self, last: bool = True) -> tuple[_KT, _VT]: ...\n def move_to_end(self, key: _KT, last: bool = True) -> None: ...\n def copy(self) -> Self: ...\n def __reversed__(self) -> Iterator[_KT]: ...\n def keys(self) -> _odict_keys[_KT, _VT]: ...\n def items(self) -> _odict_items[_KT, _VT]: ...\n def values(self) -> _odict_values[_KT, _VT]: ...\n # The signature of OrderedDict.fromkeys should be kept in line with `dict.fromkeys`, modulo positional-only differences.\n # Like dict.fromkeys, its true signature is not expressible in the current type system.\n # See #3800 & https://github.com/python/typing/issues/548#issuecomment-683336963.\n @classmethod\n @overload\n def fromkeys(cls, iterable: Iterable[_T], value: None = None) -> OrderedDict[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, iterable: Iterable[_T], value: _S) -> OrderedDict[_T, _S]: ...\n # Keep OrderedDict.setdefault in line with MutableMapping.setdefault, modulo positional-only differences.\n @overload\n def setdefault(self: OrderedDict[_KT, _T | None], key: _KT, default: None = None) -> _T | None: ...\n @overload\n def setdefault(self, key: _KT, default: _VT) -> _VT: ...\n def __eq__(self, __value: object) -> bool: ...\n if sys.version_info >= (3, 9):\n @overload\n def __or__(self, __value: dict[_KT, _VT]) -> Self: ...\n @overload\n def __or__(self, __value: dict[_T1, _T2]) -> OrderedDict[_KT | _T1, _VT | _T2]: ...\n @overload\n def __ror__(self, __value: dict[_KT, _VT]) -> Self: ...\n @overload\n def __ror__(self, __value: dict[_T1, _T2]) -> OrderedDict[_KT | _T1, _VT | _T2]: ... # type: ignore[misc]\n\nclass defaultdict(dict[_KT, _VT]):\n default_factory: Callable[[], _VT] | None\n @overload\n def __init__(self) -> None: ...\n @overload\n def __init__(self: defaultdict[str, _VT], **kwargs: _VT) -> None: ...\n @overload\n def __init__(self, __default_factory: Callable[[], _VT] | None) -> None: ...\n @overload\n def __init__(self: defaultdict[str, _VT], __default_factory: Callable[[], _VT] | None, **kwargs: _VT) -> None: ...\n @overload\n def __init__(self, __default_factory: Callable[[], _VT] | None, __map: SupportsKeysAndGetItem[_KT, _VT]) -> None: ...\n @overload\n def __init__(\n self: defaultdict[str, _VT],\n __default_factory: Callable[[], _VT] | None,\n __map: SupportsKeysAndGetItem[str, _VT],\n **kwargs: _VT,\n ) -> None: ...\n @overload\n def __init__(self, __default_factory: Callable[[], _VT] | None, __iterable: Iterable[tuple[_KT, _VT]]) -> None: ...\n @overload\n def __init__(\n self: defaultdict[str, _VT],\n __default_factory: Callable[[], _VT] | None,\n __iterable: Iterable[tuple[str, _VT]],\n **kwargs: _VT,\n ) -> None: ...\n def __missing__(self, __key: _KT) -> _VT: ...\n def __copy__(self) -> Self: ...\n def copy(self) -> Self: ...\n if sys.version_info >= (3, 9):\n @overload\n def __or__(self, __value: dict[_KT, _VT]) -> Self: ...\n @overload\n def __or__(self, __value: dict[_T1, _T2]) -> defaultdict[_KT | _T1, _VT | _T2]: ...\n @overload\n def __ror__(self, __value: dict[_KT, _VT]) -> Self: ...\n @overload\n def __ror__(self, __value: dict[_T1, _T2]) -> defaultdict[_KT | _T1, _VT | _T2]: ... # type: ignore[misc]\n\nclass ChainMap(MutableMapping[_KT, _VT]):\n maps: list[MutableMapping[_KT, _VT]]\n def __init__(self, *maps: MutableMapping[_KT, _VT]) -> None: ...\n def new_child(self, m: MutableMapping[_KT, _VT] | None = None) -> Self: ...\n @property\n def parents(self) -> Self: ...\n def __setitem__(self, key: _KT, value: _VT) -> None: ...\n def __delitem__(self, key: _KT) -> None: ...\n def __getitem__(self, key: _KT) -> _VT: ...\n def __iter__(self) -> Iterator[_KT]: ...\n def __len__(self) -> int: ...\n def __contains__(self, key: object) -> bool: ...\n @overload\n def get(self, key: _KT, default: None = None) -> _VT | None: ...\n @overload\n def get(self, key: _KT, default: _T) -> _VT | _T: ...\n def __missing__(self, key: _KT) -> _VT: ... # undocumented\n def __bool__(self) -> bool: ...\n # Keep ChainMap.setdefault in line with MutableMapping.setdefault, modulo positional-only differences.\n @overload\n def setdefault(self: ChainMap[_KT, _T | None], key: _KT, default: None = None) -> _T | None: ...\n @overload\n def setdefault(self, key: _KT, default: _VT) -> _VT: ...\n @overload\n def pop(self, key: _KT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: _VT) -> _VT: ...\n @overload\n def pop(self, key: _KT, default: _T) -> _VT | _T: ...\n def copy(self) -> Self: ...\n __copy__ = copy\n # All arguments to `fromkeys` are passed to `dict.fromkeys` at runtime, so the signature should be kept in line with `dict.fromkeys`.\n @classmethod\n @overload\n def fromkeys(cls, iterable: Iterable[_T], __value: None = None) -> ChainMap[_T, Any | None]: ...\n @classmethod\n @overload\n def fromkeys(cls, __iterable: Iterable[_T], __value: _S) -> ChainMap[_T, _S]: ...\n if sys.version_info >= (3, 9):\n @overload\n def __or__(self, other: Mapping[_KT, _VT]) -> Self: ...\n @overload\n def __or__(self, other: Mapping[_T1, _T2]) -> ChainMap[_KT | _T1, _VT | _T2]: ...\n @overload\n def __ror__(self, other: Mapping[_KT, _VT]) -> Self: ...\n @overload\n def __ror__(self, other: Mapping[_T1, _T2]) -> ChainMap[_KT | _T1, _VT | _T2]: ...\n # ChainMap.__ior__ should be kept roughly in line with MutableMapping.update()\n @overload # type: ignore[misc]\n def __ior__(self, other: SupportsKeysAndGetItem[_KT, _VT]) -> Self: ...\n @overload\n def __ior__(self, other: Iterable[tuple[_KT, _VT]]) -> Self: ...\n", + "/typeshed/stdlib/collections/abc.pyi": "from _collections_abc import *\nfrom _collections_abc import __all__ as __all__\n", + "/typeshed/stdlib/concurrent/__init__.pyi": "", + "/typeshed/stdlib/concurrent/futures/__init__.pyi": "import sys\n\nfrom ._base import (\n ALL_COMPLETED as ALL_COMPLETED,\n FIRST_COMPLETED as FIRST_COMPLETED,\n FIRST_EXCEPTION as FIRST_EXCEPTION,\n BrokenExecutor as BrokenExecutor,\n CancelledError as CancelledError,\n Executor as Executor,\n Future as Future,\n TimeoutError as TimeoutError,\n as_completed as as_completed,\n wait as wait,\n)\nfrom .process import ProcessPoolExecutor as ProcessPoolExecutor\nfrom .thread import ThreadPoolExecutor as ThreadPoolExecutor\n\nif sys.version_info >= (3, 8):\n from ._base import InvalidStateError as InvalidStateError\n\n__all__ = (\n \"FIRST_COMPLETED\",\n \"FIRST_EXCEPTION\",\n \"ALL_COMPLETED\",\n \"CancelledError\",\n \"TimeoutError\",\n \"BrokenExecutor\",\n \"Future\",\n \"Executor\",\n \"wait\",\n \"as_completed\",\n \"ProcessPoolExecutor\",\n \"ThreadPoolExecutor\",\n)\n\ndef __dir__() -> tuple[str, ...]: ...\n", + "/typeshed/stdlib/concurrent/futures/_base.pyi": "import sys\nimport threading\nfrom _typeshed import Unused\nfrom collections.abc import Callable, Iterable, Iterator\nfrom logging import Logger\nfrom types import TracebackType\nfrom typing import Any, Generic, NamedTuple, TypeVar\nfrom typing_extensions import Literal, ParamSpec, Self\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\nFIRST_COMPLETED: Literal[\"FIRST_COMPLETED\"]\nFIRST_EXCEPTION: Literal[\"FIRST_EXCEPTION\"]\nALL_COMPLETED: Literal[\"ALL_COMPLETED\"]\nPENDING: Literal[\"PENDING\"]\nRUNNING: Literal[\"RUNNING\"]\nCANCELLED: Literal[\"CANCELLED\"]\nCANCELLED_AND_NOTIFIED: Literal[\"CANCELLED_AND_NOTIFIED\"]\nFINISHED: Literal[\"FINISHED\"]\n_FUTURE_STATES: list[str]\n_STATE_TO_DESCRIPTION_MAP: dict[str, str]\nLOGGER: Logger\n\nclass Error(Exception): ...\nclass CancelledError(Error): ...\nclass TimeoutError(Error): ...\n\nif sys.version_info >= (3, 8):\n class InvalidStateError(Error): ...\n\nclass BrokenExecutor(RuntimeError): ...\n\n_T = TypeVar(\"_T\")\n_P = ParamSpec(\"_P\")\n\nclass Future(Generic[_T]):\n def cancel(self) -> bool: ...\n def cancelled(self) -> bool: ...\n def running(self) -> bool: ...\n def done(self) -> bool: ...\n def add_done_callback(self, fn: Callable[[Future[_T]], object]) -> None: ...\n def result(self, timeout: float | None = None) -> _T: ...\n def set_running_or_notify_cancel(self) -> bool: ...\n def set_result(self, result: _T) -> None: ...\n def exception(self, timeout: float | None = None) -> BaseException | None: ...\n def set_exception(self, exception: BaseException | None) -> None: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass Executor:\n if sys.version_info >= (3, 9):\n def submit(self, __fn: Callable[_P, _T], *args: _P.args, **kwargs: _P.kwargs) -> Future[_T]: ...\n else:\n def submit(self, fn: Callable[_P, _T], *args: _P.args, **kwargs: _P.kwargs) -> Future[_T]: ...\n\n def map(\n self, fn: Callable[..., _T], *iterables: Iterable[Any], timeout: float | None = None, chunksize: int = 1\n ) -> Iterator[_T]: ...\n if sys.version_info >= (3, 9):\n def shutdown(self, wait: bool = True, *, cancel_futures: bool = False) -> None: ...\n else:\n def shutdown(self, wait: bool = True) -> None: ...\n\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> bool | None: ...\n\ndef as_completed(fs: Iterable[Future[_T]], timeout: float | None = None) -> Iterator[Future[_T]]: ...\n\nclass DoneAndNotDoneFutures(NamedTuple, Generic[_T]):\n done: set[Future[_T]]\n not_done: set[Future[_T]]\n\ndef wait(\n fs: Iterable[Future[_T]], timeout: float | None = None, return_when: str = \"ALL_COMPLETED\"\n) -> DoneAndNotDoneFutures[_T]: ...\n\nclass _Waiter:\n event: threading.Event\n finished_futures: list[Future[Any]]\n def add_result(self, future: Future[Any]) -> None: ...\n def add_exception(self, future: Future[Any]) -> None: ...\n def add_cancelled(self, future: Future[Any]) -> None: ...\n\nclass _AsCompletedWaiter(_Waiter):\n lock: threading.Lock\n\nclass _FirstCompletedWaiter(_Waiter): ...\n\nclass _AllCompletedWaiter(_Waiter):\n num_pending_calls: int\n stop_on_exception: bool\n lock: threading.Lock\n def __init__(self, num_pending_calls: int, stop_on_exception: bool) -> None: ...\n\nclass _AcquireFutures:\n futures: Iterable[Future[Any]]\n def __init__(self, futures: Iterable[Future[Any]]) -> None: ...\n def __enter__(self) -> None: ...\n def __exit__(self, *args: Unused) -> None: ...\n", + "/typeshed/stdlib/concurrent/futures/process.pyi": "import sys\nfrom collections.abc import Callable, Generator, Iterable, Mapping, MutableMapping, MutableSequence\nfrom multiprocessing.connection import Connection\nfrom multiprocessing.context import BaseContext, Process\nfrom multiprocessing.queues import Queue, SimpleQueue\nfrom threading import Lock, Semaphore, Thread\nfrom types import TracebackType\nfrom typing import Any, Generic, TypeVar\nfrom weakref import ref\n\nfrom ._base import BrokenExecutor, Executor, Future\n\n_T = TypeVar(\"_T\")\n\n_threads_wakeups: MutableMapping[Any, Any]\n_global_shutdown: bool\n\nclass _ThreadWakeup:\n _closed: bool\n _reader: Connection\n _writer: Connection\n def close(self) -> None: ...\n def wakeup(self) -> None: ...\n def clear(self) -> None: ...\n\ndef _python_exit() -> None: ...\n\nEXTRA_QUEUED_CALLS: int\n\n_MAX_WINDOWS_WORKERS: int\n\nclass _RemoteTraceback(Exception):\n tb: str\n def __init__(self, tb: TracebackType) -> None: ...\n\nclass _ExceptionWithTraceback:\n exc: BaseException\n tb: TracebackType\n def __init__(self, exc: BaseException, tb: TracebackType) -> None: ...\n def __reduce__(self) -> str | tuple[Any, ...]: ...\n\ndef _rebuild_exc(exc: Exception, tb: str) -> Exception: ...\n\nclass _WorkItem(Generic[_T]):\n future: Future[_T]\n fn: Callable[..., _T]\n args: Iterable[Any]\n kwargs: Mapping[str, Any]\n def __init__(self, future: Future[_T], fn: Callable[..., _T], args: Iterable[Any], kwargs: Mapping[str, Any]) -> None: ...\n\nclass _ResultItem:\n work_id: int\n exception: Exception\n result: Any\n if sys.version_info >= (3, 11):\n exit_pid: int | None\n def __init__(\n self, work_id: int, exception: Exception | None = None, result: Any | None = None, exit_pid: int | None = None\n ) -> None: ...\n else:\n def __init__(self, work_id: int, exception: Exception | None = None, result: Any | None = None) -> None: ...\n\nclass _CallItem:\n work_id: int\n fn: Callable[..., Any]\n args: Iterable[Any]\n kwargs: Mapping[str, Any]\n def __init__(self, work_id: int, fn: Callable[..., Any], args: Iterable[Any], kwargs: Mapping[str, Any]) -> None: ...\n\nclass _SafeQueue(Queue[Future[Any]]):\n pending_work_items: dict[int, _WorkItem[Any]]\n shutdown_lock: Lock\n thread_wakeup: _ThreadWakeup\n if sys.version_info >= (3, 9):\n def __init__(\n self,\n max_size: int | None = 0,\n *,\n ctx: BaseContext,\n pending_work_items: dict[int, _WorkItem[Any]],\n shutdown_lock: Lock,\n thread_wakeup: _ThreadWakeup,\n ) -> None: ...\n else:\n def __init__(\n self, max_size: int | None = 0, *, ctx: BaseContext, pending_work_items: dict[int, _WorkItem[Any]]\n ) -> None: ...\n\n def _on_queue_feeder_error(self, e: Exception, obj: _CallItem) -> None: ...\n\ndef _get_chunks(*iterables: Any, chunksize: int) -> Generator[tuple[Any, ...], None, None]: ...\ndef _process_chunk(fn: Callable[..., _T], chunk: Iterable[tuple[Any, ...]]) -> list[_T]: ...\n\nif sys.version_info >= (3, 11):\n def _sendback_result(\n result_queue: SimpleQueue[_WorkItem[Any]],\n work_id: int,\n result: Any | None = None,\n exception: Exception | None = None,\n exit_pid: int | None = None,\n ) -> None: ...\n\nelse:\n def _sendback_result(\n result_queue: SimpleQueue[_WorkItem[Any]], work_id: int, result: Any | None = None, exception: Exception | None = None\n ) -> None: ...\n\nif sys.version_info >= (3, 11):\n def _process_worker(\n call_queue: Queue[_CallItem],\n result_queue: SimpleQueue[_ResultItem],\n initializer: Callable[..., object] | None,\n initargs: tuple[Any, ...],\n max_tasks: int | None = None,\n ) -> None: ...\n\nelse:\n def _process_worker(\n call_queue: Queue[_CallItem],\n result_queue: SimpleQueue[_ResultItem],\n initializer: Callable[..., object] | None,\n initargs: tuple[Any, ...],\n ) -> None: ...\n\nif sys.version_info >= (3, 9):\n class _ExecutorManagerThread(Thread):\n thread_wakeup: _ThreadWakeup\n shutdown_lock: Lock\n executor_reference: ref[Any]\n processes: MutableMapping[int, Process]\n call_queue: Queue[_CallItem]\n result_queue: SimpleQueue[_ResultItem]\n work_ids_queue: Queue[int]\n pending_work_items: dict[int, _WorkItem[Any]]\n def __init__(self, executor: ProcessPoolExecutor) -> None: ...\n def run(self) -> None: ...\n def add_call_item_to_queue(self) -> None: ...\n def wait_result_broken_or_wakeup(self) -> tuple[Any, bool, str]: ...\n def process_result_item(self, result_item: int | _ResultItem) -> None: ...\n def is_shutting_down(self) -> bool: ...\n def terminate_broken(self, cause: str) -> None: ...\n def flag_executor_shutting_down(self) -> None: ...\n def shutdown_workers(self) -> None: ...\n def join_executor_internals(self) -> None: ...\n def get_n_children_alive(self) -> int: ...\n\n_system_limits_checked: bool\n_system_limited: bool | None\n\ndef _check_system_limits() -> None: ...\ndef _chain_from_iterable_of_lists(iterable: Iterable[MutableSequence[Any]]) -> Any: ...\n\nclass BrokenProcessPool(BrokenExecutor): ...\n\nclass ProcessPoolExecutor(Executor):\n _mp_context: BaseContext | None\n _initializer: Callable[..., None] | None\n _initargs: tuple[Any, ...]\n _executor_manager_thread: _ThreadWakeup\n _processes: MutableMapping[int, Process]\n _shutdown_thread: bool\n _shutdown_lock: Lock\n _idle_worker_semaphore: Semaphore\n _broken: bool\n _queue_count: int\n _pending_work_items: dict[int, _WorkItem[Any]]\n _cancel_pending_futures: bool\n _executor_manager_thread_wakeup: _ThreadWakeup\n _result_queue: SimpleQueue[Any]\n _work_ids: Queue[Any]\n if sys.version_info >= (3, 11):\n def __init__(\n self,\n max_workers: int | None = None,\n mp_context: BaseContext | None = None,\n initializer: Callable[..., object] | None = None,\n initargs: tuple[Any, ...] = (),\n *,\n max_tasks_per_child: int | None = None,\n ) -> None: ...\n else:\n def __init__(\n self,\n max_workers: int | None = None,\n mp_context: BaseContext | None = None,\n initializer: Callable[..., object] | None = None,\n initargs: tuple[Any, ...] = (),\n ) -> None: ...\n if sys.version_info >= (3, 9):\n def _start_executor_manager_thread(self) -> None: ...\n\n def _adjust_process_count(self) -> None: ...\n", + "/typeshed/stdlib/concurrent/futures/thread.pyi": "import queue\nimport sys\nfrom collections.abc import Callable, Iterable, Mapping, Set as AbstractSet\nfrom threading import Lock, Semaphore, Thread\nfrom typing import Any, Generic, TypeVar\nfrom weakref import ref\n\nfrom ._base import BrokenExecutor, Executor, Future\n\n_threads_queues: Mapping[Any, Any]\n_shutdown: bool\n_global_shutdown_lock: Lock\n\ndef _python_exit() -> None: ...\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n_S = TypeVar(\"_S\")\n\nclass _WorkItem(Generic[_S]):\n future: Future[_S]\n fn: Callable[..., _S]\n args: Iterable[Any]\n kwargs: Mapping[str, Any]\n def __init__(self, future: Future[_S], fn: Callable[..., _S], args: Iterable[Any], kwargs: Mapping[str, Any]) -> None: ...\n def run(self) -> None: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\ndef _worker(\n executor_reference: ref[Any],\n work_queue: queue.SimpleQueue[Any],\n initializer: Callable[..., object],\n initargs: tuple[Any, ...],\n) -> None: ...\n\nclass BrokenThreadPool(BrokenExecutor): ...\n\nclass ThreadPoolExecutor(Executor):\n _max_workers: int\n _idle_semaphore: Semaphore\n _threads: AbstractSet[Thread]\n _broken: bool\n _shutdown: bool\n _shutdown_lock: Lock\n _thread_name_prefix: str | None\n _initializer: Callable[..., None] | None\n _initargs: tuple[Any, ...]\n _work_queue: queue.SimpleQueue[_WorkItem[Any]]\n def __init__(\n self,\n max_workers: int | None = None,\n thread_name_prefix: str = \"\",\n initializer: Callable[..., object] | None = None,\n initargs: tuple[Any, ...] = (),\n ) -> None: ...\n def _adjust_thread_count(self) -> None: ...\n def _initializer_failed(self) -> None: ...\n", + "/typeshed/stdlib/ctypes/__init__.pyi": "import sys\nfrom _ctypes import (\n POINTER as POINTER,\n RTLD_GLOBAL as RTLD_GLOBAL,\n RTLD_LOCAL as RTLD_LOCAL,\n ArgumentError as ArgumentError,\n Array as Array,\n CFuncPtr as _CFuncPtr,\n Structure as Structure,\n Union as Union,\n _CanCastTo as _CanCastTo,\n _CArgObject as _CArgObject,\n _CData as _CData,\n _CDataMeta as _CDataMeta,\n _CField as _CField,\n _Pointer as _Pointer,\n _PointerLike as _PointerLike,\n _SimpleCData as _SimpleCData,\n _StructUnionBase as _StructUnionBase,\n _StructUnionMeta as _StructUnionMeta,\n addressof as addressof,\n alignment as alignment,\n byref as byref,\n get_errno as get_errno,\n pointer as pointer,\n resize as resize,\n set_errno as set_errno,\n sizeof as sizeof,\n)\nfrom typing import Any, ClassVar, Generic, TypeVar\nfrom typing_extensions import TypeAlias\n\nif sys.platform == \"win32\":\n from _ctypes import FormatError as FormatError, get_last_error as get_last_error, set_last_error as set_last_error\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n_T = TypeVar(\"_T\")\n_DLLT = TypeVar(\"_DLLT\", bound=CDLL)\n\nDEFAULT_MODE: int\n\nclass CDLL:\n _func_flags_: ClassVar[int]\n _func_restype_: ClassVar[_CData]\n _name: str\n _handle: int\n _FuncPtr: type[_FuncPointer]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n name: str | None,\n mode: int = ...,\n handle: int | None = None,\n use_errno: bool = False,\n use_last_error: bool = False,\n winmode: int | None = None,\n ) -> None: ...\n else:\n def __init__(\n self,\n name: str | None,\n mode: int = ...,\n handle: int | None = None,\n use_errno: bool = False,\n use_last_error: bool = False,\n ) -> None: ...\n\n def __getattr__(self, name: str) -> _NamedFuncPointer: ...\n def __getitem__(self, name_or_ordinal: str) -> _NamedFuncPointer: ...\n\nif sys.platform == \"win32\":\n class OleDLL(CDLL): ...\n class WinDLL(CDLL): ...\n\nclass PyDLL(CDLL): ...\n\nclass LibraryLoader(Generic[_DLLT]):\n def __init__(self, dlltype: type[_DLLT]) -> None: ...\n def __getattr__(self, name: str) -> _DLLT: ...\n def __getitem__(self, name: str) -> _DLLT: ...\n def LoadLibrary(self, name: str) -> _DLLT: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\ncdll: LibraryLoader[CDLL]\nif sys.platform == \"win32\":\n windll: LibraryLoader[WinDLL]\n oledll: LibraryLoader[OleDLL]\npydll: LibraryLoader[PyDLL]\npythonapi: PyDLL\n\nclass _FuncPointer(_CFuncPtr): ...\n\nclass _NamedFuncPointer(_FuncPointer):\n __name__: str\n\ndef CFUNCTYPE(\n restype: type[_CData] | None, *argtypes: type[_CData], use_errno: bool = ..., use_last_error: bool = ...\n) -> type[_FuncPointer]: ...\n\nif sys.platform == \"win32\":\n def WINFUNCTYPE(\n restype: type[_CData] | None, *argtypes: type[_CData], use_errno: bool = ..., use_last_error: bool = ...\n ) -> type[_FuncPointer]: ...\n\ndef PYFUNCTYPE(restype: type[_CData] | None, *argtypes: type[_CData]) -> type[_FuncPointer]: ...\n\n# Any type that can be implicitly converted to c_void_p when passed as a C function argument.\n# (bytes is not included here, see below.)\n_CVoidPLike: TypeAlias = _PointerLike | Array[Any] | _CArgObject | int\n# Same as above, but including types known to be read-only (i. e. bytes).\n# This distinction is not strictly necessary (ctypes doesn't differentiate between const\n# and non-const pointers), but it catches errors like memmove(b'foo', buf, 4)\n# when memmove(buf, b'foo', 4) was intended.\n_CVoidConstPLike: TypeAlias = _CVoidPLike | bytes\n\n_CastT = TypeVar(\"_CastT\", bound=_CanCastTo)\n\ndef cast(obj: _CData | _CArgObject | int, typ: type[_CastT]) -> _CastT: ...\ndef create_string_buffer(init: int | bytes, size: int | None = None) -> Array[c_char]: ...\n\nc_buffer = create_string_buffer\n\ndef create_unicode_buffer(init: int | str, size: int | None = None) -> Array[c_wchar]: ...\n\nif sys.platform == \"win32\":\n def DllCanUnloadNow() -> int: ...\n def DllGetClassObject(rclsid: Any, riid: Any, ppv: Any) -> int: ... # TODO not documented\n def GetLastError() -> int: ...\n\ndef memmove(dst: _CVoidPLike, src: _CVoidConstPLike, count: int) -> int: ...\ndef memset(dst: _CVoidPLike, c: int, count: int) -> int: ...\ndef string_at(address: _CVoidConstPLike, size: int = -1) -> bytes: ...\n\nif sys.platform == \"win32\":\n def WinError(code: int | None = None, descr: str | None = None) -> OSError: ...\n\ndef wstring_at(address: _CVoidConstPLike, size: int = -1) -> str: ...\n\nclass c_byte(_SimpleCData[int]): ...\n\nclass c_char(_SimpleCData[bytes]):\n def __init__(self, value: int | bytes | bytearray = ...) -> None: ...\n\nclass c_char_p(_PointerLike, _SimpleCData[bytes | None]):\n def __init__(self, value: int | bytes | None = ...) -> None: ...\n\nclass c_double(_SimpleCData[float]): ...\nclass c_longdouble(_SimpleCData[float]): ...\nclass c_float(_SimpleCData[float]): ...\nclass c_int(_SimpleCData[int]): ...\nclass c_int8(_SimpleCData[int]): ...\nclass c_int16(_SimpleCData[int]): ...\nclass c_int32(_SimpleCData[int]): ...\nclass c_int64(_SimpleCData[int]): ...\nclass c_long(_SimpleCData[int]): ...\nclass c_longlong(_SimpleCData[int]): ...\nclass c_short(_SimpleCData[int]): ...\nclass c_size_t(_SimpleCData[int]): ...\nclass c_ssize_t(_SimpleCData[int]): ...\nclass c_ubyte(_SimpleCData[int]): ...\nclass c_uint(_SimpleCData[int]): ...\nclass c_uint8(_SimpleCData[int]): ...\nclass c_uint16(_SimpleCData[int]): ...\nclass c_uint32(_SimpleCData[int]): ...\nclass c_uint64(_SimpleCData[int]): ...\nclass c_ulong(_SimpleCData[int]): ...\nclass c_ulonglong(_SimpleCData[int]): ...\nclass c_ushort(_SimpleCData[int]): ...\nclass c_void_p(_PointerLike, _SimpleCData[int | None]): ...\nclass c_wchar(_SimpleCData[str]): ...\n\nclass c_wchar_p(_PointerLike, _SimpleCData[str | None]):\n def __init__(self, value: int | str | None = ...) -> None: ...\n\nclass c_bool(_SimpleCData[bool]):\n def __init__(self, value: bool = ...) -> None: ...\n\nif sys.platform == \"win32\":\n class HRESULT(_SimpleCData[int]): ... # TODO undocumented\n\nif sys.version_info >= (3, 12):\n c_time_t: type[c_int32 | c_int64]\n\nclass py_object(_CanCastTo, _SimpleCData[_T]): ...\nclass BigEndianStructure(Structure): ...\nclass LittleEndianStructure(Structure): ...\n", + "/typeshed/stdlib/ctypes/util.pyi": "import sys\n\ndef find_library(name: str) -> str | None: ...\n\nif sys.platform == \"win32\":\n def find_msvcrt() -> str | None: ...\n", + "/typeshed/stdlib/ctypes/wintypes.pyi": "from ctypes import (\n Array,\n Structure,\n _CField,\n _Pointer,\n _SimpleCData,\n c_byte,\n c_char,\n c_char_p,\n c_double,\n c_float,\n c_int,\n c_long,\n c_longlong,\n c_short,\n c_uint,\n c_ulong,\n c_ulonglong,\n c_ushort,\n c_void_p,\n c_wchar,\n c_wchar_p,\n)\nfrom typing import TypeVar\nfrom typing_extensions import TypeAlias\n\nBYTE = c_byte\nWORD = c_ushort\nDWORD = c_ulong\nCHAR = c_char\nWCHAR = c_wchar\nUINT = c_uint\nINT = c_int\nDOUBLE = c_double\nFLOAT = c_float\nBOOLEAN = BYTE\nBOOL = c_long\n\nclass VARIANT_BOOL(_SimpleCData[bool]): ...\n\nULONG = c_ulong\nLONG = c_long\nUSHORT = c_ushort\nSHORT = c_short\nLARGE_INTEGER = c_longlong\n_LARGE_INTEGER = c_longlong\nULARGE_INTEGER = c_ulonglong\n_ULARGE_INTEGER = c_ulonglong\n\nOLESTR = c_wchar_p\nLPOLESTR = c_wchar_p\nLPCOLESTR = c_wchar_p\nLPWSTR = c_wchar_p\nLPCWSTR = c_wchar_p\nLPSTR = c_char_p\nLPCSTR = c_char_p\nLPVOID = c_void_p\nLPCVOID = c_void_p\n\n# These two types are pointer-sized unsigned and signed ints, respectively.\n# At runtime, they are either c_[u]long or c_[u]longlong, depending on the host's pointer size\n# (they are not really separate classes).\nclass WPARAM(_SimpleCData[int]): ...\nclass LPARAM(_SimpleCData[int]): ...\n\nATOM = WORD\nLANGID = WORD\nCOLORREF = DWORD\nLGRPID = DWORD\nLCTYPE = DWORD\nLCID = DWORD\n\nHANDLE = c_void_p\nHACCEL = HANDLE\nHBITMAP = HANDLE\nHBRUSH = HANDLE\nHCOLORSPACE = HANDLE\nHDC = HANDLE\nHDESK = HANDLE\nHDWP = HANDLE\nHENHMETAFILE = HANDLE\nHFONT = HANDLE\nHGDIOBJ = HANDLE\nHGLOBAL = HANDLE\nHHOOK = HANDLE\nHICON = HANDLE\nHINSTANCE = HANDLE\nHKEY = HANDLE\nHKL = HANDLE\nHLOCAL = HANDLE\nHMENU = HANDLE\nHMETAFILE = HANDLE\nHMODULE = HANDLE\nHMONITOR = HANDLE\nHPALETTE = HANDLE\nHPEN = HANDLE\nHRGN = HANDLE\nHRSRC = HANDLE\nHSTR = HANDLE\nHTASK = HANDLE\nHWINSTA = HANDLE\nHWND = HANDLE\nSC_HANDLE = HANDLE\nSERVICE_STATUS_HANDLE = HANDLE\n\n_CIntLikeT = TypeVar(\"_CIntLikeT\", bound=_SimpleCData[int])\n_CIntLikeField: TypeAlias = _CField[_CIntLikeT, int, _CIntLikeT | int]\n\nclass RECT(Structure):\n left: _CIntLikeField[LONG]\n top: _CIntLikeField[LONG]\n right: _CIntLikeField[LONG]\n bottom: _CIntLikeField[LONG]\n\nRECTL = RECT\n_RECTL = RECT\ntagRECT = RECT\n\nclass _SMALL_RECT(Structure):\n Left: _CIntLikeField[SHORT]\n Top: _CIntLikeField[SHORT]\n Right: _CIntLikeField[SHORT]\n Bottom: _CIntLikeField[SHORT]\n\nSMALL_RECT = _SMALL_RECT\n\nclass _COORD(Structure):\n X: _CIntLikeField[SHORT]\n Y: _CIntLikeField[SHORT]\n\nclass POINT(Structure):\n x: _CIntLikeField[LONG]\n y: _CIntLikeField[LONG]\n\nPOINTL = POINT\n_POINTL = POINT\ntagPOINT = POINT\n\nclass SIZE(Structure):\n cx: _CIntLikeField[LONG]\n cy: _CIntLikeField[LONG]\n\nSIZEL = SIZE\ntagSIZE = SIZE\n\ndef RGB(red: int, green: int, blue: int) -> int: ...\n\nclass FILETIME(Structure):\n dwLowDateTime: _CIntLikeField[DWORD]\n dwHighDateTime: _CIntLikeField[DWORD]\n\n_FILETIME = FILETIME\n\nclass MSG(Structure):\n hWnd: _CField[HWND, int | None, HWND | int | None]\n message: _CIntLikeField[UINT]\n wParam: _CIntLikeField[WPARAM]\n lParam: _CIntLikeField[LPARAM]\n time: _CIntLikeField[DWORD]\n pt: _CField[POINT, POINT, POINT]\n\ntagMSG = MSG\nMAX_PATH: int\n\nclass WIN32_FIND_DATAA(Structure):\n dwFileAttributes: _CIntLikeField[DWORD]\n ftCreationTime: _CField[FILETIME, FILETIME, FILETIME]\n ftLastAccessTime: _CField[FILETIME, FILETIME, FILETIME]\n ftLastWriteTime: _CField[FILETIME, FILETIME, FILETIME]\n nFileSizeHigh: _CIntLikeField[DWORD]\n nFileSizeLow: _CIntLikeField[DWORD]\n dwReserved0: _CIntLikeField[DWORD]\n dwReserved1: _CIntLikeField[DWORD]\n cFileName: _CField[Array[CHAR], bytes, bytes]\n cAlternateFileName: _CField[Array[CHAR], bytes, bytes]\n\nclass WIN32_FIND_DATAW(Structure):\n dwFileAttributes: _CIntLikeField[DWORD]\n ftCreationTime: _CField[FILETIME, FILETIME, FILETIME]\n ftLastAccessTime: _CField[FILETIME, FILETIME, FILETIME]\n ftLastWriteTime: _CField[FILETIME, FILETIME, FILETIME]\n nFileSizeHigh: _CIntLikeField[DWORD]\n nFileSizeLow: _CIntLikeField[DWORD]\n dwReserved0: _CIntLikeField[DWORD]\n dwReserved1: _CIntLikeField[DWORD]\n cFileName: _CField[Array[WCHAR], str, str]\n cAlternateFileName: _CField[Array[WCHAR], str, str]\n\n# These pointer type definitions use _Pointer[...] instead of POINTER(...), to allow them\n# to be used in type annotations.\nPBOOL: TypeAlias = _Pointer[BOOL]\nLPBOOL: TypeAlias = _Pointer[BOOL]\nPBOOLEAN: TypeAlias = _Pointer[BOOLEAN]\nPBYTE: TypeAlias = _Pointer[BYTE]\nLPBYTE: TypeAlias = _Pointer[BYTE]\nPCHAR: TypeAlias = _Pointer[CHAR]\nLPCOLORREF: TypeAlias = _Pointer[COLORREF]\nPDWORD: TypeAlias = _Pointer[DWORD]\nLPDWORD: TypeAlias = _Pointer[DWORD]\nPFILETIME: TypeAlias = _Pointer[FILETIME]\nLPFILETIME: TypeAlias = _Pointer[FILETIME]\nPFLOAT: TypeAlias = _Pointer[FLOAT]\nPHANDLE: TypeAlias = _Pointer[HANDLE]\nLPHANDLE: TypeAlias = _Pointer[HANDLE]\nPHKEY: TypeAlias = _Pointer[HKEY]\nLPHKL: TypeAlias = _Pointer[HKL]\nPINT: TypeAlias = _Pointer[INT]\nLPINT: TypeAlias = _Pointer[INT]\nPLARGE_INTEGER: TypeAlias = _Pointer[LARGE_INTEGER]\nPLCID: TypeAlias = _Pointer[LCID]\nPLONG: TypeAlias = _Pointer[LONG]\nLPLONG: TypeAlias = _Pointer[LONG]\nPMSG: TypeAlias = _Pointer[MSG]\nLPMSG: TypeAlias = _Pointer[MSG]\nPPOINT: TypeAlias = _Pointer[POINT]\nLPPOINT: TypeAlias = _Pointer[POINT]\nPPOINTL: TypeAlias = _Pointer[POINTL]\nPRECT: TypeAlias = _Pointer[RECT]\nLPRECT: TypeAlias = _Pointer[RECT]\nPRECTL: TypeAlias = _Pointer[RECTL]\nLPRECTL: TypeAlias = _Pointer[RECTL]\nLPSC_HANDLE: TypeAlias = _Pointer[SC_HANDLE]\nPSHORT: TypeAlias = _Pointer[SHORT]\nPSIZE: TypeAlias = _Pointer[SIZE]\nLPSIZE: TypeAlias = _Pointer[SIZE]\nPSIZEL: TypeAlias = _Pointer[SIZEL]\nLPSIZEL: TypeAlias = _Pointer[SIZEL]\nPSMALL_RECT: TypeAlias = _Pointer[SMALL_RECT]\nPUINT: TypeAlias = _Pointer[UINT]\nLPUINT: TypeAlias = _Pointer[UINT]\nPULARGE_INTEGER: TypeAlias = _Pointer[ULARGE_INTEGER]\nPULONG: TypeAlias = _Pointer[ULONG]\nPUSHORT: TypeAlias = _Pointer[USHORT]\nPWCHAR: TypeAlias = _Pointer[WCHAR]\nPWIN32_FIND_DATAA: TypeAlias = _Pointer[WIN32_FIND_DATAA]\nLPWIN32_FIND_DATAA: TypeAlias = _Pointer[WIN32_FIND_DATAA]\nPWIN32_FIND_DATAW: TypeAlias = _Pointer[WIN32_FIND_DATAW]\nLPWIN32_FIND_DATAW: TypeAlias = _Pointer[WIN32_FIND_DATAW]\nPWORD: TypeAlias = _Pointer[WORD]\nLPWORD: TypeAlias = _Pointer[WORD]\n", + "/typeshed/stdlib/curses/__init__.pyi": "import sys\nfrom collections.abc import Callable\nfrom typing import TypeVar\nfrom typing_extensions import Concatenate, ParamSpec\n\nif sys.platform != \"win32\":\n from _curses import *\n from _curses import _CursesWindow as _CursesWindow\n\n _T = TypeVar(\"_T\")\n _P = ParamSpec(\"_P\")\n\n # available after calling `curses.initscr()`\n LINES: int\n COLS: int\n\n # available after calling `curses.start_color()`\n COLORS: int\n COLOR_PAIRS: int\n\n def wrapper(__func: Callable[Concatenate[_CursesWindow, _P], _T], *arg: _P.args, **kwds: _P.kwargs) -> _T: ...\n", + "/typeshed/stdlib/curses/ascii.pyi": "import sys\nfrom typing import TypeVar\n\nif sys.platform != \"win32\":\n _CharT = TypeVar(\"_CharT\", str, int)\n\n NUL: int\n SOH: int\n STX: int\n ETX: int\n EOT: int\n ENQ: int\n ACK: int\n BEL: int\n BS: int\n TAB: int\n HT: int\n LF: int\n NL: int\n VT: int\n FF: int\n CR: int\n SO: int\n SI: int\n DLE: int\n DC1: int\n DC2: int\n DC3: int\n DC4: int\n NAK: int\n SYN: int\n ETB: int\n CAN: int\n EM: int\n SUB: int\n ESC: int\n FS: int\n GS: int\n RS: int\n US: int\n SP: int\n DEL: int\n\n controlnames: list[int]\n def isalnum(c: str | int) -> bool: ...\n def isalpha(c: str | int) -> bool: ...\n def isascii(c: str | int) -> bool: ...\n def isblank(c: str | int) -> bool: ...\n def iscntrl(c: str | int) -> bool: ...\n def isdigit(c: str | int) -> bool: ...\n def isgraph(c: str | int) -> bool: ...\n def islower(c: str | int) -> bool: ...\n def isprint(c: str | int) -> bool: ...\n def ispunct(c: str | int) -> bool: ...\n def isspace(c: str | int) -> bool: ...\n def isupper(c: str | int) -> bool: ...\n def isxdigit(c: str | int) -> bool: ...\n def isctrl(c: str | int) -> bool: ...\n def ismeta(c: str | int) -> bool: ...\n def ascii(c: _CharT) -> _CharT: ...\n def ctrl(c: _CharT) -> _CharT: ...\n def alt(c: _CharT) -> _CharT: ...\n def unctrl(c: str | int) -> str: ...\n", + "/typeshed/stdlib/curses/has_key.pyi": "import sys\n\nif sys.platform != \"win32\":\n def has_key(ch: int | str) -> bool: ...\n", + "/typeshed/stdlib/curses/panel.pyi": "import sys\n\nif sys.platform != \"win32\":\n from _curses import _CursesWindow\n\n version: str\n\n class _Curses_Panel: # type is (note the space in the class name)\n def above(self) -> _Curses_Panel: ...\n def below(self) -> _Curses_Panel: ...\n def bottom(self) -> None: ...\n def hidden(self) -> bool: ...\n def hide(self) -> None: ...\n def move(self, y: int, x: int) -> None: ...\n def replace(self, win: _CursesWindow) -> None: ...\n def set_userptr(self, obj: object) -> None: ...\n def show(self) -> None: ...\n def top(self) -> None: ...\n def userptr(self) -> object: ...\n def window(self) -> _CursesWindow: ...\n\n def bottom_panel() -> _Curses_Panel: ...\n def new_panel(__win: _CursesWindow) -> _Curses_Panel: ...\n def top_panel() -> _Curses_Panel: ...\n def update_panels() -> _Curses_Panel: ...\n", + "/typeshed/stdlib/curses/textpad.pyi": "import sys\nfrom collections.abc import Callable\n\nif sys.platform != \"win32\":\n from _curses import _CursesWindow\n def rectangle(win: _CursesWindow, uly: int, ulx: int, lry: int, lrx: int) -> None: ...\n\n class Textbox:\n stripspaces: bool\n def __init__(self, win: _CursesWindow, insert_mode: bool = False) -> None: ...\n def edit(self, validate: Callable[[int], int] | None = None) -> str: ...\n def do_command(self, ch: str | int) -> None: ...\n def gather(self) -> str: ...\n", + "/typeshed/stdlib/dbm/__init__.pyi": "from collections.abc import Iterator, MutableMapping\nfrom types import TracebackType\nfrom typing_extensions import Literal, Self, TypeAlias\n\n__all__ = [\"open\", \"whichdb\", \"error\"]\n\n_KeyType: TypeAlias = str | bytes\n_ValueType: TypeAlias = str | bytes | bytearray\n_TFlags: TypeAlias = Literal[\n \"r\",\n \"w\",\n \"c\",\n \"n\",\n \"rf\",\n \"wf\",\n \"cf\",\n \"nf\",\n \"rs\",\n \"ws\",\n \"cs\",\n \"ns\",\n \"ru\",\n \"wu\",\n \"cu\",\n \"nu\",\n \"rfs\",\n \"wfs\",\n \"cfs\",\n \"nfs\",\n \"rfu\",\n \"wfu\",\n \"cfu\",\n \"nfu\",\n \"rsf\",\n \"wsf\",\n \"csf\",\n \"nsf\",\n \"rsu\",\n \"wsu\",\n \"csu\",\n \"nsu\",\n \"ruf\",\n \"wuf\",\n \"cuf\",\n \"nuf\",\n \"rus\",\n \"wus\",\n \"cus\",\n \"nus\",\n \"rfsu\",\n \"wfsu\",\n \"cfsu\",\n \"nfsu\",\n \"rfus\",\n \"wfus\",\n \"cfus\",\n \"nfus\",\n \"rsfu\",\n \"wsfu\",\n \"csfu\",\n \"nsfu\",\n \"rsuf\",\n \"wsuf\",\n \"csuf\",\n \"nsuf\",\n \"rufs\",\n \"wufs\",\n \"cufs\",\n \"nufs\",\n \"rusf\",\n \"wusf\",\n \"cusf\",\n \"nusf\",\n]\n\nclass _Database(MutableMapping[_KeyType, bytes]):\n def close(self) -> None: ...\n def __getitem__(self, key: _KeyType) -> bytes: ...\n def __setitem__(self, key: _KeyType, value: _ValueType) -> None: ...\n def __delitem__(self, key: _KeyType) -> None: ...\n def __iter__(self) -> Iterator[bytes]: ...\n def __len__(self) -> int: ...\n def __del__(self) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> None: ...\n\nclass _error(Exception): ...\n\nerror: tuple[type[_error], type[OSError]]\n\ndef whichdb(filename: str) -> str: ...\ndef open(file: str, flag: _TFlags = \"r\", mode: int = 0o666) -> _Database: ...\n", + "/typeshed/stdlib/dbm/dumb.pyi": "from collections.abc import Iterator, MutableMapping\nfrom types import TracebackType\nfrom typing_extensions import Self, TypeAlias\n\n__all__ = [\"error\", \"open\"]\n\n_KeyType: TypeAlias = str | bytes\n_ValueType: TypeAlias = str | bytes\n\nerror = OSError\n\n# This class doesn't exist at runtime. open() can return an instance of\n# any of the three implementations of dbm (dumb, gnu, ndbm), and this\n# class is intended to represent the common interface supported by all three.\nclass _Database(MutableMapping[_KeyType, bytes]):\n def __init__(self, filebasename: str, mode: str, flag: str = \"c\") -> None: ...\n def sync(self) -> None: ...\n def iterkeys(self) -> Iterator[bytes]: ... # undocumented\n def close(self) -> None: ...\n def __getitem__(self, key: _KeyType) -> bytes: ...\n def __setitem__(self, key: _KeyType, val: _ValueType) -> None: ...\n def __delitem__(self, key: _KeyType) -> None: ...\n def __iter__(self) -> Iterator[bytes]: ...\n def __len__(self) -> int: ...\n def __del__(self) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> None: ...\n\ndef open(file: str, flag: str = \"c\", mode: int = 0o666) -> _Database: ...\n", + "/typeshed/stdlib/dbm/gnu.pyi": "import sys\nfrom _typeshed import ReadOnlyBuffer\nfrom types import TracebackType\nfrom typing import TypeVar, overload\nfrom typing_extensions import Self, TypeAlias\n\nif sys.platform != \"win32\":\n _T = TypeVar(\"_T\")\n _KeyType: TypeAlias = str | ReadOnlyBuffer\n _ValueType: TypeAlias = str | ReadOnlyBuffer\n\n open_flags: str\n\n class error(OSError): ...\n # Actual typename gdbm, not exposed by the implementation\n class _gdbm:\n def firstkey(self) -> bytes | None: ...\n def nextkey(self, key: _KeyType) -> bytes | None: ...\n def reorganize(self) -> None: ...\n def sync(self) -> None: ...\n def close(self) -> None: ...\n def __getitem__(self, item: _KeyType) -> bytes: ...\n def __setitem__(self, key: _KeyType, value: _ValueType) -> None: ...\n def __delitem__(self, key: _KeyType) -> None: ...\n def __contains__(self, key: _KeyType) -> bool: ...\n def __len__(self) -> int: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> None: ...\n @overload\n def get(self, k: _KeyType) -> bytes | None: ...\n @overload\n def get(self, k: _KeyType, default: _T) -> bytes | _T: ...\n def keys(self) -> list[bytes]: ...\n def setdefault(self, k: _KeyType, default: _ValueType = ...) -> bytes: ...\n # Don't exist at runtime\n __new__: None # type: ignore[assignment]\n __init__: None # type: ignore[assignment]\n def open(__filename: str, __flags: str = \"r\", __mode: int = 0o666) -> _gdbm: ...\n", + "/typeshed/stdlib/dbm/ndbm.pyi": "import sys\nfrom _typeshed import ReadOnlyBuffer\nfrom types import TracebackType\nfrom typing import TypeVar, overload\nfrom typing_extensions import Self, TypeAlias\n\nif sys.platform != \"win32\":\n _T = TypeVar(\"_T\")\n _KeyType: TypeAlias = str | ReadOnlyBuffer\n _ValueType: TypeAlias = str | ReadOnlyBuffer\n\n class error(OSError): ...\n library: str\n\n # Actual typename dbm, not exposed by the implementation\n class _dbm:\n def close(self) -> None: ...\n def __getitem__(self, item: _KeyType) -> bytes: ...\n def __setitem__(self, key: _KeyType, value: _ValueType) -> None: ...\n def __delitem__(self, key: _KeyType) -> None: ...\n def __len__(self) -> int: ...\n def __del__(self) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None\n ) -> None: ...\n @overload\n def get(self, k: _KeyType) -> bytes | None: ...\n @overload\n def get(self, k: _KeyType, default: _T) -> bytes | _T: ...\n def keys(self) -> list[bytes]: ...\n def setdefault(self, k: _KeyType, default: _ValueType = ...) -> bytes: ...\n # Don't exist at runtime\n __new__: None # type: ignore[assignment]\n __init__: None # type: ignore[assignment]\n def open(__filename: str, __flags: str = \"r\", __mode: int = 0o666) -> _dbm: ...\n", + "/typeshed/stdlib/distutils/__init__.pyi": "# Attempts to improve these stubs are probably not the best use of time:\n# - distutils is deleted in Python 3.12 and newer\n# - Most users already do not use stdlib distutils, due to setuptools monkeypatching\n# - We have very little quality assurance on these stubs, since due to the two above issues\n# we allowlist all distutils errors in stubtest.\n", + "/typeshed/stdlib/distutils/archive_util.pyi": "def make_archive(\n base_name: str,\n format: str,\n root_dir: str | None = None,\n base_dir: str | None = None,\n verbose: int = 0,\n dry_run: int = 0,\n owner: str | None = None,\n group: str | None = None,\n) -> str: ...\ndef make_tarball(\n base_name: str,\n base_dir: str,\n compress: str | None = \"gzip\",\n verbose: int = 0,\n dry_run: int = 0,\n owner: str | None = None,\n group: str | None = None,\n) -> str: ...\ndef make_zipfile(base_name: str, base_dir: str, verbose: int = 0, dry_run: int = 0) -> str: ...\n", + "/typeshed/stdlib/distutils/bcppcompiler.pyi": "from distutils.ccompiler import CCompiler\n\nclass BCPPCompiler(CCompiler): ...\n", + "/typeshed/stdlib/distutils/ccompiler.pyi": "from collections.abc import Callable\nfrom typing import Any\nfrom typing_extensions import TypeAlias\n\n_Macro: TypeAlias = tuple[str] | tuple[str, str | None]\n\ndef gen_lib_options(\n compiler: CCompiler, library_dirs: list[str], runtime_library_dirs: list[str], libraries: list[str]\n) -> list[str]: ...\ndef gen_preprocess_options(macros: list[_Macro], include_dirs: list[str]) -> list[str]: ...\ndef get_default_compiler(osname: str | None = None, platform: str | None = None) -> str: ...\ndef new_compiler(\n plat: str | None = None, compiler: str | None = None, verbose: int = 0, dry_run: int = 0, force: int = 0\n) -> CCompiler: ...\ndef show_compilers() -> None: ...\n\nclass CCompiler:\n dry_run: bool\n force: bool\n verbose: bool\n output_dir: str | None\n macros: list[_Macro]\n include_dirs: list[str]\n libraries: list[str]\n library_dirs: list[str]\n runtime_library_dirs: list[str]\n objects: list[str]\n def __init__(self, verbose: int = 0, dry_run: int = 0, force: int = 0) -> None: ...\n def add_include_dir(self, dir: str) -> None: ...\n def set_include_dirs(self, dirs: list[str]) -> None: ...\n def add_library(self, libname: str) -> None: ...\n def set_libraries(self, libnames: list[str]) -> None: ...\n def add_library_dir(self, dir: str) -> None: ...\n def set_library_dirs(self, dirs: list[str]) -> None: ...\n def add_runtime_library_dir(self, dir: str) -> None: ...\n def set_runtime_library_dirs(self, dirs: list[str]) -> None: ...\n def define_macro(self, name: str, value: str | None = None) -> None: ...\n def undefine_macro(self, name: str) -> None: ...\n def add_link_object(self, object: str) -> None: ...\n def set_link_objects(self, objects: list[str]) -> None: ...\n def detect_language(self, sources: str | list[str]) -> str | None: ...\n def find_library_file(self, dirs: list[str], lib: str, debug: bool = ...) -> str | None: ...\n def has_function(\n self,\n funcname: str,\n includes: list[str] | None = None,\n include_dirs: list[str] | None = None,\n libraries: list[str] | None = None,\n library_dirs: list[str] | None = None,\n ) -> bool: ...\n def library_dir_option(self, dir: str) -> str: ...\n def library_option(self, lib: str) -> str: ...\n def runtime_library_dir_option(self, dir: str) -> str: ...\n def set_executables(self, **args: str) -> None: ...\n def compile(\n self,\n sources: list[str],\n output_dir: str | None = None,\n macros: _Macro | None = None,\n include_dirs: list[str] | None = None,\n debug: bool = ...,\n extra_preargs: list[str] | None = None,\n extra_postargs: list[str] | None = None,\n depends: list[str] | None = None,\n ) -> list[str]: ...\n def create_static_lib(\n self,\n objects: list[str],\n output_libname: str,\n output_dir: str | None = None,\n debug: bool = ...,\n target_lang: str | None = None,\n ) -> None: ...\n def link(\n self,\n target_desc: str,\n objects: list[str],\n output_filename: str,\n output_dir: str | None = None,\n libraries: list[str] | None = None,\n library_dirs: list[str] | None = None,\n runtime_library_dirs: list[str] | None = None,\n export_symbols: list[str] | None = None,\n debug: bool = ...,\n extra_preargs: list[str] | None = None,\n extra_postargs: list[str] | None = None,\n build_temp: str | None = None,\n target_lang: str | None = None,\n ) -> None: ...\n def link_executable(\n self,\n objects: list[str],\n output_progname: str,\n output_dir: str | None = None,\n libraries: list[str] | None = None,\n library_dirs: list[str] | None = None,\n runtime_library_dirs: list[str] | None = None,\n debug: bool = ...,\n extra_preargs: list[str] | None = None,\n extra_postargs: list[str] | None = None,\n target_lang: str | None = None,\n ) -> None: ...\n def link_shared_lib(\n self,\n objects: list[str],\n output_libname: str,\n output_dir: str | None = None,\n libraries: list[str] | None = None,\n library_dirs: list[str] | None = None,\n runtime_library_dirs: list[str] | None = None,\n export_symbols: list[str] | None = None,\n debug: bool = ...,\n extra_preargs: list[str] | None = None,\n extra_postargs: list[str] | None = None,\n build_temp: str | None = None,\n target_lang: str | None = None,\n ) -> None: ...\n def link_shared_object(\n self,\n objects: list[str],\n output_filename: str,\n output_dir: str | None = None,\n libraries: list[str] | None = None,\n library_dirs: list[str] | None = None,\n runtime_library_dirs: list[str] | None = None,\n export_symbols: list[str] | None = None,\n debug: bool = ...,\n extra_preargs: list[str] | None = None,\n extra_postargs: list[str] | None = None,\n build_temp: str | None = None,\n target_lang: str | None = None,\n ) -> None: ...\n def preprocess(\n self,\n source: str,\n output_file: str | None = None,\n macros: list[_Macro] | None = None,\n include_dirs: list[str] | None = None,\n extra_preargs: list[str] | None = None,\n extra_postargs: list[str] | None = None,\n ) -> None: ...\n def executable_filename(self, basename: str, strip_dir: int = 0, output_dir: str = \"\") -> str: ...\n def library_filename(self, libname: str, lib_type: str = \"static\", strip_dir: int = 0, output_dir: str = \"\") -> str: ...\n def object_filenames(self, source_filenames: list[str], strip_dir: int = 0, output_dir: str = \"\") -> list[str]: ...\n def shared_object_filename(self, basename: str, strip_dir: int = 0, output_dir: str = \"\") -> str: ...\n def execute(self, func: Callable[..., object], args: tuple[Any, ...], msg: str | None = None, level: int = 1) -> None: ...\n def spawn(self, cmd: list[str]) -> None: ...\n def mkpath(self, name: str, mode: int = 0o777) -> None: ...\n def move_file(self, src: str, dst: str) -> str: ...\n def announce(self, msg: str, level: int = 1) -> None: ...\n def warn(self, msg: str) -> None: ...\n def debug_print(self, msg: str) -> None: ...\n", + "/typeshed/stdlib/distutils/cmd.pyi": "from _typeshed import Incomplete\nfrom abc import abstractmethod\nfrom collections.abc import Callable, Iterable\nfrom distutils.dist import Distribution\nfrom typing import Any\n\nclass Command:\n distribution: Distribution\n sub_commands: list[tuple[str, Callable[[Command], bool] | None]]\n def __init__(self, dist: Distribution) -> None: ...\n @abstractmethod\n def initialize_options(self) -> None: ...\n @abstractmethod\n def finalize_options(self) -> None: ...\n @abstractmethod\n def run(self) -> None: ...\n def announce(self, msg: str, level: int = 1) -> None: ...\n def debug_print(self, msg: str) -> None: ...\n def ensure_string(self, option: str, default: str | None = None) -> None: ...\n def ensure_string_list(self, option: str | list[str]) -> None: ...\n def ensure_filename(self, option: str) -> None: ...\n def ensure_dirname(self, option: str) -> None: ...\n def get_command_name(self) -> str: ...\n def set_undefined_options(self, src_cmd: str, *option_pairs: tuple[str, str]) -> None: ...\n def get_finalized_command(self, command: str, create: int = 1) -> Command: ...\n def reinitialize_command(self, command: Command | str, reinit_subcommands: int = 0) -> Command: ...\n def run_command(self, command: str) -> None: ...\n def get_sub_commands(self) -> list[str]: ...\n def warn(self, msg: str) -> None: ...\n def execute(self, func: Callable[..., object], args: Iterable[Any], msg: str | None = None, level: int = 1) -> None: ...\n def mkpath(self, name: str, mode: int = 0o777) -> None: ...\n def copy_file(\n self, infile: str, outfile: str, preserve_mode: int = 1, preserve_times: int = 1, link: str | None = None, level: Any = 1\n ) -> tuple[str, bool]: ... # level is not used\n def copy_tree(\n self,\n infile: str,\n outfile: str,\n preserve_mode: int = 1,\n preserve_times: int = 1,\n preserve_symlinks: int = 0,\n level: Any = 1,\n ) -> list[str]: ... # level is not used\n def move_file(self, src: str, dst: str, level: Any = 1) -> str: ... # level is not used\n def spawn(self, cmd: Iterable[str], search_path: int = 1, level: Any = 1) -> None: ... # level is not used\n def make_archive(\n self,\n base_name: str,\n format: str,\n root_dir: str | None = None,\n base_dir: str | None = None,\n owner: str | None = None,\n group: str | None = None,\n ) -> str: ...\n def make_file(\n self,\n infiles: str | list[str] | tuple[str, ...],\n outfile: str,\n func: Callable[..., object],\n args: list[Any],\n exec_msg: str | None = None,\n skip_msg: str | None = None,\n level: Any = 1,\n ) -> None: ... # level is not used\n def ensure_finalized(self) -> None: ...\n def dump_options(self, header: Incomplete | None = None, indent: str = \"\") -> None: ...\n", + "/typeshed/stdlib/distutils/config.pyi": "from abc import abstractmethod\nfrom distutils.cmd import Command\nfrom typing import ClassVar\n\nDEFAULT_PYPIRC: str\n\nclass PyPIRCCommand(Command):\n DEFAULT_REPOSITORY: ClassVar[str]\n DEFAULT_REALM: ClassVar[str]\n repository: None\n realm: None\n user_options: ClassVar[list[tuple[str, str | None, str]]]\n boolean_options: ClassVar[list[str]]\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n @abstractmethod\n def run(self) -> None: ...\n", + "/typeshed/stdlib/distutils/core.pyi": "from _typeshed import StrOrBytesPath\nfrom collections.abc import Mapping\nfrom distutils.cmd import Command as Command\nfrom distutils.dist import Distribution as Distribution\nfrom distutils.extension import Extension as Extension\nfrom typing import Any\n\nUSAGE: str\n\ndef gen_usage(script_name: StrOrBytesPath) -> str: ...\n\nsetup_keywords: tuple[str, ...]\nextension_keywords: tuple[str, ...]\n\ndef setup(\n *,\n name: str = ...,\n version: str = ...,\n description: str = ...,\n long_description: str = ...,\n author: str = ...,\n author_email: str = ...,\n maintainer: str = ...,\n maintainer_email: str = ...,\n url: str = ...,\n download_url: str = ...,\n packages: list[str] = ...,\n py_modules: list[str] = ...,\n scripts: list[str] = ...,\n ext_modules: list[Extension] = ...,\n classifiers: list[str] = ...,\n distclass: type[Distribution] = ...,\n script_name: str = ...,\n script_args: list[str] = ...,\n options: Mapping[str, Any] = ...,\n license: str = ...,\n keywords: list[str] | str = ...,\n platforms: list[str] | str = ...,\n cmdclass: Mapping[str, type[Command]] = ...,\n data_files: list[tuple[str, list[str]]] = ...,\n package_dir: Mapping[str, str] = ...,\n obsoletes: list[str] = ...,\n provides: list[str] = ...,\n requires: list[str] = ...,\n command_packages: list[str] = ...,\n command_options: Mapping[str, Mapping[str, tuple[Any, Any]]] = ...,\n package_data: Mapping[str, list[str]] = ...,\n include_package_data: bool = ...,\n libraries: list[str] = ...,\n headers: list[str] = ...,\n ext_package: str = ...,\n include_dirs: list[str] = ...,\n password: str = ...,\n fullname: str = ...,\n **attrs: Any,\n) -> None: ...\ndef run_setup(script_name: str, script_args: list[str] | None = None, stop_after: str = \"run\") -> Distribution: ...\n", + "/typeshed/stdlib/distutils/cygwinccompiler.pyi": "from distutils.unixccompiler import UnixCCompiler\nfrom distutils.version import LooseVersion\nfrom re import Pattern\nfrom typing_extensions import Literal\n\ndef get_msvcr() -> list[str] | None: ...\n\nclass CygwinCCompiler(UnixCCompiler): ...\nclass Mingw32CCompiler(CygwinCCompiler): ...\n\nCONFIG_H_OK: str\nCONFIG_H_NOTOK: str\nCONFIG_H_UNCERTAIN: str\n\ndef check_config_h() -> tuple[Literal[\"ok\", \"not ok\", \"uncertain\"], str]: ...\n\nRE_VERSION: Pattern[bytes]\n\ndef get_versions() -> tuple[LooseVersion | None, ...]: ...\ndef is_cygwingcc() -> bool: ...\n", + "/typeshed/stdlib/distutils/debug.pyi": "DEBUG: bool | None\n", + "/typeshed/stdlib/distutils/dep_util.pyi": "def newer(source: str, target: str) -> bool: ...\ndef newer_pairwise(sources: list[str], targets: list[str]) -> list[tuple[str, str]]: ...\ndef newer_group(sources: list[str], target: str, missing: str = \"error\") -> bool: ...\n", + "/typeshed/stdlib/distutils/dir_util.pyi": "def mkpath(name: str, mode: int = 0o777, verbose: int = 1, dry_run: int = 0) -> list[str]: ...\ndef create_tree(base_dir: str, files: list[str], mode: int = 0o777, verbose: int = 1, dry_run: int = 0) -> None: ...\ndef copy_tree(\n src: str,\n dst: str,\n preserve_mode: int = 1,\n preserve_times: int = 1,\n preserve_symlinks: int = 0,\n update: int = 0,\n verbose: int = 1,\n dry_run: int = 0,\n) -> list[str]: ...\ndef remove_tree(directory: str, verbose: int = 1, dry_run: int = 0) -> None: ...\n", + "/typeshed/stdlib/distutils/dist.pyi": "from _typeshed import FileDescriptorOrPath, Incomplete, SupportsWrite\nfrom collections.abc import Iterable, Mapping\nfrom distutils.cmd import Command\nfrom re import Pattern\nfrom typing import IO, Any, ClassVar, TypeVar, overload\nfrom typing_extensions import TypeAlias\n\ncommand_re: Pattern[str]\n\n_OptionsList: TypeAlias = list[tuple[str, str | None, str, int] | tuple[str, str | None, str]]\n_CommandT = TypeVar(\"_CommandT\", bound=Command)\n\nclass DistributionMetadata:\n def __init__(self, path: FileDescriptorOrPath | None = None) -> None: ...\n name: str | None\n version: str | None\n author: str | None\n author_email: str | None\n maintainer: str | None\n maintainer_email: str | None\n url: str | None\n license: str | None\n description: str | None\n long_description: str | None\n keywords: str | list[str] | None\n platforms: str | list[str] | None\n classifiers: str | list[str] | None\n download_url: str | None\n provides: list[str] | None\n requires: list[str] | None\n obsoletes: list[str] | None\n def read_pkg_file(self, file: IO[str]) -> None: ...\n def write_pkg_info(self, base_dir: str) -> None: ...\n def write_pkg_file(self, file: SupportsWrite[str]) -> None: ...\n def get_name(self) -> str: ...\n def get_version(self) -> str: ...\n def get_fullname(self) -> str: ...\n def get_author(self) -> str: ...\n def get_author_email(self) -> str: ...\n def get_maintainer(self) -> str: ...\n def get_maintainer_email(self) -> str: ...\n def get_contact(self) -> str: ...\n def get_contact_email(self) -> str: ...\n def get_url(self) -> str: ...\n def get_license(self) -> str: ...\n def get_licence(self) -> str: ...\n def get_description(self) -> str: ...\n def get_long_description(self) -> str: ...\n def get_keywords(self) -> str | list[str]: ...\n def get_platforms(self) -> str | list[str]: ...\n def get_classifiers(self) -> str | list[str]: ...\n def get_download_url(self) -> str: ...\n def get_requires(self) -> list[str]: ...\n def set_requires(self, value: Iterable[str]) -> None: ...\n def get_provides(self) -> list[str]: ...\n def set_provides(self, value: Iterable[str]) -> None: ...\n def get_obsoletes(self) -> list[str]: ...\n def set_obsoletes(self, value: Iterable[str]) -> None: ...\n\nclass Distribution:\n cmdclass: dict[str, type[Command]]\n metadata: DistributionMetadata\n def __init__(self, attrs: Mapping[str, Any] | None = None) -> None: ...\n def get_option_dict(self, command: str) -> dict[str, tuple[str, str]]: ...\n def parse_config_files(self, filenames: Iterable[str] | None = None) -> None: ...\n def get_command_obj(self, command: str, create: bool = True) -> Command | None: ...\n global_options: ClassVar[_OptionsList]\n common_usage: ClassVar[str]\n display_options: ClassVar[_OptionsList]\n display_option_names: ClassVar[list[str]]\n negative_opt: ClassVar[dict[str, str]]\n verbose: int\n dry_run: int\n help: int\n command_packages: list[str] | None\n script_name: str | None\n script_args: list[str] | None\n command_options: dict[str, dict[str, tuple[str, str]]]\n dist_files: list[tuple[str, str, str]]\n packages: Incomplete\n package_data: dict[str, list[str]]\n package_dir: Incomplete\n py_modules: Incomplete\n libraries: Incomplete\n headers: Incomplete\n ext_modules: Incomplete\n ext_package: Incomplete\n include_dirs: Incomplete\n extra_path: Incomplete\n scripts: Incomplete\n data_files: Incomplete\n password: str\n command_obj: Incomplete\n have_run: Incomplete\n want_user_cfg: bool\n def dump_option_dicts(\n self, header: Incomplete | None = None, commands: Incomplete | None = None, indent: str = \"\"\n ) -> None: ...\n def find_config_files(self): ...\n commands: Incomplete\n def parse_command_line(self): ...\n def finalize_options(self) -> None: ...\n def handle_display_options(self, option_order): ...\n def print_command_list(self, commands, header, max_length) -> None: ...\n def print_commands(self) -> None: ...\n def get_command_list(self): ...\n def get_command_packages(self): ...\n def get_command_class(self, command: str) -> type[Command]: ...\n @overload\n def reinitialize_command(self, command: str, reinit_subcommands: bool = False) -> Command: ...\n @overload\n def reinitialize_command(self, command: _CommandT, reinit_subcommands: bool = False) -> _CommandT: ...\n def announce(self, msg, level: int = 2) -> None: ...\n def run_commands(self) -> None: ...\n def run_command(self, command: str) -> None: ...\n def has_pure_modules(self) -> bool: ...\n def has_ext_modules(self) -> bool: ...\n def has_c_libraries(self) -> bool: ...\n def has_modules(self) -> bool: ...\n def has_headers(self) -> bool: ...\n def has_scripts(self) -> bool: ...\n def has_data_files(self) -> bool: ...\n def is_pure(self) -> bool: ...\n\n # Getter methods generated in __init__\n def get_name(self) -> str: ...\n def get_version(self) -> str: ...\n def get_fullname(self) -> str: ...\n def get_author(self) -> str: ...\n def get_author_email(self) -> str: ...\n def get_maintainer(self) -> str: ...\n def get_maintainer_email(self) -> str: ...\n def get_contact(self) -> str: ...\n def get_contact_email(self) -> str: ...\n def get_url(self) -> str: ...\n def get_license(self) -> str: ...\n def get_licence(self) -> str: ...\n def get_description(self) -> str: ...\n def get_long_description(self) -> str: ...\n def get_keywords(self) -> str | list[str]: ...\n def get_platforms(self) -> str | list[str]: ...\n def get_classifiers(self) -> str | list[str]: ...\n def get_download_url(self) -> str: ...\n def get_requires(self) -> list[str]: ...\n def get_provides(self) -> list[str]: ...\n def get_obsoletes(self) -> list[str]: ...\n", + "/typeshed/stdlib/distutils/errors.pyi": "class DistutilsError(Exception): ...\nclass DistutilsModuleError(DistutilsError): ...\nclass DistutilsClassError(DistutilsError): ...\nclass DistutilsGetoptError(DistutilsError): ...\nclass DistutilsArgError(DistutilsError): ...\nclass DistutilsFileError(DistutilsError): ...\nclass DistutilsOptionError(DistutilsError): ...\nclass DistutilsSetupError(DistutilsError): ...\nclass DistutilsPlatformError(DistutilsError): ...\nclass DistutilsExecError(DistutilsError): ...\nclass DistutilsInternalError(DistutilsError): ...\nclass DistutilsTemplateError(DistutilsError): ...\nclass DistutilsByteCompileError(DistutilsError): ...\nclass CCompilerError(Exception): ...\nclass PreprocessError(CCompilerError): ...\nclass CompileError(CCompilerError): ...\nclass LibError(CCompilerError): ...\nclass LinkError(CCompilerError): ...\nclass UnknownFileError(CCompilerError): ...\n", + "/typeshed/stdlib/distutils/extension.pyi": "class Extension:\n name: str\n sources: list[str]\n include_dirs: list[str]\n define_macros: list[tuple[str, str | None]]\n undef_macros: list[str]\n library_dirs: list[str]\n libraries: list[str]\n runtime_library_dirs: list[str]\n extra_objects: list[str]\n extra_compile_args: list[str]\n extra_link_args: list[str]\n export_symbols: list[str]\n swig_opts: list[str]\n depends: list[str]\n language: str | None\n optional: bool | None\n def __init__(\n self,\n name: str,\n sources: list[str],\n include_dirs: list[str] | None = None,\n define_macros: list[tuple[str, str | None]] | None = None,\n undef_macros: list[str] | None = None,\n library_dirs: list[str] | None = None,\n libraries: list[str] | None = None,\n runtime_library_dirs: list[str] | None = None,\n extra_objects: list[str] | None = None,\n extra_compile_args: list[str] | None = None,\n extra_link_args: list[str] | None = None,\n export_symbols: list[str] | None = None,\n swig_opts: list[str] | None = None,\n depends: list[str] | None = None,\n language: str | None = None,\n optional: bool | None = None,\n ) -> None: ...\n", + "/typeshed/stdlib/distutils/fancy_getopt.pyi": "from collections.abc import Iterable, Mapping\nfrom re import Pattern\nfrom typing import Any, overload\nfrom typing_extensions import TypeAlias\n\n_Option: TypeAlias = tuple[str, str | None, str]\n_GR: TypeAlias = tuple[list[str], OptionDummy]\n\nlongopt_pat: str\nlongopt_re: Pattern[str]\nneg_alias_re: Pattern[str]\nlongopt_xlate: dict[int, int]\n\nclass FancyGetopt:\n def __init__(self, option_table: list[_Option] | None = None) -> None: ...\n # TODO kinda wrong, `getopt(object=object())` is invalid\n @overload\n def getopt(self, args: list[str] | None = None) -> _GR: ...\n @overload\n def getopt(self, args: list[str] | None, object: Any) -> list[str]: ...\n def get_option_order(self) -> list[tuple[str, str]]: ...\n def generate_help(self, header: str | None = None) -> list[str]: ...\n\ndef fancy_getopt(\n options: list[_Option], negative_opt: Mapping[_Option, _Option], object: Any, args: list[str] | None\n) -> list[str] | _GR: ...\n\nWS_TRANS: dict[int, str]\n\ndef wrap_text(text: str, width: int) -> list[str]: ...\ndef translate_longopt(opt: str) -> str: ...\n\nclass OptionDummy:\n def __init__(self, options: Iterable[str] = []) -> None: ...\n", + "/typeshed/stdlib/distutils/file_util.pyi": "from collections.abc import Sequence\n\ndef copy_file(\n src: str,\n dst: str,\n preserve_mode: bool = ...,\n preserve_times: bool = ...,\n update: bool = ...,\n link: str | None = None,\n verbose: bool = ...,\n dry_run: bool = ...,\n) -> tuple[str, str]: ...\ndef move_file(src: str, dst: str, verbose: bool = ..., dry_run: bool = ...) -> str: ...\ndef write_file(filename: str, contents: Sequence[str]) -> None: ...\n", + "/typeshed/stdlib/distutils/filelist.pyi": "from collections.abc import Iterable\nfrom re import Pattern\nfrom typing import overload\nfrom typing_extensions import Literal\n\n# class is entirely undocumented\nclass FileList:\n allfiles: Iterable[str] | None\n files: list[str]\n def __init__(self, warn: None = None, debug_print: None = None) -> None: ...\n def set_allfiles(self, allfiles: Iterable[str]) -> None: ...\n def findall(self, dir: str = \".\") -> None: ...\n def debug_print(self, msg: str) -> None: ...\n def append(self, item: str) -> None: ...\n def extend(self, items: Iterable[str]) -> None: ...\n def sort(self) -> None: ...\n def remove_duplicates(self) -> None: ...\n def process_template_line(self, line: str) -> None: ...\n @overload\n def include_pattern(\n self, pattern: str, anchor: bool | Literal[0, 1] = 1, prefix: str | None = None, is_regex: Literal[0, False] = 0\n ) -> bool: ...\n @overload\n def include_pattern(self, pattern: str | Pattern[str], *, is_regex: Literal[True, 1]) -> bool: ...\n @overload\n def include_pattern(\n self, pattern: str | Pattern[str], anchor: bool | Literal[0, 1] = 1, prefix: str | None = None, is_regex: int = 0\n ) -> bool: ...\n @overload\n def exclude_pattern(\n self, pattern: str, anchor: bool | Literal[0, 1] = 1, prefix: str | None = None, is_regex: Literal[0, False] = 0\n ) -> bool: ...\n @overload\n def exclude_pattern(self, pattern: str | Pattern[str], *, is_regex: Literal[True, 1]) -> bool: ...\n @overload\n def exclude_pattern(\n self, pattern: str | Pattern[str], anchor: bool | Literal[0, 1] = 1, prefix: str | None = None, is_regex: int = 0\n ) -> bool: ...\n\ndef findall(dir: str = \".\") -> list[str]: ...\ndef glob_to_re(pattern: str) -> str: ...\n@overload\ndef translate_pattern(\n pattern: str, anchor: bool | Literal[0, 1] = 1, prefix: str | None = None, is_regex: Literal[False, 0] = 0\n) -> Pattern[str]: ...\n@overload\ndef translate_pattern(pattern: str | Pattern[str], *, is_regex: Literal[True, 1]) -> Pattern[str]: ...\n@overload\ndef translate_pattern(\n pattern: str | Pattern[str], anchor: bool | Literal[0, 1] = 1, prefix: str | None = None, is_regex: int = 0\n) -> Pattern[str]: ...\n", + "/typeshed/stdlib/distutils/log.pyi": "from typing import Any\n\nDEBUG: int\nINFO: int\nWARN: int\nERROR: int\nFATAL: int\n\nclass Log:\n def __init__(self, threshold: int = 3) -> None: ...\n def log(self, level: int, msg: str, *args: Any) -> None: ...\n def debug(self, msg: str, *args: Any) -> None: ...\n def info(self, msg: str, *args: Any) -> None: ...\n def warn(self, msg: str, *args: Any) -> None: ...\n def error(self, msg: str, *args: Any) -> None: ...\n def fatal(self, msg: str, *args: Any) -> None: ...\n\ndef log(level: int, msg: str, *args: Any) -> None: ...\ndef debug(msg: str, *args: Any) -> None: ...\ndef info(msg: str, *args: Any) -> None: ...\ndef warn(msg: str, *args: Any) -> None: ...\ndef error(msg: str, *args: Any) -> None: ...\ndef fatal(msg: str, *args: Any) -> None: ...\ndef set_threshold(level: int) -> int: ...\ndef set_verbosity(v: int) -> None: ...\n", + "/typeshed/stdlib/distutils/msvccompiler.pyi": "from distutils.ccompiler import CCompiler\n\nclass MSVCCompiler(CCompiler): ...\n", + "/typeshed/stdlib/distutils/spawn.pyi": "def spawn(cmd: list[str], search_path: bool = ..., verbose: bool = ..., dry_run: bool = ...) -> None: ...\ndef find_executable(executable: str, path: str | None = None) -> str | None: ...\n", + "/typeshed/stdlib/distutils/sysconfig.pyi": "import sys\nfrom collections.abc import Mapping\nfrom distutils.ccompiler import CCompiler\n\nPREFIX: str\nEXEC_PREFIX: str\nBASE_PREFIX: str\nBASE_EXEC_PREFIX: str\nproject_base: str\npython_build: bool\n\ndef expand_makefile_vars(s: str, vars: Mapping[str, str]) -> str: ...\ndef get_config_var(name: str) -> int | str | None: ...\ndef get_config_vars(*args: str) -> Mapping[str, int | str]: ...\ndef get_config_h_filename() -> str: ...\ndef get_makefile_filename() -> str: ...\ndef get_python_inc(plat_specific: bool = ..., prefix: str | None = None) -> str: ...\ndef get_python_lib(plat_specific: bool = ..., standard_lib: bool = ..., prefix: str | None = None) -> str: ...\ndef customize_compiler(compiler: CCompiler) -> None: ...\n\nif sys.version_info < (3, 10):\n def get_python_version() -> str: ...\n", + "/typeshed/stdlib/distutils/text_file.pyi": "from typing import IO\n\nclass TextFile:\n def __init__(\n self,\n filename: str | None = None,\n file: IO[str] | None = None,\n *,\n strip_comments: bool = ...,\n lstrip_ws: bool = ...,\n rstrip_ws: bool = ...,\n skip_blanks: bool = ...,\n join_lines: bool = ...,\n collapse_join: bool = ...,\n ) -> None: ...\n def open(self, filename: str) -> None: ...\n def close(self) -> None: ...\n def warn(self, msg: str, line: list[int] | tuple[int, int] | int | None = None) -> None: ...\n def readline(self) -> str | None: ...\n def readlines(self) -> list[str]: ...\n def unreadline(self, line: str) -> str: ...\n", + "/typeshed/stdlib/distutils/unixccompiler.pyi": "from distutils.ccompiler import CCompiler\n\nclass UnixCCompiler(CCompiler): ...\n", + "/typeshed/stdlib/distutils/util.pyi": "import sys\nfrom _typeshed import StrPath, Unused\nfrom collections.abc import Callable, Container, Iterable, Mapping\nfrom typing import Any\nfrom typing_extensions import Literal\n\nif sys.version_info >= (3, 8):\n def get_host_platform() -> str: ...\n\ndef get_platform() -> str: ...\ndef convert_path(pathname: str) -> str: ...\ndef change_root(new_root: str, pathname: str) -> str: ...\ndef check_environ() -> None: ...\ndef subst_vars(s: str, local_vars: Mapping[str, str]) -> None: ...\ndef split_quoted(s: str) -> list[str]: ...\ndef execute(\n func: Callable[..., object], args: tuple[Any, ...], msg: str | None = None, verbose: bool = ..., dry_run: bool = ...\n) -> None: ...\ndef strtobool(val: str) -> Literal[0, 1]: ...\ndef byte_compile(\n py_files: list[str],\n optimize: int = 0,\n force: bool = ...,\n prefix: str | None = None,\n base_dir: str | None = None,\n verbose: bool = ...,\n dry_run: bool = ...,\n direct: bool | None = None,\n) -> None: ...\ndef rfc822_escape(header: str) -> str: ...\ndef run_2to3(\n files: Iterable[str],\n fixer_names: Iterable[str] | None = None,\n options: Mapping[str, Any] | None = None,\n explicit: Unused = None,\n) -> None: ...\ndef copydir_run_2to3(\n src: StrPath,\n dest: StrPath,\n template: str | None = None,\n fixer_names: Iterable[str] | None = None,\n options: Mapping[str, Any] | None = None,\n explicit: Container[str] | None = None,\n) -> list[str]: ...\n\nclass Mixin2to3:\n fixer_names: Iterable[str] | None\n options: Mapping[str, Any] | None\n explicit: Container[str] | None\n def run_2to3(self, files: Iterable[str]) -> None: ...\n", + "/typeshed/stdlib/distutils/version.pyi": "from abc import abstractmethod\nfrom re import Pattern\nfrom typing_extensions import Self\n\nclass Version:\n def __eq__(self, other: object) -> bool: ...\n def __lt__(self, other: Self | str) -> bool: ...\n def __le__(self, other: Self | str) -> bool: ...\n def __gt__(self, other: Self | str) -> bool: ...\n def __ge__(self, other: Self | str) -> bool: ...\n @abstractmethod\n def __init__(self, vstring: str | None = None) -> None: ...\n @abstractmethod\n def parse(self, vstring: str) -> Self: ...\n @abstractmethod\n def __str__(self) -> str: ...\n @abstractmethod\n def _cmp(self, other: Self | str) -> bool: ...\n\nclass StrictVersion(Version):\n version_re: Pattern[str]\n version: tuple[int, int, int]\n prerelease: tuple[str, int] | None\n def __init__(self, vstring: str | None = None) -> None: ...\n def parse(self, vstring: str) -> Self: ...\n def __str__(self) -> str: ... # noqa: Y029\n def _cmp(self, other: Self | str) -> bool: ...\n\nclass LooseVersion(Version):\n component_re: Pattern[str]\n vstring: str\n version: tuple[str | int, ...]\n def __init__(self, vstring: str | None = None) -> None: ...\n def parse(self, vstring: str) -> Self: ...\n def __str__(self) -> str: ... # noqa: Y029\n def _cmp(self, other: Self | str) -> bool: ...\n", + "/typeshed/stdlib/distutils/command/__init__.pyi": "", + "/typeshed/stdlib/distutils/command/bdist.pyi": "from typing import Any\n\nfrom ..cmd import Command\n\ndef show_formats() -> None: ...\n\nclass bdist(Command):\n description: str\n user_options: Any\n boolean_options: Any\n help_options: Any\n no_format_option: Any\n default_format: Any\n format_commands: Any\n format_command: Any\n bdist_base: Any\n plat_name: Any\n formats: Any\n dist_dir: Any\n skip_build: int\n group: Any\n owner: Any\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n", + "/typeshed/stdlib/distutils/command/bdist_dumb.pyi": "from typing import Any\n\nfrom ..cmd import Command\n\nclass bdist_dumb(Command):\n description: str\n user_options: Any\n boolean_options: Any\n default_format: Any\n bdist_dir: Any\n plat_name: Any\n format: Any\n keep_temp: int\n dist_dir: Any\n skip_build: Any\n relative: int\n owner: Any\n group: Any\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n", + "/typeshed/stdlib/distutils/command/bdist_msi.pyi": "import sys\nfrom typing import Any\n\nfrom ..cmd import Command\n\nif sys.platform == \"win32\":\n from msilib import Dialog\n\n class PyDialog(Dialog):\n def __init__(self, *args, **kw) -> None: ...\n def title(self, title) -> None: ...\n def back(self, title, next, name: str = \"Back\", active: int = 1): ...\n def cancel(self, title, next, name: str = \"Cancel\", active: int = 1): ...\n def next(self, title, next, name: str = \"Next\", active: int = 1): ...\n def xbutton(self, name, title, next, xpos): ...\n\n class bdist_msi(Command):\n description: str\n user_options: Any\n boolean_options: Any\n all_versions: Any\n other_version: str\n if sys.version_info >= (3, 9):\n def __init__(self, *args, **kw) -> None: ...\n bdist_dir: Any\n plat_name: Any\n keep_temp: int\n no_target_compile: int\n no_target_optimize: int\n target_version: Any\n dist_dir: Any\n skip_build: Any\n install_script: Any\n pre_install_script: Any\n versions: Any\n def initialize_options(self) -> None: ...\n install_script_key: Any\n def finalize_options(self) -> None: ...\n db: Any\n def run(self) -> None: ...\n def add_files(self) -> None: ...\n def add_find_python(self) -> None: ...\n def add_scripts(self) -> None: ...\n def add_ui(self) -> None: ...\n def get_installer_filename(self, fullname): ...\n", + "/typeshed/stdlib/distutils/command/bdist_packager.pyi": "", + "/typeshed/stdlib/distutils/command/bdist_rpm.pyi": "from typing import Any\n\nfrom ..cmd import Command\n\nclass bdist_rpm(Command):\n description: str\n user_options: Any\n boolean_options: Any\n negative_opt: Any\n bdist_base: Any\n rpm_base: Any\n dist_dir: Any\n python: Any\n fix_python: Any\n spec_only: Any\n binary_only: Any\n source_only: Any\n use_bzip2: Any\n distribution_name: Any\n group: Any\n release: Any\n serial: Any\n vendor: Any\n packager: Any\n doc_files: Any\n changelog: Any\n icon: Any\n prep_script: Any\n build_script: Any\n install_script: Any\n clean_script: Any\n verify_script: Any\n pre_install: Any\n post_install: Any\n pre_uninstall: Any\n post_uninstall: Any\n prep: Any\n provides: Any\n requires: Any\n conflicts: Any\n build_requires: Any\n obsoletes: Any\n keep_temp: int\n use_rpm_opt_flags: int\n rpm3_mode: int\n no_autoreq: int\n force_arch: Any\n quiet: int\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def finalize_package_data(self) -> None: ...\n def run(self) -> None: ...\n", + "/typeshed/stdlib/distutils/command/bdist_wininst.pyi": "from _typeshed import StrOrBytesPath\nfrom distutils.cmd import Command\nfrom typing import Any, ClassVar\n\nclass bdist_wininst(Command):\n description: ClassVar[str]\n user_options: ClassVar[list[tuple[Any, ...]]]\n boolean_options: ClassVar[list[str]]\n\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n def get_inidata(self) -> str: ...\n def create_exe(self, arcname: StrOrBytesPath, fullname: str, bitmap: StrOrBytesPath | None = None) -> None: ...\n def get_installer_filename(self, fullname: str) -> str: ...\n def get_exe_bytes(self) -> bytes: ...\n", + "/typeshed/stdlib/distutils/command/build.pyi": "from typing import Any\n\nfrom ..cmd import Command\n\ndef show_compilers() -> None: ...\n\nclass build(Command):\n description: str\n user_options: Any\n boolean_options: Any\n help_options: Any\n build_base: str\n build_purelib: Any\n build_platlib: Any\n build_lib: Any\n build_temp: Any\n build_scripts: Any\n compiler: Any\n plat_name: Any\n debug: Any\n force: int\n executable: Any\n parallel: Any\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n def has_pure_modules(self): ...\n def has_c_libraries(self): ...\n def has_ext_modules(self): ...\n def has_scripts(self): ...\n sub_commands: Any\n", + "/typeshed/stdlib/distutils/command/build_clib.pyi": "from typing import Any\n\nfrom ..cmd import Command\n\ndef show_compilers() -> None: ...\n\nclass build_clib(Command):\n description: str\n user_options: Any\n boolean_options: Any\n help_options: Any\n build_clib: Any\n build_temp: Any\n libraries: Any\n include_dirs: Any\n define: Any\n undef: Any\n debug: Any\n force: int\n compiler: Any\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n def check_library_list(self, libraries) -> None: ...\n def get_library_names(self): ...\n def get_source_files(self): ...\n def build_libraries(self, libraries) -> None: ...\n", + "/typeshed/stdlib/distutils/command/build_ext.pyi": "from typing import Any\n\nfrom ..cmd import Command\n\nextension_name_re: Any\n\ndef show_compilers() -> None: ...\n\nclass build_ext(Command):\n description: str\n sep_by: Any\n user_options: Any\n boolean_options: Any\n help_options: Any\n extensions: Any\n build_lib: Any\n plat_name: Any\n build_temp: Any\n inplace: int\n package: Any\n include_dirs: Any\n define: Any\n undef: Any\n libraries: Any\n library_dirs: Any\n rpath: Any\n link_objects: Any\n debug: Any\n force: Any\n compiler: Any\n swig: Any\n swig_cpp: Any\n swig_opts: Any\n user: Any\n parallel: Any\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n def check_extensions_list(self, extensions) -> None: ...\n def get_source_files(self): ...\n def get_outputs(self): ...\n def build_extensions(self) -> None: ...\n def build_extension(self, ext) -> None: ...\n def swig_sources(self, sources, extension): ...\n def find_swig(self): ...\n def get_ext_fullpath(self, ext_name: str) -> str: ...\n def get_ext_fullname(self, ext_name: str) -> str: ...\n def get_ext_filename(self, ext_name: str) -> str: ...\n def get_export_symbols(self, ext): ...\n def get_libraries(self, ext): ...\n", + "/typeshed/stdlib/distutils/command/build_py.pyi": "from typing import Any\n\nfrom ..cmd import Command\nfrom ..util import Mixin2to3 as Mixin2to3\n\nclass build_py(Command):\n description: str\n user_options: Any\n boolean_options: Any\n negative_opt: Any\n build_lib: Any\n py_modules: Any\n package: Any\n package_data: Any\n package_dir: Any\n compile: int\n optimize: int\n force: Any\n def initialize_options(self) -> None: ...\n packages: Any\n data_files: Any\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n def get_data_files(self): ...\n def find_data_files(self, package, src_dir): ...\n def build_package_data(self) -> None: ...\n def get_package_dir(self, package): ...\n def check_package(self, package, package_dir): ...\n def check_module(self, module, module_file): ...\n def find_package_modules(self, package, package_dir): ...\n def find_modules(self): ...\n def find_all_modules(self): ...\n def get_source_files(self): ...\n def get_module_outfile(self, build_dir, package, module): ...\n def get_outputs(self, include_bytecode: int = 1): ...\n def build_module(self, module, module_file, package): ...\n def build_modules(self) -> None: ...\n def build_packages(self) -> None: ...\n def byte_compile(self, files) -> None: ...\n\nclass build_py_2to3(build_py, Mixin2to3):\n updated_files: Any\n def run(self) -> None: ...\n def build_module(self, module, module_file, package): ...\n", + "/typeshed/stdlib/distutils/command/build_scripts.pyi": "from typing import Any\n\nfrom ..cmd import Command\nfrom ..util import Mixin2to3 as Mixin2to3\n\nfirst_line_re: Any\n\nclass build_scripts(Command):\n description: str\n user_options: Any\n boolean_options: Any\n build_dir: Any\n scripts: Any\n force: Any\n executable: Any\n outfiles: Any\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def get_source_files(self): ...\n def run(self) -> None: ...\n def copy_scripts(self): ...\n\nclass build_scripts_2to3(build_scripts, Mixin2to3):\n def copy_scripts(self): ...\n", + "/typeshed/stdlib/distutils/command/check.pyi": "from typing import Any\nfrom typing_extensions import TypeAlias\n\nfrom ..cmd import Command\n\n_Reporter: TypeAlias = Any # really docutils.utils.Reporter\n\n# Only defined if docutils is installed.\n# Depends on a third-party stub. Since distutils is deprecated anyway,\n# it's easier to just suppress the \"any subclassing\" error.\nclass SilentReporter(_Reporter):\n messages: Any\n def __init__(\n self,\n source,\n report_level,\n halt_level,\n stream: Any | None = ...,\n debug: int = ...,\n encoding: str = ...,\n error_handler: str = ...,\n ) -> None: ...\n def system_message(self, level, message, *children, **kwargs): ...\n\nHAS_DOCUTILS: bool\n\nclass check(Command):\n description: str\n user_options: Any\n boolean_options: Any\n restructuredtext: int\n metadata: int\n strict: int\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def warn(self, msg): ...\n def run(self) -> None: ...\n def check_metadata(self) -> None: ...\n def check_restructuredtext(self) -> None: ...\n", + "/typeshed/stdlib/distutils/command/clean.pyi": "from typing import Any\n\nfrom ..cmd import Command\n\nclass clean(Command):\n description: str\n user_options: Any\n boolean_options: Any\n build_base: Any\n build_lib: Any\n build_temp: Any\n build_scripts: Any\n bdist_base: Any\n all: Any\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n", + "/typeshed/stdlib/distutils/command/config.pyi": "from collections.abc import Sequence\nfrom re import Pattern\nfrom typing import Any\n\nfrom ..ccompiler import CCompiler\nfrom ..cmd import Command\n\nLANG_EXT: dict[str, str]\n\nclass config(Command):\n description: str\n # Tuple is full name, short name, description\n user_options: Sequence[tuple[str, str | None, str]]\n compiler: str | CCompiler\n cc: str | None\n include_dirs: Sequence[str] | None\n libraries: Sequence[str] | None\n library_dirs: Sequence[str] | None\n noisy: int\n dump_source: int\n temp_files: Sequence[str]\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n def try_cpp(\n self,\n body: str | None = None,\n headers: Sequence[str] | None = None,\n include_dirs: Sequence[str] | None = None,\n lang: str = \"c\",\n ) -> bool: ...\n def search_cpp(\n self,\n pattern: Pattern[str] | str,\n body: str | None = None,\n headers: Sequence[str] | None = None,\n include_dirs: Sequence[str] | None = None,\n lang: str = \"c\",\n ) -> bool: ...\n def try_compile(\n self, body: str, headers: Sequence[str] | None = None, include_dirs: Sequence[str] | None = None, lang: str = \"c\"\n ) -> bool: ...\n def try_link(\n self,\n body: str,\n headers: Sequence[str] | None = None,\n include_dirs: Sequence[str] | None = None,\n libraries: Sequence[str] | None = None,\n library_dirs: Sequence[str] | None = None,\n lang: str = \"c\",\n ) -> bool: ...\n def try_run(\n self,\n body: str,\n headers: Sequence[str] | None = None,\n include_dirs: Sequence[str] | None = None,\n libraries: Sequence[str] | None = None,\n library_dirs: Sequence[str] | None = None,\n lang: str = \"c\",\n ) -> bool: ...\n def check_func(\n self,\n func: str,\n headers: Sequence[str] | None = None,\n include_dirs: Sequence[str] | None = None,\n libraries: Sequence[str] | None = None,\n library_dirs: Sequence[str] | None = None,\n decl: int = 0,\n call: int = 0,\n ) -> bool: ...\n def check_lib(\n self,\n library: str,\n library_dirs: Sequence[str] | None = None,\n headers: Sequence[str] | None = None,\n include_dirs: Sequence[str] | None = None,\n other_libraries: list[str] = [],\n ) -> bool: ...\n def check_header(\n self, header: str, include_dirs: Sequence[str] | None = None, library_dirs: Sequence[str] | None = None, lang: str = \"c\"\n ) -> bool: ...\n\ndef dump_file(filename: str, head: Any | None = None) -> None: ...\n", + "/typeshed/stdlib/distutils/command/install.pyi": "from typing import Any\n\nfrom ..cmd import Command\n\nHAS_USER_SITE: bool\nSCHEME_KEYS: tuple[str, ...]\nINSTALL_SCHEMES: dict[str, dict[Any, Any]]\n\nclass install(Command):\n description: str\n user_options: Any\n boolean_options: Any\n negative_opt: Any\n prefix: str | None\n exec_prefix: Any\n home: str | None\n user: bool\n install_base: Any\n install_platbase: Any\n root: str | None\n install_purelib: Any\n install_platlib: Any\n install_headers: Any\n install_lib: str | None\n install_scripts: Any\n install_data: Any\n install_userbase: Any\n install_usersite: Any\n compile: Any\n optimize: Any\n extra_path: Any\n install_path_file: int\n force: int\n skip_build: int\n warn_dir: int\n build_base: Any\n build_lib: Any\n record: Any\n def initialize_options(self) -> None: ...\n config_vars: Any\n install_libbase: Any\n def finalize_options(self) -> None: ...\n def dump_dirs(self, msg) -> None: ...\n def finalize_unix(self) -> None: ...\n def finalize_other(self) -> None: ...\n def select_scheme(self, name) -> None: ...\n def expand_basedirs(self) -> None: ...\n def expand_dirs(self) -> None: ...\n def convert_paths(self, *names) -> None: ...\n path_file: Any\n extra_dirs: Any\n def handle_extra_path(self) -> None: ...\n def change_roots(self, *names) -> None: ...\n def create_home_path(self) -> None: ...\n def run(self) -> None: ...\n def create_path_file(self) -> None: ...\n def get_outputs(self): ...\n def get_inputs(self): ...\n def has_lib(self): ...\n def has_headers(self): ...\n def has_scripts(self): ...\n def has_data(self): ...\n sub_commands: Any\n", + "/typeshed/stdlib/distutils/command/install_data.pyi": "from typing import Any\n\nfrom ..cmd import Command\n\nclass install_data(Command):\n description: str\n user_options: Any\n boolean_options: Any\n install_dir: Any\n outfiles: Any\n root: Any\n force: int\n data_files: Any\n warn_dir: int\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n def get_inputs(self): ...\n def get_outputs(self): ...\n", + "/typeshed/stdlib/distutils/command/install_egg_info.pyi": "from typing import Any, ClassVar\n\nfrom ..cmd import Command\n\nclass install_egg_info(Command):\n description: ClassVar[str]\n user_options: ClassVar[list[tuple[str, str | None, str]]]\n install_dir: Any\n def initialize_options(self) -> None: ...\n target: Any\n outputs: Any\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n def get_outputs(self) -> list[str]: ...\n\ndef safe_name(name): ...\ndef safe_version(version): ...\ndef to_filename(name): ...\n", + "/typeshed/stdlib/distutils/command/install_headers.pyi": "from typing import Any\n\nfrom ..cmd import Command\n\nclass install_headers(Command):\n description: str\n user_options: Any\n boolean_options: Any\n install_dir: Any\n force: int\n outfiles: Any\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n def get_inputs(self): ...\n def get_outputs(self): ...\n", + "/typeshed/stdlib/distutils/command/install_lib.pyi": "from typing import Any\n\nfrom ..cmd import Command\n\nPYTHON_SOURCE_EXTENSION: str\n\nclass install_lib(Command):\n description: str\n user_options: Any\n boolean_options: Any\n negative_opt: Any\n install_dir: Any\n build_dir: Any\n force: int\n compile: Any\n optimize: Any\n skip_build: Any\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n def build(self) -> None: ...\n def install(self): ...\n def byte_compile(self, files) -> None: ...\n def get_outputs(self): ...\n def get_inputs(self): ...\n", + "/typeshed/stdlib/distutils/command/install_scripts.pyi": "from typing import Any\n\nfrom ..cmd import Command\n\nclass install_scripts(Command):\n description: str\n user_options: Any\n boolean_options: Any\n install_dir: Any\n force: int\n build_dir: Any\n skip_build: Any\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n outfiles: Any\n def run(self) -> None: ...\n def get_inputs(self): ...\n def get_outputs(self): ...\n", + "/typeshed/stdlib/distutils/command/register.pyi": "from typing import Any\n\nfrom ..config import PyPIRCCommand\n\nclass register(PyPIRCCommand):\n description: str\n sub_commands: Any\n list_classifiers: int\n strict: int\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n def check_metadata(self) -> None: ...\n def classifiers(self) -> None: ...\n def verify_metadata(self) -> None: ...\n def send_metadata(self) -> None: ...\n def build_post_data(self, action): ...\n def post_to_server(self, data, auth: Any | None = None): ...\n", + "/typeshed/stdlib/distutils/command/sdist.pyi": "from typing import Any\n\nfrom ..cmd import Command\n\ndef show_formats() -> None: ...\n\nclass sdist(Command):\n description: str\n def checking_metadata(self): ...\n user_options: Any\n boolean_options: Any\n help_options: Any\n negative_opt: Any\n sub_commands: Any\n READMES: Any\n template: Any\n manifest: Any\n use_defaults: int\n prune: int\n manifest_only: int\n force_manifest: int\n formats: Any\n keep_temp: int\n dist_dir: Any\n archive_files: Any\n metadata_check: int\n owner: Any\n group: Any\n def initialize_options(self) -> None: ...\n def finalize_options(self) -> None: ...\n filelist: Any\n def run(self) -> None: ...\n def check_metadata(self) -> None: ...\n def get_file_list(self) -> None: ...\n def add_defaults(self) -> None: ...\n def read_template(self) -> None: ...\n def prune_file_list(self) -> None: ...\n def write_manifest(self) -> None: ...\n def read_manifest(self) -> None: ...\n def make_release_tree(self, base_dir, files) -> None: ...\n def make_distribution(self) -> None: ...\n def get_archive_files(self): ...\n", + "/typeshed/stdlib/distutils/command/upload.pyi": "from typing import Any, ClassVar\n\nfrom ..config import PyPIRCCommand\n\nclass upload(PyPIRCCommand):\n description: ClassVar[str]\n username: str\n password: str\n show_response: int\n sign: bool\n identity: Any\n def initialize_options(self) -> None: ...\n repository: Any\n realm: Any\n def finalize_options(self) -> None: ...\n def run(self) -> None: ...\n def upload_file(self, command: str, pyversion: str, filename: str) -> None: ...\n", + "/typeshed/stdlib/email/__init__.pyi": "from collections.abc import Callable\nfrom email.message import Message\nfrom email.policy import Policy\nfrom typing import IO\nfrom typing_extensions import TypeAlias\n\n# Definitions imported by multiple submodules in typeshed\n_ParamType: TypeAlias = str | tuple[str | None, str | None, str] # noqa: Y047\n_ParamsType: TypeAlias = str | None | tuple[str, str | None, str] # noqa: Y047\n\ndef message_from_string(s: str, _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ...\ndef message_from_bytes(s: bytes | bytearray, _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ...\ndef message_from_file(fp: IO[str], _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ...\ndef message_from_binary_file(fp: IO[bytes], _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ...\n\n# Names in __all__ with no definition:\n# base64mime\n# charset\n# encoders\n# errors\n# feedparser\n# generator\n# header\n# iterators\n# message\n# mime\n# parser\n# quoprimime\n# utils\n", + "/typeshed/stdlib/email/_header_value_parser.pyi": "import sys\nfrom collections.abc import Iterable, Iterator\nfrom email.errors import HeaderParseError, MessageDefect\nfrom email.policy import Policy\nfrom re import Pattern\nfrom typing import Any\nfrom typing_extensions import Final, Self\n\nWSP: Final[set[str]]\nCFWS_LEADER: Final[set[str]]\nSPECIALS: Final[set[str]]\nATOM_ENDS: Final[set[str]]\nDOT_ATOM_ENDS: Final[set[str]]\nPHRASE_ENDS: Final[set[str]]\nTSPECIALS: Final[set[str]]\nTOKEN_ENDS: Final[set[str]]\nASPECIALS: Final[set[str]]\nATTRIBUTE_ENDS: Final[set[str]]\nEXTENDED_ATTRIBUTE_ENDS: Final[set[str]]\n\ndef quote_string(value: Any) -> str: ...\n\nrfc2047_matcher: Pattern[str]\n\nclass TokenList(list[TokenList | Terminal]):\n token_type: str | None\n syntactic_break: bool\n ew_combine_allowed: bool\n defects: list[MessageDefect]\n def __init__(self, *args: Any, **kw: Any) -> None: ...\n @property\n def value(self) -> str: ...\n @property\n def all_defects(self) -> list[MessageDefect]: ...\n def startswith_fws(self) -> bool: ...\n @property\n def as_ew_allowed(self) -> bool: ...\n @property\n def comments(self) -> list[str]: ...\n def fold(self, *, policy: Policy) -> str: ...\n def pprint(self, indent: str = \"\") -> None: ...\n def ppstr(self, indent: str = \"\") -> str: ...\n\nclass WhiteSpaceTokenList(TokenList): ...\n\nclass UnstructuredTokenList(TokenList):\n token_type: str\n\nclass Phrase(TokenList):\n token_type: str\n\nclass Word(TokenList):\n token_type: str\n\nclass CFWSList(WhiteSpaceTokenList):\n token_type: str\n\nclass Atom(TokenList):\n token_type: str\n\nclass Token(TokenList):\n token_type: str\n encode_as_ew: bool\n\nclass EncodedWord(TokenList):\n token_type: str\n cte: str | None\n charset: str | None\n lang: str | None\n\nclass QuotedString(TokenList):\n token_type: str\n @property\n def content(self) -> str: ...\n @property\n def quoted_value(self) -> str: ...\n @property\n def stripped_value(self) -> str: ...\n\nclass BareQuotedString(QuotedString):\n token_type: str\n\nclass Comment(WhiteSpaceTokenList):\n token_type: str\n def quote(self, value: Any) -> str: ...\n @property\n def content(self) -> str: ...\n\nclass AddressList(TokenList):\n token_type: str\n @property\n def addresses(self) -> list[Address]: ...\n @property\n def mailboxes(self) -> list[Mailbox]: ...\n @property\n def all_mailboxes(self) -> list[Mailbox]: ...\n\nclass Address(TokenList):\n token_type: str\n @property\n def display_name(self) -> str: ...\n @property\n def mailboxes(self) -> list[Mailbox]: ...\n @property\n def all_mailboxes(self) -> list[Mailbox]: ...\n\nclass MailboxList(TokenList):\n token_type: str\n @property\n def mailboxes(self) -> list[Mailbox]: ...\n @property\n def all_mailboxes(self) -> list[Mailbox]: ...\n\nclass GroupList(TokenList):\n token_type: str\n @property\n def mailboxes(self) -> list[Mailbox]: ...\n @property\n def all_mailboxes(self) -> list[Mailbox]: ...\n\nclass Group(TokenList):\n token_type: str\n @property\n def mailboxes(self) -> list[Mailbox]: ...\n @property\n def all_mailboxes(self) -> list[Mailbox]: ...\n @property\n def display_name(self) -> str: ...\n\nclass NameAddr(TokenList):\n token_type: str\n @property\n def display_name(self) -> str: ...\n @property\n def local_part(self) -> str: ...\n @property\n def domain(self) -> str: ...\n @property\n def route(self) -> list[Domain] | None: ...\n @property\n def addr_spec(self) -> str: ...\n\nclass AngleAddr(TokenList):\n token_type: str\n @property\n def local_part(self) -> str: ...\n @property\n def domain(self) -> str: ...\n @property\n def route(self) -> list[Domain] | None: ...\n @property\n def addr_spec(self) -> str: ...\n\nclass ObsRoute(TokenList):\n token_type: str\n @property\n def domains(self) -> list[Domain]: ...\n\nclass Mailbox(TokenList):\n token_type: str\n @property\n def display_name(self) -> str: ...\n @property\n def local_part(self) -> str: ...\n @property\n def domain(self) -> str: ...\n @property\n def route(self) -> list[str]: ...\n @property\n def addr_spec(self) -> str: ...\n\nclass InvalidMailbox(TokenList):\n token_type: str\n @property\n def display_name(self) -> None: ...\n @property\n def local_part(self) -> None: ...\n @property\n def domain(self) -> None: ...\n @property\n def route(self) -> None: ...\n @property\n def addr_spec(self) -> None: ...\n\nclass Domain(TokenList):\n token_type: str\n as_ew_allowed: bool\n @property\n def domain(self) -> str: ...\n\nclass DotAtom(TokenList):\n token_type: str\n\nclass DotAtomText(TokenList):\n token_type: str\n as_ew_allowed: bool\n\nif sys.version_info >= (3, 8):\n class NoFoldLiteral(TokenList):\n token_type: str\n as_ew_allowed: bool\n\nclass AddrSpec(TokenList):\n token_type: str\n as_ew_allowed: bool\n @property\n def local_part(self) -> str: ...\n @property\n def domain(self) -> str: ...\n @property\n def addr_spec(self) -> str: ...\n\nclass ObsLocalPart(TokenList):\n token_type: str\n as_ew_allowed: bool\n\nclass DisplayName(Phrase):\n token_type: str\n @property\n def display_name(self) -> str: ...\n\nclass LocalPart(TokenList):\n token_type: str\n as_ew_allowed: bool\n @property\n def local_part(self) -> str: ...\n\nclass DomainLiteral(TokenList):\n token_type: str\n as_ew_allowed: bool\n @property\n def domain(self) -> str: ...\n @property\n def ip(self) -> str: ...\n\nclass MIMEVersion(TokenList):\n token_type: str\n major: int | None\n minor: int | None\n\nclass Parameter(TokenList):\n token_type: str\n sectioned: bool\n extended: bool\n charset: str\n @property\n def section_number(self) -> int: ...\n @property\n def param_value(self) -> str: ...\n\nclass InvalidParameter(Parameter):\n token_type: str\n\nclass Attribute(TokenList):\n token_type: str\n @property\n def stripped_value(self) -> str: ...\n\nclass Section(TokenList):\n token_type: str\n number: int | None\n\nclass Value(TokenList):\n token_type: str\n @property\n def stripped_value(self) -> str: ...\n\nclass MimeParameters(TokenList):\n token_type: str\n syntactic_break: bool\n @property\n def params(self) -> Iterator[tuple[str, str]]: ...\n\nclass ParameterizedHeaderValue(TokenList):\n syntactic_break: bool\n @property\n def params(self) -> Iterable[tuple[str, str]]: ...\n\nclass ContentType(ParameterizedHeaderValue):\n token_type: str\n as_ew_allowed: bool\n maintype: str\n subtype: str\n\nclass ContentDisposition(ParameterizedHeaderValue):\n token_type: str\n as_ew_allowed: bool\n content_disposition: Any\n\nclass ContentTransferEncoding(TokenList):\n token_type: str\n as_ew_allowed: bool\n cte: str\n\nclass HeaderLabel(TokenList):\n token_type: str\n as_ew_allowed: bool\n\nif sys.version_info >= (3, 8):\n class MsgID(TokenList):\n token_type: str\n as_ew_allowed: bool\n def fold(self, policy: Policy) -> str: ...\n\n class MessageID(MsgID):\n token_type: str\n\n class InvalidMessageID(MessageID):\n token_type: str\n\nclass Header(TokenList):\n token_type: str\n\nclass Terminal(str):\n as_ew_allowed: bool\n ew_combine_allowed: bool\n syntactic_break: bool\n token_type: str\n defects: list[MessageDefect]\n def __new__(cls, value: str, token_type: str) -> Self: ...\n def pprint(self) -> None: ...\n @property\n def all_defects(self) -> list[MessageDefect]: ...\n def pop_trailing_ws(self) -> None: ...\n @property\n def comments(self) -> list[str]: ...\n def __getnewargs__(self) -> tuple[str, str]: ... # type: ignore[override]\n\nclass WhiteSpaceTerminal(Terminal):\n @property\n def value(self) -> str: ...\n def startswith_fws(self) -> bool: ...\n\nclass ValueTerminal(Terminal):\n @property\n def value(self) -> ValueTerminal: ...\n def startswith_fws(self) -> bool: ...\n\nclass EWWhiteSpaceTerminal(WhiteSpaceTerminal): ...\nclass _InvalidEwError(HeaderParseError): ...\n\nDOT: Final[ValueTerminal]\nListSeparator: Final[ValueTerminal]\nRouteComponentMarker: Final[ValueTerminal]\n\ndef get_fws(value: str) -> tuple[WhiteSpaceTerminal, str]: ...\ndef get_encoded_word(value: str) -> tuple[EncodedWord, str]: ...\ndef get_unstructured(value: str) -> UnstructuredTokenList: ...\ndef get_qp_ctext(value: str) -> tuple[WhiteSpaceTerminal, str]: ...\ndef get_qcontent(value: str) -> tuple[ValueTerminal, str]: ...\ndef get_atext(value: str) -> tuple[ValueTerminal, str]: ...\ndef get_bare_quoted_string(value: str) -> tuple[BareQuotedString, str]: ...\ndef get_comment(value: str) -> tuple[Comment, str]: ...\ndef get_cfws(value: str) -> tuple[CFWSList, str]: ...\ndef get_quoted_string(value: str) -> tuple[QuotedString, str]: ...\ndef get_atom(value: str) -> tuple[Atom, str]: ...\ndef get_dot_atom_text(value: str) -> tuple[DotAtomText, str]: ...\ndef get_dot_atom(value: str) -> tuple[DotAtom, str]: ...\ndef get_word(value: str) -> tuple[Any, str]: ...\ndef get_phrase(value: str) -> tuple[Phrase, str]: ...\ndef get_local_part(value: str) -> tuple[LocalPart, str]: ...\ndef get_obs_local_part(value: str) -> tuple[ObsLocalPart, str]: ...\ndef get_dtext(value: str) -> tuple[ValueTerminal, str]: ...\ndef get_domain_literal(value: str) -> tuple[DomainLiteral, str]: ...\ndef get_domain(value: str) -> tuple[Domain, str]: ...\ndef get_addr_spec(value: str) -> tuple[AddrSpec, str]: ...\ndef get_obs_route(value: str) -> tuple[ObsRoute, str]: ...\ndef get_angle_addr(value: str) -> tuple[AngleAddr, str]: ...\ndef get_display_name(value: str) -> tuple[DisplayName, str]: ...\ndef get_name_addr(value: str) -> tuple[NameAddr, str]: ...\ndef get_mailbox(value: str) -> tuple[Mailbox, str]: ...\ndef get_invalid_mailbox(value: str, endchars: str) -> tuple[InvalidMailbox, str]: ...\ndef get_mailbox_list(value: str) -> tuple[MailboxList, str]: ...\ndef get_group_list(value: str) -> tuple[GroupList, str]: ...\ndef get_group(value: str) -> tuple[Group, str]: ...\ndef get_address(value: str) -> tuple[Address, str]: ...\ndef get_address_list(value: str) -> tuple[AddressList, str]: ...\n\nif sys.version_info >= (3, 8):\n def get_no_fold_literal(value: str) -> tuple[NoFoldLiteral, str]: ...\n def get_msg_id(value: str) -> tuple[MsgID, str]: ...\n def parse_message_id(value: str) -> MessageID: ...\n\ndef parse_mime_version(value: str) -> MIMEVersion: ...\ndef get_invalid_parameter(value: str) -> tuple[InvalidParameter, str]: ...\ndef get_ttext(value: str) -> tuple[ValueTerminal, str]: ...\ndef get_token(value: str) -> tuple[Token, str]: ...\ndef get_attrtext(value: str) -> tuple[ValueTerminal, str]: ...\ndef get_attribute(value: str) -> tuple[Attribute, str]: ...\ndef get_extended_attrtext(value: str) -> tuple[ValueTerminal, str]: ...\ndef get_extended_attribute(value: str) -> tuple[Attribute, str]: ...\ndef get_section(value: str) -> tuple[Section, str]: ...\ndef get_value(value: str) -> tuple[Value, str]: ...\ndef get_parameter(value: str) -> tuple[Parameter, str]: ...\ndef parse_mime_parameters(value: str) -> MimeParameters: ...\ndef parse_content_type_header(value: str) -> ContentType: ...\ndef parse_content_disposition_header(value: str) -> ContentDisposition: ...\ndef parse_content_transfer_encoding_header(value: str) -> ContentTransferEncoding: ...\n", + "/typeshed/stdlib/email/base64mime.pyi": "__all__ = [\"body_decode\", \"body_encode\", \"decode\", \"decodestring\", \"header_encode\", \"header_length\"]\n\nfrom _typeshed import ReadableBuffer\n\ndef header_length(bytearray: str | bytes | bytearray) -> int: ...\ndef header_encode(header_bytes: str | ReadableBuffer, charset: str = \"iso-8859-1\") -> str: ...\n\n# First argument should be a buffer that supports slicing and len().\ndef body_encode(s: bytes | bytearray, maxlinelen: int = 76, eol: str = \"\\n\") -> str: ...\ndef decode(string: str | ReadableBuffer) -> bytes: ...\n\nbody_decode = decode\ndecodestring = decode\n", + "/typeshed/stdlib/email/charset.pyi": "from collections.abc import Callable, Iterator\nfrom email.message import Message\nfrom typing import overload\n\n__all__ = [\"Charset\", \"add_alias\", \"add_charset\", \"add_codec\"]\n\nQP: int # undocumented\nBASE64: int # undocumented\nSHORTEST: int # undocumented\n\nclass Charset:\n input_charset: str\n header_encoding: int\n body_encoding: int\n output_charset: str | None\n input_codec: str | None\n output_codec: str | None\n def __init__(self, input_charset: str = \"us-ascii\") -> None: ...\n def get_body_encoding(self) -> str | Callable[[Message], None]: ...\n def get_output_charset(self) -> str | None: ...\n def header_encode(self, string: str) -> str: ...\n def header_encode_lines(self, string: str, maxlengths: Iterator[int]) -> list[str | None]: ...\n @overload\n def body_encode(self, string: None) -> None: ...\n @overload\n def body_encode(self, string: str | bytes) -> str: ...\n def __eq__(self, other: object) -> bool: ...\n def __ne__(self, __value: object) -> bool: ...\n\ndef add_charset(\n charset: str, header_enc: int | None = None, body_enc: int | None = None, output_charset: str | None = None\n) -> None: ...\ndef add_alias(alias: str, canonical: str) -> None: ...\ndef add_codec(charset: str, codecname: str) -> None: ...\n", + "/typeshed/stdlib/email/contentmanager.pyi": "from collections.abc import Callable\nfrom email.message import Message\nfrom typing import Any\n\nclass ContentManager:\n def get_content(self, msg: Message, *args: Any, **kw: Any) -> Any: ...\n def set_content(self, msg: Message, obj: Any, *args: Any, **kw: Any) -> Any: ...\n def add_get_handler(self, key: str, handler: Callable[..., Any]) -> None: ...\n def add_set_handler(self, typekey: type, handler: Callable[..., Any]) -> None: ...\n\nraw_data_manager: ContentManager\n", + "/typeshed/stdlib/email/encoders.pyi": "from email.message import Message\n\n__all__ = [\"encode_7or8bit\", \"encode_base64\", \"encode_noop\", \"encode_quopri\"]\n\ndef encode_base64(msg: Message) -> None: ...\ndef encode_quopri(msg: Message) -> None: ...\ndef encode_7or8bit(msg: Message) -> None: ...\ndef encode_noop(msg: Message) -> None: ...\n", + "/typeshed/stdlib/email/errors.pyi": "import sys\n\nclass MessageError(Exception): ...\nclass MessageParseError(MessageError): ...\nclass HeaderParseError(MessageParseError): ...\nclass BoundaryError(MessageParseError): ...\nclass MultipartConversionError(MessageError, TypeError): ...\nclass CharsetError(MessageError): ...\n\nclass MessageDefect(ValueError):\n def __init__(self, line: str | None = None) -> None: ...\n\nclass NoBoundaryInMultipartDefect(MessageDefect): ...\nclass StartBoundaryNotFoundDefect(MessageDefect): ...\nclass FirstHeaderLineIsContinuationDefect(MessageDefect): ...\nclass MisplacedEnvelopeHeaderDefect(MessageDefect): ...\nclass MultipartInvariantViolationDefect(MessageDefect): ...\nclass InvalidMultipartContentTransferEncodingDefect(MessageDefect): ...\nclass UndecodableBytesDefect(MessageDefect): ...\nclass InvalidBase64PaddingDefect(MessageDefect): ...\nclass InvalidBase64CharactersDefect(MessageDefect): ...\nclass InvalidBase64LengthDefect(MessageDefect): ...\nclass CloseBoundaryNotFoundDefect(MessageDefect): ...\nclass MissingHeaderBodySeparatorDefect(MessageDefect): ...\n\nMalformedHeaderDefect = MissingHeaderBodySeparatorDefect\n\nclass HeaderDefect(MessageDefect): ...\nclass InvalidHeaderDefect(HeaderDefect): ...\nclass HeaderMissingRequiredValue(HeaderDefect): ...\n\nclass NonPrintableDefect(HeaderDefect):\n def __init__(self, non_printables: str | None) -> None: ...\n\nclass ObsoleteHeaderDefect(HeaderDefect): ...\nclass NonASCIILocalPartDefect(HeaderDefect): ...\n\nif sys.version_info >= (3, 10):\n class InvalidDateDefect(HeaderDefect): ...\n", + "/typeshed/stdlib/email/feedparser.pyi": "from collections.abc import Callable\nfrom email.message import Message\nfrom email.policy import Policy\nfrom typing import Generic, TypeVar, overload\n\n__all__ = [\"FeedParser\", \"BytesFeedParser\"]\n\n_MessageT = TypeVar(\"_MessageT\", bound=Message)\n\nclass FeedParser(Generic[_MessageT]):\n @overload\n def __init__(self: FeedParser[Message], _factory: None = None, *, policy: Policy = ...) -> None: ...\n @overload\n def __init__(self, _factory: Callable[[], _MessageT], *, policy: Policy = ...) -> None: ...\n def feed(self, data: str) -> None: ...\n def close(self) -> _MessageT: ...\n\nclass BytesFeedParser(Generic[_MessageT]):\n @overload\n def __init__(self: BytesFeedParser[Message], _factory: None = None, *, policy: Policy = ...) -> None: ...\n @overload\n def __init__(self, _factory: Callable[[], _MessageT], *, policy: Policy = ...) -> None: ...\n def feed(self, data: bytes | bytearray) -> None: ...\n def close(self) -> _MessageT: ...\n", + "/typeshed/stdlib/email/generator.pyi": "from _typeshed import SupportsWrite\nfrom email.message import Message\nfrom email.policy import Policy\nfrom typing_extensions import Self\n\n__all__ = [\"Generator\", \"DecodedGenerator\", \"BytesGenerator\"]\n\nclass Generator:\n def clone(self, fp: SupportsWrite[str]) -> Self: ...\n def write(self, s: str) -> None: ...\n def __init__(\n self,\n outfp: SupportsWrite[str],\n mangle_from_: bool | None = None,\n maxheaderlen: int | None = None,\n *,\n policy: Policy | None = None,\n ) -> None: ...\n def flatten(self, msg: Message, unixfrom: bool = False, linesep: str | None = None) -> None: ...\n\nclass BytesGenerator(Generator):\n def __init__(\n self,\n outfp: SupportsWrite[bytes],\n mangle_from_: bool | None = None,\n maxheaderlen: int | None = None,\n *,\n policy: Policy | None = None,\n ) -> None: ...\n\nclass DecodedGenerator(Generator):\n def __init__(\n self,\n outfp: SupportsWrite[str],\n mangle_from_: bool | None = None,\n maxheaderlen: int | None = None,\n fmt: str | None = None,\n *,\n policy: Policy | None = None,\n ) -> None: ...\n", + "/typeshed/stdlib/email/header.pyi": "from collections.abc import Iterable\nfrom email.charset import Charset\nfrom typing import Any\n\n__all__ = [\"Header\", \"decode_header\", \"make_header\"]\n\nclass Header:\n def __init__(\n self,\n s: bytes | bytearray | str | None = None,\n charset: Charset | str | None = None,\n maxlinelen: int | None = None,\n header_name: str | None = None,\n continuation_ws: str = \" \",\n errors: str = \"strict\",\n ) -> None: ...\n def append(self, s: bytes | bytearray | str, charset: Charset | str | None = None, errors: str = \"strict\") -> None: ...\n def encode(self, splitchars: str = \";, \\t\", maxlinelen: int | None = None, linesep: str = \"\\n\") -> str: ...\n def __eq__(self, other: object) -> bool: ...\n def __ne__(self, __value: object) -> bool: ...\n\n# decode_header() either returns list[tuple[str, None]] if the header\n# contains no encoded parts, or list[tuple[bytes, str | None]] if the header\n# contains at least one encoded part.\ndef decode_header(header: Header | str) -> list[tuple[Any, Any | None]]: ...\ndef make_header(\n decoded_seq: Iterable[tuple[bytes | bytearray | str, str | None]],\n maxlinelen: int | None = None,\n header_name: str | None = None,\n continuation_ws: str = \" \",\n) -> Header: ...\n", + "/typeshed/stdlib/email/headerregistry.pyi": "import sys\nimport types\nfrom collections.abc import Iterable, Mapping\nfrom datetime import datetime as _datetime\nfrom email._header_value_parser import (\n AddressList,\n ContentDisposition,\n ContentTransferEncoding,\n ContentType,\n MIMEVersion,\n TokenList,\n UnstructuredTokenList,\n)\nfrom email.errors import MessageDefect\nfrom email.policy import Policy\nfrom typing import Any, ClassVar, Protocol\nfrom typing_extensions import Literal, Self\n\nclass BaseHeader(str):\n # max_count is actually more of an abstract ClassVar (not defined on the base class, but expected to be defined in subclasses)\n max_count: ClassVar[Literal[1] | None]\n @property\n def name(self) -> str: ...\n @property\n def defects(self) -> tuple[MessageDefect, ...]: ...\n def __new__(cls, name: str, value: Any) -> Self: ...\n def init(self, name: str, *, parse_tree: TokenList, defects: Iterable[MessageDefect]) -> None: ...\n def fold(self, *, policy: Policy) -> str: ...\n\nclass UnstructuredHeader:\n max_count: ClassVar[Literal[1] | None]\n @staticmethod\n def value_parser(value: str) -> UnstructuredTokenList: ...\n @classmethod\n def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...\n\nclass UniqueUnstructuredHeader(UnstructuredHeader):\n max_count: ClassVar[Literal[1]]\n\nclass DateHeader:\n max_count: ClassVar[Literal[1] | None]\n def init(self, name: str, *, parse_tree: TokenList, defects: Iterable[MessageDefect], datetime: _datetime) -> None: ...\n @property\n def datetime(self) -> _datetime: ...\n @staticmethod\n def value_parser(value: str) -> UnstructuredTokenList: ...\n @classmethod\n def parse(cls, value: str | _datetime, kwds: dict[str, Any]) -> None: ...\n\nclass UniqueDateHeader(DateHeader):\n max_count: ClassVar[Literal[1]]\n\nclass AddressHeader:\n max_count: ClassVar[Literal[1] | None]\n def init(self, name: str, *, parse_tree: TokenList, defects: Iterable[MessageDefect], groups: Iterable[Group]) -> None: ...\n @property\n def groups(self) -> tuple[Group, ...]: ...\n @property\n def addresses(self) -> tuple[Address, ...]: ...\n @staticmethod\n def value_parser(value: str) -> AddressList: ...\n @classmethod\n def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...\n\nclass UniqueAddressHeader(AddressHeader):\n max_count: ClassVar[Literal[1]]\n\nclass SingleAddressHeader(AddressHeader):\n @property\n def address(self) -> Address: ...\n\nclass UniqueSingleAddressHeader(SingleAddressHeader):\n max_count: ClassVar[Literal[1]]\n\nclass MIMEVersionHeader:\n max_count: ClassVar[Literal[1]]\n def init(\n self,\n name: str,\n *,\n parse_tree: TokenList,\n defects: Iterable[MessageDefect],\n version: str | None,\n major: int | None,\n minor: int | None,\n ) -> None: ...\n @property\n def version(self) -> str | None: ...\n @property\n def major(self) -> int | None: ...\n @property\n def minor(self) -> int | None: ...\n @staticmethod\n def value_parser(value: str) -> MIMEVersion: ...\n @classmethod\n def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...\n\nclass ParameterizedMIMEHeader:\n max_count: ClassVar[Literal[1]]\n def init(self, name: str, *, parse_tree: TokenList, defects: Iterable[MessageDefect], params: Mapping[str, Any]) -> None: ...\n @property\n def params(self) -> types.MappingProxyType[str, Any]: ...\n @classmethod\n def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...\n\nclass ContentTypeHeader(ParameterizedMIMEHeader):\n @property\n def content_type(self) -> str: ...\n @property\n def maintype(self) -> str: ...\n @property\n def subtype(self) -> str: ...\n @staticmethod\n def value_parser(value: str) -> ContentType: ...\n\nclass ContentDispositionHeader(ParameterizedMIMEHeader):\n # init is redefined but has the same signature as parent class, so is omitted from the stub\n @property\n def content_disposition(self) -> str | None: ...\n @staticmethod\n def value_parser(value: str) -> ContentDisposition: ...\n\nclass ContentTransferEncodingHeader:\n max_count: ClassVar[Literal[1]]\n def init(self, name: str, *, parse_tree: TokenList, defects: Iterable[MessageDefect]) -> None: ...\n @property\n def cte(self) -> str: ...\n @classmethod\n def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...\n @staticmethod\n def value_parser(value: str) -> ContentTransferEncoding: ...\n\nif sys.version_info >= (3, 8):\n from email._header_value_parser import MessageID\n\n class MessageIDHeader:\n max_count: ClassVar[Literal[1]]\n @classmethod\n def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...\n @staticmethod\n def value_parser(value: str) -> MessageID: ...\n\nclass _HeaderParser(Protocol):\n max_count: ClassVar[Literal[1] | None]\n @staticmethod\n def value_parser(value: str) -> TokenList: ...\n @classmethod\n def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...\n\nclass HeaderRegistry:\n registry: dict[str, type[_HeaderParser]]\n base_class: type[BaseHeader]\n default_class: type[_HeaderParser]\n def __init__(\n self, base_class: type[BaseHeader] = ..., default_class: type[_HeaderParser] = ..., use_default_map: bool = True\n ) -> None: ...\n def map_to_type(self, name: str, cls: type[BaseHeader]) -> None: ...\n def __getitem__(self, name: str) -> type[BaseHeader]: ...\n def __call__(self, name: str, value: Any) -> BaseHeader: ...\n\nclass Address:\n @property\n def display_name(self) -> str: ...\n @property\n def username(self) -> str: ...\n @property\n def domain(self) -> str: ...\n @property\n def addr_spec(self) -> str: ...\n def __init__(\n self, display_name: str = \"\", username: str | None = \"\", domain: str | None = \"\", addr_spec: str | None = None\n ) -> None: ...\n def __eq__(self, other: object) -> bool: ...\n\nclass Group:\n @property\n def display_name(self) -> str | None: ...\n @property\n def addresses(self) -> tuple[Address, ...]: ...\n def __init__(self, display_name: str | None = None, addresses: Iterable[Address] | None = None) -> None: ...\n def __eq__(self, other: object) -> bool: ...\n", + "/typeshed/stdlib/email/iterators.pyi": "from _typeshed import SupportsWrite\nfrom collections.abc import Iterator\nfrom email.message import Message\n\n__all__ = [\"body_line_iterator\", \"typed_subpart_iterator\", \"walk\"]\n\ndef body_line_iterator(msg: Message, decode: bool = False) -> Iterator[str]: ...\ndef typed_subpart_iterator(msg: Message, maintype: str = \"text\", subtype: str | None = None) -> Iterator[str]: ...\ndef walk(self: Message) -> Iterator[Message]: ...\n\n# We include the seemingly private function because it is documented in the stdlib documentation.\ndef _structure(msg: Message, fp: SupportsWrite[str] | None = None, level: int = 0, include_default: bool = False) -> None: ...\n", + "/typeshed/stdlib/email/message.pyi": "from collections.abc import Generator, Iterator, Sequence\nfrom email import _ParamsType, _ParamType\nfrom email.charset import Charset\nfrom email.contentmanager import ContentManager\nfrom email.errors import MessageDefect\nfrom email.policy import Policy\nfrom typing import Any, TypeVar, overload\nfrom typing_extensions import Self, TypeAlias\n\n__all__ = [\"Message\", \"EmailMessage\"]\n\n_T = TypeVar(\"_T\")\n\n_PayloadType: TypeAlias = list[Message] | str | bytes | bytearray\n_CharsetType: TypeAlias = Charset | str | None\n_HeaderType: TypeAlias = Any\n\nclass Message:\n policy: Policy # undocumented\n preamble: str | None\n epilogue: str | None\n defects: list[MessageDefect]\n def is_multipart(self) -> bool: ...\n def set_unixfrom(self, unixfrom: str) -> None: ...\n def get_unixfrom(self) -> str | None: ...\n def attach(self, payload: Message) -> None: ...\n def get_payload(self, i: int | None = None, decode: bool = False) -> Any: ... # returns _PayloadType | None\n def set_payload(self, payload: _PayloadType, charset: _CharsetType = None) -> None: ...\n def set_charset(self, charset: _CharsetType) -> None: ...\n def get_charset(self) -> _CharsetType: ...\n def __len__(self) -> int: ...\n def __contains__(self, name: str) -> bool: ...\n def __iter__(self) -> Iterator[str]: ...\n def __getitem__(self, name: str) -> _HeaderType: ...\n def __setitem__(self, name: str, val: _HeaderType) -> None: ...\n def __delitem__(self, name: str) -> None: ...\n def keys(self) -> list[str]: ...\n def values(self) -> list[_HeaderType]: ...\n def items(self) -> list[tuple[str, _HeaderType]]: ...\n @overload\n def get(self, name: str, failobj: None = None) -> _HeaderType | None: ...\n @overload\n def get(self, name: str, failobj: _T) -> _HeaderType | _T: ...\n @overload\n def get_all(self, name: str, failobj: None = None) -> list[_HeaderType] | None: ...\n @overload\n def get_all(self, name: str, failobj: _T) -> list[_HeaderType] | _T: ...\n def add_header(self, _name: str, _value: str, **_params: _ParamsType) -> None: ...\n def replace_header(self, _name: str, _value: _HeaderType) -> None: ...\n def get_content_type(self) -> str: ...\n def get_content_maintype(self) -> str: ...\n def get_content_subtype(self) -> str: ...\n def get_default_type(self) -> str: ...\n def set_default_type(self, ctype: str) -> None: ...\n @overload\n def get_params(\n self, failobj: None = None, header: str = \"content-type\", unquote: bool = True\n ) -> list[tuple[str, str]] | None: ...\n @overload\n def get_params(self, failobj: _T, header: str = \"content-type\", unquote: bool = True) -> list[tuple[str, str]] | _T: ...\n @overload\n def get_param(\n self, param: str, failobj: None = None, header: str = \"content-type\", unquote: bool = True\n ) -> _ParamType | None: ...\n @overload\n def get_param(self, param: str, failobj: _T, header: str = \"content-type\", unquote: bool = True) -> _ParamType | _T: ...\n def del_param(self, param: str, header: str = \"content-type\", requote: bool = True) -> None: ...\n def set_type(self, type: str, header: str = \"Content-Type\", requote: bool = True) -> None: ...\n @overload\n def get_filename(self, failobj: None = None) -> str | None: ...\n @overload\n def get_filename(self, failobj: _T) -> str | _T: ...\n @overload\n def get_boundary(self, failobj: None = None) -> str | None: ...\n @overload\n def get_boundary(self, failobj: _T) -> str | _T: ...\n def set_boundary(self, boundary: str) -> None: ...\n @overload\n def get_content_charset(self) -> str | None: ...\n @overload\n def get_content_charset(self, failobj: _T) -> str | _T: ...\n @overload\n def get_charsets(self, failobj: None = None) -> list[str | None]: ...\n @overload\n def get_charsets(self, failobj: _T) -> list[str | _T]: ...\n def walk(self) -> Generator[Self, None, None]: ...\n def get_content_disposition(self) -> str | None: ...\n def as_string(self, unixfrom: bool = False, maxheaderlen: int = 0, policy: Policy | None = None) -> str: ...\n def as_bytes(self, unixfrom: bool = False, policy: Policy | None = None) -> bytes: ...\n def __bytes__(self) -> bytes: ...\n def set_param(\n self,\n param: str,\n value: str,\n header: str = \"Content-Type\",\n requote: bool = True,\n charset: str | None = None,\n language: str = \"\",\n replace: bool = False,\n ) -> None: ...\n def __init__(self, policy: Policy = ...) -> None: ...\n # The following two methods are undocumented, but a source code comment states that they are public API\n def set_raw(self, name: str, value: _HeaderType) -> None: ...\n def raw_items(self) -> Iterator[tuple[str, _HeaderType]]: ...\n\nclass MIMEPart(Message):\n def __init__(self, policy: Policy | None = None) -> None: ...\n def get_body(self, preferencelist: Sequence[str] = (\"related\", \"html\", \"plain\")) -> Message | None: ...\n def iter_attachments(self) -> Iterator[Message]: ...\n def iter_parts(self) -> Iterator[Message]: ...\n def get_content(self, *args: Any, content_manager: ContentManager | None = None, **kw: Any) -> Any: ...\n def set_content(self, *args: Any, content_manager: ContentManager | None = None, **kw: Any) -> None: ...\n def make_related(self, boundary: str | None = None) -> None: ...\n def make_alternative(self, boundary: str | None = None) -> None: ...\n def make_mixed(self, boundary: str | None = None) -> None: ...\n def add_related(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> None: ...\n def add_alternative(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> None: ...\n def add_attachment(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> None: ...\n def clear(self) -> None: ...\n def clear_content(self) -> None: ...\n def as_string(self, unixfrom: bool = False, maxheaderlen: int | None = None, policy: Policy | None = None) -> str: ...\n def is_attachment(self) -> bool: ...\n\nclass EmailMessage(MIMEPart): ...\n", + "/typeshed/stdlib/email/parser.pyi": "from _typeshed import SupportsRead\nfrom collections.abc import Callable\nfrom email.feedparser import BytesFeedParser as BytesFeedParser, FeedParser as FeedParser\nfrom email.message import Message\nfrom email.policy import Policy\nfrom typing import IO\n\n__all__ = [\"Parser\", \"HeaderParser\", \"BytesParser\", \"BytesHeaderParser\", \"FeedParser\", \"BytesFeedParser\"]\n\nclass Parser:\n def __init__(self, _class: Callable[[], Message] | None = None, *, policy: Policy = ...) -> None: ...\n def parse(self, fp: SupportsRead[str], headersonly: bool = False) -> Message: ...\n def parsestr(self, text: str, headersonly: bool = False) -> Message: ...\n\nclass HeaderParser(Parser):\n def parse(self, fp: SupportsRead[str], headersonly: bool = True) -> Message: ...\n def parsestr(self, text: str, headersonly: bool = True) -> Message: ...\n\nclass BytesParser:\n def __init__(self, _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> None: ...\n def parse(self, fp: IO[bytes], headersonly: bool = False) -> Message: ...\n def parsebytes(self, text: bytes | bytearray, headersonly: bool = False) -> Message: ...\n\nclass BytesHeaderParser(BytesParser):\n def parse(self, fp: IO[bytes], headersonly: bool = True) -> Message: ...\n def parsebytes(self, text: bytes | bytearray, headersonly: bool = True) -> Message: ...\n", + "/typeshed/stdlib/email/policy.pyi": "from abc import ABCMeta, abstractmethod\nfrom collections.abc import Callable\nfrom email.contentmanager import ContentManager\nfrom email.errors import MessageDefect\nfrom email.header import Header\nfrom email.message import Message\nfrom typing import Any\nfrom typing_extensions import Self\n\n__all__ = [\"Compat32\", \"compat32\", \"Policy\", \"EmailPolicy\", \"default\", \"strict\", \"SMTP\", \"HTTP\"]\n\nclass Policy(metaclass=ABCMeta):\n max_line_length: int | None\n linesep: str\n cte_type: str\n raise_on_defect: bool\n mangle_from_: bool\n message_factory: Callable[[Policy], Message] | None\n def __init__(\n self,\n *,\n max_line_length: int | None = ...,\n linesep: str = ...,\n cte_type: str = ...,\n raise_on_defect: bool = ...,\n mangle_from_: bool = ...,\n message_factory: Callable[[Policy], Message] | None = ...,\n ) -> None: ...\n def clone(self, **kw: Any) -> Self: ...\n def handle_defect(self, obj: Message, defect: MessageDefect) -> None: ...\n def register_defect(self, obj: Message, defect: MessageDefect) -> None: ...\n def header_max_count(self, name: str) -> int | None: ...\n @abstractmethod\n def header_source_parse(self, sourcelines: list[str]) -> tuple[str, str]: ...\n @abstractmethod\n def header_store_parse(self, name: str, value: str) -> tuple[str, str]: ...\n @abstractmethod\n def header_fetch_parse(self, name: str, value: str) -> str: ...\n @abstractmethod\n def fold(self, name: str, value: str) -> str: ...\n @abstractmethod\n def fold_binary(self, name: str, value: str) -> bytes: ...\n\nclass Compat32(Policy):\n def header_source_parse(self, sourcelines: list[str]) -> tuple[str, str]: ...\n def header_store_parse(self, name: str, value: str) -> tuple[str, str]: ...\n def header_fetch_parse(self, name: str, value: str) -> str | Header: ... # type: ignore[override]\n def fold(self, name: str, value: str) -> str: ...\n def fold_binary(self, name: str, value: str) -> bytes: ...\n\ncompat32: Compat32\n\nclass EmailPolicy(Policy):\n utf8: bool\n refold_source: str\n header_factory: Callable[[str, Any], Any]\n content_manager: ContentManager\n def __init__(\n self,\n *,\n max_line_length: int | None = ...,\n linesep: str = ...,\n cte_type: str = ...,\n raise_on_defect: bool = ...,\n mangle_from_: bool = ...,\n message_factory: Callable[[Policy], Message] | None = ...,\n utf8: bool = ...,\n refold_source: str = ...,\n header_factory: Callable[[str, str], str] = ...,\n content_manager: ContentManager = ...,\n ) -> None: ...\n def header_source_parse(self, sourcelines: list[str]) -> tuple[str, str]: ...\n def header_store_parse(self, name: str, value: Any) -> tuple[str, Any]: ...\n def header_fetch_parse(self, name: str, value: str) -> Any: ...\n def fold(self, name: str, value: str) -> Any: ...\n def fold_binary(self, name: str, value: str) -> bytes: ...\n\ndefault: EmailPolicy\nSMTP: EmailPolicy\nSMTPUTF8: EmailPolicy\nHTTP: EmailPolicy\nstrict: EmailPolicy\n", + "/typeshed/stdlib/email/quoprimime.pyi": "from collections.abc import Iterable\n\n__all__ = [\n \"body_decode\",\n \"body_encode\",\n \"body_length\",\n \"decode\",\n \"decodestring\",\n \"header_decode\",\n \"header_encode\",\n \"header_length\",\n \"quote\",\n \"unquote\",\n]\n\ndef header_check(octet: int) -> bool: ...\ndef body_check(octet: int) -> bool: ...\ndef header_length(bytearray: Iterable[int]) -> int: ...\ndef body_length(bytearray: Iterable[int]) -> int: ...\ndef unquote(s: str | bytes | bytearray) -> str: ...\ndef quote(c: str | bytes | bytearray) -> str: ...\ndef header_encode(header_bytes: bytes | bytearray, charset: str = \"iso-8859-1\") -> str: ...\ndef body_encode(body: str, maxlinelen: int = 76, eol: str = \"\\n\") -> str: ...\ndef decode(encoded: str, eol: str = \"\\n\") -> str: ...\ndef header_decode(s: str) -> str: ...\n\nbody_decode = decode\ndecodestring = decode\n", + "/typeshed/stdlib/email/utils.pyi": "import datetime\nimport sys\nfrom _typeshed import Unused\nfrom email import _ParamType\nfrom email.charset import Charset\nfrom typing import overload\nfrom typing_extensions import TypeAlias\n\n__all__ = [\n \"collapse_rfc2231_value\",\n \"decode_params\",\n \"decode_rfc2231\",\n \"encode_rfc2231\",\n \"formataddr\",\n \"formatdate\",\n \"format_datetime\",\n \"getaddresses\",\n \"make_msgid\",\n \"mktime_tz\",\n \"parseaddr\",\n \"parsedate\",\n \"parsedate_tz\",\n \"parsedate_to_datetime\",\n \"unquote\",\n]\n\n_PDTZ: TypeAlias = tuple[int, int, int, int, int, int, int, int, int, int | None]\n\ndef quote(str: str) -> str: ...\ndef unquote(str: str) -> str: ...\ndef parseaddr(addr: str | None) -> tuple[str, str]: ...\ndef formataddr(pair: tuple[str | None, str], charset: str | Charset = \"utf-8\") -> str: ...\ndef getaddresses(fieldvalues: list[str]) -> list[tuple[str, str]]: ...\n@overload\ndef parsedate(data: None) -> None: ...\n@overload\ndef parsedate(data: str) -> tuple[int, int, int, int, int, int, int, int, int] | None: ...\n@overload\ndef parsedate_tz(data: None) -> None: ...\n@overload\ndef parsedate_tz(data: str) -> _PDTZ | None: ...\n\nif sys.version_info >= (3, 10):\n @overload\n def parsedate_to_datetime(data: None) -> None: ...\n @overload\n def parsedate_to_datetime(data: str) -> datetime.datetime: ...\n\nelse:\n def parsedate_to_datetime(data: str) -> datetime.datetime: ...\n\ndef mktime_tz(data: _PDTZ) -> int: ...\ndef formatdate(timeval: float | None = None, localtime: bool = False, usegmt: bool = False) -> str: ...\ndef format_datetime(dt: datetime.datetime, usegmt: bool = False) -> str: ...\n\nif sys.version_info >= (3, 12):\n def localtime(dt: datetime.datetime | None = None, isdst: Unused = None) -> datetime.datetime: ...\n\nelse:\n def localtime(dt: datetime.datetime | None = None, isdst: int = -1) -> datetime.datetime: ...\n\ndef make_msgid(idstring: str | None = None, domain: str | None = None) -> str: ...\ndef decode_rfc2231(s: str) -> tuple[str | None, str | None, str]: ... # May return list[str]. See issue #10431 for details.\ndef encode_rfc2231(s: str, charset: str | None = None, language: str | None = None) -> str: ...\ndef collapse_rfc2231_value(value: _ParamType, errors: str = \"replace\", fallback_charset: str = \"us-ascii\") -> str: ...\ndef decode_params(params: list[tuple[str, str]]) -> list[tuple[str, _ParamType]]: ...\n", + "/typeshed/stdlib/email/mime/__init__.pyi": "", + "/typeshed/stdlib/email/mime/application.pyi": "from collections.abc import Callable\nfrom email import _ParamsType\nfrom email.mime.nonmultipart import MIMENonMultipart\nfrom email.policy import Policy\n\n__all__ = [\"MIMEApplication\"]\n\nclass MIMEApplication(MIMENonMultipart):\n def __init__(\n self,\n _data: str | bytes | bytearray,\n _subtype: str = \"octet-stream\",\n _encoder: Callable[[MIMEApplication], object] = ...,\n *,\n policy: Policy | None = None,\n **_params: _ParamsType,\n ) -> None: ...\n", + "/typeshed/stdlib/email/mime/audio.pyi": "from collections.abc import Callable\nfrom email import _ParamsType\nfrom email.mime.nonmultipart import MIMENonMultipart\nfrom email.policy import Policy\n\n__all__ = [\"MIMEAudio\"]\n\nclass MIMEAudio(MIMENonMultipart):\n def __init__(\n self,\n _audiodata: str | bytes | bytearray,\n _subtype: str | None = None,\n _encoder: Callable[[MIMEAudio], object] = ...,\n *,\n policy: Policy | None = None,\n **_params: _ParamsType,\n ) -> None: ...\n", + "/typeshed/stdlib/email/mime/base.pyi": "import email.message\nfrom email import _ParamsType\nfrom email.policy import Policy\n\n__all__ = [\"MIMEBase\"]\n\nclass MIMEBase(email.message.Message):\n def __init__(self, _maintype: str, _subtype: str, *, policy: Policy | None = None, **_params: _ParamsType) -> None: ...\n", + "/typeshed/stdlib/email/mime/image.pyi": "from collections.abc import Callable\nfrom email import _ParamsType\nfrom email.mime.nonmultipart import MIMENonMultipart\nfrom email.policy import Policy\n\n__all__ = [\"MIMEImage\"]\n\nclass MIMEImage(MIMENonMultipart):\n def __init__(\n self,\n _imagedata: str | bytes | bytearray,\n _subtype: str | None = None,\n _encoder: Callable[[MIMEImage], object] = ...,\n *,\n policy: Policy | None = None,\n **_params: _ParamsType,\n ) -> None: ...\n", + "/typeshed/stdlib/email/mime/message.pyi": "from email.message import Message\nfrom email.mime.nonmultipart import MIMENonMultipart\nfrom email.policy import Policy\n\n__all__ = [\"MIMEMessage\"]\n\nclass MIMEMessage(MIMENonMultipart):\n def __init__(self, _msg: Message, _subtype: str = \"rfc822\", *, policy: Policy | None = None) -> None: ...\n", + "/typeshed/stdlib/email/mime/multipart.pyi": "from collections.abc import Sequence\nfrom email import _ParamsType\nfrom email.message import Message\nfrom email.mime.base import MIMEBase\nfrom email.policy import Policy\n\n__all__ = [\"MIMEMultipart\"]\n\nclass MIMEMultipart(MIMEBase):\n def __init__(\n self,\n _subtype: str = \"mixed\",\n boundary: str | None = None,\n _subparts: Sequence[Message] | None = None,\n *,\n policy: Policy | None = None,\n **_params: _ParamsType,\n ) -> None: ...\n", + "/typeshed/stdlib/email/mime/nonmultipart.pyi": "from email.mime.base import MIMEBase\n\n__all__ = [\"MIMENonMultipart\"]\n\nclass MIMENonMultipart(MIMEBase): ...\n", + "/typeshed/stdlib/email/mime/text.pyi": "from email.mime.nonmultipart import MIMENonMultipart\nfrom email.policy import Policy\n\n__all__ = [\"MIMEText\"]\n\nclass MIMEText(MIMENonMultipart):\n def __init__(\n self, _text: str, _subtype: str = \"plain\", _charset: str | None = None, *, policy: Policy | None = None\n ) -> None: ...\n", + "/typeshed/stdlib/encodings/__init__.pyi": "from _typeshed import Incomplete\nfrom codecs import CodecInfo\n\nclass CodecRegistryError(LookupError, SystemError): ...\n\ndef normalize_encoding(encoding: str | bytes) -> str: ...\ndef search_function(encoding: str) -> CodecInfo | None: ...\n\n# Needed for submodules\ndef __getattr__(name: str) -> Incomplete: ...\n", + "/typeshed/stdlib/encodings/utf_8.pyi": "import codecs\nfrom _typeshed import ReadableBuffer\n\nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def encode(self, input: str, final: bool = False) -> bytes: ...\n\nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n @staticmethod\n def _buffer_decode(__data: ReadableBuffer, __errors: str | None = None, __final: bool = False) -> tuple[str, int]: ...\n\nclass StreamWriter(codecs.StreamWriter):\n @staticmethod\n def encode(__str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\n\nclass StreamReader(codecs.StreamReader):\n @staticmethod\n def decode(__data: ReadableBuffer, __errors: str | None = None, __final: bool = False) -> tuple[str, int]: ...\n\ndef getregentry() -> codecs.CodecInfo: ...\ndef encode(__str: str, __errors: str | None = None) -> tuple[bytes, int]: ...\ndef decode(input: ReadableBuffer, errors: str | None = \"strict\") -> tuple[str, int]: ...\n", + "/typeshed/stdlib/encodings/utf_8_sig.pyi": "import codecs\nfrom _typeshed import ReadableBuffer\n\nclass IncrementalEncoder(codecs.IncrementalEncoder):\n def __init__(self, errors: str = \"strict\") -> None: ...\n def encode(self, input: str, final: bool = False) -> bytes: ...\n def getstate(self) -> int: ...\n def setstate(self, state: int) -> None: ... # type: ignore[override]\n\nclass IncrementalDecoder(codecs.BufferedIncrementalDecoder):\n def __init__(self, errors: str = \"strict\") -> None: ...\n def _buffer_decode(self, input: ReadableBuffer, errors: str | None, final: bool) -> tuple[str, int]: ...\n\nclass StreamWriter(codecs.StreamWriter):\n def encode(self, input: str, errors: str | None = \"strict\") -> tuple[bytes, int]: ...\n\nclass StreamReader(codecs.StreamReader):\n def decode(self, input: ReadableBuffer, errors: str | None = \"strict\") -> tuple[str, int]: ...\n\ndef getregentry() -> codecs.CodecInfo: ...\ndef encode(input: str, errors: str | None = \"strict\") -> tuple[bytes, int]: ...\ndef decode(input: ReadableBuffer, errors: str | None = \"strict\") -> tuple[str, int]: ...\n", + "/typeshed/stdlib/ensurepip/__init__.pyi": "__all__ = [\"version\", \"bootstrap\"]\n\ndef version() -> str: ...\ndef bootstrap(\n *,\n root: str | None = None,\n upgrade: bool = False,\n user: bool = False,\n altinstall: bool = False,\n default_pip: bool = False,\n verbosity: int = 0,\n) -> None: ...\n", + "/typeshed/stdlib/html/__init__.pyi": "from typing import AnyStr\n\n__all__ = [\"escape\", \"unescape\"]\n\ndef escape(s: AnyStr, quote: bool = True) -> AnyStr: ...\ndef unescape(s: AnyStr) -> AnyStr: ...\n", + "/typeshed/stdlib/html/entities.pyi": "__all__ = [\"html5\", \"name2codepoint\", \"codepoint2name\", \"entitydefs\"]\n\nname2codepoint: dict[str, int]\nhtml5: dict[str, str]\ncodepoint2name: dict[int, str]\nentitydefs: dict[str, str]\n", + "/typeshed/stdlib/html/parser.pyi": "from _markupbase import ParserBase\nfrom re import Pattern\n\n__all__ = [\"HTMLParser\"]\n\nclass HTMLParser(ParserBase):\n def __init__(self, *, convert_charrefs: bool = True) -> None: ...\n def feed(self, data: str) -> None: ...\n def close(self) -> None: ...\n def get_starttag_text(self) -> str | None: ...\n def handle_starttag(self, tag: str, attrs: list[tuple[str, str | None]]) -> None: ...\n def handle_endtag(self, tag: str) -> None: ...\n def handle_startendtag(self, tag: str, attrs: list[tuple[str, str | None]]) -> None: ...\n def handle_data(self, data: str) -> None: ...\n def handle_entityref(self, name: str) -> None: ...\n def handle_charref(self, name: str) -> None: ...\n def handle_comment(self, data: str) -> None: ...\n def handle_decl(self, decl: str) -> None: ...\n def handle_pi(self, data: str) -> None: ...\n CDATA_CONTENT_ELEMENTS: tuple[str, ...]\n def check_for_whole_start_tag(self, i: int) -> int: ... # undocumented\n def clear_cdata_mode(self) -> None: ... # undocumented\n def goahead(self, end: bool) -> None: ... # undocumented\n def parse_bogus_comment(self, i: int, report: bool = ...) -> int: ... # undocumented\n def parse_endtag(self, i: int) -> int: ... # undocumented\n def parse_html_declaration(self, i: int) -> int: ... # undocumented\n def parse_pi(self, i: int) -> int: ... # undocumented\n def parse_starttag(self, i: int) -> int: ... # undocumented\n def set_cdata_mode(self, elem: str) -> None: ... # undocumented\n rawdata: str # undocumented\n cdata_elem: str | None # undocumented\n convert_charrefs: bool # undocumented\n interesting: Pattern[str] # undocumented\n lasttag: str # undocumented\n", + "/typeshed/stdlib/http/__init__.pyi": "import sys\nfrom enum import IntEnum\nfrom typing_extensions import Literal\n\nif sys.version_info >= (3, 11):\n from enum import StrEnum\n\nif sys.version_info >= (3, 11):\n __all__ = [\"HTTPStatus\", \"HTTPMethod\"]\nelse:\n __all__ = [\"HTTPStatus\"]\n\nclass HTTPStatus(IntEnum):\n @property\n def phrase(self) -> str: ...\n @property\n def description(self) -> str: ...\n CONTINUE: int\n SWITCHING_PROTOCOLS: int\n PROCESSING: int\n OK: int\n CREATED: int\n ACCEPTED: int\n NON_AUTHORITATIVE_INFORMATION: int\n NO_CONTENT: int\n RESET_CONTENT: int\n PARTIAL_CONTENT: int\n MULTI_STATUS: int\n ALREADY_REPORTED: int\n IM_USED: int\n MULTIPLE_CHOICES: int\n MOVED_PERMANENTLY: int\n FOUND: int\n SEE_OTHER: int\n NOT_MODIFIED: int\n USE_PROXY: int\n TEMPORARY_REDIRECT: int\n PERMANENT_REDIRECT: int\n BAD_REQUEST: int\n UNAUTHORIZED: int\n PAYMENT_REQUIRED: int\n FORBIDDEN: int\n NOT_FOUND: int\n METHOD_NOT_ALLOWED: int\n NOT_ACCEPTABLE: int\n PROXY_AUTHENTICATION_REQUIRED: int\n REQUEST_TIMEOUT: int\n CONFLICT: int\n GONE: int\n LENGTH_REQUIRED: int\n PRECONDITION_FAILED: int\n REQUEST_ENTITY_TOO_LARGE: int\n REQUEST_URI_TOO_LONG: int\n UNSUPPORTED_MEDIA_TYPE: int\n REQUESTED_RANGE_NOT_SATISFIABLE: int\n EXPECTATION_FAILED: int\n UNPROCESSABLE_ENTITY: int\n LOCKED: int\n FAILED_DEPENDENCY: int\n UPGRADE_REQUIRED: int\n PRECONDITION_REQUIRED: int\n TOO_MANY_REQUESTS: int\n REQUEST_HEADER_FIELDS_TOO_LARGE: int\n INTERNAL_SERVER_ERROR: int\n NOT_IMPLEMENTED: int\n BAD_GATEWAY: int\n SERVICE_UNAVAILABLE: int\n GATEWAY_TIMEOUT: int\n HTTP_VERSION_NOT_SUPPORTED: int\n VARIANT_ALSO_NEGOTIATES: int\n INSUFFICIENT_STORAGE: int\n LOOP_DETECTED: int\n NOT_EXTENDED: int\n NETWORK_AUTHENTICATION_REQUIRED: int\n MISDIRECTED_REQUEST: int\n if sys.version_info >= (3, 8):\n UNAVAILABLE_FOR_LEGAL_REASONS: int\n if sys.version_info >= (3, 9):\n EARLY_HINTS: Literal[103]\n IM_A_TEAPOT: Literal[418]\n TOO_EARLY: Literal[425]\n if sys.version_info >= (3, 12):\n @property\n def is_informational(self) -> bool: ...\n @property\n def is_success(self) -> bool: ...\n @property\n def is_redirection(self) -> bool: ...\n @property\n def is_client_error(self) -> bool: ...\n @property\n def is_server_error(self) -> bool: ...\n\nif sys.version_info >= (3, 11):\n class HTTPMethod(StrEnum):\n @property\n def description(self) -> str: ...\n CONNECT: str\n DELETE: str\n GET: str\n HEAD: str\n OPTIONS: str\n PATCH: str\n POST: str\n PUT: str\n TRACE: str\n", + "/typeshed/stdlib/http/client.pyi": "import email.message\nimport io\nimport ssl\nimport sys\nimport types\nfrom _typeshed import ReadableBuffer, SupportsRead, WriteableBuffer\nfrom collections.abc import Callable, Iterable, Iterator, Mapping\nfrom socket import socket\nfrom typing import Any, BinaryIO, TypeVar, overload\nfrom typing_extensions import Self, TypeAlias\n\n__all__ = [\n \"HTTPResponse\",\n \"HTTPConnection\",\n \"HTTPException\",\n \"NotConnected\",\n \"UnknownProtocol\",\n \"UnknownTransferEncoding\",\n \"UnimplementedFileMode\",\n \"IncompleteRead\",\n \"InvalidURL\",\n \"ImproperConnectionState\",\n \"CannotSendRequest\",\n \"CannotSendHeader\",\n \"ResponseNotReady\",\n \"BadStatusLine\",\n \"LineTooLong\",\n \"RemoteDisconnected\",\n \"error\",\n \"responses\",\n \"HTTPSConnection\",\n]\n\n_DataType: TypeAlias = SupportsRead[bytes] | Iterable[ReadableBuffer] | ReadableBuffer\n_T = TypeVar(\"_T\")\n\nHTTP_PORT: int\nHTTPS_PORT: int\n\nCONTINUE: int\nSWITCHING_PROTOCOLS: int\nPROCESSING: int\n\nOK: int\nCREATED: int\nACCEPTED: int\nNON_AUTHORITATIVE_INFORMATION: int\nNO_CONTENT: int\nRESET_CONTENT: int\nPARTIAL_CONTENT: int\nMULTI_STATUS: int\nIM_USED: int\n\nMULTIPLE_CHOICES: int\nMOVED_PERMANENTLY: int\nFOUND: int\nSEE_OTHER: int\nNOT_MODIFIED: int\nUSE_PROXY: int\nTEMPORARY_REDIRECT: int\n\nBAD_REQUEST: int\nUNAUTHORIZED: int\nPAYMENT_REQUIRED: int\nFORBIDDEN: int\nNOT_FOUND: int\nMETHOD_NOT_ALLOWED: int\nNOT_ACCEPTABLE: int\nPROXY_AUTHENTICATION_REQUIRED: int\nREQUEST_TIMEOUT: int\nCONFLICT: int\nGONE: int\nLENGTH_REQUIRED: int\nPRECONDITION_FAILED: int\nREQUEST_ENTITY_TOO_LARGE: int\nREQUEST_URI_TOO_LONG: int\nUNSUPPORTED_MEDIA_TYPE: int\nREQUESTED_RANGE_NOT_SATISFIABLE: int\nEXPECTATION_FAILED: int\nUNPROCESSABLE_ENTITY: int\nLOCKED: int\nFAILED_DEPENDENCY: int\nUPGRADE_REQUIRED: int\nPRECONDITION_REQUIRED: int\nTOO_MANY_REQUESTS: int\nREQUEST_HEADER_FIELDS_TOO_LARGE: int\n\nINTERNAL_SERVER_ERROR: int\nNOT_IMPLEMENTED: int\nBAD_GATEWAY: int\nSERVICE_UNAVAILABLE: int\nGATEWAY_TIMEOUT: int\nHTTP_VERSION_NOT_SUPPORTED: int\nINSUFFICIENT_STORAGE: int\nNOT_EXTENDED: int\nNETWORK_AUTHENTICATION_REQUIRED: int\n\nresponses: dict[int, str]\n\nclass HTTPMessage(email.message.Message):\n def getallmatchingheaders(self, name: str) -> list[str]: ... # undocumented\n\ndef parse_headers(fp: io.BufferedIOBase, _class: Callable[[], email.message.Message] = ...) -> HTTPMessage: ...\n\nclass HTTPResponse(io.BufferedIOBase, BinaryIO): # type: ignore[misc] # incompatible method definitions in the base classes\n msg: HTTPMessage\n headers: HTTPMessage\n version: int\n debuglevel: int\n fp: io.BufferedReader\n closed: bool\n status: int\n reason: str\n chunked: bool\n chunk_left: int | None\n length: int | None\n will_close: bool\n # url is set on instances of the class in urllib.request.AbstractHTTPHandler.do_open\n # to match urllib.response.addinfourl's interface.\n # It's not set in HTTPResponse.__init__ or any other method on the class\n url: str\n def __init__(self, sock: socket, debuglevel: int = 0, method: str | None = None, url: str | None = None) -> None: ...\n def peek(self, n: int = -1) -> bytes: ...\n def read(self, amt: int | None = None) -> bytes: ...\n def read1(self, n: int = -1) -> bytes: ...\n def readinto(self, b: WriteableBuffer) -> int: ...\n def readline(self, limit: int = -1) -> bytes: ... # type: ignore[override]\n @overload\n def getheader(self, name: str) -> str | None: ...\n @overload\n def getheader(self, name: str, default: _T) -> str | _T: ...\n def getheaders(self) -> list[tuple[str, str]]: ...\n def isclosed(self) -> bool: ...\n def __iter__(self) -> Iterator[bytes]: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: types.TracebackType | None\n ) -> None: ...\n def info(self) -> email.message.Message: ...\n def geturl(self) -> str: ...\n def getcode(self) -> int: ...\n def begin(self) -> None: ...\n\nclass HTTPConnection:\n auto_open: int # undocumented\n debuglevel: int\n default_port: int # undocumented\n response_class: type[HTTPResponse] # undocumented\n timeout: float | None\n host: str\n port: int\n sock: socket | Any # can be `None` if `.connect()` was not called\n def __init__(\n self,\n host: str,\n port: int | None = None,\n timeout: float | None = ...,\n source_address: tuple[str, int] | None = None,\n blocksize: int = 8192,\n ) -> None: ...\n def request(\n self,\n method: str,\n url: str,\n body: _DataType | str | None = None,\n headers: Mapping[str, str] = {},\n *,\n encode_chunked: bool = False,\n ) -> None: ...\n def getresponse(self) -> HTTPResponse: ...\n def set_debuglevel(self, level: int) -> None: ...\n if sys.version_info >= (3, 12):\n def get_proxy_response_headers(self) -> HTTPMessage | None: ...\n\n def set_tunnel(self, host: str, port: int | None = None, headers: Mapping[str, str] | None = None) -> None: ...\n def connect(self) -> None: ...\n def close(self) -> None: ...\n def putrequest(self, method: str, url: str, skip_host: bool = False, skip_accept_encoding: bool = False) -> None: ...\n def putheader(self, header: str, *argument: str) -> None: ...\n def endheaders(self, message_body: _DataType | None = None, *, encode_chunked: bool = False) -> None: ...\n def send(self, data: _DataType | str) -> None: ...\n\nclass HTTPSConnection(HTTPConnection):\n # Can be `None` if `.connect()` was not called:\n sock: ssl.SSLSocket | Any\n if sys.version_info >= (3, 12):\n def __init__(\n self,\n host: str,\n port: str | None = None,\n *,\n timeout: float | None = ...,\n source_address: tuple[str, int] | None = None,\n context: ssl.SSLContext | None = None,\n blocksize: int = 8192,\n ) -> None: ...\n else:\n def __init__(\n self,\n host: str,\n port: int | None = None,\n key_file: str | None = None,\n cert_file: str | None = None,\n timeout: float | None = ...,\n source_address: tuple[str, int] | None = None,\n *,\n context: ssl.SSLContext | None = None,\n check_hostname: bool | None = None,\n blocksize: int = 8192,\n ) -> None: ...\n\nclass HTTPException(Exception): ...\n\nerror = HTTPException\n\nclass NotConnected(HTTPException): ...\nclass InvalidURL(HTTPException): ...\n\nclass UnknownProtocol(HTTPException):\n def __init__(self, version: str) -> None: ...\n\nclass UnknownTransferEncoding(HTTPException): ...\nclass UnimplementedFileMode(HTTPException): ...\n\nclass IncompleteRead(HTTPException):\n def __init__(self, partial: bytes, expected: int | None = None) -> None: ...\n partial: bytes\n expected: int | None\n\nclass ImproperConnectionState(HTTPException): ...\nclass CannotSendRequest(ImproperConnectionState): ...\nclass CannotSendHeader(ImproperConnectionState): ...\nclass ResponseNotReady(ImproperConnectionState): ...\n\nclass BadStatusLine(HTTPException):\n def __init__(self, line: str) -> None: ...\n\nclass LineTooLong(HTTPException):\n def __init__(self, line_type: str) -> None: ...\n\nclass RemoteDisconnected(ConnectionResetError, BadStatusLine): ...\n", + "/typeshed/stdlib/http/cookiejar.pyi": "import sys\nfrom _typeshed import StrPath\nfrom collections.abc import Iterable, Iterator, Sequence\nfrom http.client import HTTPResponse\nfrom re import Pattern\nfrom typing import ClassVar, TypeVar, overload\nfrom urllib.request import Request\n\n__all__ = [\n \"Cookie\",\n \"CookieJar\",\n \"CookiePolicy\",\n \"DefaultCookiePolicy\",\n \"FileCookieJar\",\n \"LWPCookieJar\",\n \"LoadError\",\n \"MozillaCookieJar\",\n]\n\n_T = TypeVar(\"_T\")\n\nclass LoadError(OSError): ...\n\nclass CookieJar(Iterable[Cookie]):\n non_word_re: ClassVar[Pattern[str]] # undocumented\n quote_re: ClassVar[Pattern[str]] # undocumented\n strict_domain_re: ClassVar[Pattern[str]] # undocumented\n domain_re: ClassVar[Pattern[str]] # undocumented\n dots_re: ClassVar[Pattern[str]] # undocumented\n magic_re: ClassVar[Pattern[str]] # undocumented\n def __init__(self, policy: CookiePolicy | None = None) -> None: ...\n def add_cookie_header(self, request: Request) -> None: ...\n def extract_cookies(self, response: HTTPResponse, request: Request) -> None: ...\n def set_policy(self, policy: CookiePolicy) -> None: ...\n def make_cookies(self, response: HTTPResponse, request: Request) -> Sequence[Cookie]: ...\n def set_cookie(self, cookie: Cookie) -> None: ...\n def set_cookie_if_ok(self, cookie: Cookie, request: Request) -> None: ...\n def clear(self, domain: str | None = None, path: str | None = None, name: str | None = None) -> None: ...\n def clear_session_cookies(self) -> None: ...\n def clear_expired_cookies(self) -> None: ... # undocumented\n def __iter__(self) -> Iterator[Cookie]: ...\n def __len__(self) -> int: ...\n\nclass FileCookieJar(CookieJar):\n filename: str\n delayload: bool\n if sys.version_info >= (3, 8):\n def __init__(\n self, filename: StrPath | None = None, delayload: bool = False, policy: CookiePolicy | None = None\n ) -> None: ...\n else:\n def __init__(self, filename: str | None = None, delayload: bool = False, policy: CookiePolicy | None = None) -> None: ...\n\n def save(self, filename: str | None = None, ignore_discard: bool = False, ignore_expires: bool = False) -> None: ...\n def load(self, filename: str | None = None, ignore_discard: bool = False, ignore_expires: bool = False) -> None: ...\n def revert(self, filename: str | None = None, ignore_discard: bool = False, ignore_expires: bool = False) -> None: ...\n\nclass MozillaCookieJar(FileCookieJar):\n if sys.version_info < (3, 10):\n header: ClassVar[str] # undocumented\n\nclass LWPCookieJar(FileCookieJar):\n def as_lwp_str(self, ignore_discard: bool = True, ignore_expires: bool = True) -> str: ... # undocumented\n\nclass CookiePolicy:\n netscape: bool\n rfc2965: bool\n hide_cookie2: bool\n def set_ok(self, cookie: Cookie, request: Request) -> bool: ...\n def return_ok(self, cookie: Cookie, request: Request) -> bool: ...\n def domain_return_ok(self, domain: str, request: Request) -> bool: ...\n def path_return_ok(self, path: str, request: Request) -> bool: ...\n\nclass DefaultCookiePolicy(CookiePolicy):\n rfc2109_as_netscape: bool\n strict_domain: bool\n strict_rfc2965_unverifiable: bool\n strict_ns_unverifiable: bool\n strict_ns_domain: int\n strict_ns_set_initial_dollar: bool\n strict_ns_set_path: bool\n DomainStrictNoDots: ClassVar[int]\n DomainStrictNonDomain: ClassVar[int]\n DomainRFC2965Match: ClassVar[int]\n DomainLiberal: ClassVar[int]\n DomainStrict: ClassVar[int]\n if sys.version_info >= (3, 8):\n def __init__(\n self,\n blocked_domains: Sequence[str] | None = None,\n allowed_domains: Sequence[str] | None = None,\n netscape: bool = True,\n rfc2965: bool = False,\n rfc2109_as_netscape: bool | None = None,\n hide_cookie2: bool = False,\n strict_domain: bool = False,\n strict_rfc2965_unverifiable: bool = True,\n strict_ns_unverifiable: bool = False,\n strict_ns_domain: int = 0,\n strict_ns_set_initial_dollar: bool = False,\n strict_ns_set_path: bool = False,\n secure_protocols: Sequence[str] = (\"https\", \"wss\"),\n ) -> None: ...\n else:\n def __init__(\n self,\n blocked_domains: Sequence[str] | None = None,\n allowed_domains: Sequence[str] | None = None,\n netscape: bool = True,\n rfc2965: bool = False,\n rfc2109_as_netscape: bool | None = None,\n hide_cookie2: bool = False,\n strict_domain: bool = False,\n strict_rfc2965_unverifiable: bool = True,\n strict_ns_unverifiable: bool = False,\n strict_ns_domain: int = 0,\n strict_ns_set_initial_dollar: bool = False,\n strict_ns_set_path: bool = False,\n ) -> None: ...\n\n def blocked_domains(self) -> tuple[str, ...]: ...\n def set_blocked_domains(self, blocked_domains: Sequence[str]) -> None: ...\n def is_blocked(self, domain: str) -> bool: ...\n def allowed_domains(self) -> tuple[str, ...] | None: ...\n def set_allowed_domains(self, allowed_domains: Sequence[str] | None) -> None: ...\n def is_not_allowed(self, domain: str) -> bool: ...\n def set_ok_version(self, cookie: Cookie, request: Request) -> bool: ... # undocumented\n def set_ok_verifiability(self, cookie: Cookie, request: Request) -> bool: ... # undocumented\n def set_ok_name(self, cookie: Cookie, request: Request) -> bool: ... # undocumented\n def set_ok_path(self, cookie: Cookie, request: Request) -> bool: ... # undocumented\n def set_ok_domain(self, cookie: Cookie, request: Request) -> bool: ... # undocumented\n def set_ok_port(self, cookie: Cookie, request: Request) -> bool: ... # undocumented\n def return_ok_version(self, cookie: Cookie, request: Request) -> bool: ... # undocumented\n def return_ok_verifiability(self, cookie: Cookie, request: Request) -> bool: ... # undocumented\n def return_ok_secure(self, cookie: Cookie, request: Request) -> bool: ... # undocumented\n def return_ok_expires(self, cookie: Cookie, request: Request) -> bool: ... # undocumented\n def return_ok_port(self, cookie: Cookie, request: Request) -> bool: ... # undocumented\n def return_ok_domain(self, cookie: Cookie, request: Request) -> bool: ... # undocumented\n\nclass Cookie:\n version: int | None\n name: str\n value: str | None\n port: str | None\n path: str\n path_specified: bool\n secure: bool\n expires: int | None\n discard: bool\n comment: str | None\n comment_url: str | None\n rfc2109: bool\n port_specified: bool\n domain: str # undocumented\n domain_specified: bool\n domain_initial_dot: bool\n def __init__(\n self,\n version: int | None,\n name: str,\n value: str | None, # undocumented\n port: str | None,\n port_specified: bool,\n domain: str,\n domain_specified: bool,\n domain_initial_dot: bool,\n path: str,\n path_specified: bool,\n secure: bool,\n expires: int | None,\n discard: bool,\n comment: str | None,\n comment_url: str | None,\n rest: dict[str, str],\n rfc2109: bool = False,\n ) -> None: ...\n def has_nonstandard_attr(self, name: str) -> bool: ...\n @overload\n def get_nonstandard_attr(self, name: str) -> str | None: ...\n @overload\n def get_nonstandard_attr(self, name: str, default: _T) -> str | _T: ...\n def set_nonstandard_attr(self, name: str, value: str) -> None: ...\n def is_expired(self, now: int | None = None) -> bool: ...\n", + "/typeshed/stdlib/http/cookies.pyi": "import sys\nfrom collections.abc import Iterable, Mapping\nfrom typing import Any, Generic, TypeVar, overload\nfrom typing_extensions import TypeAlias\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = [\"CookieError\", \"BaseCookie\", \"SimpleCookie\"]\n\n_DataType: TypeAlias = str | Mapping[str, str | Morsel[Any]]\n_T = TypeVar(\"_T\")\n\n@overload\ndef _quote(str: None) -> None: ...\n@overload\ndef _quote(str: str) -> str: ...\n@overload\ndef _unquote(str: None) -> None: ...\n@overload\ndef _unquote(str: str) -> str: ...\n\nclass CookieError(Exception): ...\n\nclass Morsel(dict[str, Any], Generic[_T]):\n @property\n def value(self) -> str: ...\n @property\n def coded_value(self) -> _T: ...\n @property\n def key(self) -> str: ...\n def __init__(self) -> None: ...\n def set(self, key: str, val: str, coded_val: _T) -> None: ...\n def setdefault(self, key: str, val: str | None = None) -> str: ...\n # The dict update can also get a keywords argument so this is incompatible\n @overload # type: ignore[override]\n def update(self, values: Mapping[str, str]) -> None: ...\n @overload\n def update(self, values: Iterable[tuple[str, str]]) -> None: ...\n def isReservedKey(self, K: str) -> bool: ...\n def output(self, attrs: list[str] | None = None, header: str = \"Set-Cookie:\") -> str: ...\n __str__ = output\n def js_output(self, attrs: list[str] | None = None) -> str: ...\n def OutputString(self, attrs: list[str] | None = None) -> str: ...\n def __eq__(self, morsel: object) -> bool: ...\n def __setitem__(self, K: str, V: Any) -> None: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass BaseCookie(dict[str, Morsel[_T]], Generic[_T]):\n def __init__(self, input: _DataType | None = None) -> None: ...\n def value_decode(self, val: str) -> tuple[_T, str]: ...\n def value_encode(self, val: _T) -> tuple[_T, str]: ...\n def output(self, attrs: list[str] | None = None, header: str = \"Set-Cookie:\", sep: str = \"\\r\\n\") -> str: ...\n __str__ = output\n def js_output(self, attrs: list[str] | None = None) -> str: ...\n def load(self, rawdata: _DataType) -> None: ...\n def __setitem__(self, key: str, value: str | Morsel[_T]) -> None: ...\n\nclass SimpleCookie(BaseCookie[str]): ...\n", + "/typeshed/stdlib/http/server.pyi": "import _socket\nimport email.message\nimport io\nimport socketserver\nimport sys\nfrom _typeshed import StrPath, SupportsRead, SupportsWrite\nfrom collections.abc import Mapping, Sequence\nfrom typing import Any, AnyStr, BinaryIO, ClassVar\n\n__all__ = [\"HTTPServer\", \"ThreadingHTTPServer\", \"BaseHTTPRequestHandler\", \"SimpleHTTPRequestHandler\", \"CGIHTTPRequestHandler\"]\n\nclass HTTPServer(socketserver.TCPServer):\n server_name: str\n server_port: int\n\nclass ThreadingHTTPServer(socketserver.ThreadingMixIn, HTTPServer): ...\n\nclass BaseHTTPRequestHandler(socketserver.StreamRequestHandler):\n client_address: tuple[str, int]\n close_connection: bool\n requestline: str\n command: str\n path: str\n request_version: str\n headers: email.message.Message\n server_version: str\n sys_version: str\n error_message_format: str\n error_content_type: str\n protocol_version: str\n MessageClass: type\n responses: Mapping[int, tuple[str, str]]\n default_request_version: str # undocumented\n weekdayname: ClassVar[Sequence[str]] # undocumented\n monthname: ClassVar[Sequence[str | None]] # undocumented\n def handle_one_request(self) -> None: ...\n def handle_expect_100(self) -> bool: ...\n def send_error(self, code: int, message: str | None = None, explain: str | None = None) -> None: ...\n def send_response(self, code: int, message: str | None = None) -> None: ...\n def send_header(self, keyword: str, value: str) -> None: ...\n def send_response_only(self, code: int, message: str | None = None) -> None: ...\n def end_headers(self) -> None: ...\n def flush_headers(self) -> None: ...\n def log_request(self, code: int | str = \"-\", size: int | str = \"-\") -> None: ...\n def log_error(self, format: str, *args: Any) -> None: ...\n def log_message(self, format: str, *args: Any) -> None: ...\n def version_string(self) -> str: ...\n def date_time_string(self, timestamp: int | None = None) -> str: ...\n def log_date_time_string(self) -> str: ...\n def address_string(self) -> str: ...\n def parse_request(self) -> bool: ... # undocumented\n\nclass SimpleHTTPRequestHandler(BaseHTTPRequestHandler):\n extensions_map: dict[str, str]\n if sys.version_info >= (3, 12):\n index_pages: ClassVar[tuple[str, ...]]\n directory: str\n def __init__(\n self,\n request: socketserver._RequestType,\n client_address: _socket._RetAddress,\n server: socketserver.BaseServer,\n *,\n directory: str | None = None,\n ) -> None: ...\n def do_GET(self) -> None: ...\n def do_HEAD(self) -> None: ...\n def send_head(self) -> io.BytesIO | BinaryIO | None: ... # undocumented\n def list_directory(self, path: StrPath) -> io.BytesIO | None: ... # undocumented\n def translate_path(self, path: str) -> str: ... # undocumented\n def copyfile(self, source: SupportsRead[AnyStr], outputfile: SupportsWrite[AnyStr]) -> None: ... # undocumented\n def guess_type(self, path: StrPath) -> str: ... # undocumented\n\ndef executable(path: StrPath) -> bool: ... # undocumented\n\nclass CGIHTTPRequestHandler(SimpleHTTPRequestHandler):\n cgi_directories: list[str]\n have_fork: bool # undocumented\n def do_POST(self) -> None: ...\n def is_cgi(self) -> bool: ... # undocumented\n def is_executable(self, path: StrPath) -> bool: ... # undocumented\n def is_python(self, path: StrPath) -> bool: ... # undocumented\n def run_cgi(self) -> None: ... # undocumented\n", + "/typeshed/stdlib/importlib/__init__.pyi": "import sys\nfrom collections.abc import Mapping, Sequence\nfrom importlib.abc import Loader\nfrom types import ModuleType\n\n__all__ = [\"__import__\", \"import_module\", \"invalidate_caches\", \"reload\"]\n\n# Signature of `builtins.__import__` should be kept identical to `importlib.__import__`\ndef __import__(\n name: str,\n globals: Mapping[str, object] | None = None,\n locals: Mapping[str, object] | None = None,\n fromlist: Sequence[str] = (),\n level: int = 0,\n) -> ModuleType: ...\n\n# `importlib.import_module` return type should be kept the same as `builtins.__import__`\ndef import_module(name: str, package: str | None = None) -> ModuleType: ...\n\nif sys.version_info < (3, 12):\n def find_loader(name: str, path: str | None = None) -> Loader | None: ...\n\ndef invalidate_caches() -> None: ...\ndef reload(module: ModuleType) -> ModuleType: ...\n", + "/typeshed/stdlib/importlib/abc.pyi": "import _ast\nimport sys\nimport types\nfrom _typeshed import ReadableBuffer, StrPath\nfrom abc import ABCMeta, abstractmethod\nfrom collections.abc import Iterator, Mapping, Sequence\nfrom importlib.machinery import ModuleSpec\nfrom io import BufferedReader\nfrom typing import IO, Any, Protocol, overload, runtime_checkable\nfrom typing_extensions import Literal\n\nif sys.version_info >= (3, 11):\n __all__ = [\n \"Loader\",\n \"MetaPathFinder\",\n \"PathEntryFinder\",\n \"ResourceLoader\",\n \"InspectLoader\",\n \"ExecutionLoader\",\n \"FileLoader\",\n \"SourceLoader\",\n ]\n\n if sys.version_info < (3, 12):\n __all__ += [\"Finder\", \"ResourceReader\", \"Traversable\", \"TraversableResources\"]\n\nif sys.version_info < (3, 12):\n class Finder(metaclass=ABCMeta): ...\n\nclass Loader(metaclass=ABCMeta):\n def load_module(self, fullname: str) -> types.ModuleType: ...\n if sys.version_info < (3, 12):\n def module_repr(self, module: types.ModuleType) -> str: ...\n\n def create_module(self, spec: ModuleSpec) -> types.ModuleType | None: ...\n # Not defined on the actual class for backwards-compatibility reasons,\n # but expected in new code.\n def exec_module(self, module: types.ModuleType) -> None: ...\n\nclass ResourceLoader(Loader):\n @abstractmethod\n def get_data(self, path: str) -> bytes: ...\n\nclass InspectLoader(Loader):\n def is_package(self, fullname: str) -> bool: ...\n def get_code(self, fullname: str) -> types.CodeType | None: ...\n @abstractmethod\n def get_source(self, fullname: str) -> str | None: ...\n def exec_module(self, module: types.ModuleType) -> None: ...\n @staticmethod\n def source_to_code(\n data: ReadableBuffer | str | _ast.Module | _ast.Expression | _ast.Interactive, path: ReadableBuffer | StrPath = \"\"\n ) -> types.CodeType: ...\n\nclass ExecutionLoader(InspectLoader):\n @abstractmethod\n def get_filename(self, fullname: str) -> str: ...\n\nclass SourceLoader(ResourceLoader, ExecutionLoader, metaclass=ABCMeta):\n def path_mtime(self, path: str) -> float: ...\n def set_data(self, path: str, data: bytes) -> None: ...\n def get_source(self, fullname: str) -> str | None: ...\n def path_stats(self, path: str) -> Mapping[str, Any]: ...\n\n# The base classes differ on 3.12:\nif sys.version_info >= (3, 12):\n # Please keep in sync with sys._MetaPathFinder\n class MetaPathFinder(metaclass=ABCMeta):\n def invalidate_caches(self) -> None: ...\n # Not defined on the actual class, but expected to exist.\n def find_spec(\n self, fullname: str, path: Sequence[str] | None, target: types.ModuleType | None = ...\n ) -> ModuleSpec | None: ...\n\n class PathEntryFinder(metaclass=ABCMeta):\n def invalidate_caches(self) -> None: ...\n # Not defined on the actual class, but expected to exist.\n def find_spec(self, fullname: str, target: types.ModuleType | None = ...) -> ModuleSpec | None: ...\n\nelse:\n # Please keep in sync with sys._MetaPathFinder\n class MetaPathFinder(Finder):\n def find_module(self, fullname: str, path: Sequence[str] | None) -> Loader | None: ...\n def invalidate_caches(self) -> None: ...\n # Not defined on the actual class, but expected to exist.\n def find_spec(\n self, fullname: str, path: Sequence[str] | None, target: types.ModuleType | None = ...\n ) -> ModuleSpec | None: ...\n\n class PathEntryFinder(Finder):\n def find_module(self, fullname: str) -> Loader | None: ...\n def find_loader(self, fullname: str) -> tuple[Loader | None, Sequence[str]]: ...\n def invalidate_caches(self) -> None: ...\n # Not defined on the actual class, but expected to exist.\n def find_spec(self, fullname: str, target: types.ModuleType | None = ...) -> ModuleSpec | None: ...\n\nclass FileLoader(ResourceLoader, ExecutionLoader, metaclass=ABCMeta):\n name: str\n path: str\n def __init__(self, fullname: str, path: str) -> None: ...\n def get_data(self, path: str) -> bytes: ...\n def get_filename(self, name: str | None = None) -> str: ...\n def load_module(self, name: str | None = None) -> types.ModuleType: ...\n\nclass ResourceReader(metaclass=ABCMeta):\n @abstractmethod\n def open_resource(self, resource: str) -> IO[bytes]: ...\n @abstractmethod\n def resource_path(self, resource: str) -> str: ...\n if sys.version_info >= (3, 10):\n @abstractmethod\n def is_resource(self, path: str) -> bool: ...\n else:\n @abstractmethod\n def is_resource(self, name: str) -> bool: ...\n\n @abstractmethod\n def contents(self) -> Iterator[str]: ...\n\nif sys.version_info >= (3, 9):\n @runtime_checkable\n class Traversable(Protocol):\n @abstractmethod\n def is_dir(self) -> bool: ...\n @abstractmethod\n def is_file(self) -> bool: ...\n @abstractmethod\n def iterdir(self) -> Iterator[Traversable]: ...\n if sys.version_info >= (3, 11):\n @abstractmethod\n def joinpath(self, *descendants: str) -> Traversable: ...\n else:\n @abstractmethod\n def joinpath(self, __child: str) -> Traversable: ...\n\n # The documentation and runtime protocol allows *args, **kwargs arguments,\n # but this would mean that all implementors would have to support them,\n # which is not the case.\n @overload\n @abstractmethod\n def open(self, mode: Literal[\"r\", \"w\"] = \"r\", *, encoding: str | None = None, errors: str | None = None) -> IO[str]: ...\n @overload\n @abstractmethod\n def open(self, mode: Literal[\"rb\", \"wb\"]) -> IO[bytes]: ...\n @property\n @abstractmethod\n def name(self) -> str: ...\n if sys.version_info >= (3, 10):\n def __truediv__(self, __child: str) -> Traversable: ...\n else:\n @abstractmethod\n def __truediv__(self, __child: str) -> Traversable: ...\n\n @abstractmethod\n def read_bytes(self) -> bytes: ...\n @abstractmethod\n def read_text(self, encoding: str | None = None) -> str: ...\n\n class TraversableResources(ResourceReader):\n @abstractmethod\n def files(self) -> Traversable: ...\n def open_resource(self, resource: str) -> BufferedReader: ...\n def resource_path(self, resource: Any) -> str: ...\n def is_resource(self, path: str) -> bool: ...\n def contents(self) -> Iterator[str]: ...\n", + "/typeshed/stdlib/importlib/machinery.pyi": "import importlib.abc\nimport sys\nimport types\nfrom _typeshed import ReadableBuffer\nfrom collections.abc import Callable, Iterable, Sequence\nfrom typing import Any\n\nif sys.version_info >= (3, 8):\n from importlib.metadata import DistributionFinder, PathDistribution\n\nclass ModuleSpec:\n def __init__(\n self,\n name: str,\n loader: importlib.abc.Loader | None,\n *,\n origin: str | None = None,\n loader_state: Any = None,\n is_package: bool | None = None,\n ) -> None: ...\n name: str\n loader: importlib.abc.Loader | None\n origin: str | None\n submodule_search_locations: list[str] | None\n loader_state: Any\n cached: str | None\n @property\n def parent(self) -> str | None: ...\n has_location: bool\n def __eq__(self, other: object) -> bool: ...\n\nclass BuiltinImporter(importlib.abc.MetaPathFinder, importlib.abc.InspectLoader):\n # MetaPathFinder\n if sys.version_info < (3, 12):\n @classmethod\n def find_module(cls, fullname: str, path: Sequence[str] | None = None) -> importlib.abc.Loader | None: ...\n\n @classmethod\n def find_spec(\n cls, fullname: str, path: Sequence[str] | None = None, target: types.ModuleType | None = None\n ) -> ModuleSpec | None: ...\n # InspectLoader\n @classmethod\n def is_package(cls, fullname: str) -> bool: ...\n @classmethod\n def load_module(cls, fullname: str) -> types.ModuleType: ...\n @classmethod\n def get_code(cls, fullname: str) -> None: ...\n @classmethod\n def get_source(cls, fullname: str) -> None: ...\n # Loader\n if sys.version_info < (3, 12):\n @staticmethod\n def module_repr(module: types.ModuleType) -> str: ...\n if sys.version_info >= (3, 10):\n @staticmethod\n def create_module(spec: ModuleSpec) -> types.ModuleType | None: ...\n @staticmethod\n def exec_module(module: types.ModuleType) -> None: ...\n else:\n @classmethod\n def create_module(cls, spec: ModuleSpec) -> types.ModuleType | None: ...\n @classmethod\n def exec_module(cls, module: types.ModuleType) -> None: ...\n\nclass FrozenImporter(importlib.abc.MetaPathFinder, importlib.abc.InspectLoader):\n # MetaPathFinder\n if sys.version_info < (3, 12):\n @classmethod\n def find_module(cls, fullname: str, path: Sequence[str] | None = None) -> importlib.abc.Loader | None: ...\n\n @classmethod\n def find_spec(\n cls, fullname: str, path: Sequence[str] | None = None, target: types.ModuleType | None = None\n ) -> ModuleSpec | None: ...\n # InspectLoader\n @classmethod\n def is_package(cls, fullname: str) -> bool: ...\n @classmethod\n def load_module(cls, fullname: str) -> types.ModuleType: ...\n @classmethod\n def get_code(cls, fullname: str) -> None: ...\n @classmethod\n def get_source(cls, fullname: str) -> None: ...\n # Loader\n if sys.version_info < (3, 12):\n @staticmethod\n def module_repr(m: types.ModuleType) -> str: ...\n if sys.version_info >= (3, 10):\n @staticmethod\n def create_module(spec: ModuleSpec) -> types.ModuleType | None: ...\n else:\n @classmethod\n def create_module(cls, spec: ModuleSpec) -> types.ModuleType | None: ...\n\n @staticmethod\n def exec_module(module: types.ModuleType) -> None: ...\n\nclass WindowsRegistryFinder(importlib.abc.MetaPathFinder):\n if sys.version_info < (3, 12):\n @classmethod\n def find_module(cls, fullname: str, path: Sequence[str] | None = None) -> importlib.abc.Loader | None: ...\n\n @classmethod\n def find_spec(\n cls, fullname: str, path: Sequence[str] | None = None, target: types.ModuleType | None = None\n ) -> ModuleSpec | None: ...\n\nclass PathFinder:\n if sys.version_info >= (3, 10):\n @staticmethod\n def invalidate_caches() -> None: ...\n else:\n @classmethod\n def invalidate_caches(cls) -> None: ...\n if sys.version_info >= (3, 10):\n @staticmethod\n def find_distributions(context: DistributionFinder.Context = ...) -> Iterable[PathDistribution]: ...\n elif sys.version_info >= (3, 8):\n @classmethod\n def find_distributions(cls, context: DistributionFinder.Context = ...) -> Iterable[PathDistribution]: ...\n\n @classmethod\n def find_spec(\n cls, fullname: str, path: Sequence[str] | None = None, target: types.ModuleType | None = None\n ) -> ModuleSpec | None: ...\n if sys.version_info < (3, 12):\n @classmethod\n def find_module(cls, fullname: str, path: Sequence[str] | None = None) -> importlib.abc.Loader | None: ...\n\nSOURCE_SUFFIXES: list[str]\nDEBUG_BYTECODE_SUFFIXES: list[str]\nOPTIMIZED_BYTECODE_SUFFIXES: list[str]\nBYTECODE_SUFFIXES: list[str]\nEXTENSION_SUFFIXES: list[str]\n\ndef all_suffixes() -> list[str]: ...\n\nclass FileFinder(importlib.abc.PathEntryFinder):\n path: str\n def __init__(self, path: str, *loader_details: tuple[type[importlib.abc.Loader], list[str]]) -> None: ...\n @classmethod\n def path_hook(\n cls, *loader_details: tuple[type[importlib.abc.Loader], list[str]]\n ) -> Callable[[str], importlib.abc.PathEntryFinder]: ...\n\nclass SourceFileLoader(importlib.abc.FileLoader, importlib.abc.SourceLoader):\n def set_data(self, path: str, data: ReadableBuffer, *, _mode: int = 0o666) -> None: ...\n\nclass SourcelessFileLoader(importlib.abc.FileLoader, importlib.abc.SourceLoader): ...\n\nclass ExtensionFileLoader(importlib.abc.ExecutionLoader):\n def __init__(self, name: str, path: str) -> None: ...\n def get_filename(self, name: str | None = None) -> str: ...\n def get_source(self, fullname: str) -> None: ...\n def create_module(self, spec: ModuleSpec) -> types.ModuleType: ...\n def exec_module(self, module: types.ModuleType) -> None: ...\n def get_code(self, fullname: str) -> None: ...\n def __eq__(self, other: object) -> bool: ...\n def __hash__(self) -> int: ...\n", + "/typeshed/stdlib/importlib/readers.pyi": "# On py311+, things are actually defined in importlib.resources.readers,\n# and re-exported here,\n# but doing it this way leads to less code duplication for us\n\nimport pathlib\nimport sys\nimport zipfile\nfrom _typeshed import Incomplete, StrPath\nfrom collections.abc import Iterable, Iterator\nfrom io import BufferedReader\nfrom typing import NoReturn, TypeVar\nfrom typing_extensions import Literal, Never\n\nif sys.version_info >= (3, 11):\n import importlib.resources.abc as abc\nelse:\n import importlib.abc as abc\n\nif sys.version_info >= (3, 10):\n if sys.version_info >= (3, 11):\n __all__ = [\"FileReader\", \"ZipReader\", \"MultiplexedPath\", \"NamespaceReader\"]\n\n if sys.version_info < (3, 11):\n _T = TypeVar(\"_T\")\n\n def remove_duplicates(items: Iterable[_T]) -> Iterator[_T]: ...\n\n class FileReader(abc.TraversableResources):\n path: pathlib.Path\n def __init__(self, loader) -> None: ...\n def resource_path(self, resource: StrPath) -> str: ...\n def files(self) -> pathlib.Path: ...\n\n class ZipReader(abc.TraversableResources):\n prefix: str\n archive: Incomplete\n def __init__(self, loader, module: str) -> None: ...\n def open_resource(self, resource: str) -> BufferedReader: ...\n def is_resource(self, path: StrPath) -> bool: ...\n def files(self) -> zipfile.Path: ...\n\n class MultiplexedPath(abc.Traversable):\n def __init__(self, *paths: abc.Traversable) -> None: ...\n def iterdir(self) -> Iterator[abc.Traversable]: ...\n def read_bytes(self) -> NoReturn: ...\n def read_text(self, *args: Never, **kwargs: Never) -> NoReturn: ... # type: ignore[override]\n def is_dir(self) -> Literal[True]: ...\n def is_file(self) -> Literal[False]: ...\n\n if sys.version_info >= (3, 12):\n def joinpath(self, *descendants: str) -> abc.Traversable: ...\n elif sys.version_info >= (3, 11):\n def joinpath(self, child: str) -> abc.Traversable: ... # type: ignore[override]\n else:\n def joinpath(self, child: str) -> abc.Traversable: ...\n\n if sys.version_info < (3, 12):\n __truediv__ = joinpath\n\n def open(self, *args: Never, **kwargs: Never) -> NoReturn: ... # type: ignore[override]\n @property\n def name(self) -> str: ...\n\n class NamespaceReader(abc.TraversableResources):\n path: MultiplexedPath\n def __init__(self, namespace_path) -> None: ...\n def resource_path(self, resource: str) -> str: ...\n def files(self) -> MultiplexedPath: ...\n", + "/typeshed/stdlib/importlib/simple.pyi": "import sys\n\nif sys.version_info >= (3, 11):\n from .resources.simple import (\n ResourceContainer as ResourceContainer,\n ResourceHandle as ResourceHandle,\n SimpleReader as SimpleReader,\n TraversableReader as TraversableReader,\n )\n\n __all__ = [\"SimpleReader\", \"ResourceHandle\", \"ResourceContainer\", \"TraversableReader\"]\n", + "/typeshed/stdlib/importlib/util.pyi": "import importlib.abc\nimport importlib.machinery\nimport sys\nimport types\nfrom _typeshed import ReadableBuffer, StrOrBytesPath\nfrom collections.abc import Callable\nfrom typing import Any\nfrom typing_extensions import ParamSpec\n\n_P = ParamSpec(\"_P\")\n\nif sys.version_info < (3, 12):\n def module_for_loader(fxn: Callable[_P, types.ModuleType]) -> Callable[_P, types.ModuleType]: ...\n def set_loader(fxn: Callable[_P, types.ModuleType]) -> Callable[_P, types.ModuleType]: ...\n def set_package(fxn: Callable[_P, types.ModuleType]) -> Callable[_P, types.ModuleType]: ...\n\ndef resolve_name(name: str, package: str | None) -> str: ...\n\nMAGIC_NUMBER: bytes\n\ndef cache_from_source(path: str, debug_override: bool | None = None, *, optimization: Any | None = None) -> str: ...\ndef source_from_cache(path: str) -> str: ...\ndef decode_source(source_bytes: ReadableBuffer) -> str: ...\ndef find_spec(name: str, package: str | None = None) -> importlib.machinery.ModuleSpec | None: ...\ndef spec_from_loader(\n name: str, loader: importlib.abc.Loader | None, *, origin: str | None = None, is_package: bool | None = None\n) -> importlib.machinery.ModuleSpec | None: ...\ndef spec_from_file_location(\n name: str,\n location: StrOrBytesPath | None = None,\n *,\n loader: importlib.abc.Loader | None = None,\n submodule_search_locations: list[str] | None = ...,\n) -> importlib.machinery.ModuleSpec | None: ...\ndef module_from_spec(spec: importlib.machinery.ModuleSpec) -> types.ModuleType: ...\n\nclass LazyLoader(importlib.abc.Loader):\n def __init__(self, loader: importlib.abc.Loader) -> None: ...\n @classmethod\n def factory(cls, loader: importlib.abc.Loader) -> Callable[..., LazyLoader]: ...\n def exec_module(self, module: types.ModuleType) -> None: ...\n\ndef source_hash(source_bytes: ReadableBuffer) -> bytes: ...\n", + "/typeshed/stdlib/importlib/metadata/__init__.pyi": "import abc\nimport pathlib\nimport sys\nfrom _typeshed import StrPath\nfrom collections.abc import Iterable, Mapping\nfrom email.message import Message\nfrom importlib.abc import MetaPathFinder\nfrom os import PathLike\nfrom pathlib import Path\nfrom re import Pattern\nfrom typing import Any, ClassVar, NamedTuple, overload\nfrom typing_extensions import Self\n\n__all__ = [\n \"Distribution\",\n \"DistributionFinder\",\n \"PackageNotFoundError\",\n \"distribution\",\n \"distributions\",\n \"entry_points\",\n \"files\",\n \"metadata\",\n \"requires\",\n \"version\",\n]\n\nif sys.version_info >= (3, 10):\n __all__ += [\"PackageMetadata\", \"packages_distributions\"]\n\nif sys.version_info >= (3, 10):\n from importlib.metadata._meta import PackageMetadata as PackageMetadata\n def packages_distributions() -> Mapping[str, list[str]]: ...\n\nclass PackageNotFoundError(ModuleNotFoundError):\n @property\n def name(self) -> str: ... # type: ignore[override]\n\nclass _EntryPointBase(NamedTuple):\n name: str\n value: str\n group: str\n\nclass EntryPoint(_EntryPointBase):\n pattern: ClassVar[Pattern[str]]\n if sys.version_info >= (3, 11):\n def __init__(self, name: str, value: str, group: str) -> None: ...\n\n def load(self) -> Any: ... # Callable[[], Any] or an importable module\n @property\n def extras(self) -> list[str]: ...\n if sys.version_info >= (3, 9):\n @property\n def module(self) -> str: ...\n @property\n def attr(self) -> str: ...\n if sys.version_info >= (3, 10):\n dist: ClassVar[Distribution | None]\n def matches(\n self,\n *,\n name: str = ...,\n value: str = ...,\n group: str = ...,\n module: str = ...,\n attr: str = ...,\n extras: list[str] = ...,\n ) -> bool: ... # undocumented\n\n def __hash__(self) -> int: ...\n def __eq__(self, other: object) -> bool: ...\n\nif sys.version_info >= (3, 10):\n class EntryPoints(list[EntryPoint]): # use as list is deprecated since 3.10\n # int argument is deprecated since 3.10\n def __getitem__(self, name: int | str) -> EntryPoint: ... # type: ignore[override]\n def select(\n self,\n *,\n name: str = ...,\n value: str = ...,\n group: str = ...,\n module: str = ...,\n attr: str = ...,\n extras: list[str] = ...,\n ) -> EntryPoints: ...\n @property\n def names(self) -> set[str]: ...\n @property\n def groups(self) -> set[str]: ...\n\nif sys.version_info >= (3, 10) and sys.version_info < (3, 12):\n class SelectableGroups(dict[str, EntryPoints]): # use as dict is deprecated since 3.10\n @classmethod\n def load(cls, eps: Iterable[EntryPoint]) -> Self: ...\n @property\n def groups(self) -> set[str]: ...\n @property\n def names(self) -> set[str]: ...\n @overload\n def select(self) -> Self: ... # type: ignore[misc]\n @overload\n def select(\n self,\n *,\n name: str = ...,\n value: str = ...,\n group: str = ...,\n module: str = ...,\n attr: str = ...,\n extras: list[str] = ...,\n ) -> EntryPoints: ...\n\nclass PackagePath(pathlib.PurePosixPath):\n def read_text(self, encoding: str = \"utf-8\") -> str: ...\n def read_binary(self) -> bytes: ...\n def locate(self) -> PathLike[str]: ...\n # The following attributes are not defined on PackagePath, but are dynamically added by Distribution.files:\n hash: FileHash | None\n size: int | None\n dist: Distribution\n\nclass FileHash:\n mode: str\n value: str\n def __init__(self, spec: str) -> None: ...\n\nclass Distribution:\n @abc.abstractmethod\n def read_text(self, filename: str) -> str | None: ...\n @abc.abstractmethod\n def locate_file(self, path: StrPath) -> PathLike[str]: ...\n @classmethod\n def from_name(cls, name: str) -> Distribution: ...\n @overload\n @classmethod\n def discover(cls, *, context: DistributionFinder.Context) -> Iterable[Distribution]: ...\n @overload\n @classmethod\n def discover(\n cls, *, context: None = None, name: str | None = ..., path: list[str] = ..., **kwargs: Any\n ) -> Iterable[Distribution]: ...\n @staticmethod\n def at(path: StrPath) -> PathDistribution: ...\n\n if sys.version_info >= (3, 10):\n @property\n def metadata(self) -> PackageMetadata: ...\n @property\n def entry_points(self) -> EntryPoints: ...\n else:\n @property\n def metadata(self) -> Message: ...\n @property\n def entry_points(self) -> list[EntryPoint]: ...\n\n @property\n def version(self) -> str: ...\n @property\n def files(self) -> list[PackagePath] | None: ...\n @property\n def requires(self) -> list[str] | None: ...\n if sys.version_info >= (3, 10):\n @property\n def name(self) -> str: ...\n\nclass DistributionFinder(MetaPathFinder):\n class Context:\n name: str | None\n def __init__(self, *, name: str | None = ..., path: list[str] = ..., **kwargs: Any) -> None: ...\n @property\n def path(self) -> list[str]: ...\n\n @abc.abstractmethod\n def find_distributions(self, context: DistributionFinder.Context = ...) -> Iterable[Distribution]: ...\n\nclass MetadataPathFinder(DistributionFinder):\n @classmethod\n def find_distributions(cls, context: DistributionFinder.Context = ...) -> Iterable[PathDistribution]: ...\n if sys.version_info >= (3, 10):\n # Yes, this is an instance method that has argumend named \"cls\"\n def invalidate_caches(cls) -> None: ...\n\nclass PathDistribution(Distribution):\n _path: Path\n def __init__(self, path: Path) -> None: ...\n def read_text(self, filename: StrPath) -> str: ...\n def locate_file(self, path: StrPath) -> PathLike[str]: ...\n\ndef distribution(distribution_name: str) -> Distribution: ...\n@overload\ndef distributions(*, context: DistributionFinder.Context) -> Iterable[Distribution]: ...\n@overload\ndef distributions(\n *, context: None = None, name: str | None = ..., path: list[str] = ..., **kwargs: Any\n) -> Iterable[Distribution]: ...\n\nif sys.version_info >= (3, 10):\n def metadata(distribution_name: str) -> PackageMetadata: ...\n\nelse:\n def metadata(distribution_name: str) -> Message: ...\n\nif sys.version_info >= (3, 12):\n def entry_points(\n *, name: str = ..., value: str = ..., group: str = ..., module: str = ..., attr: str = ..., extras: list[str] = ...\n ) -> EntryPoints: ...\n\nelif sys.version_info >= (3, 10):\n @overload\n def entry_points() -> SelectableGroups: ... # type: ignore[misc]\n @overload\n def entry_points(\n *, name: str = ..., value: str = ..., group: str = ..., module: str = ..., attr: str = ..., extras: list[str] = ...\n ) -> EntryPoints: ...\n\nelse:\n def entry_points() -> dict[str, list[EntryPoint]]: ...\n\ndef version(distribution_name: str) -> str: ...\ndef files(distribution_name: str) -> list[PackagePath] | None: ...\ndef requires(distribution_name: str) -> list[str] | None: ...\n", + "/typeshed/stdlib/importlib/metadata/_meta.pyi": "import sys\nfrom collections.abc import Iterator\nfrom typing import Any, Protocol, TypeVar, overload\n\n_T = TypeVar(\"_T\")\n\nclass PackageMetadata(Protocol):\n def __len__(self) -> int: ...\n def __contains__(self, item: str) -> bool: ...\n def __getitem__(self, key: str) -> str: ...\n def __iter__(self) -> Iterator[str]: ...\n @property\n def json(self) -> dict[str, str | list[str]]: ...\n @overload\n def get_all(self, name: str, failobj: None = None) -> list[Any] | None: ...\n @overload\n def get_all(self, name: str, failobj: _T) -> list[Any] | _T: ...\n if sys.version_info >= (3, 12):\n @overload\n def get(self, name: str, failobj: None = None) -> str | None: ...\n @overload\n def get(self, name: str, failobj: _T) -> _T | str: ...\n\nif sys.version_info >= (3, 12):\n class SimplePath(Protocol[_T]):\n def joinpath(self) -> _T: ...\n @property\n def parent(self) -> _T: ...\n def read_text(self) -> str: ...\n def __truediv__(self, other: _T | str) -> _T: ...\n\nelse:\n class SimplePath(Protocol):\n def joinpath(self) -> SimplePath: ...\n def parent(self) -> SimplePath: ...\n def read_text(self) -> str: ...\n # There was a bug in `SimplePath` definition in cpython, see #8451\n # Strictly speaking `__div__` was defined in 3.10, not __truediv__,\n # but it should have always been `__truediv__`.\n def __truediv__(self) -> SimplePath: ...\n", + "/typeshed/stdlib/importlib/resources/__init__.pyi": "import os\nimport sys\nfrom collections.abc import Iterator\nfrom contextlib import AbstractContextManager\nfrom pathlib import Path\nfrom types import ModuleType\nfrom typing import Any, BinaryIO, TextIO\nfrom typing_extensions import TypeAlias\n\nif sys.version_info >= (3, 9):\n from importlib.abc import Traversable\n\n__all__ = [\"Package\", \"Resource\", \"contents\", \"is_resource\", \"open_binary\", \"open_text\", \"path\", \"read_binary\", \"read_text\"]\n\nif sys.version_info >= (3, 9):\n __all__ += [\"as_file\", \"files\"]\n\nif sys.version_info >= (3, 10):\n __all__ += [\"ResourceReader\"]\n\nPackage: TypeAlias = str | ModuleType\n\nif sys.version_info >= (3, 11):\n Resource: TypeAlias = str\nelse:\n Resource: TypeAlias = str | os.PathLike[Any]\n\ndef open_binary(package: Package, resource: Resource) -> BinaryIO: ...\ndef open_text(package: Package, resource: Resource, encoding: str = \"utf-8\", errors: str = \"strict\") -> TextIO: ...\ndef read_binary(package: Package, resource: Resource) -> bytes: ...\ndef read_text(package: Package, resource: Resource, encoding: str = \"utf-8\", errors: str = \"strict\") -> str: ...\ndef path(package: Package, resource: Resource) -> AbstractContextManager[Path]: ...\ndef is_resource(package: Package, name: str) -> bool: ...\ndef contents(package: Package) -> Iterator[str]: ...\n\nif sys.version_info >= (3, 9):\n def as_file(path: Traversable) -> AbstractContextManager[Path]: ...\n\nif sys.version_info >= (3, 12):\n def files(anchor: Package | None = ...) -> Traversable: ...\n\nelif sys.version_info >= (3, 9):\n def files(package: Package) -> Traversable: ...\n\nif sys.version_info >= (3, 10):\n from importlib.abc import ResourceReader as ResourceReader\n", + "/typeshed/stdlib/importlib/resources/abc.pyi": "import sys\n\nif sys.version_info >= (3, 11):\n # These are all actually defined in this file on 3.11+,\n # and re-exported from importlib.abc,\n # but it's much less code duplication for typeshed if we pretend that they're still defined\n # in importlib.abc on 3.11+, and re-exported from this file\n from importlib.abc import (\n ResourceReader as ResourceReader,\n Traversable as Traversable,\n TraversableResources as TraversableResources,\n )\n", + "/typeshed/stdlib/importlib/resources/readers.pyi": "# On py311+, things are actually defined here\n# and re-exported from importlib.readers,\n# but doing it this way leads to less code duplication for us\n\nimport sys\nfrom collections.abc import Iterable, Iterator\nfrom typing import TypeVar\n\nif sys.version_info >= (3, 11):\n from importlib.readers import *\n\n _T = TypeVar(\"_T\")\n\n def remove_duplicates(items: Iterable[_T]) -> Iterator[_T]: ...\n", + "/typeshed/stdlib/importlib/resources/simple.pyi": "import abc\nimport sys\nfrom _typeshed import Incomplete, OpenBinaryMode, OpenTextMode, Unused\nfrom collections.abc import Iterator\nfrom io import TextIOWrapper\nfrom typing import IO, Any, BinaryIO, NoReturn, overload\nfrom typing_extensions import Literal, Never\n\nif sys.version_info >= (3, 11):\n from .abc import Traversable, TraversableResources\n\n class SimpleReader(abc.ABC):\n @property\n @abc.abstractmethod\n def package(self) -> str: ...\n @abc.abstractmethod\n def children(self) -> list[SimpleReader]: ...\n @abc.abstractmethod\n def resources(self) -> list[str]: ...\n @abc.abstractmethod\n def open_binary(self, resource: str) -> BinaryIO: ...\n @property\n def name(self) -> str: ...\n\n class ResourceHandle(Traversable, metaclass=abc.ABCMeta):\n parent: ResourceContainer\n def __init__(self, parent: ResourceContainer, name: str) -> None: ...\n def is_file(self) -> Literal[True]: ...\n def is_dir(self) -> Literal[False]: ...\n @overload\n def open(self, mode: OpenTextMode = \"r\", *args: Incomplete, **kwargs: Incomplete) -> TextIOWrapper: ...\n @overload\n def open(self, mode: OpenBinaryMode, *args: Unused, **kwargs: Unused) -> BinaryIO: ...\n @overload\n def open(self, mode: str, *args: Incomplete, **kwargs: Incomplete) -> IO[Any]: ...\n def joinpath(self, name: Never) -> NoReturn: ... # type: ignore[override]\n\n class ResourceContainer(Traversable, metaclass=abc.ABCMeta):\n reader: SimpleReader\n def __init__(self, reader: SimpleReader) -> None: ...\n def is_dir(self) -> Literal[True]: ...\n def is_file(self) -> Literal[False]: ...\n def iterdir(self) -> Iterator[ResourceHandle | ResourceContainer]: ...\n def open(self, *args: Never, **kwargs: Never) -> NoReturn: ... # type: ignore[override]\n if sys.version_info < (3, 12):\n def joinpath(self, *descendants: str) -> Traversable: ...\n\n class TraversableReader(TraversableResources, SimpleReader, metaclass=abc.ABCMeta):\n def files(self) -> ResourceContainer: ...\n", + "/typeshed/stdlib/json/__init__.pyi": "from _typeshed import SupportsRead, SupportsWrite\nfrom collections.abc import Callable\nfrom typing import Any\n\nfrom .decoder import JSONDecodeError as JSONDecodeError, JSONDecoder as JSONDecoder\nfrom .encoder import JSONEncoder as JSONEncoder\n\n__all__ = [\"dump\", \"dumps\", \"load\", \"loads\", \"JSONDecoder\", \"JSONDecodeError\", \"JSONEncoder\"]\n\ndef dumps(\n obj: Any,\n *,\n skipkeys: bool = False,\n ensure_ascii: bool = True,\n check_circular: bool = True,\n allow_nan: bool = True,\n cls: type[JSONEncoder] | None = None,\n indent: None | int | str = None,\n separators: tuple[str, str] | None = None,\n default: Callable[[Any], Any] | None = None,\n sort_keys: bool = False,\n **kwds: Any,\n) -> str: ...\ndef dump(\n obj: Any,\n fp: SupportsWrite[str],\n *,\n skipkeys: bool = False,\n ensure_ascii: bool = True,\n check_circular: bool = True,\n allow_nan: bool = True,\n cls: type[JSONEncoder] | None = None,\n indent: None | int | str = None,\n separators: tuple[str, str] | None = None,\n default: Callable[[Any], Any] | None = None,\n sort_keys: bool = False,\n **kwds: Any,\n) -> None: ...\ndef loads(\n s: str | bytes | bytearray,\n *,\n cls: type[JSONDecoder] | None = None,\n object_hook: Callable[[dict[Any, Any]], Any] | None = None,\n parse_float: Callable[[str], Any] | None = None,\n parse_int: Callable[[str], Any] | None = None,\n parse_constant: Callable[[str], Any] | None = None,\n object_pairs_hook: Callable[[list[tuple[Any, Any]]], Any] | None = None,\n **kwds: Any,\n) -> Any: ...\ndef load(\n fp: SupportsRead[str | bytes],\n *,\n cls: type[JSONDecoder] | None = None,\n object_hook: Callable[[dict[Any, Any]], Any] | None = None,\n parse_float: Callable[[str], Any] | None = None,\n parse_int: Callable[[str], Any] | None = None,\n parse_constant: Callable[[str], Any] | None = None,\n object_pairs_hook: Callable[[list[tuple[Any, Any]]], Any] | None = None,\n **kwds: Any,\n) -> Any: ...\ndef detect_encoding(b: bytes | bytearray) -> str: ... # undocumented\n", + "/typeshed/stdlib/json/decoder.pyi": "from collections.abc import Callable\nfrom typing import Any\n\n__all__ = [\"JSONDecoder\", \"JSONDecodeError\"]\n\nclass JSONDecodeError(ValueError):\n msg: str\n doc: str\n pos: int\n lineno: int\n colno: int\n def __init__(self, msg: str, doc: str, pos: int) -> None: ...\n\nclass JSONDecoder:\n object_hook: Callable[[dict[str, Any]], Any]\n parse_float: Callable[[str], Any]\n parse_int: Callable[[str], Any]\n parse_constant: Callable[[str], Any]\n strict: bool\n object_pairs_hook: Callable[[list[tuple[str, Any]]], Any]\n def __init__(\n self,\n *,\n object_hook: Callable[[dict[str, Any]], Any] | None = None,\n parse_float: Callable[[str], Any] | None = None,\n parse_int: Callable[[str], Any] | None = None,\n parse_constant: Callable[[str], Any] | None = None,\n strict: bool = True,\n object_pairs_hook: Callable[[list[tuple[str, Any]]], Any] | None = None,\n ) -> None: ...\n def decode(self, s: str, _w: Callable[..., Any] = ...) -> Any: ... # _w is undocumented\n def raw_decode(self, s: str, idx: int = 0) -> tuple[Any, int]: ...\n", + "/typeshed/stdlib/json/encoder.pyi": "from collections.abc import Callable, Iterator\nfrom re import Pattern\nfrom typing import Any\n\nESCAPE: Pattern[str]\nESCAPE_ASCII: Pattern[str]\nHAS_UTF8: Pattern[bytes]\nESCAPE_DCT: dict[str, str]\nINFINITY: float\n\ndef py_encode_basestring(s: str) -> str: ... # undocumented\ndef py_encode_basestring_ascii(s: str) -> str: ... # undocumented\n\nclass JSONEncoder:\n item_separator: str\n key_separator: str\n\n skipkeys: bool\n ensure_ascii: bool\n check_circular: bool\n allow_nan: bool\n sort_keys: bool\n indent: int | str\n def __init__(\n self,\n *,\n skipkeys: bool = False,\n ensure_ascii: bool = True,\n check_circular: bool = True,\n allow_nan: bool = True,\n sort_keys: bool = False,\n indent: int | str | None = None,\n separators: tuple[str, str] | None = None,\n default: Callable[..., Any] | None = None,\n ) -> None: ...\n def default(self, o: Any) -> Any: ...\n def encode(self, o: Any) -> str: ...\n def iterencode(self, o: Any, _one_shot: bool = False) -> Iterator[str]: ...\n", + "/typeshed/stdlib/json/tool.pyi": "def main() -> None: ...\n", + "/typeshed/stdlib/logging/__init__.pyi": "import sys\nimport threading\nfrom _typeshed import StrPath, SupportsWrite\nfrom collections.abc import Callable, Iterable, Mapping, MutableMapping, Sequence\nfrom io import TextIOWrapper\nfrom re import Pattern\nfrom string import Template\nfrom time import struct_time\nfrom types import FrameType, TracebackType\nfrom typing import Any, ClassVar, Generic, TextIO, TypeVar, overload\nfrom typing_extensions import Literal, Self, TypeAlias\n\nif sys.version_info >= (3, 11):\n from types import GenericAlias\n\n__all__ = [\n \"BASIC_FORMAT\",\n \"BufferingFormatter\",\n \"CRITICAL\",\n \"DEBUG\",\n \"ERROR\",\n \"FATAL\",\n \"FileHandler\",\n \"Filter\",\n \"Formatter\",\n \"Handler\",\n \"INFO\",\n \"LogRecord\",\n \"Logger\",\n \"LoggerAdapter\",\n \"NOTSET\",\n \"NullHandler\",\n \"StreamHandler\",\n \"WARN\",\n \"WARNING\",\n \"addLevelName\",\n \"basicConfig\",\n \"captureWarnings\",\n \"critical\",\n \"debug\",\n \"disable\",\n \"error\",\n \"exception\",\n \"fatal\",\n \"getLevelName\",\n \"getLogger\",\n \"getLoggerClass\",\n \"info\",\n \"log\",\n \"makeLogRecord\",\n \"setLoggerClass\",\n \"shutdown\",\n \"warn\",\n \"warning\",\n \"getLogRecordFactory\",\n \"setLogRecordFactory\",\n \"lastResort\",\n \"raiseExceptions\",\n]\n\nif sys.version_info >= (3, 11):\n __all__ += [\"getLevelNamesMapping\"]\nif sys.version_info >= (3, 12):\n __all__ += [\"getHandlerByName\", \"getHandlerNames\"]\n\n_SysExcInfoType: TypeAlias = tuple[type[BaseException], BaseException, TracebackType | None] | tuple[None, None, None]\n_ExcInfoType: TypeAlias = None | bool | _SysExcInfoType | BaseException\n_ArgsType: TypeAlias = tuple[object, ...] | Mapping[str, object]\n_FilterType: TypeAlias = Filter | Callable[[LogRecord], bool]\n_Level: TypeAlias = int | str\n_FormatStyle: TypeAlias = Literal[\"%\", \"{\", \"$\"]\n\nraiseExceptions: bool\nlogThreads: bool\nlogMultiprocessing: bool\nlogProcesses: bool\n_srcfile: str | None\n\ndef currentframe() -> FrameType: ...\n\n_levelToName: dict[int, str]\n_nameToLevel: dict[str, int]\n\nclass Filterer:\n filters: list[_FilterType]\n def addFilter(self, filter: _FilterType) -> None: ...\n def removeFilter(self, filter: _FilterType) -> None: ...\n if sys.version_info >= (3, 12):\n def filter(self, record: LogRecord) -> bool | LogRecord: ...\n else:\n def filter(self, record: LogRecord) -> bool: ...\n\nclass Manager: # undocumented\n root: RootLogger\n disable: int\n emittedNoHandlerWarning: bool\n loggerDict: dict[str, Logger | PlaceHolder]\n loggerClass: type[Logger] | None\n logRecordFactory: Callable[..., LogRecord] | None\n def __init__(self, rootnode: RootLogger) -> None: ...\n def getLogger(self, name: str) -> Logger: ...\n def setLoggerClass(self, klass: type[Logger]) -> None: ...\n def setLogRecordFactory(self, factory: Callable[..., LogRecord]) -> None: ...\n\nclass Logger(Filterer):\n name: str # undocumented\n level: int # undocumented\n parent: Logger | None # undocumented\n propagate: bool\n handlers: list[Handler] # undocumented\n disabled: bool # undocumented\n root: ClassVar[RootLogger] # undocumented\n manager: Manager # undocumented\n def __init__(self, name: str, level: _Level = 0) -> None: ...\n def setLevel(self, level: _Level) -> None: ...\n def isEnabledFor(self, level: int) -> bool: ...\n def getEffectiveLevel(self) -> int: ...\n def getChild(self, suffix: str) -> Self: ... # see python/typing#980\n if sys.version_info >= (3, 12):\n def getChildren(self) -> set[Logger]: ...\n if sys.version_info >= (3, 8):\n def debug(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def info(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def warning(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def warn(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def error(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def exception(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = True,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def critical(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def log(\n self,\n level: int,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def _log(\n self,\n level: int,\n msg: object,\n args: _ArgsType,\n exc_info: _ExcInfoType | None = None,\n extra: Mapping[str, object] | None = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n ) -> None: ... # undocumented\n else:\n def debug(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def info(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def warning(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def warn(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def error(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def critical(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def log(\n self,\n level: int,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def exception(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = True,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def _log(\n self,\n level: int,\n msg: object,\n args: _ArgsType,\n exc_info: _ExcInfoType | None = None,\n extra: Mapping[str, object] | None = None,\n stack_info: bool = False,\n ) -> None: ... # undocumented\n fatal = critical\n def addHandler(self, hdlr: Handler) -> None: ...\n def removeHandler(self, hdlr: Handler) -> None: ...\n if sys.version_info >= (3, 8):\n def findCaller(self, stack_info: bool = False, stacklevel: int = 1) -> tuple[str, int, str, str | None]: ...\n else:\n def findCaller(self, stack_info: bool = False) -> tuple[str, int, str, str | None]: ...\n\n def handle(self, record: LogRecord) -> None: ...\n def makeRecord(\n self,\n name: str,\n level: int,\n fn: str,\n lno: int,\n msg: object,\n args: _ArgsType,\n exc_info: _SysExcInfoType | None,\n func: str | None = None,\n extra: Mapping[str, object] | None = None,\n sinfo: str | None = None,\n ) -> LogRecord: ...\n def hasHandlers(self) -> bool: ...\n def callHandlers(self, record: LogRecord) -> None: ... # undocumented\n\nCRITICAL: int\nFATAL: int\nERROR: int\nWARNING: int\nWARN: int\nINFO: int\nDEBUG: int\nNOTSET: int\n\nclass Handler(Filterer):\n level: int # undocumented\n formatter: Formatter | None # undocumented\n lock: threading.Lock | None # undocumented\n name: str | None # undocumented\n def __init__(self, level: _Level = 0) -> None: ...\n def get_name(self) -> str: ... # undocumented\n def set_name(self, name: str) -> None: ... # undocumented\n def createLock(self) -> None: ...\n def acquire(self) -> None: ...\n def release(self) -> None: ...\n def setLevel(self, level: _Level) -> None: ...\n def setFormatter(self, fmt: Formatter | None) -> None: ...\n def flush(self) -> None: ...\n def close(self) -> None: ...\n def handle(self, record: LogRecord) -> bool: ...\n def handleError(self, record: LogRecord) -> None: ...\n def format(self, record: LogRecord) -> str: ...\n def emit(self, record: LogRecord) -> None: ...\n\nif sys.version_info >= (3, 12):\n def getHandlerByName(name: str) -> Handler | None: ...\n def getHandlerNames() -> frozenset[str]: ...\n\nclass Formatter:\n converter: Callable[[float | None], struct_time]\n _fmt: str | None # undocumented\n datefmt: str | None # undocumented\n _style: PercentStyle # undocumented\n default_time_format: str\n if sys.version_info >= (3, 9):\n default_msec_format: str | None\n else:\n default_msec_format: str\n\n if sys.version_info >= (3, 10):\n def __init__(\n self,\n fmt: str | None = None,\n datefmt: str | None = None,\n style: _FormatStyle = \"%\",\n validate: bool = True,\n *,\n defaults: Mapping[str, Any] | None = None,\n ) -> None: ...\n elif sys.version_info >= (3, 8):\n def __init__(\n self, fmt: str | None = None, datefmt: str | None = None, style: _FormatStyle = \"%\", validate: bool = True\n ) -> None: ...\n else:\n def __init__(self, fmt: str | None = None, datefmt: str | None = None, style: _FormatStyle = \"%\") -> None: ...\n\n def format(self, record: LogRecord) -> str: ...\n def formatTime(self, record: LogRecord, datefmt: str | None = None) -> str: ...\n def formatException(self, ei: _SysExcInfoType) -> str: ...\n def formatMessage(self, record: LogRecord) -> str: ... # undocumented\n def formatStack(self, stack_info: str) -> str: ...\n def usesTime(self) -> bool: ... # undocumented\n\nclass BufferingFormatter:\n linefmt: Formatter\n def __init__(self, linefmt: Formatter | None = None) -> None: ...\n def formatHeader(self, records: Sequence[LogRecord]) -> str: ...\n def formatFooter(self, records: Sequence[LogRecord]) -> str: ...\n def format(self, records: Sequence[LogRecord]) -> str: ...\n\nclass Filter:\n name: str # undocumented\n nlen: int # undocumented\n def __init__(self, name: str = \"\") -> None: ...\n if sys.version_info >= (3, 12):\n def filter(self, record: LogRecord) -> bool | LogRecord: ...\n else:\n def filter(self, record: LogRecord) -> bool: ...\n\nclass LogRecord:\n # args can be set to None by logging.handlers.QueueHandler\n # (see https://bugs.python.org/issue44473)\n args: _ArgsType | None\n asctime: str\n created: float\n exc_info: _SysExcInfoType | None\n exc_text: str | None\n filename: str\n funcName: str\n levelname: str\n levelno: int\n lineno: int\n module: str\n msecs: float\n # Only created when logging.Formatter.format is called. See #6132.\n message: str\n msg: str | Any # The runtime accepts any object, but will be a str in 99% of cases\n name: str\n pathname: str\n process: int | None\n processName: str | None\n relativeCreated: float\n stack_info: str | None\n thread: int | None\n threadName: str | None\n def __init__(\n self,\n name: str,\n level: int,\n pathname: str,\n lineno: int,\n msg: object,\n args: _ArgsType | None,\n exc_info: _SysExcInfoType | None,\n func: str | None = None,\n sinfo: str | None = None,\n ) -> None: ...\n def getMessage(self) -> str: ...\n # Allows setting contextual information on LogRecord objects as per the docs, see #7833\n def __setattr__(self, __name: str, __value: Any) -> None: ...\n\n_L = TypeVar(\"_L\", bound=Logger | LoggerAdapter[Any])\n\nclass LoggerAdapter(Generic[_L]):\n logger: _L\n manager: Manager # undocumented\n if sys.version_info >= (3, 10):\n extra: Mapping[str, object] | None\n def __init__(self, logger: _L, extra: Mapping[str, object] | None = None) -> None: ...\n else:\n extra: Mapping[str, object]\n def __init__(self, logger: _L, extra: Mapping[str, object]) -> None: ...\n\n def process(self, msg: Any, kwargs: MutableMapping[str, Any]) -> tuple[Any, MutableMapping[str, Any]]: ...\n if sys.version_info >= (3, 8):\n def debug(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n def info(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n def warning(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n def warn(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n def error(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n def exception(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = True,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n def critical(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n def log(\n self,\n level: int,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n else:\n def debug(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n def info(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n def warning(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n def warn(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n def error(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n def exception(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = True,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n def critical(\n self,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n def log(\n self,\n level: int,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n **kwargs: object,\n ) -> None: ...\n\n def isEnabledFor(self, level: int) -> bool: ...\n def getEffectiveLevel(self) -> int: ...\n def setLevel(self, level: _Level) -> None: ...\n def hasHandlers(self) -> bool: ...\n def _log(\n self,\n level: int,\n msg: object,\n args: _ArgsType,\n exc_info: _ExcInfoType | None = None,\n extra: Mapping[str, object] | None = None,\n stack_info: bool = False,\n ) -> None: ... # undocumented\n @property\n def name(self) -> str: ... # undocumented\n if sys.version_info >= (3, 11):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\ndef getLogger(name: str | None = None) -> Logger: ...\ndef getLoggerClass() -> type[Logger]: ...\ndef getLogRecordFactory() -> Callable[..., LogRecord]: ...\n\nif sys.version_info >= (3, 8):\n def debug(\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def info(\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def warning(\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def warn(\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def error(\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def critical(\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def exception(\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = True,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def log(\n level: int,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n stacklevel: int = 1,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n\nelse:\n def debug(\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def info(\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def warning(\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def warn(\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def error(\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def critical(\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def exception(\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = True,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n def log(\n level: int,\n msg: object,\n *args: object,\n exc_info: _ExcInfoType = None,\n stack_info: bool = False,\n extra: Mapping[str, object] | None = None,\n ) -> None: ...\n\nfatal = critical\n\ndef disable(level: int = 50) -> None: ...\ndef addLevelName(level: int, levelName: str) -> None: ...\ndef getLevelName(level: _Level) -> Any: ...\n\nif sys.version_info >= (3, 11):\n def getLevelNamesMapping() -> dict[str, int]: ...\n\ndef makeLogRecord(dict: Mapping[str, object]) -> LogRecord: ...\n\nif sys.version_info >= (3, 9):\n def basicConfig(\n *,\n filename: StrPath | None = ...,\n filemode: str = ...,\n format: str = ...,\n datefmt: str | None = ...,\n style: _FormatStyle = ...,\n level: _Level | None = ...,\n stream: SupportsWrite[str] | None = ...,\n handlers: Iterable[Handler] | None = ...,\n force: bool | None = ...,\n encoding: str | None = ...,\n errors: str | None = ...,\n ) -> None: ...\n\nelif sys.version_info >= (3, 8):\n def basicConfig(\n *,\n filename: StrPath | None = ...,\n filemode: str = ...,\n format: str = ...,\n datefmt: str | None = ...,\n style: _FormatStyle = ...,\n level: _Level | None = ...,\n stream: SupportsWrite[str] | None = ...,\n handlers: Iterable[Handler] | None = ...,\n force: bool = ...,\n ) -> None: ...\n\nelse:\n def basicConfig(\n *,\n filename: StrPath | None = ...,\n filemode: str = ...,\n format: str = ...,\n datefmt: str | None = ...,\n style: _FormatStyle = ...,\n level: _Level | None = ...,\n stream: SupportsWrite[str] | None = ...,\n handlers: Iterable[Handler] | None = ...,\n ) -> None: ...\n\ndef shutdown(handlerList: Sequence[Any] = ...) -> None: ... # handlerList is undocumented\ndef setLoggerClass(klass: type[Logger]) -> None: ...\ndef captureWarnings(capture: bool) -> None: ...\ndef setLogRecordFactory(factory: Callable[..., LogRecord]) -> None: ...\n\nlastResort: StreamHandler[Any] | None\n\n_StreamT = TypeVar(\"_StreamT\", bound=SupportsWrite[str])\n\nclass StreamHandler(Handler, Generic[_StreamT]):\n stream: _StreamT # undocumented\n terminator: str\n @overload\n def __init__(self: StreamHandler[TextIO], stream: None = None) -> None: ...\n @overload\n def __init__(self: StreamHandler[_StreamT], stream: _StreamT) -> None: ...\n def setStream(self, stream: _StreamT) -> _StreamT | None: ...\n if sys.version_info >= (3, 11):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass FileHandler(StreamHandler[TextIOWrapper]):\n baseFilename: str # undocumented\n mode: str # undocumented\n encoding: str | None # undocumented\n delay: bool # undocumented\n if sys.version_info >= (3, 9):\n errors: str | None # undocumented\n def __init__(\n self, filename: StrPath, mode: str = \"a\", encoding: str | None = None, delay: bool = False, errors: str | None = None\n ) -> None: ...\n else:\n def __init__(self, filename: StrPath, mode: str = \"a\", encoding: str | None = None, delay: bool = False) -> None: ...\n\n def _open(self) -> TextIOWrapper: ... # undocumented\n\nclass NullHandler(Handler): ...\n\nclass PlaceHolder: # undocumented\n loggerMap: dict[Logger, None]\n def __init__(self, alogger: Logger) -> None: ...\n def append(self, alogger: Logger) -> None: ...\n\n# Below aren't in module docs but still visible\n\nclass RootLogger(Logger):\n def __init__(self, level: int) -> None: ...\n\nroot: RootLogger\n\nclass PercentStyle: # undocumented\n default_format: str\n asctime_format: str\n asctime_search: str\n if sys.version_info >= (3, 8):\n validation_pattern: Pattern[str]\n _fmt: str\n if sys.version_info >= (3, 10):\n def __init__(self, fmt: str, *, defaults: Mapping[str, Any] | None = None) -> None: ...\n else:\n def __init__(self, fmt: str) -> None: ...\n\n def usesTime(self) -> bool: ...\n if sys.version_info >= (3, 8):\n def validate(self) -> None: ...\n\n def format(self, record: Any) -> str: ...\n\nclass StrFormatStyle(PercentStyle): # undocumented\n fmt_spec: Pattern[str]\n field_spec: Pattern[str]\n\nclass StringTemplateStyle(PercentStyle): # undocumented\n _tpl: Template\n\n_STYLES: dict[str, tuple[PercentStyle, str]]\n\nBASIC_FORMAT: str\n", + "/typeshed/stdlib/logging/config.pyi": "import sys\nfrom _typeshed import StrOrBytesPath\nfrom collections.abc import Callable, Hashable, Iterable, Sequence\nfrom configparser import RawConfigParser\nfrom re import Pattern\nfrom threading import Thread\nfrom typing import IO, Any, overload\nfrom typing_extensions import Literal, SupportsIndex, TypeAlias, TypedDict\n\nfrom . import Filter, Filterer, Formatter, Handler, Logger, _FilterType, _FormatStyle, _Level\n\nDEFAULT_LOGGING_CONFIG_PORT: int\nRESET_ERROR: int # undocumented\nIDENTIFIER: Pattern[str] # undocumented\n\nif sys.version_info >= (3, 11):\n class _RootLoggerConfiguration(TypedDict, total=False):\n level: _Level\n filters: Sequence[str | _FilterType]\n handlers: Sequence[str]\n\nelse:\n class _RootLoggerConfiguration(TypedDict, total=False):\n level: _Level\n filters: Sequence[str]\n handlers: Sequence[str]\n\nclass _LoggerConfiguration(_RootLoggerConfiguration, TypedDict, total=False):\n propagate: bool\n\nif sys.version_info >= (3, 8):\n _FormatterConfigurationTypedDict = TypedDict(\n \"_FormatterConfigurationTypedDict\", {\"class\": str, \"format\": str, \"datefmt\": str, \"style\": _FormatStyle}, total=False\n )\nelse:\n _FormatterConfigurationTypedDict = TypedDict(\n \"_FormatterConfigurationTypedDict\",\n {\"class\": str, \"format\": str, \"datefmt\": str, \"style\": _FormatStyle, \"validate\": bool},\n total=False,\n )\n\nclass _FilterConfigurationTypedDict(TypedDict):\n name: str\n\n# Formatter and filter configs can specify custom factories via the special `()` key.\n# If that is the case, the dictionary can contain any additional keys\n# https://docs.python.org/3/library/logging.config.html#user-defined-objects\n_FormatterConfiguration: TypeAlias = _FormatterConfigurationTypedDict | dict[str, Any]\n_FilterConfiguration: TypeAlias = _FilterConfigurationTypedDict | dict[str, Any]\n# Handler config can have additional keys even when not providing a custom factory so we just use `dict`.\n_HandlerConfiguration: TypeAlias = dict[str, Any]\n\nclass _OptionalDictConfigArgs(TypedDict, total=False):\n formatters: dict[str, _FormatterConfiguration]\n filters: dict[str, _FilterConfiguration]\n handlers: dict[str, _HandlerConfiguration]\n loggers: dict[str, _LoggerConfiguration]\n root: _RootLoggerConfiguration | None\n incremental: bool\n disable_existing_loggers: bool\n\nclass _DictConfigArgs(_OptionalDictConfigArgs, TypedDict):\n version: Literal[1]\n\n# Accept dict[str, Any] to avoid false positives if called with a dict\n# type, since dict types are not compatible with TypedDicts.\n#\n# Also accept a TypedDict type, to allow callers to use TypedDict\n# types, and for somewhat stricter type checking of dict literals.\ndef dictConfig(config: _DictConfigArgs | dict[str, Any]) -> None: ...\n\nif sys.version_info >= (3, 10):\n def fileConfig(\n fname: StrOrBytesPath | IO[str] | RawConfigParser,\n defaults: dict[str, str] | None = None,\n disable_existing_loggers: bool = True,\n encoding: str | None = None,\n ) -> None: ...\n\nelse:\n def fileConfig(\n fname: StrOrBytesPath | IO[str] | RawConfigParser,\n defaults: dict[str, str] | None = None,\n disable_existing_loggers: bool = True,\n ) -> None: ...\n\ndef valid_ident(s: str) -> Literal[True]: ... # undocumented\ndef listen(port: int = 9030, verify: Callable[[bytes], bytes | None] | None = None) -> Thread: ...\ndef stopListening() -> None: ...\n\nclass ConvertingMixin: # undocumented\n def convert_with_key(self, key: Any, value: Any, replace: bool = True) -> Any: ...\n def convert(self, value: Any) -> Any: ...\n\nclass ConvertingDict(dict[Hashable, Any], ConvertingMixin): # undocumented\n def __getitem__(self, key: Hashable) -> Any: ...\n def get(self, key: Hashable, default: Any = None) -> Any: ...\n def pop(self, key: Hashable, default: Any = None) -> Any: ...\n\nclass ConvertingList(list[Any], ConvertingMixin): # undocumented\n @overload\n def __getitem__(self, key: SupportsIndex) -> Any: ...\n @overload\n def __getitem__(self, key: slice) -> Any: ...\n def pop(self, idx: SupportsIndex = -1) -> Any: ...\n\nclass ConvertingTuple(tuple[Any, ...], ConvertingMixin): # undocumented\n @overload\n def __getitem__(self, key: SupportsIndex) -> Any: ...\n @overload\n def __getitem__(self, key: slice) -> Any: ...\n\nclass BaseConfigurator: # undocumented\n CONVERT_PATTERN: Pattern[str]\n WORD_PATTERN: Pattern[str]\n DOT_PATTERN: Pattern[str]\n INDEX_PATTERN: Pattern[str]\n DIGIT_PATTERN: Pattern[str]\n value_converters: dict[str, str]\n importer: Callable[..., Any]\n\n def __init__(self, config: _DictConfigArgs | dict[str, Any]) -> None: ...\n def resolve(self, s: str) -> Any: ...\n def ext_convert(self, value: str) -> Any: ...\n def cfg_convert(self, value: str) -> Any: ...\n def convert(self, value: Any) -> Any: ...\n def configure_custom(self, config: dict[str, Any]) -> Any: ...\n def as_tuple(self, value: list[Any] | tuple[Any]) -> tuple[Any]: ...\n\nclass DictConfigurator(BaseConfigurator):\n def configure(self) -> None: ... # undocumented\n def configure_formatter(self, config: _FormatterConfiguration) -> Formatter | Any: ... # undocumented\n def configure_filter(self, config: _FilterConfiguration) -> Filter | Any: ... # undocumented\n def add_filters(self, filterer: Filterer, filters: Iterable[_FilterType]) -> None: ... # undocumented\n def configure_handler(self, config: _HandlerConfiguration) -> Handler | Any: ... # undocumented\n def add_handlers(self, logger: Logger, handlers: Iterable[str]) -> None: ... # undocumented\n def common_logger_config(\n self, logger: Logger, config: _LoggerConfiguration, incremental: bool = False\n ) -> None: ... # undocumented\n def configure_logger(self, name: str, config: _LoggerConfiguration, incremental: bool = False) -> None: ... # undocumented\n def configure_root(self, config: _LoggerConfiguration, incremental: bool = False) -> None: ... # undocumented\n\ndictConfigClass = DictConfigurator\n", + "/typeshed/stdlib/logging/handlers.pyi": "import datetime\nimport http.client\nimport ssl\nimport sys\nfrom _typeshed import ReadableBuffer, StrPath\nfrom collections.abc import Callable\nfrom logging import FileHandler, Handler, LogRecord\nfrom re import Pattern\nfrom socket import SocketKind, socket\nfrom threading import Thread\nfrom typing import Any, ClassVar, Protocol, TypeVar\n\n_T = TypeVar(\"_T\")\n\nDEFAULT_TCP_LOGGING_PORT: int\nDEFAULT_UDP_LOGGING_PORT: int\nDEFAULT_HTTP_LOGGING_PORT: int\nDEFAULT_SOAP_LOGGING_PORT: int\nSYSLOG_UDP_PORT: int\nSYSLOG_TCP_PORT: int\n\nclass WatchedFileHandler(FileHandler):\n dev: int # undocumented\n ino: int # undocumented\n if sys.version_info >= (3, 9):\n def __init__(\n self, filename: StrPath, mode: str = \"a\", encoding: str | None = None, delay: bool = False, errors: str | None = None\n ) -> None: ...\n else:\n def __init__(self, filename: StrPath, mode: str = \"a\", encoding: str | None = None, delay: bool = False) -> None: ...\n\n def _statstream(self) -> None: ... # undocumented\n def reopenIfNeeded(self) -> None: ...\n\nclass BaseRotatingHandler(FileHandler):\n namer: Callable[[str], str] | None\n rotator: Callable[[str, str], None] | None\n if sys.version_info >= (3, 9):\n def __init__(\n self, filename: StrPath, mode: str, encoding: str | None = None, delay: bool = False, errors: str | None = None\n ) -> None: ...\n else:\n def __init__(self, filename: StrPath, mode: str, encoding: str | None = None, delay: bool = False) -> None: ...\n\n def rotation_filename(self, default_name: str) -> str: ...\n def rotate(self, source: str, dest: str) -> None: ...\n\nclass RotatingFileHandler(BaseRotatingHandler):\n maxBytes: str # undocumented\n backupCount: int # undocumented\n if sys.version_info >= (3, 9):\n def __init__(\n self,\n filename: StrPath,\n mode: str = \"a\",\n maxBytes: int = 0,\n backupCount: int = 0,\n encoding: str | None = None,\n delay: bool = False,\n errors: str | None = None,\n ) -> None: ...\n else:\n def __init__(\n self,\n filename: StrPath,\n mode: str = \"a\",\n maxBytes: int = 0,\n backupCount: int = 0,\n encoding: str | None = None,\n delay: bool = False,\n ) -> None: ...\n\n def doRollover(self) -> None: ...\n def shouldRollover(self, record: LogRecord) -> int: ... # undocumented\n\nclass TimedRotatingFileHandler(BaseRotatingHandler):\n when: str # undocumented\n backupCount: int # undocumented\n utc: bool # undocumented\n atTime: datetime.time | None # undocumented\n interval: int # undocumented\n suffix: str # undocumented\n dayOfWeek: int # undocumented\n rolloverAt: int # undocumented\n extMatch: Pattern[str] # undocumented\n if sys.version_info >= (3, 9):\n def __init__(\n self,\n filename: StrPath,\n when: str = \"h\",\n interval: int = 1,\n backupCount: int = 0,\n encoding: str | None = None,\n delay: bool = False,\n utc: bool = False,\n atTime: datetime.time | None = None,\n errors: str | None = None,\n ) -> None: ...\n else:\n def __init__(\n self,\n filename: StrPath,\n when: str = \"h\",\n interval: int = 1,\n backupCount: int = 0,\n encoding: str | None = None,\n delay: bool = False,\n utc: bool = False,\n atTime: datetime.time | None = None,\n ) -> None: ...\n\n def doRollover(self) -> None: ...\n def shouldRollover(self, record: LogRecord) -> int: ... # undocumented\n def computeRollover(self, currentTime: int) -> int: ... # undocumented\n def getFilesToDelete(self) -> list[str]: ... # undocumented\n\nclass SocketHandler(Handler):\n host: str # undocumented\n port: int | None # undocumented\n address: tuple[str, int] | str # undocumented\n sock: socket | None # undocumented\n closeOnError: bool # undocumented\n retryTime: float | None # undocumented\n retryStart: float # undocumented\n retryFactor: float # undocumented\n retryMax: float # undocumented\n def __init__(self, host: str, port: int | None) -> None: ...\n def makeSocket(self, timeout: float = 1) -> socket: ... # timeout is undocumented\n def makePickle(self, record: LogRecord) -> bytes: ...\n def send(self, s: ReadableBuffer) -> None: ...\n def createSocket(self) -> None: ...\n\nclass DatagramHandler(SocketHandler):\n def makeSocket(self) -> socket: ... # type: ignore[override]\n\nclass SysLogHandler(Handler):\n LOG_EMERG: int\n LOG_ALERT: int\n LOG_CRIT: int\n LOG_ERR: int\n LOG_WARNING: int\n LOG_NOTICE: int\n LOG_INFO: int\n LOG_DEBUG: int\n\n LOG_KERN: int\n LOG_USER: int\n LOG_MAIL: int\n LOG_DAEMON: int\n LOG_AUTH: int\n LOG_SYSLOG: int\n LOG_LPR: int\n LOG_NEWS: int\n LOG_UUCP: int\n LOG_CRON: int\n LOG_AUTHPRIV: int\n LOG_FTP: int\n\n if sys.version_info >= (3, 9):\n LOG_NTP: int\n LOG_SECURITY: int\n LOG_CONSOLE: int\n LOG_SOLCRON: int\n\n LOG_LOCAL0: int\n LOG_LOCAL1: int\n LOG_LOCAL2: int\n LOG_LOCAL3: int\n LOG_LOCAL4: int\n LOG_LOCAL5: int\n LOG_LOCAL6: int\n LOG_LOCAL7: int\n address: tuple[str, int] | str # undocumented\n unixsocket: bool # undocumented\n socktype: SocketKind # undocumented\n ident: str # undocumented\n append_nul: bool # undocumented\n facility: int # undocumented\n priority_names: ClassVar[dict[str, int]] # undocumented\n facility_names: ClassVar[dict[str, int]] # undocumented\n priority_map: ClassVar[dict[str, str]] # undocumented\n def __init__(\n self, address: tuple[str, int] | str = (\"localhost\", 514), facility: str | int = 1, socktype: SocketKind | None = None\n ) -> None: ...\n if sys.version_info >= (3, 11):\n def createSocket(self) -> None: ...\n\n def encodePriority(self, facility: int | str, priority: int | str) -> int: ...\n def mapPriority(self, levelName: str) -> str: ...\n\nclass NTEventLogHandler(Handler):\n def __init__(self, appname: str, dllname: str | None = None, logtype: str = \"Application\") -> None: ...\n def getEventCategory(self, record: LogRecord) -> int: ...\n # TODO correct return value?\n def getEventType(self, record: LogRecord) -> int: ...\n def getMessageID(self, record: LogRecord) -> int: ...\n\nclass SMTPHandler(Handler):\n mailhost: str # undocumented\n mailport: int | None # undocumented\n username: str | None # undocumented\n # password only exists as an attribute if passed credentials is a tuple or list\n password: str # undocumented\n fromaddr: str # undocumented\n toaddrs: list[str] # undocumented\n subject: str # undocumented\n secure: tuple[()] | tuple[str] | tuple[str, str] | None # undocumented\n timeout: float # undocumented\n def __init__(\n self,\n mailhost: str | tuple[str, int],\n fromaddr: str,\n toaddrs: str | list[str],\n subject: str,\n credentials: tuple[str, str] | None = None,\n secure: tuple[()] | tuple[str] | tuple[str, str] | None = None,\n timeout: float = 5.0,\n ) -> None: ...\n def getSubject(self, record: LogRecord) -> str: ...\n\nclass BufferingHandler(Handler):\n capacity: int # undocumented\n buffer: list[LogRecord] # undocumented\n def __init__(self, capacity: int) -> None: ...\n def shouldFlush(self, record: LogRecord) -> bool: ...\n\nclass MemoryHandler(BufferingHandler):\n flushLevel: int # undocumented\n target: Handler | None # undocumented\n flushOnClose: bool # undocumented\n def __init__(self, capacity: int, flushLevel: int = 40, target: Handler | None = None, flushOnClose: bool = True) -> None: ...\n def setTarget(self, target: Handler | None) -> None: ...\n\nclass HTTPHandler(Handler):\n host: str # undocumented\n url: str # undocumented\n method: str # undocumented\n secure: bool # undocumented\n credentials: tuple[str, str] | None # undocumented\n context: ssl.SSLContext | None # undocumented\n def __init__(\n self,\n host: str,\n url: str,\n method: str = \"GET\",\n secure: bool = False,\n credentials: tuple[str, str] | None = None,\n context: ssl.SSLContext | None = None,\n ) -> None: ...\n def mapLogRecord(self, record: LogRecord) -> dict[str, Any]: ...\n if sys.version_info >= (3, 9):\n def getConnection(self, host: str, secure: bool) -> http.client.HTTPConnection: ... # undocumented\n\nclass _QueueLike(Protocol[_T]):\n def get(self) -> _T: ...\n def put_nowait(self, __item: _T) -> None: ...\n\nclass QueueHandler(Handler):\n queue: _QueueLike[Any]\n def __init__(self, queue: _QueueLike[Any]) -> None: ...\n def prepare(self, record: LogRecord) -> Any: ...\n def enqueue(self, record: LogRecord) -> None: ...\n\nclass QueueListener:\n handlers: tuple[Handler, ...] # undocumented\n respect_handler_level: bool # undocumented\n queue: _QueueLike[Any] # undocumented\n _thread: Thread | None # undocumented\n def __init__(self, queue: _QueueLike[Any], *handlers: Handler, respect_handler_level: bool = False) -> None: ...\n def dequeue(self, block: bool) -> LogRecord: ...\n def prepare(self, record: LogRecord) -> Any: ...\n def start(self) -> None: ...\n def stop(self) -> None: ...\n def enqueue_sentinel(self) -> None: ...\n def handle(self, record: LogRecord) -> None: ...\n", + "/typeshed/stdlib/msilib/__init__.pyi": "import sys\nfrom collections.abc import Container, Iterable, Sequence\nfrom types import ModuleType\nfrom typing import Any\nfrom typing_extensions import Literal\n\nif sys.platform == \"win32\":\n from _msi import *\n from _msi import _Database\n\n AMD64: bool\n Win64: bool\n\n datasizemask: Literal[0x00FF]\n type_valid: Literal[0x0100]\n type_localizable: Literal[0x0200]\n typemask: Literal[0x0C00]\n type_long: Literal[0x0000]\n type_short: Literal[0x0400]\n type_string: Literal[0x0C00]\n type_binary: Literal[0x0800]\n type_nullable: Literal[0x1000]\n type_key: Literal[0x2000]\n knownbits: Literal[0x3FFF]\n\n class Table:\n name: str\n fields: list[tuple[int, str, int]]\n def __init__(self, name: str) -> None: ...\n def add_field(self, index: int, name: str, type: int) -> None: ...\n def sql(self) -> str: ...\n def create(self, db: _Database) -> None: ...\n\n class _Unspecified: ...\n\n def change_sequence(\n seq: Sequence[tuple[str, str | None, int]],\n action: str,\n seqno: int | type[_Unspecified] = ...,\n cond: str | type[_Unspecified] = ...,\n ) -> None: ...\n def add_data(db: _Database, table: str, values: Iterable[tuple[Any, ...]]) -> None: ...\n def add_stream(db: _Database, name: str, path: str) -> None: ...\n def init_database(\n name: str, schema: ModuleType, ProductName: str, ProductCode: str, ProductVersion: str, Manufacturer: str\n ) -> _Database: ...\n def add_tables(db: _Database, module: ModuleType) -> None: ...\n def make_id(str: str) -> str: ...\n def gen_uuid() -> str: ...\n\n class CAB:\n name: str\n files: list[tuple[str, str]]\n filenames: set[str]\n index: int\n def __init__(self, name: str) -> None: ...\n def gen_id(self, file: str) -> str: ...\n def append(self, full: str, file: str, logical: str) -> tuple[int, str]: ...\n def commit(self, db: _Database) -> None: ...\n _directories: set[str]\n\n class Directory:\n db: _Database\n cab: CAB\n basedir: str\n physical: str\n logical: str\n component: str | None\n short_names: set[str]\n ids: set[str]\n keyfiles: dict[str, str]\n componentflags: int | None\n absolute: str\n def __init__(\n self,\n db: _Database,\n cab: CAB,\n basedir: str,\n physical: str,\n _logical: str,\n default: str,\n componentflags: int | None = None,\n ) -> None: ...\n def start_component(\n self,\n component: str | None = None,\n feature: Feature | None = None,\n flags: int | None = None,\n keyfile: str | None = None,\n uuid: str | None = None,\n ) -> None: ...\n def make_short(self, file: str) -> str: ...\n def add_file(self, file: str, src: str | None = None, version: str | None = None, language: str | None = None) -> str: ...\n def glob(self, pattern: str, exclude: Container[str] | None = None) -> list[str]: ...\n def remove_pyc(self) -> None: ...\n\n class Binary:\n name: str\n def __init__(self, fname: str) -> None: ...\n\n class Feature:\n id: str\n def __init__(\n self,\n db: _Database,\n id: str,\n title: str,\n desc: str,\n display: int,\n level: int = 1,\n parent: Feature | None = None,\n directory: str | None = None,\n attributes: int = 0,\n ) -> None: ...\n def set_current(self) -> None: ...\n\n class Control:\n dlg: Dialog\n name: str\n def __init__(self, dlg: Dialog, name: str) -> None: ...\n def event(self, event: str, argument: str, condition: str = \"1\", ordering: int | None = None) -> None: ...\n def mapping(self, event: str, attribute: str) -> None: ...\n def condition(self, action: str, condition: str) -> None: ...\n\n class RadioButtonGroup(Control):\n property: str\n index: int\n def __init__(self, dlg: Dialog, name: str, property: str) -> None: ...\n def add(self, name: str, x: int, y: int, w: int, h: int, text: str, value: str | None = None) -> None: ...\n\n class Dialog:\n db: _Database\n name: str\n x: int\n y: int\n w: int\n h: int\n def __init__(\n self,\n db: _Database,\n name: str,\n x: int,\n y: int,\n w: int,\n h: int,\n attr: int,\n title: str,\n first: str,\n default: str,\n cancel: str,\n ) -> None: ...\n def control(\n self,\n name: str,\n type: str,\n x: int,\n y: int,\n w: int,\n h: int,\n attr: int,\n prop: str | None,\n text: str | None,\n next: str | None,\n help: str | None,\n ) -> Control: ...\n def text(self, name: str, x: int, y: int, w: int, h: int, attr: int, text: str | None) -> Control: ...\n def bitmap(self, name: str, x: int, y: int, w: int, h: int, text: str | None) -> Control: ...\n def line(self, name: str, x: int, y: int, w: int, h: int) -> Control: ...\n def pushbutton(\n self, name: str, x: int, y: int, w: int, h: int, attr: int, text: str | None, next: str | None\n ) -> Control: ...\n def radiogroup(\n self, name: str, x: int, y: int, w: int, h: int, attr: int, prop: str | None, text: str | None, next: str | None\n ) -> RadioButtonGroup: ...\n def checkbox(\n self, name: str, x: int, y: int, w: int, h: int, attr: int, prop: str | None, text: str | None, next: str | None\n ) -> Control: ...\n", + "/typeshed/stdlib/msilib/schema.pyi": "import sys\n\nif sys.platform == \"win32\":\n from . import Table\n\n _Validation: Table\n ActionText: Table\n AdminExecuteSequence: Table\n Condition: Table\n AdminUISequence: Table\n AdvtExecuteSequence: Table\n AdvtUISequence: Table\n AppId: Table\n AppSearch: Table\n Property: Table\n BBControl: Table\n Billboard: Table\n Feature: Table\n Binary: Table\n BindImage: Table\n File: Table\n CCPSearch: Table\n CheckBox: Table\n Class: Table\n Component: Table\n Icon: Table\n ProgId: Table\n ComboBox: Table\n CompLocator: Table\n Complus: Table\n Directory: Table\n Control: Table\n Dialog: Table\n ControlCondition: Table\n ControlEvent: Table\n CreateFolder: Table\n CustomAction: Table\n DrLocator: Table\n DuplicateFile: Table\n Environment: Table\n Error: Table\n EventMapping: Table\n Extension: Table\n MIME: Table\n FeatureComponents: Table\n FileSFPCatalog: Table\n SFPCatalog: Table\n Font: Table\n IniFile: Table\n IniLocator: Table\n InstallExecuteSequence: Table\n InstallUISequence: Table\n IsolatedComponent: Table\n LaunchCondition: Table\n ListBox: Table\n ListView: Table\n LockPermissions: Table\n Media: Table\n MoveFile: Table\n MsiAssembly: Table\n MsiAssemblyName: Table\n MsiDigitalCertificate: Table\n MsiDigitalSignature: Table\n MsiFileHash: Table\n MsiPatchHeaders: Table\n ODBCAttribute: Table\n ODBCDriver: Table\n ODBCDataSource: Table\n ODBCSourceAttribute: Table\n ODBCTranslator: Table\n Patch: Table\n PatchPackage: Table\n PublishComponent: Table\n RadioButton: Table\n Registry: Table\n RegLocator: Table\n RemoveFile: Table\n RemoveIniFile: Table\n RemoveRegistry: Table\n ReserveCost: Table\n SelfReg: Table\n ServiceControl: Table\n ServiceInstall: Table\n Shortcut: Table\n Signature: Table\n TextStyle: Table\n TypeLib: Table\n UIText: Table\n Upgrade: Table\n Verb: Table\n\n tables: list[Table]\n\n _Validation_records: list[tuple[str, str, str, int | None, int | None, str | None, int | None, str | None, str | None, str]]\n", + "/typeshed/stdlib/msilib/sequence.pyi": "import sys\nfrom typing_extensions import TypeAlias\n\nif sys.platform == \"win32\":\n _SequenceType: TypeAlias = list[tuple[str, str | None, int]]\n\n AdminExecuteSequence: _SequenceType\n AdminUISequence: _SequenceType\n AdvtExecuteSequence: _SequenceType\n InstallExecuteSequence: _SequenceType\n InstallUISequence: _SequenceType\n\n tables: list[str]\n", + "/typeshed/stdlib/msilib/text.pyi": "import sys\n\nif sys.platform == \"win32\":\n ActionText: list[tuple[str, str, str | None]]\n UIText: list[tuple[str, str | None]]\n dirname: str\n tables: list[str]\n", + "/typeshed/stdlib/os/__init__.pyi": "import sys\nfrom _typeshed import (\n AnyStr_co,\n BytesPath,\n FileDescriptor,\n FileDescriptorLike,\n FileDescriptorOrPath,\n GenericPath,\n OpenBinaryMode,\n OpenBinaryModeReading,\n OpenBinaryModeUpdating,\n OpenBinaryModeWriting,\n OpenTextMode,\n ReadableBuffer,\n StrOrBytesPath,\n StrPath,\n SupportsLenAndGetItem,\n Unused,\n WriteableBuffer,\n structseq,\n)\nfrom abc import abstractmethod\nfrom builtins import OSError\nfrom collections.abc import Callable, Iterable, Iterator, Mapping, MutableMapping, Sequence\nfrom contextlib import AbstractContextManager\nfrom io import BufferedRandom, BufferedReader, BufferedWriter, FileIO, TextIOWrapper as _TextIOWrapper\nfrom subprocess import Popen\nfrom typing import IO, Any, AnyStr, BinaryIO, Generic, NoReturn, Protocol, TypeVar, overload, runtime_checkable\nfrom typing_extensions import Final, Literal, Self, TypeAlias, final\n\nfrom . import path as _path\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n# This unnecessary alias is to work around various errors\npath = _path\n\n_T = TypeVar(\"_T\")\n_T1 = TypeVar(\"_T1\")\n_T2 = TypeVar(\"_T2\")\n\n# ----- os variables -----\n\nerror = OSError\n\nsupports_bytes_environ: bool\n\nsupports_dir_fd: set[Callable[..., Any]]\nsupports_fd: set[Callable[..., Any]]\nsupports_effective_ids: set[Callable[..., Any]]\nsupports_follow_symlinks: set[Callable[..., Any]]\n\nif sys.platform != \"win32\":\n # Unix only\n PRIO_PROCESS: int\n PRIO_PGRP: int\n PRIO_USER: int\n\n F_LOCK: int\n F_TLOCK: int\n F_ULOCK: int\n F_TEST: int\n\n if sys.platform != \"darwin\":\n POSIX_FADV_NORMAL: int\n POSIX_FADV_SEQUENTIAL: int\n POSIX_FADV_RANDOM: int\n POSIX_FADV_NOREUSE: int\n POSIX_FADV_WILLNEED: int\n POSIX_FADV_DONTNEED: int\n\n if sys.platform != \"linux\" and sys.platform != \"darwin\":\n # In the os-module docs, these are marked as being available\n # on \"Unix, not Emscripten, not WASI.\"\n # However, in the source code, a comment indicates they're \"FreeBSD constants\".\n # sys.platform could have one of many values on a FreeBSD Python build,\n # so the sys-module docs recommend doing `if sys.platform.startswith('freebsd')`\n # to detect FreeBSD builds. Unfortunately that would be too dynamic\n # for type checkers, however.\n SF_NODISKIO: int\n SF_MNOWAIT: int\n SF_SYNC: int\n\n if sys.version_info >= (3, 11):\n SF_NOCACHE: int\n\n if sys.platform == \"linux\":\n XATTR_SIZE_MAX: int\n XATTR_CREATE: int\n XATTR_REPLACE: int\n\n P_PID: int\n P_PGID: int\n P_ALL: int\n\n if sys.platform == \"linux\" and sys.version_info >= (3, 9):\n P_PIDFD: int\n\n WEXITED: int\n WSTOPPED: int\n WNOWAIT: int\n\n CLD_EXITED: int\n CLD_DUMPED: int\n CLD_TRAPPED: int\n CLD_CONTINUED: int\n\n if sys.version_info >= (3, 9):\n CLD_KILLED: int\n CLD_STOPPED: int\n\n # TODO: SCHED_RESET_ON_FORK not available on darwin?\n # TODO: SCHED_BATCH and SCHED_IDLE are linux only?\n SCHED_OTHER: int # some flavors of Unix\n SCHED_BATCH: int # some flavors of Unix\n SCHED_IDLE: int # some flavors of Unix\n SCHED_SPORADIC: int # some flavors of Unix\n SCHED_FIFO: int # some flavors of Unix\n SCHED_RR: int # some flavors of Unix\n SCHED_RESET_ON_FORK: int # some flavors of Unix\n\nif sys.platform != \"win32\":\n RTLD_LAZY: int\n RTLD_NOW: int\n RTLD_GLOBAL: int\n RTLD_LOCAL: int\n RTLD_NODELETE: int\n RTLD_NOLOAD: int\n\nif sys.platform == \"linux\":\n RTLD_DEEPBIND: int\n GRND_NONBLOCK: int\n GRND_RANDOM: int\n\nif sys.platform == \"darwin\" and sys.version_info >= (3, 12):\n PRIO_DARWIN_BG: int\n PRIO_DARWIN_NONUI: int\n PRIO_DARWIN_PROCESS: int\n PRIO_DARWIN_THREAD: int\n\nSEEK_SET: int\nSEEK_CUR: int\nSEEK_END: int\nif sys.platform != \"win32\":\n SEEK_DATA: int # some flavors of Unix\n SEEK_HOLE: int # some flavors of Unix\n\nO_RDONLY: int\nO_WRONLY: int\nO_RDWR: int\nO_APPEND: int\nO_CREAT: int\nO_EXCL: int\nO_TRUNC: int\n# We don't use sys.platform for O_* flags to denote platform-dependent APIs because some codes,\n# including tests for mypy, use a more finer way than sys.platform before using these APIs\n# See https://github.com/python/typeshed/pull/2286 for discussions\nO_DSYNC: int # Unix only\nO_RSYNC: int # Unix only\nO_SYNC: int # Unix only\nO_NDELAY: int # Unix only\nO_NONBLOCK: int # Unix only\nO_NOCTTY: int # Unix only\nO_CLOEXEC: int # Unix only\nO_SHLOCK: int # Unix only\nO_EXLOCK: int # Unix only\nO_BINARY: int # Windows only\nO_NOINHERIT: int # Windows only\nO_SHORT_LIVED: int # Windows only\nO_TEMPORARY: int # Windows only\nO_RANDOM: int # Windows only\nO_SEQUENTIAL: int # Windows only\nO_TEXT: int # Windows only\nO_ASYNC: int # Gnu extension if in C library\nO_DIRECT: int # Gnu extension if in C library\nO_DIRECTORY: int # Gnu extension if in C library\nO_NOFOLLOW: int # Gnu extension if in C library\nO_NOATIME: int # Gnu extension if in C library\nO_PATH: int # Gnu extension if in C library\nO_TMPFILE: int # Gnu extension if in C library\nO_LARGEFILE: int # Gnu extension if in C library\nO_ACCMODE: int # TODO: when does this exist?\n\nif sys.platform != \"win32\" and sys.platform != \"darwin\":\n # posix, but apparently missing on macos\n ST_APPEND: int\n ST_MANDLOCK: int\n ST_NOATIME: int\n ST_NODEV: int\n ST_NODIRATIME: int\n ST_NOEXEC: int\n ST_RELATIME: int\n ST_SYNCHRONOUS: int\n ST_WRITE: int\n\nif sys.platform != \"win32\":\n NGROUPS_MAX: int\n ST_NOSUID: int\n ST_RDONLY: int\n\ncurdir: str\npardir: str\nsep: str\nif sys.platform == \"win32\":\n altsep: str\nelse:\n altsep: str | None\nextsep: str\npathsep: str\ndefpath: str\nlinesep: str\ndevnull: str\nname: str\n\nF_OK: int\nR_OK: int\nW_OK: int\nX_OK: int\n\n_EnvironCodeFunc: TypeAlias = Callable[[AnyStr], AnyStr]\n\nclass _Environ(MutableMapping[AnyStr, AnyStr], Generic[AnyStr]):\n encodekey: _EnvironCodeFunc[AnyStr]\n decodekey: _EnvironCodeFunc[AnyStr]\n encodevalue: _EnvironCodeFunc[AnyStr]\n decodevalue: _EnvironCodeFunc[AnyStr]\n if sys.version_info >= (3, 9):\n def __init__(\n self,\n data: MutableMapping[AnyStr, AnyStr],\n encodekey: _EnvironCodeFunc[AnyStr],\n decodekey: _EnvironCodeFunc[AnyStr],\n encodevalue: _EnvironCodeFunc[AnyStr],\n decodevalue: _EnvironCodeFunc[AnyStr],\n ) -> None: ...\n else:\n putenv: Callable[[AnyStr, AnyStr], object]\n unsetenv: Callable[[AnyStr, AnyStr], object]\n def __init__(\n self,\n data: MutableMapping[AnyStr, AnyStr],\n encodekey: _EnvironCodeFunc[AnyStr],\n decodekey: _EnvironCodeFunc[AnyStr],\n encodevalue: _EnvironCodeFunc[AnyStr],\n decodevalue: _EnvironCodeFunc[AnyStr],\n putenv: Callable[[AnyStr, AnyStr], object],\n unsetenv: Callable[[AnyStr, AnyStr], object],\n ) -> None: ...\n\n def setdefault(self, key: AnyStr, value: AnyStr) -> AnyStr: ... # type: ignore[override]\n def copy(self) -> dict[AnyStr, AnyStr]: ...\n def __delitem__(self, key: AnyStr) -> None: ...\n def __getitem__(self, key: AnyStr) -> AnyStr: ...\n def __setitem__(self, key: AnyStr, value: AnyStr) -> None: ...\n def __iter__(self) -> Iterator[AnyStr]: ...\n def __len__(self) -> int: ...\n if sys.version_info >= (3, 9):\n def __or__(self, other: Mapping[_T1, _T2]) -> dict[AnyStr | _T1, AnyStr | _T2]: ...\n def __ror__(self, other: Mapping[_T1, _T2]) -> dict[AnyStr | _T1, AnyStr | _T2]: ...\n # We use @overload instead of a Union for reasons similar to those given for\n # overloading MutableMapping.update in stdlib/typing.pyi\n # The type: ignore is needed due to incompatible __or__/__ior__ signatures\n @overload # type: ignore[misc]\n def __ior__(self, other: Mapping[AnyStr, AnyStr]) -> Self: ...\n @overload\n def __ior__(self, other: Iterable[tuple[AnyStr, AnyStr]]) -> Self: ...\n\nenviron: _Environ[str]\nif sys.platform != \"win32\":\n environb: _Environ[bytes]\n\nif sys.version_info >= (3, 11) or sys.platform != \"win32\":\n EX_OK: int\n\nif sys.platform != \"win32\":\n confstr_names: dict[str, int]\n pathconf_names: dict[str, int]\n sysconf_names: dict[str, int]\n\n EX_USAGE: int\n EX_DATAERR: int\n EX_NOINPUT: int\n EX_NOUSER: int\n EX_NOHOST: int\n EX_UNAVAILABLE: int\n EX_SOFTWARE: int\n EX_OSERR: int\n EX_OSFILE: int\n EX_CANTCREAT: int\n EX_IOERR: int\n EX_TEMPFAIL: int\n EX_PROTOCOL: int\n EX_NOPERM: int\n EX_CONFIG: int\n\nif sys.platform != \"win32\" and sys.platform != \"darwin\":\n EX_NOTFOUND: int\n\nP_NOWAIT: int\nP_NOWAITO: int\nP_WAIT: int\nif sys.platform == \"win32\":\n P_DETACH: int\n P_OVERLAY: int\n\n# wait()/waitpid() options\nif sys.platform != \"win32\":\n WNOHANG: int # Unix only\n WCONTINUED: int # some Unix systems\n WUNTRACED: int # Unix only\n\nTMP_MAX: int # Undocumented, but used by tempfile\n\n# ----- os classes (structures) -----\n@final\nclass stat_result(structseq[float], tuple[int, int, int, int, int, int, int, float, float, float]):\n # The constructor of this class takes an iterable of variable length (though it must be at least 10).\n #\n # However, this class behaves like a tuple of 10 elements,\n # no matter how long the iterable supplied to the constructor is.\n # https://github.com/python/typeshed/pull/6560#discussion_r767162532\n #\n # The 10 elements always present are st_mode, st_ino, st_dev, st_nlink,\n # st_uid, st_gid, st_size, st_atime, st_mtime, st_ctime.\n #\n # More items may be added at the end by some implementations.\n if sys.version_info >= (3, 10):\n __match_args__: Final = (\"st_mode\", \"st_ino\", \"st_dev\", \"st_nlink\", \"st_uid\", \"st_gid\", \"st_size\")\n @property\n def st_mode(self) -> int: ... # protection bits,\n @property\n def st_ino(self) -> int: ... # inode number,\n @property\n def st_dev(self) -> int: ... # device,\n @property\n def st_nlink(self) -> int: ... # number of hard links,\n @property\n def st_uid(self) -> int: ... # user id of owner,\n @property\n def st_gid(self) -> int: ... # group id of owner,\n @property\n def st_size(self) -> int: ... # size of file, in bytes,\n @property\n def st_atime(self) -> float: ... # time of most recent access,\n @property\n def st_mtime(self) -> float: ... # time of most recent content modification,\n # platform dependent (time of most recent metadata change on Unix, or the time of creation on Windows)\n @property\n def st_ctime(self) -> float: ...\n @property\n def st_atime_ns(self) -> int: ... # time of most recent access, in nanoseconds\n @property\n def st_mtime_ns(self) -> int: ... # time of most recent content modification in nanoseconds\n # platform dependent (time of most recent metadata change on Unix, or the time of creation on Windows) in nanoseconds\n @property\n def st_ctime_ns(self) -> int: ...\n if sys.platform == \"win32\":\n @property\n def st_file_attributes(self) -> int: ...\n if sys.version_info >= (3, 8):\n @property\n def st_reparse_tag(self) -> int: ...\n if sys.version_info >= (3, 12):\n @property\n def st_birthtime(self) -> float: ... # time of file creation in seconds\n @property\n def st_birthtime_ns(self) -> int: ... # time of file creation in nanoseconds\n else:\n @property\n def st_blocks(self) -> int: ... # number of blocks allocated for file\n @property\n def st_blksize(self) -> int: ... # filesystem blocksize\n @property\n def st_rdev(self) -> int: ... # type of device if an inode device\n if sys.platform != \"linux\":\n # These properties are available on MacOS, but not Ubuntu.\n # On other Unix systems (such as FreeBSD), the following attributes may be\n # available (but may be only filled out if root tries to use them):\n @property\n def st_gen(self) -> int: ... # file generation number\n @property\n def st_birthtime(self) -> float: ... # time of file creation in seconds\n if sys.platform == \"darwin\":\n @property\n def st_flags(self) -> int: ... # user defined flags for file\n # Attributes documented as sometimes appearing, but deliberately omitted from the stub: `st_creator`, `st_rsize`, `st_type`.\n # See https://github.com/python/typeshed/pull/6560#issuecomment-991253327\n\n@runtime_checkable\nclass PathLike(Protocol[AnyStr_co]):\n @abstractmethod\n def __fspath__(self) -> AnyStr_co: ...\n\n@overload\ndef listdir(path: StrPath | None = None) -> list[str]: ...\n@overload\ndef listdir(path: BytesPath) -> list[bytes]: ...\n@overload\ndef listdir(path: int) -> list[str]: ...\n@final\nclass DirEntry(Generic[AnyStr]):\n # This is what the scandir iterator yields\n # The constructor is hidden\n\n @property\n def name(self) -> AnyStr: ...\n @property\n def path(self) -> AnyStr: ...\n def inode(self) -> int: ...\n def is_dir(self, *, follow_symlinks: bool = True) -> bool: ...\n def is_file(self, *, follow_symlinks: bool = True) -> bool: ...\n def is_symlink(self) -> bool: ...\n def stat(self, *, follow_symlinks: bool = True) -> stat_result: ...\n def __fspath__(self) -> AnyStr: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n if sys.version_info >= (3, 12):\n def is_junction(self) -> bool: ...\n\n@final\nclass statvfs_result(structseq[int], tuple[int, int, int, int, int, int, int, int, int, int, int]):\n if sys.version_info >= (3, 10):\n __match_args__: Final = (\n \"f_bsize\",\n \"f_frsize\",\n \"f_blocks\",\n \"f_bfree\",\n \"f_bavail\",\n \"f_files\",\n \"f_ffree\",\n \"f_favail\",\n \"f_flag\",\n \"f_namemax\",\n )\n @property\n def f_bsize(self) -> int: ...\n @property\n def f_frsize(self) -> int: ...\n @property\n def f_blocks(self) -> int: ...\n @property\n def f_bfree(self) -> int: ...\n @property\n def f_bavail(self) -> int: ...\n @property\n def f_files(self) -> int: ...\n @property\n def f_ffree(self) -> int: ...\n @property\n def f_favail(self) -> int: ...\n @property\n def f_flag(self) -> int: ...\n @property\n def f_namemax(self) -> int: ...\n @property\n def f_fsid(self) -> int: ...\n\n# ----- os function stubs -----\ndef fsencode(filename: StrOrBytesPath) -> bytes: ...\ndef fsdecode(filename: StrOrBytesPath) -> str: ...\n@overload\ndef fspath(path: str) -> str: ...\n@overload\ndef fspath(path: bytes) -> bytes: ...\n@overload\ndef fspath(path: PathLike[AnyStr]) -> AnyStr: ...\ndef get_exec_path(env: Mapping[str, str] | None = None) -> list[str]: ...\ndef getlogin() -> str: ...\ndef getpid() -> int: ...\ndef getppid() -> int: ...\ndef strerror(__code: int) -> str: ...\ndef umask(__mask: int) -> int: ...\n@final\nclass uname_result(structseq[str], tuple[str, str, str, str, str]):\n if sys.version_info >= (3, 10):\n __match_args__: Final = (\"sysname\", \"nodename\", \"release\", \"version\", \"machine\")\n @property\n def sysname(self) -> str: ...\n @property\n def nodename(self) -> str: ...\n @property\n def release(self) -> str: ...\n @property\n def version(self) -> str: ...\n @property\n def machine(self) -> str: ...\n\nif sys.platform != \"win32\":\n def ctermid() -> str: ...\n def getegid() -> int: ...\n def geteuid() -> int: ...\n def getgid() -> int: ...\n def getgrouplist(__user: str, __group: int) -> list[int]: ...\n def getgroups() -> list[int]: ... # Unix only, behaves differently on Mac\n def initgroups(__username: str, __gid: int) -> None: ...\n def getpgid(pid: int) -> int: ...\n def getpgrp() -> int: ...\n def getpriority(which: int, who: int) -> int: ...\n def setpriority(which: int, who: int, priority: int) -> None: ...\n if sys.platform != \"darwin\":\n def getresuid() -> tuple[int, int, int]: ...\n def getresgid() -> tuple[int, int, int]: ...\n\n def getuid() -> int: ...\n def setegid(__egid: int) -> None: ...\n def seteuid(__euid: int) -> None: ...\n def setgid(__gid: int) -> None: ...\n def setgroups(__groups: Sequence[int]) -> None: ...\n def setpgrp() -> None: ...\n def setpgid(__pid: int, __pgrp: int) -> None: ...\n def setregid(__rgid: int, __egid: int) -> None: ...\n if sys.platform != \"darwin\":\n def setresgid(__rgid: int, __egid: int, __sgid: int) -> None: ...\n def setresuid(__ruid: int, __euid: int, __suid: int) -> None: ...\n\n def setreuid(__ruid: int, __euid: int) -> None: ...\n def getsid(__pid: int) -> int: ...\n def setsid() -> None: ...\n def setuid(__uid: int) -> None: ...\n def uname() -> uname_result: ...\n\n@overload\ndef getenv(key: str) -> str | None: ...\n@overload\ndef getenv(key: str, default: _T) -> str | _T: ...\n\nif sys.platform != \"win32\":\n @overload\n def getenvb(key: bytes) -> bytes | None: ...\n @overload\n def getenvb(key: bytes, default: _T) -> bytes | _T: ...\n def putenv(__name: StrOrBytesPath, __value: StrOrBytesPath) -> None: ...\n def unsetenv(__name: StrOrBytesPath) -> None: ...\n\nelse:\n def putenv(__name: str, __value: str) -> None: ...\n\n if sys.version_info >= (3, 9):\n def unsetenv(__name: str) -> None: ...\n\n_Opener: TypeAlias = Callable[[str, int], int]\n\n@overload\ndef fdopen(\n fd: int,\n mode: OpenTextMode = \"r\",\n buffering: int = -1,\n encoding: str | None = None,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> _TextIOWrapper: ...\n@overload\ndef fdopen(\n fd: int,\n mode: OpenBinaryMode,\n buffering: Literal[0],\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> FileIO: ...\n@overload\ndef fdopen(\n fd: int,\n mode: OpenBinaryModeUpdating,\n buffering: Literal[-1, 1] = -1,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BufferedRandom: ...\n@overload\ndef fdopen(\n fd: int,\n mode: OpenBinaryModeWriting,\n buffering: Literal[-1, 1] = -1,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BufferedWriter: ...\n@overload\ndef fdopen(\n fd: int,\n mode: OpenBinaryModeReading,\n buffering: Literal[-1, 1] = -1,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BufferedReader: ...\n@overload\ndef fdopen(\n fd: int,\n mode: OpenBinaryMode,\n buffering: int = -1,\n encoding: None = None,\n errors: None = None,\n newline: None = None,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> BinaryIO: ...\n@overload\ndef fdopen(\n fd: int,\n mode: str,\n buffering: int = -1,\n encoding: str | None = None,\n errors: str | None = ...,\n newline: str | None = ...,\n closefd: bool = ...,\n opener: _Opener | None = ...,\n) -> IO[Any]: ...\ndef close(fd: int) -> None: ...\ndef closerange(__fd_low: int, __fd_high: int) -> None: ...\ndef device_encoding(fd: int) -> str | None: ...\ndef dup(__fd: int) -> int: ...\ndef dup2(fd: int, fd2: int, inheritable: bool = True) -> int: ...\ndef fstat(fd: int) -> stat_result: ...\ndef ftruncate(__fd: int, __length: int) -> None: ...\ndef fsync(fd: FileDescriptorLike) -> None: ...\ndef isatty(__fd: int) -> bool: ...\n\nif sys.platform != \"win32\" and sys.version_info >= (3, 11):\n def login_tty(__fd: int) -> None: ...\n\nif sys.version_info >= (3, 11):\n def lseek(__fd: int, __position: int, __whence: int) -> int: ...\n\nelse:\n def lseek(__fd: int, __position: int, __how: int) -> int: ...\n\ndef open(path: StrOrBytesPath, flags: int, mode: int = 0o777, *, dir_fd: int | None = None) -> int: ...\ndef pipe() -> tuple[int, int]: ...\ndef read(__fd: int, __length: int) -> bytes: ...\n\nif sys.version_info >= (3, 12) or sys.platform != \"win32\":\n def get_blocking(__fd: int) -> bool: ...\n def set_blocking(__fd: int, __blocking: bool) -> None: ...\n\nif sys.platform != \"win32\":\n def fchmod(fd: int, mode: int) -> None: ...\n def fchown(fd: int, uid: int, gid: int) -> None: ...\n def fpathconf(__fd: int, __name: str | int) -> int: ...\n def fstatvfs(__fd: int) -> statvfs_result: ...\n def lockf(__fd: int, __command: int, __length: int) -> None: ...\n def openpty() -> tuple[int, int]: ... # some flavors of Unix\n if sys.platform != \"darwin\":\n def fdatasync(fd: FileDescriptorLike) -> None: ...\n def pipe2(__flags: int) -> tuple[int, int]: ... # some flavors of Unix\n def posix_fallocate(__fd: int, __offset: int, __length: int) -> None: ...\n def posix_fadvise(__fd: int, __offset: int, __length: int, __advice: int) -> None: ...\n\n def pread(__fd: int, __length: int, __offset: int) -> bytes: ...\n def pwrite(__fd: int, __buffer: ReadableBuffer, __offset: int) -> int: ...\n # In CI, stubtest sometimes reports that these are available on MacOS, sometimes not\n def preadv(__fd: int, __buffers: SupportsLenAndGetItem[WriteableBuffer], __offset: int, __flags: int = 0) -> int: ...\n def pwritev(__fd: int, __buffers: SupportsLenAndGetItem[ReadableBuffer], __offset: int, __flags: int = 0) -> int: ...\n if sys.platform != \"darwin\":\n if sys.version_info >= (3, 10):\n RWF_APPEND: int # docs say available on 3.7+, stubtest says otherwise\n RWF_DSYNC: int\n RWF_SYNC: int\n RWF_HIPRI: int\n RWF_NOWAIT: int\n\n if sys.platform == \"linux\":\n def sendfile(out_fd: FileDescriptor, in_fd: FileDescriptor, offset: int | None, count: int) -> int: ...\n else:\n def sendfile(\n out_fd: FileDescriptor,\n in_fd: FileDescriptor,\n offset: int,\n count: int,\n headers: Sequence[ReadableBuffer] = ...,\n trailers: Sequence[ReadableBuffer] = ...,\n flags: int = 0,\n ) -> int: ... # FreeBSD and Mac OS X only\n\n def readv(__fd: int, __buffers: SupportsLenAndGetItem[WriteableBuffer]) -> int: ...\n def writev(__fd: int, __buffers: SupportsLenAndGetItem[ReadableBuffer]) -> int: ...\n\n@final\nclass terminal_size(structseq[int], tuple[int, int]):\n if sys.version_info >= (3, 10):\n __match_args__: Final = (\"columns\", \"lines\")\n @property\n def columns(self) -> int: ...\n @property\n def lines(self) -> int: ...\n\ndef get_terminal_size(__fd: int = ...) -> terminal_size: ...\ndef get_inheritable(__fd: int) -> bool: ...\ndef set_inheritable(__fd: int, __inheritable: bool) -> None: ...\n\nif sys.platform == \"win32\":\n def get_handle_inheritable(__handle: int) -> bool: ...\n def set_handle_inheritable(__handle: int, __inheritable: bool) -> None: ...\n\nif sys.platform != \"win32\":\n # Unix only\n def tcgetpgrp(__fd: int) -> int: ...\n def tcsetpgrp(__fd: int, __pgid: int) -> None: ...\n def ttyname(__fd: int) -> str: ...\n\ndef write(__fd: int, __data: ReadableBuffer) -> int: ...\ndef access(\n path: FileDescriptorOrPath, mode: int, *, dir_fd: int | None = None, effective_ids: bool = False, follow_symlinks: bool = True\n) -> bool: ...\ndef chdir(path: FileDescriptorOrPath) -> None: ...\n\nif sys.platform != \"win32\":\n def fchdir(fd: FileDescriptorLike) -> None: ...\n\ndef getcwd() -> str: ...\ndef getcwdb() -> bytes: ...\ndef chmod(path: FileDescriptorOrPath, mode: int, *, dir_fd: int | None = None, follow_symlinks: bool = True) -> None: ...\n\nif sys.platform != \"win32\" and sys.platform != \"linux\":\n def chflags(path: StrOrBytesPath, flags: int, follow_symlinks: bool = True) -> None: ... # some flavors of Unix\n def lchflags(path: StrOrBytesPath, flags: int) -> None: ...\n def lchmod(path: StrOrBytesPath, mode: int) -> None: ...\n\nif sys.platform != \"win32\":\n def chroot(path: StrOrBytesPath) -> None: ...\n def chown(\n path: FileDescriptorOrPath, uid: int, gid: int, *, dir_fd: int | None = None, follow_symlinks: bool = True\n ) -> None: ...\n def lchown(path: StrOrBytesPath, uid: int, gid: int) -> None: ...\n\ndef link(\n src: StrOrBytesPath,\n dst: StrOrBytesPath,\n *,\n src_dir_fd: int | None = None,\n dst_dir_fd: int | None = None,\n follow_symlinks: bool = True,\n) -> None: ...\ndef lstat(path: StrOrBytesPath, *, dir_fd: int | None = None) -> stat_result: ...\ndef mkdir(path: StrOrBytesPath, mode: int = 0o777, *, dir_fd: int | None = None) -> None: ...\n\nif sys.platform != \"win32\":\n def mkfifo(path: StrOrBytesPath, mode: int = 0o666, *, dir_fd: int | None = None) -> None: ... # Unix only\n\ndef makedirs(name: StrOrBytesPath, mode: int = 0o777, exist_ok: bool = False) -> None: ...\n\nif sys.platform != \"win32\":\n def mknod(path: StrOrBytesPath, mode: int = 0o600, device: int = 0, *, dir_fd: int | None = None) -> None: ...\n def major(__device: int) -> int: ...\n def minor(__device: int) -> int: ...\n def makedev(__major: int, __minor: int) -> int: ...\n def pathconf(path: FileDescriptorOrPath, name: str | int) -> int: ... # Unix only\n\ndef readlink(path: GenericPath[AnyStr], *, dir_fd: int | None = None) -> AnyStr: ...\ndef remove(path: StrOrBytesPath, *, dir_fd: int | None = None) -> None: ...\ndef removedirs(name: StrOrBytesPath) -> None: ...\ndef rename(src: StrOrBytesPath, dst: StrOrBytesPath, *, src_dir_fd: int | None = None, dst_dir_fd: int | None = None) -> None: ...\ndef renames(old: StrOrBytesPath, new: StrOrBytesPath) -> None: ...\ndef replace(\n src: StrOrBytesPath, dst: StrOrBytesPath, *, src_dir_fd: int | None = None, dst_dir_fd: int | None = None\n) -> None: ...\ndef rmdir(path: StrOrBytesPath, *, dir_fd: int | None = None) -> None: ...\n\nclass _ScandirIterator(Iterator[DirEntry[AnyStr]], AbstractContextManager[_ScandirIterator[AnyStr]]):\n def __next__(self) -> DirEntry[AnyStr]: ...\n def __exit__(self, *args: Unused) -> None: ...\n def close(self) -> None: ...\n\n@overload\ndef scandir(path: None = None) -> _ScandirIterator[str]: ...\n@overload\ndef scandir(path: int) -> _ScandirIterator[str]: ...\n@overload\ndef scandir(path: GenericPath[AnyStr]) -> _ScandirIterator[AnyStr]: ...\ndef stat(path: FileDescriptorOrPath, *, dir_fd: int | None = None, follow_symlinks: bool = True) -> stat_result: ...\n\nif sys.platform != \"win32\":\n def statvfs(path: FileDescriptorOrPath) -> statvfs_result: ... # Unix only\n\ndef symlink(\n src: StrOrBytesPath, dst: StrOrBytesPath, target_is_directory: bool = False, *, dir_fd: int | None = None\n) -> None: ...\n\nif sys.platform != \"win32\":\n def sync() -> None: ... # Unix only\n\ndef truncate(path: FileDescriptorOrPath, length: int) -> None: ... # Unix only up to version 3.4\ndef unlink(path: StrOrBytesPath, *, dir_fd: int | None = None) -> None: ...\ndef utime(\n path: FileDescriptorOrPath,\n times: tuple[int, int] | tuple[float, float] | None = None,\n *,\n ns: tuple[int, int] = ...,\n dir_fd: int | None = None,\n follow_symlinks: bool = True,\n) -> None: ...\n\n_OnError: TypeAlias = Callable[[OSError], object]\n\ndef walk(\n top: GenericPath[AnyStr], topdown: bool = True, onerror: _OnError | None = None, followlinks: bool = False\n) -> Iterator[tuple[AnyStr, list[AnyStr], list[AnyStr]]]: ...\n\nif sys.platform != \"win32\":\n @overload\n def fwalk(\n top: StrPath = \".\",\n topdown: bool = True,\n onerror: _OnError | None = None,\n *,\n follow_symlinks: bool = False,\n dir_fd: int | None = None,\n ) -> Iterator[tuple[str, list[str], list[str], int]]: ...\n @overload\n def fwalk(\n top: BytesPath,\n topdown: bool = True,\n onerror: _OnError | None = None,\n *,\n follow_symlinks: bool = False,\n dir_fd: int | None = None,\n ) -> Iterator[tuple[bytes, list[bytes], list[bytes], int]]: ...\n if sys.platform == \"linux\":\n def getxattr(path: FileDescriptorOrPath, attribute: StrOrBytesPath, *, follow_symlinks: bool = True) -> bytes: ...\n def listxattr(path: FileDescriptorOrPath | None = None, *, follow_symlinks: bool = True) -> list[str]: ...\n def removexattr(path: FileDescriptorOrPath, attribute: StrOrBytesPath, *, follow_symlinks: bool = True) -> None: ...\n def setxattr(\n path: FileDescriptorOrPath,\n attribute: StrOrBytesPath,\n value: ReadableBuffer,\n flags: int = 0,\n *,\n follow_symlinks: bool = True,\n ) -> None: ...\n\ndef abort() -> NoReturn: ...\n\n# These are defined as execl(file, *args) but the first *arg is mandatory.\ndef execl(file: StrOrBytesPath, __arg0: StrOrBytesPath, *args: StrOrBytesPath) -> NoReturn: ...\ndef execlp(file: StrOrBytesPath, __arg0: StrOrBytesPath, *args: StrOrBytesPath) -> NoReturn: ...\n\n# These are: execle(file, *args, env) but env is pulled from the last element of the args.\ndef execle(file: StrOrBytesPath, __arg0: StrOrBytesPath, *args: Any) -> NoReturn: ...\ndef execlpe(file: StrOrBytesPath, __arg0: StrOrBytesPath, *args: Any) -> NoReturn: ...\n\n# The docs say `args: tuple or list of strings`\n# The implementation enforces tuple or list so we can't use Sequence.\n# Not separating out PathLike[str] and PathLike[bytes] here because it doesn't make much difference\n# in practice, and doing so would explode the number of combinations in this already long union.\n# All these combinations are necessary due to list being invariant.\n_ExecVArgs: TypeAlias = (\n tuple[StrOrBytesPath, ...]\n | list[bytes]\n | list[str]\n | list[PathLike[Any]]\n | list[bytes | str]\n | list[bytes | PathLike[Any]]\n | list[str | PathLike[Any]]\n | list[bytes | str | PathLike[Any]]\n)\n# Depending on the OS, the keys and values are passed either to\n# PyUnicode_FSDecoder (which accepts str | ReadableBuffer) or to\n# PyUnicode_FSConverter (which accepts StrOrBytesPath). For simplicity,\n# we limit to str | bytes.\n_ExecEnv: TypeAlias = Mapping[bytes, bytes | str] | Mapping[str, bytes | str]\n\ndef execv(__path: StrOrBytesPath, __argv: _ExecVArgs) -> NoReturn: ...\ndef execve(path: FileDescriptorOrPath, argv: _ExecVArgs, env: _ExecEnv) -> NoReturn: ...\ndef execvp(file: StrOrBytesPath, args: _ExecVArgs) -> NoReturn: ...\ndef execvpe(file: StrOrBytesPath, args: _ExecVArgs, env: _ExecEnv) -> NoReturn: ...\ndef _exit(status: int) -> NoReturn: ...\ndef kill(__pid: int, __signal: int) -> None: ...\n\nif sys.platform != \"win32\":\n # Unix only\n def fork() -> int: ...\n def forkpty() -> tuple[int, int]: ... # some flavors of Unix\n def killpg(__pgid: int, __signal: int) -> None: ...\n def nice(__increment: int) -> int: ...\n if sys.platform != \"darwin\":\n def plock(__op: int) -> None: ... # ???op is int?\n\nclass _wrap_close(_TextIOWrapper):\n def __init__(self, stream: _TextIOWrapper, proc: Popen[str]) -> None: ...\n def close(self) -> int | None: ... # type: ignore[override]\n\ndef popen(cmd: str, mode: str = \"r\", buffering: int = -1) -> _wrap_close: ...\ndef spawnl(mode: int, file: StrOrBytesPath, arg0: StrOrBytesPath, *args: StrOrBytesPath) -> int: ...\ndef spawnle(mode: int, file: StrOrBytesPath, arg0: StrOrBytesPath, *args: Any) -> int: ... # Imprecise sig\n\nif sys.platform != \"win32\":\n def spawnv(mode: int, file: StrOrBytesPath, args: _ExecVArgs) -> int: ...\n def spawnve(mode: int, file: StrOrBytesPath, args: _ExecVArgs, env: _ExecEnv) -> int: ...\n\nelse:\n def spawnv(__mode: int, __path: StrOrBytesPath, __argv: _ExecVArgs) -> int: ...\n def spawnve(__mode: int, __path: StrOrBytesPath, __argv: _ExecVArgs, __env: _ExecEnv) -> int: ...\n\ndef system(command: StrOrBytesPath) -> int: ...\n@final\nclass times_result(structseq[float], tuple[float, float, float, float, float]):\n if sys.version_info >= (3, 10):\n __match_args__: Final = (\"user\", \"system\", \"children_user\", \"children_system\", \"elapsed\")\n @property\n def user(self) -> float: ...\n @property\n def system(self) -> float: ...\n @property\n def children_user(self) -> float: ...\n @property\n def children_system(self) -> float: ...\n @property\n def elapsed(self) -> float: ...\n\ndef times() -> times_result: ...\ndef waitpid(__pid: int, __options: int) -> tuple[int, int]: ...\n\nif sys.platform == \"win32\":\n if sys.version_info >= (3, 8):\n def startfile(path: StrOrBytesPath, operation: str | None = None) -> None: ...\n else:\n def startfile(filepath: StrOrBytesPath, operation: str | None = None) -> None: ...\n\nelse:\n def spawnlp(mode: int, file: StrOrBytesPath, arg0: StrOrBytesPath, *args: StrOrBytesPath) -> int: ...\n def spawnlpe(mode: int, file: StrOrBytesPath, arg0: StrOrBytesPath, *args: Any) -> int: ... # Imprecise signature\n def spawnvp(mode: int, file: StrOrBytesPath, args: _ExecVArgs) -> int: ...\n def spawnvpe(mode: int, file: StrOrBytesPath, args: _ExecVArgs, env: _ExecEnv) -> int: ...\n def wait() -> tuple[int, int]: ... # Unix only\n if sys.platform != \"darwin\":\n @final\n class waitid_result(structseq[int], tuple[int, int, int, int, int]):\n if sys.version_info >= (3, 10):\n __match_args__: Final = (\"si_pid\", \"si_uid\", \"si_signo\", \"si_status\", \"si_code\")\n @property\n def si_pid(self) -> int: ...\n @property\n def si_uid(self) -> int: ...\n @property\n def si_signo(self) -> int: ...\n @property\n def si_status(self) -> int: ...\n @property\n def si_code(self) -> int: ...\n\n def waitid(__idtype: int, __ident: int, __options: int) -> waitid_result | None: ...\n\n def wait3(options: int) -> tuple[int, int, Any]: ...\n def wait4(pid: int, options: int) -> tuple[int, int, Any]: ...\n def WCOREDUMP(__status: int) -> bool: ...\n def WIFCONTINUED(status: int) -> bool: ...\n def WIFSTOPPED(status: int) -> bool: ...\n def WIFSIGNALED(status: int) -> bool: ...\n def WIFEXITED(status: int) -> bool: ...\n def WEXITSTATUS(status: int) -> int: ...\n def WSTOPSIG(status: int) -> int: ...\n def WTERMSIG(status: int) -> int: ...\n if sys.version_info >= (3, 8):\n def posix_spawn(\n path: StrOrBytesPath,\n argv: _ExecVArgs,\n env: _ExecEnv,\n *,\n file_actions: Sequence[tuple[Any, ...]] | None = ...,\n setpgroup: int | None = ...,\n resetids: bool = ...,\n setsid: bool = ...,\n setsigmask: Iterable[int] = ...,\n setsigdef: Iterable[int] = ...,\n scheduler: tuple[Any, sched_param] | None = ...,\n ) -> int: ...\n def posix_spawnp(\n path: StrOrBytesPath,\n argv: _ExecVArgs,\n env: _ExecEnv,\n *,\n file_actions: Sequence[tuple[Any, ...]] | None = ...,\n setpgroup: int | None = ...,\n resetids: bool = ...,\n setsid: bool = ...,\n setsigmask: Iterable[int] = ...,\n setsigdef: Iterable[int] = ...,\n scheduler: tuple[Any, sched_param] | None = ...,\n ) -> int: ...\n POSIX_SPAWN_OPEN: int\n POSIX_SPAWN_CLOSE: int\n POSIX_SPAWN_DUP2: int\n\nif sys.platform != \"win32\":\n @final\n class sched_param(structseq[int], tuple[int]):\n if sys.version_info >= (3, 10):\n __match_args__: Final = (\"sched_priority\",)\n def __new__(cls, sched_priority: int) -> Self: ...\n @property\n def sched_priority(self) -> int: ...\n\n def sched_get_priority_min(policy: int) -> int: ... # some flavors of Unix\n def sched_get_priority_max(policy: int) -> int: ... # some flavors of Unix\n def sched_yield() -> None: ... # some flavors of Unix\n if sys.platform != \"darwin\":\n def sched_setscheduler(__pid: int, __policy: int, __param: sched_param) -> None: ... # some flavors of Unix\n def sched_getscheduler(__pid: int) -> int: ... # some flavors of Unix\n def sched_rr_get_interval(__pid: int) -> float: ... # some flavors of Unix\n def sched_setparam(__pid: int, __param: sched_param) -> None: ... # some flavors of Unix\n def sched_getparam(__pid: int) -> sched_param: ... # some flavors of Unix\n def sched_setaffinity(__pid: int, __mask: Iterable[int]) -> None: ... # some flavors of Unix\n def sched_getaffinity(__pid: int) -> set[int]: ... # some flavors of Unix\n\ndef cpu_count() -> int | None: ...\n\nif sys.platform != \"win32\":\n # Unix only\n def confstr(__name: str | int) -> str | None: ...\n def getloadavg() -> tuple[float, float, float]: ...\n def sysconf(__name: str | int) -> int: ...\n\nif sys.platform == \"linux\":\n def getrandom(size: int, flags: int = 0) -> bytes: ...\n\ndef urandom(__size: int) -> bytes: ...\n\nif sys.platform != \"win32\":\n def register_at_fork(\n *,\n before: Callable[..., Any] | None = ...,\n after_in_parent: Callable[..., Any] | None = ...,\n after_in_child: Callable[..., Any] | None = ...,\n ) -> None: ...\n\nif sys.version_info >= (3, 8):\n if sys.platform == \"win32\":\n class _AddedDllDirectory:\n path: str | None\n def __init__(self, path: str | None, cookie: _T, remove_dll_directory: Callable[[_T], object]) -> None: ...\n def close(self) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, *args: Unused) -> None: ...\n\n def add_dll_directory(path: str) -> _AddedDllDirectory: ...\n if sys.platform == \"linux\":\n MFD_CLOEXEC: int\n MFD_ALLOW_SEALING: int\n MFD_HUGETLB: int\n MFD_HUGE_SHIFT: int\n MFD_HUGE_MASK: int\n MFD_HUGE_64KB: int\n MFD_HUGE_512KB: int\n MFD_HUGE_1MB: int\n MFD_HUGE_2MB: int\n MFD_HUGE_8MB: int\n MFD_HUGE_16MB: int\n MFD_HUGE_32MB: int\n MFD_HUGE_256MB: int\n MFD_HUGE_512MB: int\n MFD_HUGE_1GB: int\n MFD_HUGE_2GB: int\n MFD_HUGE_16GB: int\n def memfd_create(name: str, flags: int = ...) -> int: ...\n def copy_file_range(\n src: int, dst: int, count: int, offset_src: int | None = ..., offset_dst: int | None = ...\n ) -> int: ...\n\nif sys.version_info >= (3, 9):\n def waitstatus_to_exitcode(status: int) -> int: ...\n\n if sys.platform == \"linux\":\n def pidfd_open(pid: int, flags: int = ...) -> int: ...\n\nif sys.version_info >= (3, 12) and sys.platform == \"win32\":\n def listdrives() -> list[str]: ...\n def listmounts(volume: str) -> list[str]: ...\n def listvolumes() -> list[str]: ...\n\nif sys.version_info >= (3, 10) and sys.platform == \"linux\":\n EFD_CLOEXEC: int\n EFD_NONBLOCK: int\n EFD_SEMAPHORE: int\n SPLICE_F_MORE: int\n SPLICE_F_MOVE: int\n SPLICE_F_NONBLOCK: int\n def eventfd(initval: int, flags: int = 524288) -> FileDescriptor: ...\n def eventfd_read(fd: FileDescriptor) -> int: ...\n def eventfd_write(fd: FileDescriptor, value: int) -> None: ...\n def splice(\n src: FileDescriptor,\n dst: FileDescriptor,\n count: int,\n offset_src: int | None = ...,\n offset_dst: int | None = ...,\n flags: int = 0,\n ) -> int: ...\n\nif sys.version_info >= (3, 12) and sys.platform == \"linux\":\n CLONE_FILES: int\n CLONE_FS: int\n CLONE_NEWCGROUP: int\n CLONE_NEWIPC: int\n CLONE_NEWNET: int\n CLONE_NEWNS: int\n CLONE_NEWPID: int\n CLONE_NEWTIME: int\n CLONE_NEWUSER: int\n CLONE_NEWUTS: int\n CLONE_SIGHAND: int\n CLONE_SYSVSEM: int\n CLONE_THREAD: int\n CLONE_VM: int\n def unshare(flags: int) -> None: ...\n def setns(fd: FileDescriptorLike, nstype: int = 0) -> None: ...\n", + "/typeshed/stdlib/os/path.pyi": "import sys\n\nif sys.platform == \"win32\":\n from ntpath import *\n from ntpath import __all__ as __all__\nelse:\n from posixpath import *\n from posixpath import __all__ as __all__\n", + "/typeshed/stdlib/pydoc_data/__init__.pyi": "", + "/typeshed/stdlib/pydoc_data/topics.pyi": "topics: dict[str, str]\n", + "/typeshed/stdlib/pyexpat/__init__.pyi": "from _typeshed import ReadableBuffer, SupportsRead\nfrom collections.abc import Callable\nfrom pyexpat import errors as errors, model as model\nfrom typing import Any\nfrom typing_extensions import TypeAlias, final\n\nEXPAT_VERSION: str # undocumented\nversion_info: tuple[int, int, int] # undocumented\nnative_encoding: str # undocumented\nfeatures: list[tuple[str, int]] # undocumented\n\nclass ExpatError(Exception):\n code: int\n lineno: int\n offset: int\n\nerror = ExpatError\n\nXML_PARAM_ENTITY_PARSING_NEVER: int\nXML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE: int\nXML_PARAM_ENTITY_PARSING_ALWAYS: int\n\n_Model: TypeAlias = tuple[int, int, str | None, tuple[Any, ...]]\n\n@final\nclass XMLParserType:\n def Parse(self, __data: str | ReadableBuffer, __isfinal: bool = False) -> int: ...\n def ParseFile(self, __file: SupportsRead[bytes]) -> int: ...\n def SetBase(self, __base: str) -> None: ...\n def GetBase(self) -> str | None: ...\n def GetInputContext(self) -> bytes | None: ...\n def ExternalEntityParserCreate(self, __context: str | None, __encoding: str = ...) -> XMLParserType: ...\n def SetParamEntityParsing(self, __flag: int) -> int: ...\n def UseForeignDTD(self, __flag: bool = True) -> None: ...\n @property\n def intern(self) -> dict[str, str]: ...\n buffer_size: int\n buffer_text: bool\n buffer_used: int\n namespace_prefixes: bool # undocumented\n ordered_attributes: bool\n specified_attributes: bool\n ErrorByteIndex: int\n ErrorCode: int\n ErrorColumnNumber: int\n ErrorLineNumber: int\n CurrentByteIndex: int\n CurrentColumnNumber: int\n CurrentLineNumber: int\n XmlDeclHandler: Callable[[str, str | None, int], Any] | None\n StartDoctypeDeclHandler: Callable[[str, str | None, str | None, bool], Any] | None\n EndDoctypeDeclHandler: Callable[[], Any] | None\n ElementDeclHandler: Callable[[str, _Model], Any] | None\n AttlistDeclHandler: Callable[[str, str, str, str | None, bool], Any] | None\n StartElementHandler: Callable[[str, dict[str, str]], Any] | Callable[[str, list[str]], Any] | Callable[\n [str, dict[str, str], list[str]], Any\n ] | None\n EndElementHandler: Callable[[str], Any] | None\n ProcessingInstructionHandler: Callable[[str, str], Any] | None\n CharacterDataHandler: Callable[[str], Any] | None\n UnparsedEntityDeclHandler: Callable[[str, str | None, str, str | None, str], Any] | None\n EntityDeclHandler: Callable[[str, bool, str | None, str | None, str, str | None, str | None], Any] | None\n NotationDeclHandler: Callable[[str, str | None, str, str | None], Any] | None\n StartNamespaceDeclHandler: Callable[[str, str], Any] | None\n EndNamespaceDeclHandler: Callable[[str], Any] | None\n CommentHandler: Callable[[str], Any] | None\n StartCdataSectionHandler: Callable[[], Any] | None\n EndCdataSectionHandler: Callable[[], Any] | None\n DefaultHandler: Callable[[str], Any] | None\n DefaultHandlerExpand: Callable[[str], Any] | None\n NotStandaloneHandler: Callable[[], int] | None\n ExternalEntityRefHandler: Callable[[str, str | None, str | None, str | None], int] | None\n SkippedEntityHandler: Callable[[str, bool], Any] | None\n\ndef ErrorString(__code: int) -> str: ...\n\n# intern is undocumented\ndef ParserCreate(\n encoding: str | None = None, namespace_separator: str | None = None, intern: dict[str, Any] | None = None\n) -> XMLParserType: ...\n", + "/typeshed/stdlib/pyexpat/errors.pyi": "import sys\n\ncodes: dict[str, int]\nmessages: dict[int, str]\n\nXML_ERROR_ABORTED: str\nXML_ERROR_ASYNC_ENTITY: str\nXML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF: str\nXML_ERROR_BAD_CHAR_REF: str\nXML_ERROR_BINARY_ENTITY_REF: str\nXML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING: str\nXML_ERROR_DUPLICATE_ATTRIBUTE: str\nXML_ERROR_ENTITY_DECLARED_IN_PE: str\nXML_ERROR_EXTERNAL_ENTITY_HANDLING: str\nXML_ERROR_FEATURE_REQUIRES_XML_DTD: str\nXML_ERROR_FINISHED: str\nXML_ERROR_INCOMPLETE_PE: str\nXML_ERROR_INCORRECT_ENCODING: str\nXML_ERROR_INVALID_TOKEN: str\nXML_ERROR_JUNK_AFTER_DOC_ELEMENT: str\nXML_ERROR_MISPLACED_XML_PI: str\nXML_ERROR_NOT_STANDALONE: str\nXML_ERROR_NOT_SUSPENDED: str\nXML_ERROR_NO_ELEMENTS: str\nXML_ERROR_NO_MEMORY: str\nXML_ERROR_PARAM_ENTITY_REF: str\nXML_ERROR_PARTIAL_CHAR: str\nXML_ERROR_PUBLICID: str\nXML_ERROR_RECURSIVE_ENTITY_REF: str\nXML_ERROR_SUSPENDED: str\nXML_ERROR_SUSPEND_PE: str\nXML_ERROR_SYNTAX: str\nXML_ERROR_TAG_MISMATCH: str\nXML_ERROR_TEXT_DECL: str\nXML_ERROR_UNBOUND_PREFIX: str\nXML_ERROR_UNCLOSED_CDATA_SECTION: str\nXML_ERROR_UNCLOSED_TOKEN: str\nXML_ERROR_UNDECLARING_PREFIX: str\nXML_ERROR_UNDEFINED_ENTITY: str\nXML_ERROR_UNEXPECTED_STATE: str\nXML_ERROR_UNKNOWN_ENCODING: str\nXML_ERROR_XML_DECL: str\nif sys.version_info >= (3, 11):\n XML_ERROR_RESERVED_PREFIX_XML: str\n XML_ERROR_RESERVED_PREFIX_XMLNS: str\n XML_ERROR_RESERVED_NAMESPACE_URI: str\n XML_ERROR_INVALID_ARGUMENT: str\n XML_ERROR_NO_BUFFER: str\n XML_ERROR_AMPLIFICATION_LIMIT_BREACH: str\n", + "/typeshed/stdlib/pyexpat/model.pyi": "XML_CTYPE_ANY: int\nXML_CTYPE_CHOICE: int\nXML_CTYPE_EMPTY: int\nXML_CTYPE_MIXED: int\nXML_CTYPE_NAME: int\nXML_CTYPE_SEQ: int\n\nXML_CQUANT_NONE: int\nXML_CQUANT_OPT: int\nXML_CQUANT_PLUS: int\nXML_CQUANT_REP: int\n", + "/typeshed/stdlib/sqlite3/__init__.pyi": "from sqlite3.dbapi2 import *\n", + "/typeshed/stdlib/sqlite3/dbapi2.pyi": "import sqlite3\nimport sys\nfrom _typeshed import Incomplete, ReadableBuffer, StrOrBytesPath, SupportsLenAndGetItem, Unused\nfrom collections.abc import Callable, Generator, Iterable, Iterator, Mapping\nfrom datetime import date, datetime, time\nfrom types import TracebackType\nfrom typing import Any, Protocol, TypeVar, overload\nfrom typing_extensions import Literal, Self, SupportsIndex, TypeAlias, final\n\n_T = TypeVar(\"_T\")\n_CursorT = TypeVar(\"_CursorT\", bound=Cursor)\n_SqliteData: TypeAlias = str | ReadableBuffer | int | float | None\n# Data that is passed through adapters can be of any type accepted by an adapter.\n_AdaptedInputData: TypeAlias = _SqliteData | Any\n# The Mapping must really be a dict, but making it invariant is too annoying.\n_Parameters: TypeAlias = SupportsLenAndGetItem[_AdaptedInputData] | Mapping[str, _AdaptedInputData]\n_Adapter: TypeAlias = Callable[[_T], _SqliteData]\n_Converter: TypeAlias = Callable[[bytes], Any]\n\nparamstyle: str\nthreadsafety: int\napilevel: str\nDate = date\nTime = time\nTimestamp = datetime\n\ndef DateFromTicks(ticks: float) -> Date: ...\ndef TimeFromTicks(ticks: float) -> Time: ...\ndef TimestampFromTicks(ticks: float) -> Timestamp: ...\n\nversion_info: tuple[int, int, int]\nsqlite_version_info: tuple[int, int, int]\nBinary = memoryview\n\n# The remaining definitions are imported from _sqlite3.\n\nPARSE_COLNAMES: int\nPARSE_DECLTYPES: int\nSQLITE_ALTER_TABLE: int\nSQLITE_ANALYZE: int\nSQLITE_ATTACH: int\nSQLITE_CREATE_INDEX: int\nSQLITE_CREATE_TABLE: int\nSQLITE_CREATE_TEMP_INDEX: int\nSQLITE_CREATE_TEMP_TABLE: int\nSQLITE_CREATE_TEMP_TRIGGER: int\nSQLITE_CREATE_TEMP_VIEW: int\nSQLITE_CREATE_TRIGGER: int\nSQLITE_CREATE_VIEW: int\nSQLITE_CREATE_VTABLE: int\nSQLITE_DELETE: int\nSQLITE_DENY: int\nSQLITE_DETACH: int\nSQLITE_DONE: int\nSQLITE_DROP_INDEX: int\nSQLITE_DROP_TABLE: int\nSQLITE_DROP_TEMP_INDEX: int\nSQLITE_DROP_TEMP_TABLE: int\nSQLITE_DROP_TEMP_TRIGGER: int\nSQLITE_DROP_TEMP_VIEW: int\nSQLITE_DROP_TRIGGER: int\nSQLITE_DROP_VIEW: int\nSQLITE_DROP_VTABLE: int\nSQLITE_FUNCTION: int\nSQLITE_IGNORE: int\nSQLITE_INSERT: int\nSQLITE_OK: int\nif sys.version_info >= (3, 11):\n SQLITE_LIMIT_LENGTH: int\n SQLITE_LIMIT_SQL_LENGTH: int\n SQLITE_LIMIT_COLUMN: int\n SQLITE_LIMIT_EXPR_DEPTH: int\n SQLITE_LIMIT_COMPOUND_SELECT: int\n SQLITE_LIMIT_VDBE_OP: int\n SQLITE_LIMIT_FUNCTION_ARG: int\n SQLITE_LIMIT_ATTACHED: int\n SQLITE_LIMIT_LIKE_PATTERN_LENGTH: int\n SQLITE_LIMIT_VARIABLE_NUMBER: int\n SQLITE_LIMIT_TRIGGER_DEPTH: int\n SQLITE_LIMIT_WORKER_THREADS: int\nSQLITE_PRAGMA: int\nSQLITE_READ: int\nSQLITE_REINDEX: int\nSQLITE_RECURSIVE: int\nSQLITE_SAVEPOINT: int\nSQLITE_SELECT: int\nSQLITE_TRANSACTION: int\nSQLITE_UPDATE: int\nadapters: dict[tuple[type[Any], type[Any]], _Adapter[Any]]\nconverters: dict[str, _Converter]\nsqlite_version: str\nversion: str\n\nif sys.version_info >= (3, 11):\n SQLITE_ABORT: int\n SQLITE_ABORT_ROLLBACK: int\n SQLITE_AUTH: int\n SQLITE_AUTH_USER: int\n SQLITE_BUSY: int\n SQLITE_BUSY_RECOVERY: int\n SQLITE_BUSY_SNAPSHOT: int\n SQLITE_BUSY_TIMEOUT: int\n SQLITE_CANTOPEN: int\n SQLITE_CANTOPEN_CONVPATH: int\n SQLITE_CANTOPEN_DIRTYWAL: int\n SQLITE_CANTOPEN_FULLPATH: int\n SQLITE_CANTOPEN_ISDIR: int\n SQLITE_CANTOPEN_NOTEMPDIR: int\n SQLITE_CANTOPEN_SYMLINK: int\n SQLITE_CONSTRAINT: int\n SQLITE_CONSTRAINT_CHECK: int\n SQLITE_CONSTRAINT_COMMITHOOK: int\n SQLITE_CONSTRAINT_FOREIGNKEY: int\n SQLITE_CONSTRAINT_FUNCTION: int\n SQLITE_CONSTRAINT_NOTNULL: int\n SQLITE_CONSTRAINT_PINNED: int\n SQLITE_CONSTRAINT_PRIMARYKEY: int\n SQLITE_CONSTRAINT_ROWID: int\n SQLITE_CONSTRAINT_TRIGGER: int\n SQLITE_CONSTRAINT_UNIQUE: int\n SQLITE_CONSTRAINT_VTAB: int\n SQLITE_CORRUPT: int\n SQLITE_CORRUPT_INDEX: int\n SQLITE_CORRUPT_SEQUENCE: int\n SQLITE_CORRUPT_VTAB: int\n SQLITE_EMPTY: int\n SQLITE_ERROR: int\n SQLITE_ERROR_MISSING_COLLSEQ: int\n SQLITE_ERROR_RETRY: int\n SQLITE_ERROR_SNAPSHOT: int\n SQLITE_FORMAT: int\n SQLITE_FULL: int\n SQLITE_INTERNAL: int\n SQLITE_INTERRUPT: int\n SQLITE_IOERR: int\n SQLITE_IOERR_ACCESS: int\n SQLITE_IOERR_AUTH: int\n SQLITE_IOERR_BEGIN_ATOMIC: int\n SQLITE_IOERR_BLOCKED: int\n SQLITE_IOERR_CHECKRESERVEDLOCK: int\n SQLITE_IOERR_CLOSE: int\n SQLITE_IOERR_COMMIT_ATOMIC: int\n SQLITE_IOERR_CONVPATH: int\n SQLITE_IOERR_CORRUPTFS: int\n SQLITE_IOERR_DATA: int\n SQLITE_IOERR_DELETE: int\n SQLITE_IOERR_DELETE_NOENT: int\n SQLITE_IOERR_DIR_CLOSE: int\n SQLITE_IOERR_DIR_FSYNC: int\n SQLITE_IOERR_FSTAT: int\n SQLITE_IOERR_FSYNC: int\n SQLITE_IOERR_GETTEMPPATH: int\n SQLITE_IOERR_LOCK: int\n SQLITE_IOERR_MMAP: int\n SQLITE_IOERR_NOMEM: int\n SQLITE_IOERR_RDLOCK: int\n SQLITE_IOERR_READ: int\n SQLITE_IOERR_ROLLBACK_ATOMIC: int\n SQLITE_IOERR_SEEK: int\n SQLITE_IOERR_SHMLOCK: int\n SQLITE_IOERR_SHMMAP: int\n SQLITE_IOERR_SHMOPEN: int\n SQLITE_IOERR_SHMSIZE: int\n SQLITE_IOERR_SHORT_READ: int\n SQLITE_IOERR_TRUNCATE: int\n SQLITE_IOERR_UNLOCK: int\n SQLITE_IOERR_VNODE: int\n SQLITE_IOERR_WRITE: int\n SQLITE_LOCKED: int\n SQLITE_LOCKED_SHAREDCACHE: int\n SQLITE_LOCKED_VTAB: int\n SQLITE_MISMATCH: int\n SQLITE_MISUSE: int\n SQLITE_NOLFS: int\n SQLITE_NOMEM: int\n SQLITE_NOTADB: int\n SQLITE_NOTFOUND: int\n SQLITE_NOTICE: int\n SQLITE_NOTICE_RECOVER_ROLLBACK: int\n SQLITE_NOTICE_RECOVER_WAL: int\n SQLITE_OK_LOAD_PERMANENTLY: int\n SQLITE_OK_SYMLINK: int\n SQLITE_PERM: int\n SQLITE_PROTOCOL: int\n SQLITE_RANGE: int\n SQLITE_READONLY: int\n SQLITE_READONLY_CANTINIT: int\n SQLITE_READONLY_CANTLOCK: int\n SQLITE_READONLY_DBMOVED: int\n SQLITE_READONLY_DIRECTORY: int\n SQLITE_READONLY_RECOVERY: int\n SQLITE_READONLY_ROLLBACK: int\n SQLITE_ROW: int\n SQLITE_SCHEMA: int\n SQLITE_TOOBIG: int\n SQLITE_WARNING: int\n SQLITE_WARNING_AUTOINDEX: int\n\nif sys.version_info >= (3, 12):\n LEGACY_TRANSACTION_CONTROL: int\n SQLITE_DBCONFIG_DEFENSIVE: int\n SQLITE_DBCONFIG_DQS_DDL: int\n SQLITE_DBCONFIG_DQS_DML: int\n SQLITE_DBCONFIG_ENABLE_FKEY: int\n SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER: int\n SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION: int\n SQLITE_DBCONFIG_ENABLE_QPSG: int\n SQLITE_DBCONFIG_ENABLE_TRIGGER: int\n SQLITE_DBCONFIG_ENABLE_VIEW: int\n SQLITE_DBCONFIG_LEGACY_ALTER_TABLE: int\n SQLITE_DBCONFIG_LEGACY_FILE_FORMAT: int\n SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE: int\n SQLITE_DBCONFIG_RESET_DATABASE: int\n SQLITE_DBCONFIG_TRIGGER_EQP: int\n SQLITE_DBCONFIG_TRUSTED_SCHEMA: int\n SQLITE_DBCONFIG_WRITABLE_SCHEMA: int\n\n# Can take or return anything depending on what's in the registry.\n@overload\ndef adapt(__obj: Any, __proto: Any) -> Any: ...\n@overload\ndef adapt(__obj: Any, __proto: Any, __alt: _T) -> Any | _T: ...\ndef complete_statement(statement: str) -> bool: ...\ndef connect(\n database: StrOrBytesPath,\n timeout: float = ...,\n detect_types: int = ...,\n isolation_level: str | None = ...,\n check_same_thread: bool = ...,\n factory: type[Connection] | None = ...,\n cached_statements: int = ...,\n uri: bool = ...,\n) -> Connection: ...\ndef enable_callback_tracebacks(__enable: bool) -> None: ...\n\nif sys.version_info < (3, 12):\n # takes a pos-or-keyword argument because there is a C wrapper\n def enable_shared_cache(enable: int) -> None: ...\n\nif sys.version_info >= (3, 10):\n def register_adapter(__type: type[_T], __adapter: _Adapter[_T]) -> None: ...\n def register_converter(__typename: str, __converter: _Converter) -> None: ...\n\nelse:\n def register_adapter(__type: type[_T], __caster: _Adapter[_T]) -> None: ...\n def register_converter(__name: str, __converter: _Converter) -> None: ...\n\nif sys.version_info < (3, 8):\n class Cache:\n def __init__(self, *args: Incomplete, **kwargs: Unused) -> None: ...\n def display(self, *args: Incomplete, **kwargs: Incomplete) -> None: ...\n def get(self, *args: Incomplete, **kwargs: Incomplete) -> None: ...\n\nclass _AggregateProtocol(Protocol):\n def step(self, __value: int) -> object: ...\n def finalize(self) -> int: ...\n\nclass _SingleParamWindowAggregateClass(Protocol):\n def step(self, __param: Any) -> object: ...\n def inverse(self, __param: Any) -> object: ...\n def value(self) -> _SqliteData: ...\n def finalize(self) -> _SqliteData: ...\n\nclass _AnyParamWindowAggregateClass(Protocol):\n def step(self, *args: Any) -> object: ...\n def inverse(self, *args: Any) -> object: ...\n def value(self) -> _SqliteData: ...\n def finalize(self) -> _SqliteData: ...\n\nclass _WindowAggregateClass(Protocol):\n step: Callable[..., object]\n inverse: Callable[..., object]\n def value(self) -> _SqliteData: ...\n def finalize(self) -> _SqliteData: ...\n\nclass Connection:\n @property\n def DataError(self) -> type[sqlite3.DataError]: ...\n @property\n def DatabaseError(self) -> type[sqlite3.DatabaseError]: ...\n @property\n def Error(self) -> type[sqlite3.Error]: ...\n @property\n def IntegrityError(self) -> type[sqlite3.IntegrityError]: ...\n @property\n def InterfaceError(self) -> type[sqlite3.InterfaceError]: ...\n @property\n def InternalError(self) -> type[sqlite3.InternalError]: ...\n @property\n def NotSupportedError(self) -> type[sqlite3.NotSupportedError]: ...\n @property\n def OperationalError(self) -> type[sqlite3.OperationalError]: ...\n @property\n def ProgrammingError(self) -> type[sqlite3.ProgrammingError]: ...\n @property\n def Warning(self) -> type[sqlite3.Warning]: ...\n @property\n def in_transaction(self) -> bool: ...\n isolation_level: str | None # one of '', 'DEFERRED', 'IMMEDIATE' or 'EXCLUSIVE'\n @property\n def total_changes(self) -> int: ...\n if sys.version_info >= (3, 12):\n @property\n def autocommit(self) -> int: ...\n @autocommit.setter\n def autocommit(self, val: int) -> None: ...\n row_factory: Any\n text_factory: Any\n def __init__(\n self,\n database: StrOrBytesPath,\n timeout: float = ...,\n detect_types: int = ...,\n isolation_level: str | None = ...,\n check_same_thread: bool = ...,\n factory: type[Connection] | None = ...,\n cached_statements: int = ...,\n uri: bool = ...,\n ) -> None: ...\n def close(self) -> None: ...\n if sys.version_info >= (3, 11):\n def blobopen(self, __table: str, __column: str, __row: int, *, readonly: bool = False, name: str = \"main\") -> Blob: ...\n\n def commit(self) -> None: ...\n def create_aggregate(self, name: str, n_arg: int, aggregate_class: Callable[[], _AggregateProtocol]) -> None: ...\n if sys.version_info >= (3, 11):\n # num_params determines how many params will be passed to the aggregate class. We provide an overload\n # for the case where num_params = 1, which is expected to be the common case.\n @overload\n def create_window_function(\n self, __name: str, __num_params: Literal[1], __aggregate_class: Callable[[], _SingleParamWindowAggregateClass] | None\n ) -> None: ...\n # And for num_params = -1, which means the aggregate must accept any number of parameters.\n @overload\n def create_window_function(\n self, __name: str, __num_params: Literal[-1], __aggregate_class: Callable[[], _AnyParamWindowAggregateClass] | None\n ) -> None: ...\n @overload\n def create_window_function(\n self, __name: str, __num_params: int, __aggregate_class: Callable[[], _WindowAggregateClass] | None\n ) -> None: ...\n\n def create_collation(self, __name: str, __callback: Callable[[str, str], int | SupportsIndex] | None) -> None: ...\n if sys.version_info >= (3, 8):\n def create_function(\n self, name: str, narg: int, func: Callable[..., _SqliteData] | None, *, deterministic: bool = False\n ) -> None: ...\n else:\n def create_function(self, name: str, num_params: int, func: Callable[..., _SqliteData] | None) -> None: ...\n\n @overload\n def cursor(self, cursorClass: None = None) -> Cursor: ...\n @overload\n def cursor(self, cursorClass: Callable[[Connection], _CursorT]) -> _CursorT: ...\n def execute(self, sql: str, parameters: _Parameters = ...) -> Cursor: ...\n def executemany(self, __sql: str, __parameters: Iterable[_Parameters]) -> Cursor: ...\n def executescript(self, __sql_script: str) -> Cursor: ...\n def interrupt(self) -> None: ...\n def iterdump(self) -> Generator[str, None, None]: ...\n def rollback(self) -> None: ...\n def set_authorizer(\n self, authorizer_callback: Callable[[int, str | None, str | None, str | None, str | None], int] | None\n ) -> None: ...\n def set_progress_handler(self, progress_handler: Callable[[], int | None] | None, n: int) -> None: ...\n def set_trace_callback(self, trace_callback: Callable[[str], object] | None) -> None: ...\n # enable_load_extension and load_extension is not available on python distributions compiled\n # without sqlite3 loadable extension support. see footnotes https://docs.python.org/3/library/sqlite3.html#f1\n def enable_load_extension(self, __enable: bool) -> None: ...\n def load_extension(self, __name: str) -> None: ...\n def backup(\n self,\n target: Connection,\n *,\n pages: int = -1,\n progress: Callable[[int, int, int], object] | None = None,\n name: str = \"main\",\n sleep: float = 0.25,\n ) -> None: ...\n if sys.version_info >= (3, 11):\n def setlimit(self, __category: int, __limit: int) -> int: ...\n def getlimit(self, __category: int) -> int: ...\n def serialize(self, *, name: str = \"main\") -> bytes: ...\n def deserialize(self, __data: ReadableBuffer, *, name: str = \"main\") -> None: ...\n if sys.version_info >= (3, 12):\n def getconfig(self, __op: int) -> bool: ...\n def setconfig(self, __op: int, __enable: bool = True) -> bool: ...\n\n def __call__(self, __sql: str) -> _Statement: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, __type: type[BaseException] | None, __value: BaseException | None, __traceback: TracebackType | None\n ) -> Literal[False]: ...\n\nclass Cursor(Iterator[Any]):\n arraysize: int\n @property\n def connection(self) -> Connection: ...\n # May be None, but using | Any instead to avoid slightly annoying false positives.\n @property\n def description(self) -> tuple[tuple[str, None, None, None, None, None, None], ...] | Any: ...\n @property\n def lastrowid(self) -> int | None: ...\n row_factory: Callable[[Cursor, Row], object] | None\n @property\n def rowcount(self) -> int: ...\n def __init__(self, __cursor: Connection) -> None: ...\n def close(self) -> None: ...\n def execute(self, __sql: str, __parameters: _Parameters = ()) -> Self: ...\n def executemany(self, __sql: str, __seq_of_parameters: Iterable[_Parameters]) -> Self: ...\n def executescript(self, __sql_script: str) -> Cursor: ...\n def fetchall(self) -> list[Any]: ...\n def fetchmany(self, size: int | None = 1) -> list[Any]: ...\n # Returns either a row (as created by the row_factory) or None, but\n # putting None in the return annotation causes annoying false positives.\n def fetchone(self) -> Any: ...\n def setinputsizes(self, __sizes: Unused) -> None: ... # does nothing\n def setoutputsize(self, __size: Unused, __column: Unused = None) -> None: ... # does nothing\n def __iter__(self) -> Self: ...\n def __next__(self) -> Any: ...\n\nclass Error(Exception):\n if sys.version_info >= (3, 11):\n sqlite_errorcode: int\n sqlite_errorname: str\n\nclass DatabaseError(Error): ...\nclass DataError(DatabaseError): ...\nclass IntegrityError(DatabaseError): ...\nclass InterfaceError(Error): ...\nclass InternalError(DatabaseError): ...\nclass NotSupportedError(DatabaseError): ...\nclass OperationalError(DatabaseError): ...\n\nif sys.version_info < (3, 10):\n OptimizedUnicode = str\n\n@final\nclass PrepareProtocol:\n def __init__(self, *args: object, **kwargs: object) -> None: ...\n\nclass ProgrammingError(DatabaseError): ...\n\nclass Row:\n def __init__(self, __cursor: Cursor, __data: tuple[Any, ...]) -> None: ...\n def keys(self) -> list[str]: ...\n @overload\n def __getitem__(self, __key: int | str) -> Any: ...\n @overload\n def __getitem__(self, __key: slice) -> tuple[Any, ...]: ...\n def __hash__(self) -> int: ...\n def __iter__(self) -> Iterator[Any]: ...\n def __len__(self) -> int: ...\n # These return NotImplemented for anything that is not a Row.\n def __eq__(self, __value: object) -> bool: ...\n def __ge__(self, __value: object) -> bool: ...\n def __gt__(self, __value: object) -> bool: ...\n def __le__(self, __value: object) -> bool: ...\n def __lt__(self, __value: object) -> bool: ...\n def __ne__(self, __value: object) -> bool: ...\n\nif sys.version_info >= (3, 8):\n @final\n class _Statement: ...\n\nelse:\n @final\n class Statement:\n def __init__(self, *args: Incomplete, **kwargs: Incomplete) -> None: ...\n _Statement: TypeAlias = Statement\n\nclass Warning(Exception): ...\n\nif sys.version_info >= (3, 11):\n @final\n class Blob:\n def close(self) -> None: ...\n def read(self, __length: int = -1) -> bytes: ...\n def write(self, __data: ReadableBuffer) -> None: ...\n def tell(self) -> int: ...\n # whence must be one of os.SEEK_SET, os.SEEK_CUR, os.SEEK_END\n def seek(self, __offset: int, __origin: int = 0) -> None: ...\n def __len__(self) -> int: ...\n def __enter__(self) -> Self: ...\n def __exit__(self, __type: object, __val: object, __tb: object) -> Literal[False]: ...\n def __getitem__(self, __key: SupportsIndex | slice) -> int: ...\n def __setitem__(self, __key: SupportsIndex | slice, __value: int) -> None: ...\n", + "/typeshed/stdlib/sys/__init__.pyi": "import sys\nfrom _typeshed import OptExcInfo, ProfileFunction, TraceFunction, structseq\nfrom builtins import object as _object\nfrom collections.abc import AsyncGenerator, Callable, Coroutine, Sequence\nfrom importlib.abc import PathEntryFinder\nfrom importlib.machinery import ModuleSpec\nfrom io import TextIOWrapper\nfrom types import FrameType, ModuleType, TracebackType\nfrom typing import Any, NoReturn, Protocol, TextIO, TypeVar\nfrom typing_extensions import Final, Literal, TypeAlias, final\n\n_T = TypeVar(\"_T\")\n\n# see https://github.com/python/typeshed/issues/8513#issue-1333671093 for the rationale behind this alias\n_ExitCode: TypeAlias = str | int | None\n_OptExcInfo: TypeAlias = OptExcInfo # noqa: Y047 # TODO: obsolete, remove fall 2022 or later\n\n# Intentionally omits one deprecated and one optional method of `importlib.abc.MetaPathFinder`\nclass _MetaPathFinder(Protocol):\n def find_spec(self, fullname: str, path: Sequence[str] | None, target: ModuleType | None = ...) -> ModuleSpec | None: ...\n\n# ----- sys variables -----\nif sys.platform != \"win32\":\n abiflags: str\nargv: list[str]\nbase_exec_prefix: str\nbase_prefix: str\nbyteorder: Literal[\"little\", \"big\"]\nbuiltin_module_names: Sequence[str] # actually a tuple of strings\ncopyright: str\nif sys.platform == \"win32\":\n dllhandle: int\ndont_write_bytecode: bool\ndisplayhook: Callable[[object], Any]\nexcepthook: Callable[[type[BaseException], BaseException, TracebackType | None], Any]\nexec_prefix: str\nexecutable: str\nfloat_repr_style: Literal[\"short\", \"legacy\"]\nhexversion: int\nlast_type: type[BaseException] | None\nlast_value: BaseException | None\nlast_traceback: TracebackType | None\nmaxsize: int\nmaxunicode: int\nmeta_path: list[_MetaPathFinder]\nmodules: dict[str, ModuleType]\nif sys.version_info >= (3, 10):\n orig_argv: list[str]\npath: list[str]\npath_hooks: list[Callable[[str], PathEntryFinder]]\npath_importer_cache: dict[str, PathEntryFinder | None]\nplatform: str\nif sys.version_info >= (3, 9):\n platlibdir: str\nprefix: str\nif sys.version_info >= (3, 8):\n pycache_prefix: str | None\nps1: object\nps2: object\n\n# TextIO is used instead of more specific types for the standard streams,\n# since they are often monkeypatched at runtime. At startup, the objects\n# are initialized to instances of TextIOWrapper.\n#\n# To use methods from TextIOWrapper, use an isinstance check to ensure that\n# the streams have not been overridden:\n#\n# if isinstance(sys.stdout, io.TextIOWrapper):\n# sys.stdout.reconfigure(...)\nstdin: TextIO\nstdout: TextIO\nstderr: TextIO\n\nif sys.version_info >= (3, 10):\n stdlib_module_names: frozenset[str]\n\n__stdin__: Final[TextIOWrapper] # Contains the original value of stdin\n__stdout__: Final[TextIOWrapper] # Contains the original value of stdout\n__stderr__: Final[TextIOWrapper] # Contains the original value of stderr\ntracebacklimit: int\nversion: str\napi_version: int\nwarnoptions: Any\n# Each entry is a tuple of the form (action, message, category, module,\n# lineno)\nif sys.platform == \"win32\":\n winver: str\n_xoptions: dict[Any, Any]\n\n# Type alias used as a mixin for structseq classes that cannot be instantiated at runtime\n# This can't be represented in the type system, so we just use `structseq[Any]`\n_UninstantiableStructseq: TypeAlias = structseq[Any]\n\nflags: _flags\n\nif sys.version_info >= (3, 10):\n _FlagTuple: TypeAlias = tuple[int, int, int, int, int, int, int, int, int, int, int, int, int, bool, int, int]\nelse:\n _FlagTuple: TypeAlias = tuple[int, int, int, int, int, int, int, int, int, int, int, int, int, bool, int]\n\n@final\nclass _flags(_UninstantiableStructseq, _FlagTuple):\n @property\n def debug(self) -> int: ...\n @property\n def inspect(self) -> int: ...\n @property\n def interactive(self) -> int: ...\n @property\n def optimize(self) -> int: ...\n @property\n def dont_write_bytecode(self) -> int: ...\n @property\n def no_user_site(self) -> int: ...\n @property\n def no_site(self) -> int: ...\n @property\n def ignore_environment(self) -> int: ...\n @property\n def verbose(self) -> int: ...\n @property\n def bytes_warning(self) -> int: ...\n @property\n def quiet(self) -> int: ...\n @property\n def hash_randomization(self) -> int: ...\n @property\n def isolated(self) -> int: ...\n @property\n def dev_mode(self) -> bool: ...\n @property\n def utf8_mode(self) -> int: ...\n if sys.version_info >= (3, 10):\n @property\n def warn_default_encoding(self) -> int: ... # undocumented\n if sys.version_info >= (3, 11):\n @property\n def safe_path(self) -> bool: ...\n\nfloat_info: _float_info\n\n@final\nclass _float_info(structseq[float], tuple[float, int, int, float, int, int, int, int, float, int, int]):\n @property\n def max(self) -> float: ... # DBL_MAX\n @property\n def max_exp(self) -> int: ... # DBL_MAX_EXP\n @property\n def max_10_exp(self) -> int: ... # DBL_MAX_10_EXP\n @property\n def min(self) -> float: ... # DBL_MIN\n @property\n def min_exp(self) -> int: ... # DBL_MIN_EXP\n @property\n def min_10_exp(self) -> int: ... # DBL_MIN_10_EXP\n @property\n def dig(self) -> int: ... # DBL_DIG\n @property\n def mant_dig(self) -> int: ... # DBL_MANT_DIG\n @property\n def epsilon(self) -> float: ... # DBL_EPSILON\n @property\n def radix(self) -> int: ... # FLT_RADIX\n @property\n def rounds(self) -> int: ... # FLT_ROUNDS\n\nhash_info: _hash_info\n\n@final\nclass _hash_info(structseq[Any | int], tuple[int, int, int, int, int, str, int, int, int]):\n @property\n def width(self) -> int: ...\n @property\n def modulus(self) -> int: ...\n @property\n def inf(self) -> int: ...\n @property\n def nan(self) -> int: ...\n @property\n def imag(self) -> int: ...\n @property\n def algorithm(self) -> str: ...\n @property\n def hash_bits(self) -> int: ...\n @property\n def seed_bits(self) -> int: ...\n @property\n def cutoff(self) -> int: ... # undocumented\n\nimplementation: _implementation\n\nclass _implementation:\n name: str\n version: _version_info\n hexversion: int\n cache_tag: str\n # Define __getattr__, as the documentation states:\n # > sys.implementation may contain additional attributes specific to the Python implementation.\n # > These non-standard attributes must start with an underscore, and are not described here.\n def __getattr__(self, name: str) -> Any: ...\n\nint_info: _int_info\n\n@final\nclass _int_info(structseq[int], tuple[int, int, int, int]):\n @property\n def bits_per_digit(self) -> int: ...\n @property\n def sizeof_digit(self) -> int: ...\n @property\n def default_max_str_digits(self) -> int: ...\n @property\n def str_digits_check_threshold(self) -> int: ...\n\n_ThreadInfoName: TypeAlias = Literal[\"nt\", \"pthread\", \"pthread-stubs\", \"solaris\"]\n_ThreadInfoLock: TypeAlias = Literal[\"semaphore\", \"mutex+cond\"] | None\n\n@final\nclass _thread_info(_UninstantiableStructseq, tuple[_ThreadInfoName, _ThreadInfoLock, str | None]):\n @property\n def name(self) -> _ThreadInfoName: ...\n @property\n def lock(self) -> _ThreadInfoLock: ...\n @property\n def version(self) -> str | None: ...\n\nthread_info: _thread_info\n_ReleaseLevel: TypeAlias = Literal[\"alpha\", \"beta\", \"candidate\", \"final\"]\n\n@final\nclass _version_info(_UninstantiableStructseq, tuple[int, int, int, _ReleaseLevel, int]):\n @property\n def major(self) -> int: ...\n @property\n def minor(self) -> int: ...\n @property\n def micro(self) -> int: ...\n @property\n def releaselevel(self) -> _ReleaseLevel: ...\n @property\n def serial(self) -> int: ...\n\nversion_info: _version_info\n\ndef call_tracing(__func: Callable[..., _T], __args: Any) -> _T: ...\ndef _clear_type_cache() -> None: ...\ndef _current_frames() -> dict[int, FrameType]: ...\ndef _getframe(__depth: int = 0) -> FrameType: ...\ndef _debugmallocstats() -> None: ...\ndef __displayhook__(__object: object) -> None: ...\ndef __excepthook__(__exctype: type[BaseException], __value: BaseException, __traceback: TracebackType | None) -> None: ...\ndef exc_info() -> OptExcInfo: ...\n\nif sys.version_info >= (3, 11):\n def exception() -> BaseException | None: ...\n\ndef exit(__status: _ExitCode = None) -> NoReturn: ...\ndef getallocatedblocks() -> int: ...\ndef getdefaultencoding() -> str: ...\n\nif sys.platform != \"win32\":\n def getdlopenflags() -> int: ...\n\ndef getfilesystemencoding() -> str: ...\ndef getfilesystemencodeerrors() -> str: ...\ndef getrefcount(__object: Any) -> int: ...\ndef getrecursionlimit() -> int: ...\ndef getsizeof(obj: object, default: int = ...) -> int: ...\ndef getswitchinterval() -> float: ...\ndef getprofile() -> ProfileFunction | None: ...\ndef setprofile(profilefunc: ProfileFunction | None) -> None: ...\ndef gettrace() -> TraceFunction | None: ...\ndef settrace(tracefunc: TraceFunction | None) -> None: ...\n\nif sys.platform == \"win32\":\n # A tuple of length 5, even though it has more than 5 attributes.\n @final\n class _WinVersion(_UninstantiableStructseq, tuple[int, int, int, int, str]):\n @property\n def major(self) -> int: ...\n @property\n def minor(self) -> int: ...\n @property\n def build(self) -> int: ...\n @property\n def platform(self) -> int: ...\n @property\n def service_pack(self) -> str: ...\n @property\n def service_pack_minor(self) -> int: ...\n @property\n def service_pack_major(self) -> int: ...\n @property\n def suite_mask(self) -> int: ...\n @property\n def product_type(self) -> int: ...\n @property\n def platform_version(self) -> tuple[int, int, int]: ...\n\n def getwindowsversion() -> _WinVersion: ...\n\ndef intern(__string: str) -> str: ...\ndef is_finalizing() -> bool: ...\ndef breakpointhook(*args: Any, **kwargs: Any) -> Any: ...\n\n__breakpointhook__ = breakpointhook # Contains the original value of breakpointhook\n\nif sys.platform != \"win32\":\n def setdlopenflags(__flags: int) -> None: ...\n\ndef setrecursionlimit(__limit: int) -> None: ...\ndef setswitchinterval(__interval: float) -> None: ...\ndef gettotalrefcount() -> int: ... # Debug builds only\n\nif sys.version_info < (3, 9):\n def getcheckinterval() -> int: ... # deprecated\n def setcheckinterval(__n: int) -> None: ... # deprecated\n\nif sys.version_info < (3, 9):\n # An 11-tuple or None\n def callstats() -> tuple[int, int, int, int, int, int, int, int, int, int, int] | None: ...\n\nif sys.version_info >= (3, 8):\n # Doesn't exist at runtime, but exported in the stubs so pytest etc. can annotate their code more easily.\n class UnraisableHookArgs(Protocol):\n exc_type: type[BaseException]\n exc_value: BaseException | None\n exc_traceback: TracebackType | None\n err_msg: str | None\n object: _object\n unraisablehook: Callable[[UnraisableHookArgs], Any]\n def __unraisablehook__(__unraisable: UnraisableHookArgs) -> Any: ...\n def addaudithook(hook: Callable[[str, tuple[Any, ...]], Any]) -> None: ...\n def audit(__event: str, *args: Any) -> None: ...\n\n_AsyncgenHook: TypeAlias = Callable[[AsyncGenerator[Any, Any]], None] | None\n\n@final\nclass _asyncgen_hooks(structseq[_AsyncgenHook], tuple[_AsyncgenHook, _AsyncgenHook]):\n @property\n def firstiter(self) -> _AsyncgenHook: ...\n @property\n def finalizer(self) -> _AsyncgenHook: ...\n\ndef get_asyncgen_hooks() -> _asyncgen_hooks: ...\ndef set_asyncgen_hooks(firstiter: _AsyncgenHook = ..., finalizer: _AsyncgenHook = ...) -> None: ...\n\nif sys.platform == \"win32\":\n def _enablelegacywindowsfsencoding() -> None: ...\n\ndef get_coroutine_origin_tracking_depth() -> int: ...\ndef set_coroutine_origin_tracking_depth(depth: int) -> None: ...\n\nif sys.version_info < (3, 8):\n _CoroWrapper: TypeAlias = Callable[[Coroutine[Any, Any, Any]], Any]\n def set_coroutine_wrapper(__wrapper: _CoroWrapper) -> None: ...\n def get_coroutine_wrapper() -> _CoroWrapper: ...\n\n# The following two functions were added in 3.11.0, 3.10.7, 3.9.14, 3.8.14, & 3.7.14,\n# as part of the response to CVE-2020-10735\ndef set_int_max_str_digits(maxdigits: int) -> None: ...\ndef get_int_max_str_digits() -> int: ...\n\nif sys.version_info >= (3, 12):\n def getunicodeinternedsize() -> int: ...\n def deactivate_stack_trampoline() -> None: ...\n def is_stack_trampoline_active() -> bool: ...\n # It always exists, but raises on non-linux platforms:\n if sys.platform == \"linux\":\n def activate_stack_trampoline(__backend: str) -> None: ...\n else:\n def activate_stack_trampoline(__backend: str) -> NoReturn: ...\n\n from . import _monitoring\n\n monitoring = _monitoring\n", + "/typeshed/stdlib/sys/_monitoring.pyi": "# This py312+ module provides annotations for `sys.monitoring`.\n# It's named `sys._monitoring` in typeshed,\n# because trying to import `sys.monitoring` will fail at runtime!\n# At runtime, `sys.monitoring` has the unique status\n# of being a `types.ModuleType` instance that cannot be directly imported,\n# and exists in the `sys`-module namespace despite `sys` not being a package.\n\nfrom collections.abc import Callable\nfrom types import CodeType\nfrom typing import Any\n\nDEBUGGER_ID: int\nCOVERAGE_ID: int\nPROFILER_ID: int\nOPTIMIZER_ID: int\n\ndef use_tool_id(__tool_id: int, __name: str) -> None: ...\ndef free_tool_id(__tool_id: int) -> None: ...\ndef get_tool(__tool_id: int) -> str | None: ...\n\nevents: _events\n\nclass _events:\n BRANCH: int\n CALL: int\n C_RAISE: int\n C_RETURN: int\n EXCEPTION_HANDLED: int\n INSTRUCTION: int\n JUMP: int\n LINE: int\n NO_EVENTS: int\n PY_RESUME: int\n PY_RETURN: int\n PY_START: int\n PY_THROW: int\n PY_UNWIND: int\n PY_YIELD: int\n RAISE: int\n RERAISE: int\n STOP_ITERATION: int\n\ndef get_events(__tool_id: int) -> int: ...\ndef set_events(__tool_id: int, __event_set: int) -> None: ...\ndef get_local_events(__tool_id: int, __code: CodeType) -> int: ...\ndef set_local_events(__tool_id: int, __code: CodeType, __event_set: int) -> int: ...\ndef restart_events() -> None: ...\n\nDISABLE: object\nMISSING: object\n\ndef register_callback(__tool_id: int, __event: int, __func: Callable[..., Any] | None) -> Callable[..., Any] | None: ...\n", + "/typeshed/stdlib/urllib/__init__.pyi": "", + "/typeshed/stdlib/urllib/error.pyi": "from email.message import Message\nfrom typing import IO\nfrom urllib.response import addinfourl\n\n__all__ = [\"URLError\", \"HTTPError\", \"ContentTooShortError\"]\n\nclass URLError(OSError):\n reason: str | BaseException\n def __init__(self, reason: str | BaseException, filename: str | None = None) -> None: ...\n\nclass HTTPError(URLError, addinfourl):\n @property\n def headers(self) -> Message: ...\n @headers.setter\n def headers(self, headers: Message) -> None: ...\n @property\n def reason(self) -> str: ... # type: ignore[override]\n code: int\n def __init__(self, url: str, code: int, msg: str, hdrs: Message, fp: IO[bytes] | None) -> None: ...\n\nclass ContentTooShortError(URLError):\n content: tuple[str, Message]\n def __init__(self, message: str, content: tuple[str, Message]) -> None: ...\n", + "/typeshed/stdlib/urllib/parse.pyi": "import sys\nfrom collections.abc import Callable, Iterable, Mapping, Sequence\nfrom typing import Any, AnyStr, Generic, NamedTuple, TypeVar, overload\nfrom typing_extensions import Literal, TypeAlias\n\nif sys.version_info >= (3, 9):\n from types import GenericAlias\n\n__all__ = [\n \"urlparse\",\n \"urlunparse\",\n \"urljoin\",\n \"urldefrag\",\n \"urlsplit\",\n \"urlunsplit\",\n \"urlencode\",\n \"parse_qs\",\n \"parse_qsl\",\n \"quote\",\n \"quote_plus\",\n \"quote_from_bytes\",\n \"unquote\",\n \"unquote_plus\",\n \"unquote_to_bytes\",\n \"DefragResult\",\n \"ParseResult\",\n \"SplitResult\",\n \"DefragResultBytes\",\n \"ParseResultBytes\",\n \"SplitResultBytes\",\n]\n\nuses_relative: list[str]\nuses_netloc: list[str]\nuses_params: list[str]\nnon_hierarchical: list[str]\nuses_query: list[str]\nuses_fragment: list[str]\nscheme_chars: str\nif sys.version_info < (3, 11):\n MAX_CACHE_SIZE: int\n\nclass _ResultMixinStr:\n def encode(self, encoding: str = \"ascii\", errors: str = \"strict\") -> _ResultMixinBytes: ...\n\nclass _ResultMixinBytes:\n def decode(self, encoding: str = \"ascii\", errors: str = \"strict\") -> _ResultMixinStr: ...\n\nclass _NetlocResultMixinBase(Generic[AnyStr]):\n @property\n def username(self) -> AnyStr | None: ...\n @property\n def password(self) -> AnyStr | None: ...\n @property\n def hostname(self) -> AnyStr | None: ...\n @property\n def port(self) -> int | None: ...\n if sys.version_info >= (3, 9):\n def __class_getitem__(cls, item: Any) -> GenericAlias: ...\n\nclass _NetlocResultMixinStr(_NetlocResultMixinBase[str], _ResultMixinStr): ...\nclass _NetlocResultMixinBytes(_NetlocResultMixinBase[bytes], _ResultMixinBytes): ...\n\nclass _DefragResultBase(NamedTuple, Generic[AnyStr]):\n url: AnyStr\n fragment: AnyStr\n\nclass _SplitResultBase(NamedTuple, Generic[AnyStr]):\n scheme: AnyStr\n netloc: AnyStr\n path: AnyStr\n query: AnyStr\n fragment: AnyStr\n\nclass _ParseResultBase(NamedTuple, Generic[AnyStr]):\n scheme: AnyStr\n netloc: AnyStr\n path: AnyStr\n params: AnyStr\n query: AnyStr\n fragment: AnyStr\n\n# Structured result objects for string data\nclass DefragResult(_DefragResultBase[str], _ResultMixinStr):\n def geturl(self) -> str: ...\n\nclass SplitResult(_SplitResultBase[str], _NetlocResultMixinStr):\n def geturl(self) -> str: ...\n\nclass ParseResult(_ParseResultBase[str], _NetlocResultMixinStr):\n def geturl(self) -> str: ...\n\n# Structured result objects for bytes data\nclass DefragResultBytes(_DefragResultBase[bytes], _ResultMixinBytes):\n def geturl(self) -> bytes: ...\n\nclass SplitResultBytes(_SplitResultBase[bytes], _NetlocResultMixinBytes):\n def geturl(self) -> bytes: ...\n\nclass ParseResultBytes(_ParseResultBase[bytes], _NetlocResultMixinBytes):\n def geturl(self) -> bytes: ...\n\ndef parse_qs(\n qs: AnyStr | None,\n keep_blank_values: bool = False,\n strict_parsing: bool = False,\n encoding: str = \"utf-8\",\n errors: str = \"replace\",\n max_num_fields: int | None = None,\n separator: str = \"&\",\n) -> dict[AnyStr, list[AnyStr]]: ...\ndef parse_qsl(\n qs: AnyStr | None,\n keep_blank_values: bool = False,\n strict_parsing: bool = False,\n encoding: str = \"utf-8\",\n errors: str = \"replace\",\n max_num_fields: int | None = None,\n separator: str = \"&\",\n) -> list[tuple[AnyStr, AnyStr]]: ...\n@overload\ndef quote(string: str, safe: str | Iterable[int] = \"/\", encoding: str | None = None, errors: str | None = None) -> str: ...\n@overload\ndef quote(string: bytes | bytearray, safe: str | Iterable[int] = \"/\") -> str: ...\ndef quote_from_bytes(bs: bytes | bytearray, safe: str | Iterable[int] = \"/\") -> str: ...\n@overload\ndef quote_plus(string: str, safe: str | Iterable[int] = \"\", encoding: str | None = None, errors: str | None = None) -> str: ...\n@overload\ndef quote_plus(string: bytes | bytearray, safe: str | Iterable[int] = \"\") -> str: ...\n\nif sys.version_info >= (3, 9):\n def unquote(string: str | bytes, encoding: str = \"utf-8\", errors: str = \"replace\") -> str: ...\n\nelse:\n def unquote(string: str, encoding: str = \"utf-8\", errors: str = \"replace\") -> str: ...\n\ndef unquote_to_bytes(string: str | bytes | bytearray) -> bytes: ...\ndef unquote_plus(string: str, encoding: str = \"utf-8\", errors: str = \"replace\") -> str: ...\n@overload\ndef urldefrag(url: str) -> DefragResult: ...\n@overload\ndef urldefrag(url: bytes | bytearray | None) -> DefragResultBytes: ...\n\n_Q = TypeVar(\"_Q\", bound=str | Iterable[int])\n_QueryType: TypeAlias = (\n Mapping[Any, Any] | Mapping[Any, Sequence[Any]] | Sequence[tuple[Any, Any]] | Sequence[tuple[Any, Sequence[Any]]]\n)\n\n@overload\ndef urlencode(\n query: _QueryType,\n doseq: bool = False,\n safe: str = \"\",\n encoding: str | None = None,\n errors: str | None = None,\n quote_via: Callable[[AnyStr, str, str, str], str] = ...,\n) -> str: ...\n@overload\ndef urlencode(\n query: _QueryType,\n doseq: bool,\n safe: _Q,\n encoding: str | None = None,\n errors: str | None = None,\n quote_via: Callable[[AnyStr, _Q, str, str], str] = ...,\n) -> str: ...\n@overload\ndef urlencode(\n query: _QueryType,\n doseq: bool = False,\n *,\n safe: _Q,\n encoding: str | None = None,\n errors: str | None = None,\n quote_via: Callable[[AnyStr, _Q, str, str], str] = ...,\n) -> str: ...\ndef urljoin(base: AnyStr, url: AnyStr | None, allow_fragments: bool = True) -> AnyStr: ...\n@overload\ndef urlparse(url: str, scheme: str = \"\", allow_fragments: bool = True) -> ParseResult: ...\n@overload\ndef urlparse(\n url: bytes | bytearray | None, scheme: bytes | bytearray | None | Literal[\"\"] = \"\", allow_fragments: bool = True\n) -> ParseResultBytes: ...\n@overload\ndef urlsplit(url: str, scheme: str = \"\", allow_fragments: bool = True) -> SplitResult: ...\n\nif sys.version_info >= (3, 11):\n @overload\n def urlsplit(\n url: bytes | None, scheme: bytes | None | Literal[\"\"] = \"\", allow_fragments: bool = True\n ) -> SplitResultBytes: ...\n\nelse:\n @overload\n def urlsplit(\n url: bytes | bytearray | None, scheme: bytes | bytearray | None | Literal[\"\"] = \"\", allow_fragments: bool = True\n ) -> SplitResultBytes: ...\n\n# Requires an iterable of length 6\n@overload\ndef urlunparse(components: Iterable[None]) -> Literal[b\"\"]: ...\n@overload\ndef urlunparse(components: Iterable[AnyStr | None]) -> AnyStr: ...\n\n# Requires an iterable of length 5\n@overload\ndef urlunsplit(components: Iterable[None]) -> Literal[b\"\"]: ...\n@overload\ndef urlunsplit(components: Iterable[AnyStr | None]) -> AnyStr: ...\ndef unwrap(url: str) -> str: ...\n", + "/typeshed/stdlib/urllib/request.pyi": "import ssl\nimport sys\nfrom _typeshed import ReadableBuffer, StrOrBytesPath, SupportsRead\nfrom collections.abc import Callable, Iterable, Mapping, MutableMapping, Sequence\nfrom email.message import Message\nfrom http.client import HTTPConnection, HTTPMessage, HTTPResponse\nfrom http.cookiejar import CookieJar\nfrom re import Pattern\nfrom typing import IO, Any, ClassVar, NoReturn, Protocol, TypeVar, overload\nfrom typing_extensions import TypeAlias\nfrom urllib.error import HTTPError as HTTPError\nfrom urllib.response import addclosehook, addinfourl\n\n__all__ = [\n \"Request\",\n \"OpenerDirector\",\n \"BaseHandler\",\n \"HTTPDefaultErrorHandler\",\n \"HTTPRedirectHandler\",\n \"HTTPCookieProcessor\",\n \"ProxyHandler\",\n \"HTTPPasswordMgr\",\n \"HTTPPasswordMgrWithDefaultRealm\",\n \"HTTPPasswordMgrWithPriorAuth\",\n \"AbstractBasicAuthHandler\",\n \"HTTPBasicAuthHandler\",\n \"ProxyBasicAuthHandler\",\n \"AbstractDigestAuthHandler\",\n \"HTTPDigestAuthHandler\",\n \"ProxyDigestAuthHandler\",\n \"HTTPHandler\",\n \"FileHandler\",\n \"FTPHandler\",\n \"CacheFTPHandler\",\n \"DataHandler\",\n \"UnknownHandler\",\n \"HTTPErrorProcessor\",\n \"urlopen\",\n \"install_opener\",\n \"build_opener\",\n \"pathname2url\",\n \"url2pathname\",\n \"getproxies\",\n \"urlretrieve\",\n \"urlcleanup\",\n \"URLopener\",\n \"FancyURLopener\",\n \"HTTPSHandler\",\n]\n\n_T = TypeVar(\"_T\")\n_UrlopenRet: TypeAlias = Any\n_DataType: TypeAlias = ReadableBuffer | SupportsRead[bytes] | Iterable[bytes] | None\n\ndef urlopen(\n url: str | Request,\n data: _DataType | None = None,\n timeout: float | None = ...,\n *,\n cafile: str | None = None,\n capath: str | None = None,\n cadefault: bool = False,\n context: ssl.SSLContext | None = None,\n) -> _UrlopenRet: ...\ndef install_opener(opener: OpenerDirector) -> None: ...\ndef build_opener(*handlers: BaseHandler | Callable[[], BaseHandler]) -> OpenerDirector: ...\n\nif sys.platform == \"win32\":\n from nturl2path import pathname2url as pathname2url, url2pathname as url2pathname\nelse:\n def url2pathname(pathname: str) -> str: ...\n def pathname2url(pathname: str) -> str: ...\n\ndef getproxies() -> dict[str, str]: ...\ndef parse_http_list(s: str) -> list[str]: ...\ndef parse_keqv_list(l: list[str]) -> dict[str, str]: ...\n\nif sys.platform == \"win32\" or sys.platform == \"darwin\":\n def proxy_bypass(host: str) -> Any: ... # undocumented\n\nelse:\n def proxy_bypass(host: str, proxies: Mapping[str, str] | None = None) -> Any: ... # undocumented\n\nclass Request:\n @property\n def full_url(self) -> str: ...\n @full_url.setter\n def full_url(self, value: str) -> None: ...\n @full_url.deleter\n def full_url(self) -> None: ...\n type: str\n host: str\n origin_req_host: str\n selector: str\n data: _DataType\n headers: MutableMapping[str, str]\n unredirected_hdrs: dict[str, str]\n unverifiable: bool\n method: str | None\n timeout: float | None # Undocumented, only set after __init__() by OpenerDirector.open()\n def __init__(\n self,\n url: str,\n data: _DataType = None,\n headers: MutableMapping[str, str] = {},\n origin_req_host: str | None = None,\n unverifiable: bool = False,\n method: str | None = None,\n ) -> None: ...\n def get_method(self) -> str: ...\n def add_header(self, key: str, val: str) -> None: ...\n def add_unredirected_header(self, key: str, val: str) -> None: ...\n def has_header(self, header_name: str) -> bool: ...\n def remove_header(self, header_name: str) -> None: ...\n def get_full_url(self) -> str: ...\n def set_proxy(self, host: str, type: str) -> None: ...\n @overload\n def get_header(self, header_name: str) -> str | None: ...\n @overload\n def get_header(self, header_name: str, default: _T) -> str | _T: ...\n def header_items(self) -> list[tuple[str, str]]: ...\n def has_proxy(self) -> bool: ...\n\nclass OpenerDirector:\n addheaders: list[tuple[str, str]]\n def add_handler(self, handler: BaseHandler) -> None: ...\n def open(self, fullurl: str | Request, data: _DataType = None, timeout: float | None = ...) -> _UrlopenRet: ...\n def error(self, proto: str, *args: Any) -> _UrlopenRet: ...\n def close(self) -> None: ...\n\nclass BaseHandler:\n handler_order: ClassVar[int]\n parent: OpenerDirector\n def add_parent(self, parent: OpenerDirector) -> None: ...\n def close(self) -> None: ...\n def __lt__(self, other: object) -> bool: ...\n\nclass HTTPDefaultErrorHandler(BaseHandler):\n def http_error_default(\n self, req: Request, fp: IO[bytes], code: int, msg: str, hdrs: HTTPMessage\n ) -> HTTPError: ... # undocumented\n\nclass HTTPRedirectHandler(BaseHandler):\n max_redirections: ClassVar[int] # undocumented\n max_repeats: ClassVar[int] # undocumented\n inf_msg: ClassVar[str] # undocumented\n def redirect_request(\n self, req: Request, fp: IO[bytes], code: int, msg: str, headers: HTTPMessage, newurl: str\n ) -> Request | None: ...\n def http_error_301(self, req: Request, fp: IO[bytes], code: int, msg: str, headers: HTTPMessage) -> _UrlopenRet | None: ...\n def http_error_302(self, req: Request, fp: IO[bytes], code: int, msg: str, headers: HTTPMessage) -> _UrlopenRet | None: ...\n def http_error_303(self, req: Request, fp: IO[bytes], code: int, msg: str, headers: HTTPMessage) -> _UrlopenRet | None: ...\n def http_error_307(self, req: Request, fp: IO[bytes], code: int, msg: str, headers: HTTPMessage) -> _UrlopenRet | None: ...\n if sys.version_info >= (3, 11):\n def http_error_308(\n self, req: Request, fp: IO[bytes], code: int, msg: str, headers: HTTPMessage\n ) -> _UrlopenRet | None: ...\n\nclass HTTPCookieProcessor(BaseHandler):\n cookiejar: CookieJar\n def __init__(self, cookiejar: CookieJar | None = None) -> None: ...\n def http_request(self, request: Request) -> Request: ... # undocumented\n def http_response(self, request: Request, response: HTTPResponse) -> HTTPResponse: ... # undocumented\n def https_request(self, request: Request) -> Request: ... # undocumented\n def https_response(self, request: Request, response: HTTPResponse) -> HTTPResponse: ... # undocumented\n\nclass ProxyHandler(BaseHandler):\n def __init__(self, proxies: dict[str, str] | None = None) -> None: ...\n def proxy_open(self, req: Request, proxy: str, type: str) -> _UrlopenRet | None: ... # undocumented\n # TODO add a method for every (common) proxy protocol\n\nclass HTTPPasswordMgr:\n def add_password(self, realm: str, uri: str | Sequence[str], user: str, passwd: str) -> None: ...\n def find_user_password(self, realm: str, authuri: str) -> tuple[str | None, str | None]: ...\n def is_suburi(self, base: str, test: str) -> bool: ... # undocumented\n def reduce_uri(self, uri: str, default_port: bool = True) -> tuple[str, str]: ... # undocumented\n\nclass HTTPPasswordMgrWithDefaultRealm(HTTPPasswordMgr):\n def add_password(self, realm: str | None, uri: str | Sequence[str], user: str, passwd: str) -> None: ...\n def find_user_password(self, realm: str | None, authuri: str) -> tuple[str | None, str | None]: ...\n\nclass HTTPPasswordMgrWithPriorAuth(HTTPPasswordMgrWithDefaultRealm):\n def add_password(\n self, realm: str | None, uri: str | Sequence[str], user: str, passwd: str, is_authenticated: bool = False\n ) -> None: ...\n def update_authenticated(self, uri: str | Sequence[str], is_authenticated: bool = False) -> None: ...\n def is_authenticated(self, authuri: str) -> bool | None: ...\n\nclass AbstractBasicAuthHandler:\n rx: ClassVar[Pattern[str]] # undocumented\n passwd: HTTPPasswordMgr\n add_password: Callable[[str, str | Sequence[str], str, str], None]\n def __init__(self, password_mgr: HTTPPasswordMgr | None = None) -> None: ...\n def http_error_auth_reqed(self, authreq: str, host: str, req: Request, headers: HTTPMessage) -> None: ...\n def http_request(self, req: Request) -> Request: ... # undocumented\n def http_response(self, req: Request, response: HTTPResponse) -> HTTPResponse: ... # undocumented\n def https_request(self, req: Request) -> Request: ... # undocumented\n def https_response(self, req: Request, response: HTTPResponse) -> HTTPResponse: ... # undocumented\n def retry_http_basic_auth(self, host: str, req: Request, realm: str) -> _UrlopenRet | None: ... # undocumented\n\nclass HTTPBasicAuthHandler(AbstractBasicAuthHandler, BaseHandler):\n auth_header: ClassVar[str] # undocumented\n def http_error_401(self, req: Request, fp: IO[bytes], code: int, msg: str, headers: HTTPMessage) -> _UrlopenRet | None: ...\n\nclass ProxyBasicAuthHandler(AbstractBasicAuthHandler, BaseHandler):\n auth_header: ClassVar[str]\n def http_error_407(self, req: Request, fp: IO[bytes], code: int, msg: str, headers: HTTPMessage) -> _UrlopenRet | None: ...\n\nclass AbstractDigestAuthHandler:\n def __init__(self, passwd: HTTPPasswordMgr | None = None) -> None: ...\n def reset_retry_count(self) -> None: ...\n def http_error_auth_reqed(self, auth_header: str, host: str, req: Request, headers: HTTPMessage) -> None: ...\n def retry_http_digest_auth(self, req: Request, auth: str) -> _UrlopenRet | None: ...\n def get_cnonce(self, nonce: str) -> str: ...\n def get_authorization(self, req: Request, chal: Mapping[str, str]) -> str | None: ...\n def get_algorithm_impls(self, algorithm: str) -> tuple[Callable[[str], str], Callable[[str, str], str]]: ...\n def get_entity_digest(self, data: ReadableBuffer | None, chal: Mapping[str, str]) -> str | None: ...\n\nclass HTTPDigestAuthHandler(BaseHandler, AbstractDigestAuthHandler):\n auth_header: ClassVar[str] # undocumented\n def http_error_401(self, req: Request, fp: IO[bytes], code: int, msg: str, headers: HTTPMessage) -> _UrlopenRet | None: ...\n\nclass ProxyDigestAuthHandler(BaseHandler, AbstractDigestAuthHandler):\n auth_header: ClassVar[str] # undocumented\n def http_error_407(self, req: Request, fp: IO[bytes], code: int, msg: str, headers: HTTPMessage) -> _UrlopenRet | None: ...\n\nclass _HTTPConnectionProtocol(Protocol):\n def __call__(\n self,\n host: str,\n port: int | None = ...,\n timeout: float = ...,\n source_address: tuple[str, int] | None = ...,\n blocksize: int = ...,\n ) -> HTTPConnection: ...\n\nclass AbstractHTTPHandler(BaseHandler): # undocumented\n if sys.version_info >= (3, 12):\n def __init__(self, debuglevel: int | None = None) -> None: ...\n else:\n def __init__(self, debuglevel: int = 0) -> None: ...\n\n def set_http_debuglevel(self, level: int) -> None: ...\n def do_request_(self, request: Request) -> Request: ...\n def do_open(self, http_class: _HTTPConnectionProtocol, req: Request, **http_conn_args: Any) -> HTTPResponse: ...\n\nclass HTTPHandler(AbstractHTTPHandler):\n def http_open(self, req: Request) -> HTTPResponse: ...\n def http_request(self, request: Request) -> Request: ... # undocumented\n\nclass HTTPSHandler(AbstractHTTPHandler):\n if sys.version_info >= (3, 12):\n def __init__(\n self, debuglevel: int | None = None, context: ssl.SSLContext | None = None, check_hostname: bool | None = None\n ) -> None: ...\n else:\n def __init__(\n self, debuglevel: int = 0, context: ssl.SSLContext | None = None, check_hostname: bool | None = None\n ) -> None: ...\n\n def https_open(self, req: Request) -> HTTPResponse: ...\n def https_request(self, request: Request) -> Request: ... # undocumented\n\nclass FileHandler(BaseHandler):\n names: ClassVar[tuple[str, ...] | None] # undocumented\n def file_open(self, req: Request) -> addinfourl: ...\n def get_names(self) -> tuple[str, ...]: ... # undocumented\n def open_local_file(self, req: Request) -> addinfourl: ... # undocumented\n\nclass DataHandler(BaseHandler):\n def data_open(self, req: Request) -> addinfourl: ...\n\nclass ftpwrapper: # undocumented\n def __init__(\n self, user: str, passwd: str, host: str, port: int, dirs: str, timeout: float | None = None, persistent: bool = True\n ) -> None: ...\n def close(self) -> None: ...\n def endtransfer(self) -> None: ...\n def file_close(self) -> None: ...\n def init(self) -> None: ...\n def real_close(self) -> None: ...\n def retrfile(self, file: str, type: str) -> tuple[addclosehook, int | None]: ...\n\nclass FTPHandler(BaseHandler):\n def ftp_open(self, req: Request) -> addinfourl: ...\n def connect_ftp(\n self, user: str, passwd: str, host: str, port: int, dirs: str, timeout: float\n ) -> ftpwrapper: ... # undocumented\n\nclass CacheFTPHandler(FTPHandler):\n def setTimeout(self, t: float) -> None: ...\n def setMaxConns(self, m: int) -> None: ...\n def check_cache(self) -> None: ... # undocumented\n def clear_cache(self) -> None: ... # undocumented\n\nclass UnknownHandler(BaseHandler):\n def unknown_open(self, req: Request) -> NoReturn: ...\n\nclass HTTPErrorProcessor(BaseHandler):\n def http_response(self, request: Request, response: HTTPResponse) -> _UrlopenRet: ...\n def https_response(self, request: Request, response: HTTPResponse) -> _UrlopenRet: ...\n\ndef urlretrieve(\n url: str,\n filename: StrOrBytesPath | None = None,\n reporthook: Callable[[int, int, int], object] | None = None,\n data: _DataType = None,\n) -> tuple[str, HTTPMessage]: ...\ndef urlcleanup() -> None: ...\n\nclass URLopener:\n version: ClassVar[str]\n def __init__(self, proxies: dict[str, str] | None = None, **x509: str) -> None: ...\n def open(self, fullurl: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ...\n def open_unknown(self, fullurl: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ...\n def retrieve(\n self,\n url: str,\n filename: str | None = None,\n reporthook: Callable[[int, int, int], object] | None = None,\n data: ReadableBuffer | None = None,\n ) -> tuple[str, Message | None]: ...\n def addheader(self, *args: tuple[str, str]) -> None: ... # undocumented\n def cleanup(self) -> None: ... # undocumented\n def close(self) -> None: ... # undocumented\n def http_error(\n self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: bytes | None = None\n ) -> _UrlopenRet: ... # undocumented\n def http_error_default(\n self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage\n ) -> _UrlopenRet: ... # undocumented\n def open_data(self, url: str, data: ReadableBuffer | None = None) -> addinfourl: ... # undocumented\n def open_file(self, url: str) -> addinfourl: ... # undocumented\n def open_ftp(self, url: str) -> addinfourl: ... # undocumented\n def open_http(self, url: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ... # undocumented\n def open_https(self, url: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ... # undocumented\n def open_local_file(self, url: str) -> addinfourl: ... # undocumented\n def open_unknown_proxy(self, proxy: str, fullurl: str, data: ReadableBuffer | None = None) -> None: ... # undocumented\n\nclass FancyURLopener(URLopener):\n def prompt_user_passwd(self, host: str, realm: str) -> tuple[str, str]: ...\n def get_user_passwd(self, host: str, realm: str, clear_cache: int = 0) -> tuple[str, str]: ... # undocumented\n def http_error_301(\n self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None\n ) -> _UrlopenRet | addinfourl | None: ... # undocumented\n def http_error_302(\n self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None\n ) -> _UrlopenRet | addinfourl | None: ... # undocumented\n def http_error_303(\n self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None\n ) -> _UrlopenRet | addinfourl | None: ... # undocumented\n def http_error_307(\n self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None\n ) -> _UrlopenRet | addinfourl | None: ... # undocumented\n if sys.version_info >= (3, 11):\n def http_error_308(\n self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None\n ) -> _UrlopenRet | addinfourl | None: ... # undocumented\n\n def http_error_401(\n self,\n url: str,\n fp: IO[bytes],\n errcode: int,\n errmsg: str,\n headers: HTTPMessage,\n data: ReadableBuffer | None = None,\n retry: bool = False,\n ) -> _UrlopenRet | None: ... # undocumented\n def http_error_407(\n self,\n url: str,\n fp: IO[bytes],\n errcode: int,\n errmsg: str,\n headers: HTTPMessage,\n data: ReadableBuffer | None = None,\n retry: bool = False,\n ) -> _UrlopenRet | None: ... # undocumented\n def http_error_default(\n self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage\n ) -> addinfourl: ... # undocumented\n def redirect_internal(\n self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None\n ) -> _UrlopenRet | None: ... # undocumented\n def retry_http_basic_auth(\n self, url: str, realm: str, data: ReadableBuffer | None = None\n ) -> _UrlopenRet | None: ... # undocumented\n def retry_https_basic_auth(\n self, url: str, realm: str, data: ReadableBuffer | None = None\n ) -> _UrlopenRet | None: ... # undocumented\n def retry_proxy_http_basic_auth(\n self, url: str, realm: str, data: ReadableBuffer | None = None\n ) -> _UrlopenRet | None: ... # undocumented\n def retry_proxy_https_basic_auth(\n self, url: str, realm: str, data: ReadableBuffer | None = None\n ) -> _UrlopenRet | None: ... # undocumented\n", + "/typeshed/stdlib/urllib/response.pyi": "import sys\nfrom _typeshed import ReadableBuffer\nfrom collections.abc import Callable, Iterable\nfrom email.message import Message\nfrom types import TracebackType\nfrom typing import IO, Any, BinaryIO\nfrom typing_extensions import Self\n\n__all__ = [\"addbase\", \"addclosehook\", \"addinfo\", \"addinfourl\"]\n\nclass addbase(BinaryIO):\n fp: IO[bytes]\n def __init__(self, fp: IO[bytes]) -> None: ...\n def __enter__(self) -> Self: ...\n def __exit__(\n self, type: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None\n ) -> None: ...\n def __iter__(self) -> Self: ...\n def __next__(self) -> bytes: ...\n def close(self) -> None: ...\n # These methods don't actually exist, but the class inherits at runtime from\n # tempfile._TemporaryFileWrapper, which uses __getattr__ to delegate to the\n # underlying file object. To satisfy the BinaryIO interface, we pretend that this\n # class has these additional methods.\n def fileno(self) -> int: ...\n def flush(self) -> None: ...\n def isatty(self) -> bool: ...\n def read(self, n: int = ...) -> bytes: ...\n def readable(self) -> bool: ...\n def readline(self, limit: int = ...) -> bytes: ...\n def readlines(self, hint: int = ...) -> list[bytes]: ...\n def seek(self, offset: int, whence: int = ...) -> int: ...\n def seekable(self) -> bool: ...\n def tell(self) -> int: ...\n def truncate(self, size: int | None = ...) -> int: ...\n def writable(self) -> bool: ...\n def write(self, s: ReadableBuffer) -> int: ...\n def writelines(self, lines: Iterable[ReadableBuffer]) -> None: ...\n\nclass addclosehook(addbase):\n closehook: Callable[..., object]\n hookargs: tuple[Any, ...]\n def __init__(self, fp: IO[bytes], closehook: Callable[..., object], *hookargs: Any) -> None: ...\n\nclass addinfo(addbase):\n headers: Message\n def __init__(self, fp: IO[bytes], headers: Message) -> None: ...\n def info(self) -> Message: ...\n\nclass addinfourl(addinfo):\n url: str\n code: int | None\n if sys.version_info >= (3, 9):\n @property\n def status(self) -> int | None: ...\n\n def __init__(self, fp: IO[bytes], headers: Message, url: str, code: int | None = None) -> None: ...\n def geturl(self) -> str: ...\n def getcode(self) -> int | None: ...\n", + "/typeshed/stdlib/urllib/robotparser.pyi": "import sys\nfrom collections.abc import Iterable\nfrom typing import NamedTuple\n\n__all__ = [\"RobotFileParser\"]\n\nclass RequestRate(NamedTuple):\n requests: int\n seconds: int\n\nclass RobotFileParser:\n def __init__(self, url: str = \"\") -> None: ...\n def set_url(self, url: str) -> None: ...\n def read(self) -> None: ...\n def parse(self, lines: Iterable[str]) -> None: ...\n def can_fetch(self, useragent: str, url: str) -> bool: ...\n def mtime(self) -> int: ...\n def modified(self) -> None: ...\n def crawl_delay(self, useragent: str) -> str | None: ...\n def request_rate(self, useragent: str) -> RequestRate | None: ...\n if sys.version_info >= (3, 8):\n def site_maps(self) -> list[str] | None: ...\n", + "/typeshed/stdlib/venv/__init__.pyi": "import logging\nimport sys\nfrom _typeshed import StrOrBytesPath\nfrom collections.abc import Sequence\nfrom types import SimpleNamespace\n\nlogger: logging.Logger\n\nif sys.version_info >= (3, 9):\n CORE_VENV_DEPS: tuple[str, ...]\n\nclass EnvBuilder:\n system_site_packages: bool\n clear: bool\n symlinks: bool\n upgrade: bool\n with_pip: bool\n prompt: str | None\n\n if sys.version_info >= (3, 9):\n def __init__(\n self,\n system_site_packages: bool = False,\n clear: bool = False,\n symlinks: bool = False,\n upgrade: bool = False,\n with_pip: bool = False,\n prompt: str | None = None,\n upgrade_deps: bool = False,\n ) -> None: ...\n else:\n def __init__(\n self,\n system_site_packages: bool = False,\n clear: bool = False,\n symlinks: bool = False,\n upgrade: bool = False,\n with_pip: bool = False,\n prompt: str | None = None,\n ) -> None: ...\n\n def create(self, env_dir: StrOrBytesPath) -> None: ...\n def clear_directory(self, path: StrOrBytesPath) -> None: ... # undocumented\n def ensure_directories(self, env_dir: StrOrBytesPath) -> SimpleNamespace: ...\n def create_configuration(self, context: SimpleNamespace) -> None: ...\n def symlink_or_copy(\n self, src: StrOrBytesPath, dst: StrOrBytesPath, relative_symlinks_ok: bool = False\n ) -> None: ... # undocumented\n def setup_python(self, context: SimpleNamespace) -> None: ...\n def _setup_pip(self, context: SimpleNamespace) -> None: ... # undocumented\n def setup_scripts(self, context: SimpleNamespace) -> None: ...\n def post_setup(self, context: SimpleNamespace) -> None: ...\n def replace_variables(self, text: str, context: SimpleNamespace) -> str: ... # undocumented\n def install_scripts(self, context: SimpleNamespace, path: str) -> None: ...\n if sys.version_info >= (3, 9):\n def upgrade_dependencies(self, context: SimpleNamespace) -> None: ...\n\nif sys.version_info >= (3, 9):\n def create(\n env_dir: StrOrBytesPath,\n system_site_packages: bool = False,\n clear: bool = False,\n symlinks: bool = False,\n with_pip: bool = False,\n prompt: str | None = None,\n upgrade_deps: bool = False,\n ) -> None: ...\n\nelse:\n def create(\n env_dir: StrOrBytesPath,\n system_site_packages: bool = False,\n clear: bool = False,\n symlinks: bool = False,\n with_pip: bool = False,\n prompt: str | None = None,\n ) -> None: ...\n\ndef main(args: Sequence[str] | None = None) -> None: ...\n", + "/typeshed/stdlib/zoneinfo/__init__.pyi": "from _typeshed import StrPath\nfrom collections.abc import Iterable, Sequence\nfrom datetime import datetime, timedelta, tzinfo\nfrom typing import Any, Protocol\nfrom typing_extensions import Self\n\n__all__ = [\"ZoneInfo\", \"reset_tzpath\", \"available_timezones\", \"TZPATH\", \"ZoneInfoNotFoundError\", \"InvalidTZPathWarning\"]\n\nclass _IOBytes(Protocol):\n def read(self, __size: int) -> bytes: ...\n def seek(self, __size: int, __whence: int = ...) -> Any: ...\n\nclass ZoneInfo(tzinfo):\n @property\n def key(self) -> str: ...\n def __init__(self, key: str) -> None: ...\n @classmethod\n def no_cache(cls, key: str) -> Self: ...\n @classmethod\n def from_file(cls, __fobj: _IOBytes, key: str | None = None) -> Self: ...\n @classmethod\n def clear_cache(cls, *, only_keys: Iterable[str] | None = None) -> None: ...\n def tzname(self, __dt: datetime | None) -> str | None: ...\n def utcoffset(self, __dt: datetime | None) -> timedelta | None: ...\n def dst(self, __dt: datetime | None) -> timedelta | None: ...\n\n# Note: Both here and in clear_cache, the types allow the use of `str` where\n# a sequence of strings is required. This should be remedied if a solution\n# to this typing bug is found: https://github.com/python/typing/issues/256\ndef reset_tzpath(to: Sequence[StrPath] | None = None) -> None: ...\ndef available_timezones() -> set[str]: ...\n\nTZPATH: tuple[str, ...]\n\nclass ZoneInfoNotFoundError(KeyError): ...\nclass InvalidTZPathWarning(RuntimeWarning): ...\n\ndef __dir__() -> list[str]: ...\n", + "/src/pyrightconfig.json": "{\n \"pythonVersion\": \"3.11\",\n \"pythonPlatform\": \"Linux\",\n \"typeCheckingMode\": \"basic\",\n \"typeshedPath\": \"/typeshed/\",\n \"reportMissingModuleSource\": false,\n \"reportUnusedFunction\": false,\n \"reportWildcardImportFromLibrary\": false,\n \"reportMissingImports\": false,\n \"verboseOutput\": true\n}\n", + "/src/typings/htmltools/__init__.pyi": "import typing as _typing\nfrom . import svg, tags\nfrom ._core import HTML, HTMLDependency, HTMLDocument, HTMLTextDocument, MetadataNode, RenderedHTML, Tag, TagAttrArg, TagAttrValue, TagAttrs, TagChild, TagChildArg, TagFunction, TagList, TagNode, Tagifiable, head_content, wrap_displayhook_handler\nfrom ._util import css, html_escape\nfrom .tags import a, br, code, div, em, h1, h2, h3, h4, h5, h6, hr, img, p, pre, span, strong\n\n__version__ = ...\n__all__ = (\"svg\", \"tags\", \"HTML\", \"HTMLDependency\", \"HTMLDocument\", \"HTMLTextDocument\", \"MetadataNode\", \"RenderedHTML\", \"Tag\", \"TagAttrs\", \"TagAttrValue\", \"TagChild\", \"TagFunction\", \"Tagifiable\", \"TagList\", \"TagNode\", \"head_content\", \"wrap_displayhook_handler\", \"css\", \"html_escape\", \"a\", \"br\", \"code\", \"div\", \"em\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"hr\", \"img\", \"p\", \"pre\", \"span\", \"strong\")\nhtml_dependency_render_mode: _typing.Literal[\"json\", \"invisible\"] = ...\n", + "/src/typings/htmltools/_core.pyi": "import sys\nfrom typing import Any, Callable, Dict, Iterable, List, Literal, Mapping, Never, NotRequired, Optional, Protocol, Sequence, SupportsIndex, TypeVar, TypedDict, Union, runtime_checkable\nfrom packaging.version import Version\n\nif sys.version_info >= (3, 11):\n ...\nelse:\n ...\n__all__ = (\"TagList\", \"Tag\", \"HTMLDocument\", \"HTMLTextDocument\", \"HTML\", \"MetadataNode\", \"HTMLDependency\", \"RenderedHTML\", \"TagAttrs\", \"TagAttrValue\", \"TagChild\", \"TagNode\", \"TagFunction\", \"Tagifiable\", \"head_content\", \"wrap_displayhook_handler\")\nclass RenderedHTML(TypedDict):\n dependencies: list[HTMLDependency]\n html: str\n ...\n\n\nclass MetadataNode:\n ...\n\n\nT = TypeVar(\"T\")\nTagT = TypeVar(\"TagT\", bound=\"Tag\")\nTagAttrValue = Union[str, float, bool, None]\nTagAttrs = Union[Dict[str, TagAttrValue], \"TagAttrDict\"]\nTagNode = Union[\"Tagifiable\", \"Tag\", MetadataNode, \"ReprHtml\", str]\nTagChild = Union[TagNode, \"TagList\", float, None, Sequence[\"TagChild\"],]\nTagChildArg = Never\nTagAttrArg = Never\n@runtime_checkable\nclass Tagifiable(Protocol):\n \"\"\"\n Objects with `tagify()` methods are considered `Tagifiable`. Note that an object\n returns a `TagList`, the children of the `TagList` must also be tagified.\n \"\"\"\n def tagify(self) -> TagList | Tag | MetadataNode | str:\n ...\n \n\n\n@runtime_checkable\nclass TagFunction(Protocol):\n \"\"\"\n Tag functions, like `div()`, `span()`, etc.\n \"\"\"\n def __call__(self, *args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n ...\n \n\n\n@runtime_checkable\nclass ReprHtml(Protocol):\n \"\"\"\n Objects with a `_repr_html_()` method.\n \"\"\"\n ...\n\n\nclass TagList(List[TagNode]):\n \"\"\"\n Create an HTML tag list (i.e., a fragment of HTML)\n\n Parameters\n ----------\n *args\n The tag children to add to the list.\n\n Examples\n --------\n >>> from htmltools import TagList, div\n >>> TagList(\"hello\", div(id=\"foo\", class_=\"bar\"))\n hello\n
\n \"\"\"\n def __init__(self, *args: TagChild) -> None:\n ...\n \n def extend(self, x: Iterable[TagChild]) -> None:\n \"\"\"\n Extend the children by appending an iterable of children.\n \"\"\"\n ...\n \n def append(self, *args: TagChild) -> None:\n \"\"\"\n Append tag children to the end of the list.\n \"\"\"\n ...\n \n def insert(self, index: SupportsIndex, x: TagChild) -> None:\n \"\"\"\n Insert tag children before a given index.\n \"\"\"\n ...\n \n def tagify(self) -> TagList:\n \"\"\"\n Convert any tagifiable children to Tag/TagList objects.\n \"\"\"\n ...\n \n def save_html(self, file: str, *, libdir: Optional[str] = ..., include_version: bool = ...) -> str:\n \"\"\"\n Save to a HTML file.\n\n Parameters\n ----------\n file\n The file to save to.\n libdir\n The directory to save the dependencies to.\n include_version\n Whether to include the version number in the dependency folder name.\n\n Returns\n -------\n :\n The path to the generated HTML file.\n \"\"\"\n ...\n \n def render(self) -> RenderedHTML:\n \"\"\"\n Get string representation as well as its HTML dependencies.\n \"\"\"\n ...\n \n def get_html_string(self, indent: int = ..., eol: str = ..., *, add_ws: bool = ..., _escape_strings: bool = ...) -> HTML:\n \"\"\"\n Return the HTML string for this tag list.\n\n Parameters\n ----------\n indent\n Number of spaces to indent each line of the HTML.\n eol\n End-of-line character(s).\n add_ws:\n Whether to add whitespace between the opening tag and the first child. If\n either this is True, or the child's add_ws attribute is True, then\n whitespace will be added; if they are both False, then no whitespace will be\n added.\n \"\"\"\n ...\n \n def get_dependencies(self, *, dedup: bool = ...) -> list[HTMLDependency]:\n \"\"\"\n Get any dependencies needed to render the HTML.\n\n Parameters\n ----------\n dedup\n Whether to deduplicate the dependencies.\n \"\"\"\n ...\n \n def show(self, renderer: Literal[\"auto\", \"ipython\", \"browser\"] = ...) -> object:\n \"\"\"\n Preview as a complete HTML document.\n\n Parameters\n ----------\n renderer\n The renderer to use.\n \"\"\"\n ...\n \n def __eq__(self, other: Any) -> bool:\n ...\n \n def __str__(self) -> str:\n ...\n \n def __repr__(self) -> str:\n ...\n \n\n\nclass TagAttrDict(Dict[str, str]):\n \"\"\"\n A dictionary-like object that can be used to store attributes for a tag. All\n attribute values will be stored as strings.\n\n Parameters\n ----------\n *args\n A dictionary of attributes. The values can be strings, numbers, or booleans, and\n they will be converted to strings. A value can also be ``None``, in which case\n it will be skipped.\n **kwargs\n More attributes.\n \"\"\"\n def __init__(self, *args: Mapping[str, TagAttrValue], **kwargs: TagAttrValue) -> None:\n ...\n \n def __setitem__(self, name: str, value: TagAttrValue) -> None:\n ...\n \n def update(self, *args: Mapping[str, TagAttrValue], **kwargs: TagAttrValue) -> None:\n ...\n \n\n\nclass Tag:\n \"\"\"\n The HTML tag class.\n\n A Tag object consists of a name, attributes, and children. The name is a string, the\n attributes are held in a TagAttrDict object, and the children are held in a TagList\n object.\n\n This class usually should not be instantiated directly. Instead, use the tag wrapper\n functions in ``htmltools.tags``, like ``div()`` or ``a()``.\n\n Parameters\n -----------\n _name\n The tag's name.\n *args\n Children for the tag.\n _add_ws\n A ``bool`` indicating whether to add whitespace surrounding the tag (see Note\n for details).\n **kwargs\n Attributes for the tag.\n\n Attributes\n ----------\n name\n The tag's name.\n attrs\n The tag's attributes.\n children\n The tag's children.\n\n Note\n ----\n The `_add_ws` parameter controls whether whitespace is added around the tag. Inline\n tags (like `span()` and `a()`) default to `False` and block tags (like `div()` and\n `p()`) default to `True`.\n\n When a tag with `_add_ws=True` is rendered to HTML, whitespace (including\n indentation) is added before the opening tag (like `
`), after the closing tag\n (like `
`), and also between the opening tag and its first child. This usually\n results in formatting that is easier to read.\n\n The only times that whitespace is not added around tags is when two sibling tags\n have `_add_ws=False`, or when a tag and its first child both have `_add_ws=False`.\n Bare strings are treated as children with `_add_ws=False`.\n\n If you need fine control over whitespace in the output HTML, you can create tags\n with `_add_ws=False` and manually add whitespace, like `div(\"\\\\n\", span(\"a\"),\n _add_ws=False)`.\n\n Examples\n --------\n >>> from htmltools import div\n >>> x = div(\"hello\", id=\"foo\", class_=\"bar\")\n >>> x\n
hello
\n >>> x.show()\n \"\"\"\n name: str\n add_ws: bool\n attrs: TagAttrDict\n children: TagList\n def __init__(self, _name: str, *args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> None:\n ...\n \n def __copy__(self: TagT) -> TagT:\n ...\n \n def __enter__(self) -> None:\n ...\n \n def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None:\n ...\n \n def insert(self, index: SupportsIndex, x: TagChild) -> None:\n \"\"\"\n Insert tag children before a given index.\n \"\"\"\n ...\n \n def extend(self, x: Iterable[TagChild]) -> None:\n \"\"\"\n Extend the children by appending an iterable of children.\n \"\"\"\n ...\n \n def append(self, *args: TagChild) -> None:\n \"\"\"\n Append tag children to the end of the list.\n \"\"\"\n ...\n \n def add_class(self: TagT, class_: str, *, prepend: bool = ...) -> TagT:\n \"\"\"\n Add a class value to the HTML class attribute.\n\n Parameters\n ----------\n class_\n The class name to add.\n prepend\n Bool that determines if the `class` is added to the beginning or end of the\n class attribute.\n\n Returns\n -------\n :\n The modified tag.\n \"\"\"\n ...\n \n def remove_class(self: TagT, class_: str) -> TagT:\n \"\"\"\n Remove a class value from the HTML class attribute.\n\n Parameters\n ----------\n class_\n The class name to remove.\n\n Returns\n -------\n :\n The modified tag.\n \"\"\"\n ...\n \n def has_class(self, class_: str) -> bool:\n \"\"\"\n Check if the tag has a particular class value.\n\n Parameters\n ----------\n class_\n The class name to check for.\n\n Returns\n -------\n :\n ``True`` if the tag has the class, ``False`` otherwise.\n \"\"\"\n ...\n \n def add_style(self: TagT, style: str, *, prepend: bool = ...) -> TagT:\n \"\"\"\n Add a style value(s) to the HTML style attribute.\n\n Parameters\n ----------\n style\n CSS properties and values already properly formatted. Each should already\n contain trailing semicolons.\n prepend\n Bool that determines if the `style` is added to the beginning or end of the\n style attribute.\n\n See Also\n --------\n ~htmltools.css\n\n Returns\n -------\n :\n The modified tag.\n \"\"\"\n ...\n \n def tagify(self: TagT) -> TagT:\n \"\"\"\n Convert any tagifiable children to Tag/TagList objects.\n \"\"\"\n ...\n \n def get_html_string(self, indent: int = ..., eol: str = ...) -> HTML:\n \"\"\"\n Get the HTML string representation of the tag.\n\n Parameters\n ----------\n indent\n The number of spaces to indent the tag.\n eol\n The end-of-line character(s).\n \"\"\"\n ...\n \n def render(self) -> RenderedHTML:\n \"\"\"\n Get string representation as well as its HTML dependencies.\n \"\"\"\n ...\n \n def save_html(self, file: str, *, libdir: Optional[str] = ..., include_version: bool = ...) -> str:\n \"\"\"\n Save to a HTML file.\n\n Parameters\n ----------\n file\n The file to save to.\n libdir\n The directory to save the dependencies to.\n include_version\n Whether to include the version number in the dependency folder name.\n\n Returns\n -------\n The path to the generated HTML file.\n \"\"\"\n ...\n \n def get_dependencies(self, dedup: bool = ...) -> list[HTMLDependency]:\n \"\"\"\n Get any HTML dependencies.\n \"\"\"\n ...\n \n def show(self, renderer: Literal[\"auto\", \"ipython\", \"browser\"] = ...) -> object:\n \"\"\"\n Preview as a complete HTML document.\n\n Parameters\n ----------\n renderer\n The renderer to use.\n \"\"\"\n ...\n \n def __eq__(self, other: Any) -> bool:\n ...\n \n def __str__(self) -> str:\n ...\n \n def __repr__(self) -> str:\n ...\n \n\n\n_VOID_TAG_NAMES = ...\n_NO_ESCAPE_TAG_NAMES = ...\ndef wrap_displayhook_handler(handler: Callable[[object], None]) -> Callable[[object], None]:\n \"\"\"\n Wrap a displayhook function to handle different types of input objects\n\n This function takes a function ``handler`` that would be used as a displayhook, and\n returns a function which filters/transforms the input object depending on its type,\n before passing it to ``handler()``.\n \"\"\"\n ...\n\nclass HTMLDocument:\n \"\"\"\n Create an HTML document from Tag objects.\n\n Parameters\n ----------\n *args\n Children to add to the document.\n **kwargs\n Attributes to set on the document (i.e., the root tag).\n\n Examples\n --------\n >>> from htmltools import HTMLDocument, h1, tags\n >>> HTMLDocument(h1(\"Hello\"), tags.meta(name=\"description\", content=\"test\"), lang = \"en\")\n \"\"\"\n def __init__(self, *args: TagChild, **kwargs: TagAttrValue) -> None:\n ...\n \n def __copy__(self) -> HTMLDocument:\n ...\n \n def append(self, *args: TagChild) -> None:\n \"\"\"\n Add children to the document.\n\n Parameters\n ----------\n *args\n Children to add to the document.\n \"\"\"\n ...\n \n def render(self, *, lib_prefix: Optional[str] = ..., include_version: bool = ...) -> RenderedHTML:\n \"\"\"\n Render the document.\n\n Parameters\n ----------\n lib_prefix\n A prefix to add to relative paths to dependency files.\n include_version\n Whether to include the version number in the dependency's folder name.\n \"\"\"\n ...\n \n def save_html(self, file: str, libdir: Optional[str] = ..., include_version: bool = ...) -> str:\n \"\"\"\n Save the document to a HTML file.\n\n Parameters\n ----------\n file\n The file to save to.\n libdir\n The directory to save the dependencies to (relative to the file's directory).\n include_version\n Whether to include the version number in the dependency folder name.\n \"\"\"\n ...\n \n\n\nclass HTMLTextDocument:\n \"\"\"\n Create an HTML document object from text.\n\n The text should be a complete HTML document, with ``. This class is used to\n insert HTML dependency objects into the head of an existing HTML document.\n\n Parameters\n ----------\n template\n The template to use.\n deps\n HTML dependencies for the document.\n deps_replace_pattern\n A string that will be replaced with the head content. The first instance of this\n string will be replaced with the head content. If this is None, then deps must\n be provided.\n\n Examples\n --------\n >>> dep = HTMLDependency(name=\"foo\", version=\"1.0.0\", script={\"src\": \"foo.js\"})\n >>> doc = HTMLTextDocument(\n '',\n deps=[dep],\n deps_replace_pattern='',\n )\n >>> res = doc.render()\n {\n 'dependencies': [],\n 'html': '\\n'\n }\n \"\"\"\n def __init__(self, html: str, deps: Optional[list[HTMLDependency]] = ..., deps_replace_pattern: Optional[str] = ...) -> None:\n ...\n \n def render(self, *, lib_prefix: Optional[str] = ..., include_version: bool = ...) -> RenderedHTML:\n \"\"\"\n Render the document.\n\n Parameters\n ----------\n lib_prefix\n A prefix to add to relative paths to dependency files.\n include_version\n Whether to include the version number in the dependency's folder name.\n \"\"\"\n ...\n \n\n\nclass HTML(str):\n \"\"\"\n Mark a string as raw HTML. This will prevent the string from being escaped when\n rendered inside an HTML tag.\n\n Examples\n --------\n >>> from htmltools import HTML, div\n >>> div(\"

Hello

\")\n
<p>Hello</p>
\n >>> div(HTML(\"

Hello

\"))\n

Hello

\n \"\"\"\n def __str__(self) -> str:\n ...\n \n def __add__(self, other: str | HTML) -> str:\n ...\n \n def __repr__(self) -> str:\n ...\n \n def as_string(self) -> str:\n ...\n \n\n\nclass HTMLDependencySource(TypedDict):\n package: NotRequired[Optional[str]]\n subdir: str\n ...\n\n\nclass HTMLDependencyUrl(TypedDict):\n href: str\n ...\n\n\nclass SourcePathMapping(TypedDict):\n source: str\n href: str\n ...\n\n\nclass ScriptItemBaseAttrs(TypedDict):\n src: str\n ...\n\n\nScriptItemExtraAttrs = TypedDict(\"ScriptItemExtraAttrs\", { \"async\": str,\"crossorigin\": str,\"defer\": str,\"fetchpriority\": str,\"integrity\": str,\"referrerpolicy\": str,\"type\": str }, total=False)\nclass ScriptItem(ScriptItemBaseAttrs, ScriptItemExtraAttrs):\n ...\n\n\nclass StylesheetItemBaseAttrs(TypedDict):\n href: str\n ...\n\n\nStylesheetItemExtraAttrs = TypedDict(\"StylesheetItemExtraAttrs\", { \"as\": str,\"crossorigin\": str,\"disabled\": str,\"hreflang\": str,\"imagesizes\": str,\"imagesrcset\": str,\"integrity\": str,\"media\": str,\"prefetch\": str,\"referrerpolicy\": str,\"rel\": str,\"sizes\": str,\"title\": str,\"type\": str }, total=False)\nclass StylesheetItem(StylesheetItemExtraAttrs, StylesheetItemBaseAttrs):\n ...\n\n\nclass MetaItemBaseAttrs(TypedDict):\n name: str\n content: str\n ...\n\n\nMetaItemExtraAttrs = TypedDict(\"MetaItemExtraAttrs\", { \"charset\": str,\"http-equiv\": str }, total=False)\nclass MetaItem(MetaItemBaseAttrs, MetaItemExtraAttrs):\n ...\n\n\nclass HTMLDependency(MetadataNode):\n \"\"\"\n Define an HTML dependency.\n\n Define an HTML dependency (i.e. CSS and/or JavaScript bundled in a directory). HTML\n dependencies make it possible to use libraries like jQuery, Bootstrap, and d3 in a\n more composable and portable way than simply using script, link, and style tags.\n\n Parameters\n ----------\n name\n Library name.\n version\n Library version.\n source\n A specification for the location of dependency files.\n script\n ``\n \"\"\"\n ...\n\nclass jsx(str):\n \"\"\"\n Mark a string as a JSX expression.\n\n Example\n -------\n >>> Foo = JSXTag(\"Foo\")\n >>> Foo(prop = \"A string\", jsxProp = jsx(\"() => console.log('here')\"))\n \n \"\"\"\n def __new__(cls, *args: str) -> jsx:\n ...\n \n def __add__(self, other: str | jsx) -> str:\n ...\n \n\n\n", + "/src/typings/htmltools/_util.pyi": "from http.server import SimpleHTTPRequestHandler\nfrom threading import Thread\nfrom typing import Hashable, Iterable, NamedTuple, Optional, TypeVar, Union\n\nT = TypeVar(\"T\")\nHashableT = TypeVar(\"HashableT\", bound=Hashable)\n__all__ = (\"css\", )\ndef css(collapse_: str | float | None = ..., **kwargs: str | float | None) -> Optional[str]:\n \"\"\"\n CSS string helper\n\n Convenience function for building CSS style declarations (i.e. the string that goes\n into a style attribute, or the parts that go inside curly braces in a full\n stylesheet).\n\n Parameters\n ----------\n collapse_\n String to use to collapse properties into a single string; likely ``\"\"`` (the\n default) for style attributes, and either ``\"\\n\"`` or ``None`` for style blocks.\n **kwargs\n Named style properties, where the name is the property name and the argument is\n the property value.\n\n Returns\n -------\n :\n A string of CSS style declarations, or ``None`` if no properties were given.\n\n Example\n -------\n >>> from htmltools import css\n >>> css(font_size = \"12px\", backgroundColor = \"red\")\n 'font-size:12px;background-color:red;'\n\n Note\n ----\n CSS uses '-' (minus) as a separator character in property names, which isn't allowed\n in Python's keyword arguments. This function allows you to use '_' (underscore) as a\n separator and/or camelCase notation instead.\n \"\"\"\n ...\n\ndef flatten(x: Iterable[Union[T, None]]) -> list[T]:\n ...\n\ndef unique(x: list[HashableT]) -> list[HashableT]:\n ...\n\nHTML_ESCAPE_TABLE = ...\nHTML_ATTRS_ESCAPE_TABLE = ...\ndef html_escape(text: str, attr: bool = ...) -> str:\n ...\n\n_html_escape = ...\ndef package_dir(package: str) -> str:\n ...\n\n_package_dir = ...\ndef hash_deterministic(s: str) -> str:\n \"\"\"\n Returns a deterministic hash of the given string.\n \"\"\"\n ...\n\nclass _HttpServerInfo(NamedTuple):\n port: int\n thread: Thread\n ...\n\n\n_http_servers: dict[str, _HttpServerInfo] = ...\ndef ensure_http_server(path: str) -> int:\n ...\n\ndef start_http_server(path: str) -> _HttpServerInfo:\n ...\n\ndef http_server(port: int, path: str): # -> None:\n class Handler(SimpleHTTPRequestHandler):\n ...\n \n \n\ndef get_open_port() -> int:\n ...\n\n", + "/src/typings/htmltools/_versions.pyi": "versions = ...\n", + "/src/typings/htmltools/svg.pyi": "from ._core import Tag, TagAttrValue, TagAttrs, TagChild\n\n\"\"\"\nFunctions for creating SVG tags.\n\"\"\"\ndef a(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/a\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef animate(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animate\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef animateMotion(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateMotion\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef animateTransform(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateTransform\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef circle(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef clipPath(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/clipPath\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef defs(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef desc(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/desc\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef discard(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/discard\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef ellipse(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feBlend(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feBlend\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feColorMatrix(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feColorMatrix\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feComponentTransfer(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feComponentTransfer\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feComposite(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feComposite\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feConvolveMatrix(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feConvolveMatrix\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feDiffuseLighting(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDiffuseLighting\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feDisplacementMap(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDisplacementMap\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feDistantLight(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDistantLight\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feDropShadow(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDropShadow\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feFlood(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFlood\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feFuncA(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncA\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feFuncB(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncB\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feFuncG(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncG\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feFuncR(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncR\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feGaussianBlur(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feGaussianBlur\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feImage(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feImage\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feMerge(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMerge\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feMergeNode(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMergeNode\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feMorphology(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMorphology\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feOffset(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feOffset\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef fePointLight(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/fePointLight\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feSpecularLighting(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feSpecularLighting\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feSpotLight(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feSpotLight\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feTile(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feTile\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef feTurbulence(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feTurbulence\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef filter(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/filter\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef foreignObject(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/foreignObject\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef g(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/g\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef hatch(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/hatch\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef hatchpath(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/hatchpath\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef image(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef line(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef linearGradient(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef marker(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/marker\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef mask(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/mask\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef metadata(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/metadata\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef mpath(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/mpath\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef path(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/path\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef pattern(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/pattern\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef polygon(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polygon\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef polyline(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polyline\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef radialGradient(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/radialGradient\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef rect(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a tag.\n\n Creates the SVG element. Learn more at https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect\n\n Parameters\n ----------\n *args\n Child elements to this tag.\n _add_ws\n A bool indicating whether whitespace should be added around this tag.\n **kwargs\n Attributes to this tag.\n\n Returns\n -------\n :\n A :class:`~htmltools.Tag` object.\n\n See Also\n --------\n * :class:`~htmltools.Tag`\n \"\"\"\n ...\n\ndef script(*args: TagChild | TagAttrs, _add_ws: TagAttrValue = ..., **kwargs: TagAttrValue) -> Tag:\n \"\"\"\n Create a